@elderbyte/ngx-starter 14.2.3 → 14.3.2
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/esm2020/lib/common/data/data-context/data-context-base.mjs +1 -1
- package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +1 -1
- package/esm2020/lib/common/data/data-context/data-context-simple.mjs +1 -1
- package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +3 -3
- package/esm2020/lib/common/forms/form-field-base.component.mjs +3 -3
- package/esm2020/lib/common/forms/multi-model-base.component.mjs +3 -3
- package/esm2020/lib/common/forms/template-composite-control.mjs +3 -3
- package/esm2020/lib/common/forms/value-accessor-base.mjs +3 -3
- package/esm2020/lib/common/http/http-client-builder.service.mjs +3 -3
- package/esm2020/lib/common/http/http-client-pristine.mjs +3 -3
- package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
- package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +1 -1
- package/esm2020/lib/common/public_api.mjs +1 -2
- package/esm2020/lib/common/selection/selection-model.mjs +7 -2
- package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
- package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
- package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
- package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
- package/esm2020/lib/components/auditing/elder-audit.module.mjs +4 -4
- package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
- package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -4
- package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
- package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
- package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
- package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
- package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
- package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
- package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
- package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
- package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
- package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
- package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -4
- package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
- package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
- package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
- package/esm2020/lib/components/csv/elder-csv.module.mjs +4 -4
- package/esm2020/lib/components/currency/elder-currency.module.mjs +4 -4
- package/esm2020/lib/components/currency/elder-currency.pipe.mjs +3 -3
- package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
- package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
- package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
- package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
- package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
- package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
- package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +6 -5
- package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +4 -4
- package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
- package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
- package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
- package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
- package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
- package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +10 -10
- package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -4
- package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
- package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
- package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +7 -7
- package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +3 -3
- package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
- package/esm2020/lib/components/errors/elder-error.module.mjs +4 -4
- package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
- package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
- package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
- package/esm2020/lib/components/files/elder-file-select.directive.mjs +3 -3
- package/esm2020/lib/components/files/elder-file.module.mjs +4 -4
- package/esm2020/lib/components/files/file-select/file-select.component.mjs +3 -3
- package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +3 -3
- package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
- package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -13
- package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +3 -3
- package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +3 -3
- package/esm2020/lib/components/forms/elder-forms.module.mjs +4 -4
- package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +6 -6
- package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
- package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -4
- package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
- package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
- package/esm2020/lib/components/global-search/elder-global-search.component.mjs +3 -3
- package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -4
- package/esm2020/lib/components/global-search/elder-global-search.service.mjs +3 -3
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
- package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
- package/esm2020/lib/components/headers/elder-header.module.mjs +4 -4
- package/esm2020/lib/components/http-support/elder-http-client.service.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
- package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
- package/esm2020/lib/components/i18n/language/elder-language.module.mjs +4 -4
- package/esm2020/lib/components/i18n/language/elder-language.service.mjs +3 -3
- package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
- package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
- package/esm2020/lib/components/iframes/elder-iframe.module.mjs +4 -4
- package/esm2020/lib/components/iframes/iframe-close.directive.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe.service.mjs +3 -3
- package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +7 -5
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +7 -7
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
- package/esm2020/lib/components/labels/elder-labels.module.mjs +4 -4
- package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
- package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +3 -3
- package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
- package/esm2020/lib/components/measures/elder-measures.module.mjs +8 -8
- package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
- package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +3 -3
- package/esm2020/lib/components/measures/elder-unit.service.mjs +3 -3
- package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +3 -3
- package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +3 -3
- package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +4 -4
- package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +3 -3
- package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
- package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
- package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
- package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
- package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
- package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
- package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
- package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
- package/esm2020/lib/components/overlays/elder-overlay.component.mjs +4 -4
- package/esm2020/lib/components/overlays/elder-overlay.module.mjs +4 -4
- package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
- package/esm2020/lib/components/panels/elder-panel.module.mjs +4 -4
- package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +3 -3
- package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +3 -3
- package/esm2020/lib/components/select/elder-select/elder-select.component.mjs +14 -5
- package/esm2020/lib/components/select/elder-select-base.mjs +3 -3
- package/esm2020/lib/components/select/elder-select-chip.directive.mjs +6 -6
- package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
- package/esm2020/lib/components/select/elder-select-value.directive.mjs +3 -3
- package/esm2020/lib/components/select/elder-select.module.mjs +4 -4
- package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +5 -5
- package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
- package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +13 -7
- package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
- package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
- package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
- package/esm2020/lib/components/select-list/elder-select-list.module.mjs +4 -4
- package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +3 -3
- package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +3 -3
- package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
- package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
- package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
- package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -4
- package/esm2020/lib/components/shell/elder-shell.service.mjs +3 -3
- package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
- package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +13 -13
- package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
- package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
- package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
- package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +3 -3
- package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
- package/esm2020/lib/components/theme/elder-theme.directive.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme.module.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme.service.mjs +3 -3
- package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
- package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-time.module.mjs +8 -8
- package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
- package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -4
- package/esm2020/lib/components/toasts/elder-toast.service.mjs +9 -9
- package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
- package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
- package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
- package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
- package/esm2020/lib/components/viewers/elder-viewers.module.mjs +4 -4
- package/esm2020/lib/features/event-source/elder-event-source.service.mjs +3 -3
- package/esm2020/lib/features/kafent/access-token-provider.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent-config.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent-event-stream.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent-event.service.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent.module.mjs +4 -4
- package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
- package/esm2020/lib/pipes/bytes.pipe.mjs +3 -3
- package/esm2020/lib/pipes/elder-pipes.module.mjs +10 -10
- package/esm2020/lib/pipes/elder-repeat.pipe.mjs +3 -3
- package/esm2020/lib/pipes/elder-round.pipe.mjs +3 -3
- package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +3 -3
- package/esm2020/lib/pipes/elder-truncate.pipe.mjs +3 -3
- package/esm2020/lib/pipes/iso-duration.pipe.mjs +3 -3
- package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
- package/esm2020/lib/pipes/iso-interval.pipe.mjs +3 -3
- package/esm2020/lib/pipes/time-ago.pipe.mjs +3 -3
- package/esm2020/lib/pipes/time-duration.pipe.mjs +3 -3
- package/esm2020/lib/pipes/weight.pipe.mjs +3 -3
- package/fesm2015/elderbyte-ngx-starter.mjs +871 -907
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +871 -907
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/data-context/data-context-base.d.ts +1 -1
- package/lib/common/public_api.d.ts +0 -1
- package/lib/common/selection/selection-model.d.ts +5 -2
- package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -0
- package/lib/components/select/popup/selection-model-popup.directive.d.ts +4 -3
- package/package.json +3 -2
- package/esm2020/lib/common/rxjs/lazy-behavior-subject.mjs +0 -59
- package/esm2020/lib/common/rxjs/public_api.mjs +0 -2
- package/lib/common/rxjs/lazy-behavior-subject.d.ts +0 -38
- package/lib/common/rxjs/public_api.d.ts +0 -1
|
@@ -280,4 +280,4 @@ export class DataContextBase extends DataSource {
|
|
|
280
280
|
this._primaryIndex.clear();
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRzNELE9BQU8sRUFBbUIsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWtCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLG1CQUFtQixFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHNUMsTUFBTSxPQUFnQixlQUFtQixTQUFRLFVBQWE7SUE4QjVEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQTBCLEVBQ2xCLFFBQTRCLEVBQzVCLFdBQWlDLEVBQ2pDLFVBQStDO1FBRXZELEtBQUssRUFBRSxDQUFDO1FBSkEsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBdEN6RDs7OztvRkFJNEU7UUFFM0QsWUFBTyxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUk3RCxZQUFPLEdB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QUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLFNBQVM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFUyxRQUFRLENBQUMsTUFBeUI7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQWlCRDs7OztnRkFJNEU7SUFFcEUsVUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vc29ydCc7XG5pbXBvcnQge0NvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0RhdGFDb250ZXh0U3RhdHVzfSBmcm9tICcuL2RhdGEtY29udGV4dC1zdGF0dXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7RGF0YUNvbnRleHRTbmFwc2hvdCwgSURhdGFDb250ZXh0fSBmcm9tICcuL2RhdGEtY29udGV4dCc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0Q29udGV4dH0gZnJvbSAnLi4vc29ydC1jb250ZXh0JztcbmltcG9ydCB7SURhdGFTb3VyY2V9IGZyb20gJy4uL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YUNvbnRleHRCYXNlPFQ+IGV4dGVuZHMgRGF0YVNvdXJjZTxUPiBpbXBsZW1lbnRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlbG9nOiBMb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignRGF0YUNvbnRleHRCYXNlJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyID0gbmV3IEZpbHRlckNvbnRleHQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc29ydCA9IG5ldyBTb3J0Q29udGV4dCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmc6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RvdGFsID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXR1cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YUNvbnRleHRTdGF0dXM+KERhdGFDb250ZXh0U3RhdHVzLmlkbGUoKSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhcnRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbG9zZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wcmltYXJ5SW5kZXggPSBuZXcgTWFwPGFueSwgVD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZWxvYWRRdWV1ZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJRGF0YVNvdXJjZTxUPixcbiAgICBwcml2YXRlIF9pbmRleEZuOiAoKGl0ZW06IFQpID0+IGFueSksXG4gICAgcHJpdmF0ZSBfbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgcHJpdmF0ZSBfbG9jYWxTb3J0OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuXG4gICAgdGhpcy5fbG9hZGluZyA9IHRoaXMuX3N0YXR1cy5waXBlKFxuICAgICAgbWFwKHN0YXR1cyA9PiBzdGF0dXMubG9hZGluZylcbiAgICApO1xuXG4gICAgdGhpcy5fZmlsdGVyLmZpbHRlcnMucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnN0YXJ0ZWQpLFxuICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgZmlsdGVycyA9PiB0aGlzLm9uRmlsdGVyc0NoYW5nZWQoZmlsdGVycylcbiAgICApO1xuXG4gICAgdGhpcy5fc29ydC5zb3J0cy5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuc3RhcnRlZCksXG4gICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICBzb3J0cyA9PiB0aGlzLm9uU29ydHNDaGFuZ2VkKHNvcnRzKVxuICAgICk7XG5cbiAgICB0aGlzLl9yZWxvYWRRdWV1ZS5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuc3RhcnRlZCksXG4gICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHsgIC8vIERvbnQgZGllIG9uIGVycm9yc1xuICAgICAgICB0aGlzLmJhc2Vsb2cuZXJyb3IoJ1JlbG9hZCBxdWV1ZSBkZXRlY3RlZCBlcnJvciwgYmFkIScsIGVycik7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWxvYWROb3coKSk7XG4gICAgLy8gTWF5YmUgc2tpcE1hcCB0aGUgcmVhbCByZXF1ZXN0cyBmb3IgYXV0byBhYm9ydCBwZW5kaW5nIChleGNlcHQgZm9yIGNvbnRpbnVhdGlvbiAvIHBhZ2VkKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgTWF0ZXJpYWwgREMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmNsb3NlKCk7IENsb3Npbmcgd2lsbCBkZXN0cm95IHRoZSBEQ1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc25hcHNob3QoKTogRGF0YUNvbnRleHRTbmFwc2hvdDxUPiB7XG4gICAgcmV0dXJuIG5ldyBEYXRhQ29udGV4dFNuYXBzaG90KFxuICAgICAgdGhpcy5kYXRhU25hcHNob3QsXG4gICAgICB0aGlzLmlzRW1wdHksXG4gICAgICB0aGlzLmxvYWRpbmdTbmFwc2hvdCxcbiAgICAgIHRoaXMudG90YWxTbmFwc2hvdCxcbiAgICAgIHRoaXMuc3RhdHVzU25hcHNob3RcbiAgICApO1xuICB9XG5cblxuICBwdWJsaWMgZ2V0IHRvdGFsKCk6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3RhbFNuYXBzaG90KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnQoKTogU29ydENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9zb3J0O1xuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXIoKTogRmlsdGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZ1NuYXBzaG90KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NuYXBzaG90Py5sb2FkaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTbmFwc2hvdCgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXR1cygpOiBPYnNlcnZhYmxlPERhdGFDb250ZXh0U3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzU25hcHNob3QoKTogRGF0YUNvbnRleHRTdGF0dXMge1xuICAgIHJldHVybiB0aGlzLl9zdGF0dXMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU25hcHNob3QubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YXJ0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNTdGFydGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlZC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzdGFydGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydGVkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0IHN0YXJ0ZWQoc3RhcnRlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX3N0YXJ0ZWQubmV4dChzdGFydGVkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGFydChzb3J0cz86IFNvcnRbXSwgZmlsdGVycz86IEZpbHRlcltdKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIGlmICh0aGlzLmlzQ2xvc2VkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3RhcnRpbmcgYSBjbG9zZWQgRGF0YUNvbnRleHQgaXMgbm90IHBvc3NpYmxlIScpOyAvLyBTZWUgdW5zdWJzY3JpYmUkXG4gICAgfVxuXG4gICAgdGhpcy5iYXNlbG9nLmRlYnVnKCdTdGFydGluZyBmcmVzaCBkYXRhQ29udGV4dCAuLi4nKTtcblxuICAgIHRoaXMuc3RhcnRlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5fc29ydC5yZXBsYWNlU29ydHMoc29ydHMgfHwgdGhpcy5zb3J0LnNvcnRzU25hcHNob3QpO1xuICAgIHRoaXMuX2ZpbHRlci5yZXBsYWNlRmlsdGVycyhmaWx0ZXJzIHx8IHRoaXMuZmlsdGVyLmZpbHRlcnNTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuXG4gICAgcmV0dXJuIHRoaXMucmVsb2FkTm93KCk7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbG9hZFF1ZXVlLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQnlJbmRleChrZXk6IGFueSk6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5faW5kZXhGbikgeyB0aHJvdyBuZXcgRXJyb3IoJ2ZpbmRCeUluZGV4IHJlcXVpcmVzIHlvdSB0byBwYXNzIGEgaW5kZXggZnVuY3Rpb24hJyk7IH1cbiAgICByZXR1cm4gdGhpcy5fcHJpbWFyeUluZGV4LmdldChrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGlzIERhdGFDb250ZXh0IGFuZCBjbGVhbnMgdXAgYWxsIHVzZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuXG4gICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY2xvc2VkLm5leHQodHJ1ZSk7XG5cbiAgICB0aGlzLl9kYXRhLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fdG90YWwuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdGF0dXMuY29tcGxldGUoKTtcblxuICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICB0aGlzLmJhc2Vsb2cuZGVidWcoJ0RhdGFDb250ZXh0IGhhcyBiZWVuIGNsb3NlZCBhbmQgcmVzb3VyY2VzIGNsZWFuZWQgdXAhJyk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fZGF0YS5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuX2RhdGEubmV4dChjdXJyZW50KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCByZWxvYWROb3coKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZWxvYWRJbnRlcm5hbCgpOyAvLyBUT0RPIFRoaXMgc2hvdWxkIGFjdHVhbGx5IHJldHVybiB0aGUgcmVhbCAoaHR0cCkgcmVxdWVzdFxuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZCB0aGUgZ2l2ZW4gcm93cyB0byB0byBleGlzdGluZyBvbmVzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFwcGVuZERhdGEoYWRkaXRpb25hbERhdGE6IFRbXSk6IHZvaWQge1xuICAgIC8vIFdlIGhhZCBwcmV2aW91cyBjaHVua3Mgc28gYXBwZW5kIHRvIGN1cnJlbnQgZGF0YS5cbiAgICBjb25zdCBuZXdEYXRhID0gWy4uLnRoaXMuZGF0YVNuYXBzaG90XTtcbiAgICBuZXdEYXRhLnB1c2goLi4uYWRkaXRpb25hbERhdGEpO1xuICAgIHRoaXMuaW5kZXhBbGwoYWRkaXRpb25hbERhdGEpO1xuICAgIHRoaXMuc2V0RGF0YShuZXdEYXRhLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyB0aGUgZXhpc3RpbmcgZGF0YSB3aXRoIHRoZSBuZXcgc2V0LlxuICAgKiBAcGFyYW0gbmV3RGF0YSBUaGUgbmV3IGRhdGEgc2V0LlxuICAgKiBAcGFyYW0gYWxyZWFkeUluZGV4ZWQgVGhlIHJvd3Mgd2lsbCBiZSBpbmRleGVkIHVubGVzcyB0aGV5IGFscmVhZHkgaGF2ZSBiZWVuLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNldERhdGEobmV3RGF0YTogVFtdLCBhbHJlYWR5SW5kZXhlZCA9IGZhbHNlKTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5fbG9jYWxBcHBseSkge1xuICAgICAgbmV3RGF0YSA9IHRoaXMuX2xvY2FsQXBwbHkobmV3RGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2xvY2FsU29ydCkge1xuICAgICAgbmV3RGF0YSA9IHRoaXMuX2xvY2FsU29ydChuZXdEYXRhLCB0aGlzLl9zb3J0LnNvcnRzU25hcHNob3QpO1xuICAgIH1cblxuICAgIGlmICghYWxyZWFkeUluZGV4ZWQpIHtcbiAgICAgIHRoaXMuaW5kZXhBbGwobmV3RGF0YSk7XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZGF0YVNuYXBzaG90O1xuXG4gICAgaWYgKCEoY3VycmVudC5sZW5ndGggPT09IDAgJiYgbmV3RGF0YS5sZW5ndGggPT09IDApKSB7XG4gICAgICB0aGlzLmJhc2Vsb2cuZGVidWcoJ0RhdGEgaGFzIGNoYW5nZWQ6ICcgKyBuZXdEYXRhLmxlbmd0aCk7XG4gICAgICB0aGlzLl9kYXRhLm5leHQobmV3RGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvdGFsKHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLl90b3RhbC5uZXh0KHRvdGFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGN1cnJlbnQgZGF0YS1jb250ZXh0IGNhY2hlZCBkYXRhLlxuICAgKiBTdGF0ZSBzdWNoIGFzIGN1cnJlbnQgc29ydGluZyBhbmQgZmlsdGVyc1NuYXBzaG90IGFyZSBrZXB0LlxuICAgKi9cbiAgcHJvdGVjdGVkIGNsZWFyQWxsKHNpbGVudCA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckluZGV4KCk7XG5cbiAgICBpZiAoIXNpbGVudCkge1xuICAgICAgdGhpcy5zZXRUb3RhbCgwKTtcbiAgICAgIHRoaXMuc2V0RGF0YShbXSk7XG4gICAgfVxuXG4gICAgdGhpcy5vbklkbGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVJbmRleCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFySW5kZXgoKTtcbiAgICB0aGlzLmluZGV4QWxsKHRoaXMuZGF0YVNuYXBzaG90KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRleGVzIHRoZSBnaXZlbiBpdGVtIGJ5IGtleSBpZiB0aGVyZSBpcyBhbiBpbmRleCBmdW5jdGlvbiBkZWZpbmVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGluZGV4SXRlbShpdGVtOiBUKTogdm9pZCB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRJdGVtS2V5KGl0ZW0pO1xuICAgIGlmIChrZXkpIHtcbiAgICAgIHRoaXMuX3ByaW1hcnlJbmRleC5zZXQoa2V5LCBpdGVtKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5kZXhlcyBhbGwgdGhlIGdpdmVuIGl0ZW1zIGJ5IGtleSBpZiB0aGVyZSBpcyBhbiBpbmRleCBmdW5jdGlvbiBkZWZpbmVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGluZGV4QWxsKGl0ZW1zOiBUW10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5kZXhGbikge1xuICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHRoaXMuaW5kZXhJdGVtKGl0ZW0pKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SXRlbUtleShpdGVtOiBUKTogYW55ICB7XG4gICAgaWYgKHRoaXMuX2luZGV4Rm4pIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbmRleEZuKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBFdmVudCBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgc29ydCBoYXMgY2hhbmdlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvblNvcnRzQ2hhbmdlZChzb3J0czogU29ydFtdKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9sb2NhbFNvcnQpIHtcbiAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RGF0YSh0aGlzLmRhdGFTbmFwc2hvdCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9jY3VycyB3aGVuIHRoZSBmaWx0ZXIgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25GaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzOiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMucmVsb2FkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25FcnJvcihlcnI6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25TdGF0dXMoRGF0YUNvbnRleHRTdGF0dXMuZXJyb3IoZXJyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JZGxlKCk6IHZvaWQge1xuICAgIHRoaXMub25TdGF0dXMoRGF0YUNvbnRleHRTdGF0dXMuaWRsZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkxvYWRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5vblN0YXR1cyhEYXRhQ29udGV4dFN0YXR1cy5sb2FkaW5nKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3RhdHVzKHN0YXR1czogRGF0YUNvbnRleHRTdGF0dXMpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0dXMubmV4dChzdGF0dXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFic3RyYWN0IG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgdGhpcyBtZXRob2QgYW5kXG4gICAqIHJlbG9hZCB0aGUgY3VycmVudGx5IGhlbGQgZGF0YS5cbiAgICogSWYgcG9zc2libGUsIHRoZSBjdXJyZW50IHZpZXcgc3RhdGUgc2hvdWxkIGJlIGtlcHQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSByZWxvYWQgam9iLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNsZWFySW5kZXgoKTogdm9pZCB7XG4gICAgdGhpcy5fcHJpbWFyeUluZGV4LmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRzNELE9BQU8sRUFBbUIsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWtCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLG1CQUFtQixFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHNUMsTUFBTSxPQUFnQixlQUFtQixTQUFRLFVBQWE7SUE4QjVEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQTBCLEVBQ2xCLFFBQTRCLEVBQzVCLFdBQWlDLEVBQ2pDLFVBQStDO1FBRXZELEtBQUssRUFBRSxDQUFDO1FBSkEsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBdEN6RDs7OztvRkFJNEU7UUFFM0QsWUFBTyxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUk3RCxZQUFPLEdB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QUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLFNBQVM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFUyxRQUFRLENBQUMsTUFBeUI7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQWlCRDs7OztnRkFJNEU7SUFFcEUsVUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vc29ydCc7XG5pbXBvcnQge0NvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0RhdGFDb250ZXh0U3RhdHVzfSBmcm9tICcuL2RhdGEtY29udGV4dC1zdGF0dXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7RGF0YUNvbnRleHRTbmFwc2hvdCwgSURhdGFDb250ZXh0fSBmcm9tICcuL2RhdGEtY29udGV4dCc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0Q29udGV4dH0gZnJvbSAnLi4vc29ydC1jb250ZXh0JztcbmltcG9ydCB7SURhdGFTb3VyY2V9IGZyb20gJy4uL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YUNvbnRleHRCYXNlPFQ+IGV4dGVuZHMgRGF0YVNvdXJjZTxUPiBpbXBsZW1lbnRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlbG9nOiBMb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignRGF0YUNvbnRleHRCYXNlJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyID0gbmV3IEZpbHRlckNvbnRleHQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc29ydCA9IG5ldyBTb3J0Q29udGV4dCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmc6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RvdGFsID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXR1cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YUNvbnRleHRTdGF0dXM+KERhdGFDb250ZXh0U3RhdHVzLmlkbGUoKSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhcnRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbG9zZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wcmltYXJ5SW5kZXggPSBuZXcgTWFwPGFueSwgVD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZWxvYWRRdWV1ZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+LFxuICAgIHByaXZhdGUgX2luZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICBwcml2YXRlIF9sb2NhbEFwcGx5OiAoKGRhdGE6IFRbXSkgPT4gVFtdKSxcbiAgICBwcml2YXRlIF9sb2NhbFNvcnQ6ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pLFxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG5cbiAgICB0aGlzLl9sb2FkaW5nID0gdGhpcy5fc3RhdHVzLnBpcGUoXG4gICAgICBtYXAoc3RhdHVzID0+IHN0YXR1cy5sb2FkaW5nKVxuICAgICk7XG5cbiAgICB0aGlzLl9maWx0ZXIuZmlsdGVycy5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuc3RhcnRlZCksXG4gICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICBmaWx0ZXJzID0+IHRoaXMub25GaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzKVxuICAgICk7XG5cbiAgICB0aGlzLl9zb3J0LnNvcnRzLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5zdGFydGVkKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJClcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHNvcnRzID0+IHRoaXMub25Tb3J0c0NoYW5nZWQoc29ydHMpXG4gICAgKTtcblxuICAgIHRoaXMuX3JlbG9hZFF1ZXVlLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5zdGFydGVkKSxcbiAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4geyAgLy8gRG9udCBkaWUgb24gZXJyb3JzXG4gICAgICAgIHRoaXMuYmFzZWxvZy5lcnJvcignUmVsb2FkIHF1ZXVlIGRldGVjdGVkIGVycm9yLCBiYWQhJywgZXJyKTtcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlbG9hZE5vdygpKTtcbiAgICAvLyBNYXliZSBza2lwTWFwIHRoZSByZWFsIHJlcXVlc3RzIGZvciBhdXRvIGFib3J0IHBlbmRpbmcgKGV4Y2VwdCBmb3IgY29udGludWF0aW9uIC8gcGFnZWQpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBNYXRlcmlhbCBEQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xuICB9XG5cbiAgcHVibGljIGRpc2Nvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IHZvaWQge1xuICAgIC8vIHRoaXMuY2xvc2UoKTsgQ2xvc2luZyB3aWxsIGRlc3Ryb3kgdGhlIERDXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSURhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlO1xuICB9XG5cbiAgcHVibGljIGdldCBzbmFwc2hvdCgpOiBEYXRhQ29udGV4dFNuYXBzaG90PFQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFDb250ZXh0U25hcHNob3QoXG4gICAgICB0aGlzLmRhdGFTbmFwc2hvdCxcbiAgICAgIHRoaXMuaXNFbXB0eSxcbiAgICAgIHRoaXMubG9hZGluZ1NuYXBzaG90LFxuICAgICAgdGhpcy50b3RhbFNuYXBzaG90LFxuICAgICAgdGhpcy5zdGF0dXNTbmFwc2hvdFxuICAgICk7XG4gIH1cblxuXG4gIHB1YmxpYyBnZXQgdG90YWwoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWwuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvdGFsU25hcHNob3QoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWwuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydCgpOiBTb3J0Q29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX3NvcnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlcigpOiBGaWx0ZXJDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkaW5nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkaW5nU25hcHNob3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzU25hcHNob3Q/LmxvYWRpbmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGEoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVNuYXBzaG90KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzKCk6IE9ic2VydmFibGU8RGF0YUNvbnRleHRTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXNTbmFwc2hvdCgpOiBEYXRhQ29udGV4dFN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTbmFwc2hvdC5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YXJ0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0Nsb3NlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHN0YXJ0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0ZWQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXQgc3RhcnRlZChzdGFydGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc3RhcnRlZC5uZXh0KHN0YXJ0ZWQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXJ0KHNvcnRzPzogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgaWYgKHRoaXMuaXNDbG9zZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVzdGFydGluZyBhIGNsb3NlZCBEYXRhQ29udGV4dCBpcyBub3QgcG9zc2libGUhJyk7IC8vIFNlZSB1bnN1YnNjcmliZSRcbiAgICB9XG5cbiAgICB0aGlzLmJhc2Vsb2cuZGVidWcoJ1N0YXJ0aW5nIGZyZXNoIGRhdGFDb250ZXh0IC4uLicpO1xuXG4gICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG5cbiAgICB0aGlzLl9zb3J0LnJlcGxhY2VTb3J0cyhzb3J0cyB8fCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCk7XG4gICAgdGhpcy5fZmlsdGVyLnJlcGxhY2VGaWx0ZXJzKGZpbHRlcnMgfHwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90KTtcblxuICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gdGhpcy5yZWxvYWROb3coKTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVsb2FkUXVldWUubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIGZpbmRCeUluZGV4KGtleTogYW55KTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLl9pbmRleEZuKSB7IHRocm93IG5ldyBFcnJvcignZmluZEJ5SW5kZXggcmVxdWlyZXMgeW91IHRvIHBhc3MgYSBpbmRleCBmdW5jdGlvbiEnKTsgfVxuICAgIHJldHVybiB0aGlzLl9wcmltYXJ5SW5kZXguZ2V0KGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoaXMgRGF0YUNvbnRleHQgYW5kIGNsZWFucyB1cCBhbGwgdXNlZCByZXNvdXJjZXMuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG5cbiAgICB0aGlzLnN0YXJ0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jbG9zZWQubmV4dCh0cnVlKTtcblxuICAgIHRoaXMuX2RhdGEuY29tcGxldGUoKTtcbiAgICB0aGlzLl90b3RhbC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3N0YXR1cy5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jbGVhckFsbCgpO1xuICAgIHRoaXMuYmFzZWxvZy5kZWJ1ZygnRGF0YUNvbnRleHQgaGFzIGJlZW4gY2xvc2VkIGFuZCByZXNvdXJjZXMgY2xlYW5lZCB1cCEnKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9kYXRhLmdldFZhbHVlKCk7XG4gICAgdGhpcy5fZGF0YS5uZXh0KGN1cnJlbnQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3RlY3RlZCBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHJlbG9hZE5vdygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlbG9hZEludGVybmFsKCk7IC8vIFRPRE8gVGhpcyBzaG91bGQgYWN0dWFsbHkgcmV0dXJuIHRoZSByZWFsIChodHRwKSByZXF1ZXN0XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kIHRoZSBnaXZlbiByb3dzIHRvIHRvIGV4aXN0aW5nIG9uZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXBwZW5kRGF0YShhZGRpdGlvbmFsRGF0YTogVFtdKTogdm9pZCB7XG4gICAgLy8gV2UgaGFkIHByZXZpb3VzIGNodW5rcyBzbyBhcHBlbmQgdG8gY3VycmVudCBkYXRhLlxuICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4udGhpcy5kYXRhU25hcHNob3RdO1xuICAgIG5ld0RhdGEucHVzaCguLi5hZGRpdGlvbmFsRGF0YSk7XG4gICAgdGhpcy5pbmRleEFsbChhZGRpdGlvbmFsRGF0YSk7XG4gICAgdGhpcy5zZXREYXRhKG5ld0RhdGEsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBleGlzdGluZyBkYXRhIHdpdGggdGhlIG5ldyBzZXQuXG4gICAqIEBwYXJhbSBuZXdEYXRhIFRoZSBuZXcgZGF0YSBzZXQuXG4gICAqIEBwYXJhbSBhbHJlYWR5SW5kZXhlZCBUaGUgcm93cyB3aWxsIGJlIGluZGV4ZWQgdW5sZXNzIHRoZXkgYWxyZWFkeSBoYXZlIGJlZW4uXG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0RGF0YShuZXdEYXRhOiBUW10sIGFscmVhZHlJbmRleGVkID0gZmFsc2UpOiB2b2lkIHtcblxuICAgIGlmICh0aGlzLl9sb2NhbEFwcGx5KSB7XG4gICAgICBuZXdEYXRhID0gdGhpcy5fbG9jYWxBcHBseShuZXdEYXRhKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbG9jYWxTb3J0KSB7XG4gICAgICBuZXdEYXRhID0gdGhpcy5fbG9jYWxTb3J0KG5ld0RhdGEsIHRoaXMuX3NvcnQuc29ydHNTbmFwc2hvdCk7XG4gICAgfVxuXG4gICAgaWYgKCFhbHJlYWR5SW5kZXhlZCkge1xuICAgICAgdGhpcy5pbmRleEFsbChuZXdEYXRhKTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5kYXRhU25hcHNob3Q7XG5cbiAgICBpZiAoIShjdXJyZW50Lmxlbmd0aCA9PT0gMCAmJiBuZXdEYXRhLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIHRoaXMuYmFzZWxvZy5kZWJ1ZygnRGF0YSBoYXMgY2hhbmdlZDogJyArIG5ld0RhdGEubGVuZ3RoKTtcbiAgICAgIHRoaXMuX2RhdGEubmV4dChuZXdEYXRhKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG90YWwodG90YWw6IG51bWJlciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3RvdGFsLm5leHQodG90YWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY3VycmVudCBkYXRhLWNvbnRleHQgY2FjaGVkIGRhdGEuXG4gICAqIFN0YXRlIHN1Y2ggYXMgY3VycmVudCBzb3J0aW5nIGFuZCBmaWx0ZXJzU25hcHNob3QgYXJlIGtlcHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY2xlYXJBbGwoc2lsZW50ID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFySW5kZXgoKTtcblxuICAgIGlmICghc2lsZW50KSB7XG4gICAgICB0aGlzLnNldFRvdGFsKDApO1xuICAgICAgdGhpcy5zZXREYXRhKFtdKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uSWRsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUluZGV4KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJJbmRleCgpO1xuICAgIHRoaXMuaW5kZXhBbGwodGhpcy5kYXRhU25hcHNob3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGV4ZXMgdGhlIGdpdmVuIGl0ZW0gYnkga2V5IGlmIHRoZXJlIGlzIGFuIGluZGV4IGZ1bmN0aW9uIGRlZmluZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgaW5kZXhJdGVtKGl0ZW06IFQpOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEl0ZW1LZXkoaXRlbSk7XG4gICAgaWYgKGtleSkge1xuICAgICAgdGhpcy5fcHJpbWFyeUluZGV4LnNldChrZXksIGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRleGVzIGFsbCB0aGUgZ2l2ZW4gaXRlbXMgYnkga2V5IGlmIHRoZXJlIGlzIGFuIGluZGV4IGZ1bmN0aW9uIGRlZmluZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgaW5kZXhBbGwoaXRlbXM6IFRbXSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pbmRleEZuKSB7XG4gICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5pbmRleEl0ZW0oaXRlbSkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJdGVtS2V5KGl0ZW06IFQpOiBhbnkgIHtcbiAgICBpZiAodGhpcy5faW5kZXhGbikge1xuICAgICAgcmV0dXJuIHRoaXMuX2luZGV4Rm4oaXRlbSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEV2ZW50IGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIE9jY3VycyB3aGVuIHRoZSBzb3J0IGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9uU29ydHNDaGFuZ2VkKHNvcnRzOiBTb3J0W10pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2xvY2FsU29ydCkge1xuICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXREYXRhKHRoaXMuZGF0YVNuYXBzaG90LCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIGZpbHRlciBoYXMgY2hhbmdlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvbkZpbHRlcnNDaGFuZ2VkKGZpbHRlcnM6IEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkVycm9yKGVycjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblN0YXR1cyhEYXRhQ29udGV4dFN0YXR1cy5lcnJvcihlcnIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbklkbGUoKTogdm9pZCB7XG4gICAgdGhpcy5vblN0YXR1cyhEYXRhQ29udGV4dFN0YXR1cy5pZGxlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTG9hZGluZygpOiB2b2lkIHtcbiAgICB0aGlzLm9uU3RhdHVzKERhdGFDb250ZXh0U3RhdHVzLmxvYWRpbmcoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25TdGF0dXMoc3RhdHVzOiBEYXRhQ29udGV4dFN0YXR1cyk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXR1cy5uZXh0KHN0YXR1cyk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQWJzdHJhY3QgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogU3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCB0aGlzIG1ldGhvZCBhbmRcbiAgICogcmVsb2FkIHRoZSBjdXJyZW50bHkgaGVsZCBkYXRhLlxuICAgKiBJZiBwb3NzaWJsZSwgdGhlIGN1cnJlbnQgdmlldyBzdGF0ZSBzaG91bGQgYmUga2VwdC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHJlbG9hZCBqb2IuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVsb2FkSW50ZXJuYWwoKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY2xlYXJJbmRleCgpOiB2b2lkIHtcbiAgICB0aGlzLl9wcmltYXJ5SW5kZXguY2xlYXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -140,4 +140,4 @@ export class DataContextContinuablePaged extends DataContextContinuableBase {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS1wYWdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFPLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWU3RTs7OztnRkFJNEU7SUFFNUUsWUFDSSxVQUErQixFQUMvQixRQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUFnQyxFQUNoQyxTQUE4QztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMUJoRTs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxlQUFVLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFtQnBCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJ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RUc7SUFDSyxnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsS0FBYztRQUNsRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXRDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDckU7SUFDTCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQYWdlLCBQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7SVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5cbi8qKlxuICogRXh0ZW5kcyBhIHNpbXBsZSBmbGF0IGxpc3QgZGF0YS1jb250ZXh0IHdpdGggaW5maW5pdGUtc2Nyb2xsIHBhZ2luYXRpb24gc3VwcG9ydC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlUGFnZWQ8VD4gZXh0ZW5kcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZTxUPiB7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgICBwcml2YXRlIF9wYWdlQ2FjaGU6IE1hcDxudW1iZXIsIE9ic2VydmFibGU8UGFnZTxUPj4+ID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgX2xhdGVzdFBhZ2UgPSAwO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaGFzTW9yZURhdGE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGRhdGFTb3VyY2U6IElQYWdlZERhdGFTb3VyY2U8VD4sXG4gICAgICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgICAgIGluZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICAgICAgbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZGF0YVNvdXJjZSwgcGFnZVNpemUsIGluZGV4Rm4sIGxvY2FsQXBwbHksIGxvY2FsU29ydCk7XG5cbiAgICAgICAgdGhpcy5faGFzTW9yZURhdGEgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRvdGFsLCB0aGlzLmRhdGFdKS5waXBlKFxuICAgICAgICAgIG1hcCgoW3RvdGFsLCBkYXRhXSkgPT4gdGhpcy5jaGVja0hhc01vcmVEYXRhKHRvdGFsLCBkYXRhKSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG4gICAgICByZXR1cm4gPElQYWdlZERhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgbmV4dCBjaHVuayBvZiBkYXRhLlxuICAgICAqIFVzZWZ1bCBmb3IgaW5maW5pdGUgc2Nyb2xsIGxpa2UgZGF0YSBmbG93cy5cbiAgICAgKlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkTW9yZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5oYXNNb3JlRGF0YVNuYXBzaG90KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIG1vcmUuLi4nICsgdGhpcy5fbGF0ZXN0UGFnZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmdTbmFwc2hvdCkgeyByZXR1cm4gRU1QVFk7IH1cbiAgICAgICAgICAgIGNvbnN0IG5leHRQYWdlID0gdGhpcy5fbGF0ZXN0UGFnZSArIDE7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UobmV4dFBhZ2UsIHRoaXMuY2h1bmtTaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW5ub3QgbG9hZCBtb3JlIGRhdGEsIHNpbmNlIG5vIG1vcmUgZGF0YSBhdmFpbGFibGUuJyk7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhhc01vcmVEYXRhKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2hhc01vcmVEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tIYXNNb3JlRGF0YSh0aGlzLnRvdGFsU25hcHNob3QsIHRoaXMuZGF0YVNuYXBzaG90KTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSBjaGVja0hhc01vcmVEYXRhKHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQsIGRhdGE6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRvdGFsKSB7XG4gICAgICAgIHJldHVybiB0b3RhbCA+IGRhdGEubGVuZ3RoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNodW5rU2l6ZUNoYW5nZWQobmV3U2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgIC8vIFNpbmNlIGNvbnRpbnVhYmxlIGRhdGEtY29udGV4dHMgYXJlIGFwcGVuZGluZyBkYXRhLFxuICAgICAgLy8gd2UgbmVlZCB0byBjbGVhciBpdCBmb3IgYSByZWxvYWQuXG4gICAgICB0aGlzLmNsZWFyQWxsKHRydWUpO1xuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UoMCwgdGhpcy5jaHVua1NpemUsIHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5jbGVhckFsbChzaWxlbnQpO1xuICAgICAgICB0aGlzLl9wYWdlQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmV0Y2hQYWdlKHBhZ2VJbmRleDogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBjbGVhciA9IGZhbHNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICBjb25zdCBwYWdlUmVxdWVzdCA9IG5ldyBQYWdlYWJsZShwYWdlSW5kZXgsIHBhZ2VTaXplLCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3BhZ2VDYWNoZS5oYXMocGFnZUluZGV4KSkge1xuICAgICAgICAgICAgLy8gUGFnZSBhbHJlYWR5IGxvYWRlZCAtIHNraXBwaW5nIHJlcXVlc3QhXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci50cmFjZSgnU2tpcHBpbmcgZmV0Y2hpbmcgcGFnZSBzaW5jZSBpdHMgYWxyZWFkeSBpbiBwYWdlIG9ic2VydmFibGUgY2FjaGUuJyk7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgdGhpcy5vbkxvYWRpbmcoKTtcblxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYExvYWRpbmcgcGFnZSAke3BhZ2VJbmRleH0gdXNpbmcgcGFnZWFibGU6YCwgcGFnZVJlcXVlc3QpO1xuXG4gICAgICAgICAgICBjb25zdCBwYWdlT2JzID0gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxQYWdlZChwYWdlUmVxdWVzdCwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90KTtcblxuICAgICAgICAgICAgdGhpcy5fcGFnZUNhY2hlLnNldChwYWdlSW5kZXgsIHBhZ2VPYnMpO1xuXG4gICAgICAgICAgICBwYWdlT2JzLnN1YnNjcmliZSgocGFnZTogUGFnZTxUPikgPT4ge1xuXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnR290IHBhZ2UgZGF0YTonLCBwYWdlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQYWdlRGF0YShwYWdlLCBjbGVhcik7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fbGF0ZXN0UGFnZSA8IHBhZ2UubnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSBwYWdlLm51bWJlcjsgLy8gVE9ETyBUaGlzIG1pZ2h0IGNhdXNlIHRoYXQgcGFnZXMgYXJlIHNraXBwZWRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBxdWVyeSBkYXRhJywgZXJyKTtcbiAgICAgICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdWJqZWN0LnBpcGUoZmlyc3QoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiBwYWdlIGludG8gdGhlIGN1cnJlbnQgZGF0YSBjb250ZXh0XG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVBhZ2VEYXRhKHBhZ2U6IFBhZ2U8VD4sIGNsZWFyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnNldFRvdGFsKHBhZ2UudG90YWxFbGVtZW50cyk7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHBhZ2UubnVtYmVyICogcGFnZS5zaXplO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gY2xlYXIgPyBbXSA6IFsuLi50aGlzLmRhdGFTbmFwc2hvdF07XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhZ2UuY29udGVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBwYWdlLmNvbnRlbnRbaV07XG4gICAgICAgICAgICAgICAgbmV3RGF0YVtpICsgc3RhcnRdID0gaXRlbTtcbiAgICAgICAgICAgICAgICB0aGlzLmluZGV4SXRlbShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YShuZXdEYXRhLCB0cnVlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcG9wdWxhdGUgZGF0YSB3aXRoIHBhZ2UnLCBwYWdlLCBlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS1wYWdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFPLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWU3RTs7OztnRkFJNEU7SUFFNUUsWUFDSSxVQUErQixFQUMvQixRQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUFnQyxFQUNoQyxTQUE4QztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMUJoRTs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxlQUFVLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFtQnBCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJ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RUc7SUFDSyxnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsS0FBYztRQUNsRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXRDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDckU7SUFDTCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQYWdlLCBQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7SVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5cbi8qKlxuICogRXh0ZW5kcyBhIHNpbXBsZSBmbGF0IGxpc3QgZGF0YS1jb250ZXh0IHdpdGggaW5maW5pdGUtc2Nyb2xsIHBhZ2luYXRpb24gc3VwcG9ydC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlUGFnZWQ8VD4gZXh0ZW5kcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZTxUPiB7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgICBwcml2YXRlIF9wYWdlQ2FjaGU6IE1hcDxudW1iZXIsIE9ic2VydmFibGU8UGFnZTxUPj4+ID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgX2xhdGVzdFBhZ2UgPSAwO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaGFzTW9yZURhdGE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGRhdGFTb3VyY2U6IElQYWdlZERhdGFTb3VyY2U8VD4sXG4gICAgICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgICAgIGluZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICAgICAgbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZGF0YVNvdXJjZSwgcGFnZVNpemUsIGluZGV4Rm4sIGxvY2FsQXBwbHksIGxvY2FsU29ydCk7XG5cbiAgICAgICAgdGhpcy5faGFzTW9yZURhdGEgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRvdGFsLCB0aGlzLmRhdGFdKS5waXBlKFxuICAgICAgICAgIG1hcCgoW3RvdGFsLCBkYXRhXSkgPT4gdGhpcy5jaGVja0hhc01vcmVEYXRhKHRvdGFsLCBkYXRhKSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG4gICAgICByZXR1cm4gPElQYWdlZERhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgbmV4dCBjaHVuayBvZiBkYXRhLlxuICAgICAqIFVzZWZ1bCBmb3IgaW5maW5pdGUgc2Nyb2xsIGxpa2UgZGF0YSBmbG93cy5cbiAgICAgKlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkTW9yZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5oYXNNb3JlRGF0YVNuYXBzaG90KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIG1vcmUuLi4nICsgdGhpcy5fbGF0ZXN0UGFnZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmdTbmFwc2hvdCkgeyByZXR1cm4gRU1QVFk7IH1cbiAgICAgICAgICAgIGNvbnN0IG5leHRQYWdlID0gdGhpcy5fbGF0ZXN0UGFnZSArIDE7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UobmV4dFBhZ2UsIHRoaXMuY2h1bmtTaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW5ub3QgbG9hZCBtb3JlIGRhdGEsIHNpbmNlIG5vIG1vcmUgZGF0YSBhdmFpbGFibGUuJyk7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhhc01vcmVEYXRhKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2hhc01vcmVEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tIYXNNb3JlRGF0YSh0aGlzLnRvdGFsU25hcHNob3QsIHRoaXMuZGF0YVNuYXBzaG90KTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSBjaGVja0hhc01vcmVEYXRhKHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQsIGRhdGE6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRvdGFsKSB7XG4gICAgICAgIHJldHVybiB0b3RhbCA+IGRhdGEubGVuZ3RoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNodW5rU2l6ZUNoYW5nZWQobmV3U2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgIC8vIFNpbmNlIGNvbnRpbnVhYmxlIGRhdGEtY29udGV4dHMgYXJlIGFwcGVuZGluZyBkYXRhLFxuICAgICAgLy8gd2UgbmVlZCB0byBjbGVhciBpdCBmb3IgYSByZWxvYWQuXG4gICAgICB0aGlzLmNsZWFyQWxsKHRydWUpO1xuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UoMCwgdGhpcy5jaHVua1NpemUsIHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5jbGVhckFsbChzaWxlbnQpO1xuICAgICAgICB0aGlzLl9wYWdlQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmV0Y2hQYWdlKHBhZ2VJbmRleDogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBjbGVhciA9IGZhbHNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBjb25zdCBwYWdlUmVxdWVzdCA9IG5ldyBQYWdlYWJsZShwYWdlSW5kZXgsIHBhZ2VTaXplLCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3BhZ2VDYWNoZS5oYXMocGFnZUluZGV4KSkge1xuICAgICAgICAgICAgLy8gUGFnZSBhbHJlYWR5IGxvYWRlZCAtIHNraXBwaW5nIHJlcXVlc3QhXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci50cmFjZSgnU2tpcHBpbmcgZmV0Y2hpbmcgcGFnZSBzaW5jZSBpdHMgYWxyZWFkeSBpbiBwYWdlIG9ic2VydmFibGUgY2FjaGUuJyk7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgdGhpcy5vbkxvYWRpbmcoKTtcblxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYExvYWRpbmcgcGFnZSAke3BhZ2VJbmRleH0gdXNpbmcgcGFnZWFibGU6YCwgcGFnZVJlcXVlc3QpO1xuXG4gICAgICAgICAgICBjb25zdCBwYWdlT2JzID0gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxQYWdlZChwYWdlUmVxdWVzdCwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90KTtcblxuICAgICAgICAgICAgdGhpcy5fcGFnZUNhY2hlLnNldChwYWdlSW5kZXgsIHBhZ2VPYnMpO1xuXG4gICAgICAgICAgICBwYWdlT2JzLnN1YnNjcmliZSgocGFnZTogUGFnZTxUPikgPT4ge1xuXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnR290IHBhZ2UgZGF0YTonLCBwYWdlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQYWdlRGF0YShwYWdlLCBjbGVhcik7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fbGF0ZXN0UGFnZSA8IHBhZ2UubnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSBwYWdlLm51bWJlcjsgLy8gVE9ETyBUaGlzIG1pZ2h0IGNhdXNlIHRoYXQgcGFnZXMgYXJlIHNraXBwZWRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBxdWVyeSBkYXRhJywgZXJyKTtcbiAgICAgICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdWJqZWN0LnBpcGUoZmlyc3QoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiBwYWdlIGludG8gdGhlIGN1cnJlbnQgZGF0YSBjb250ZXh0XG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVBhZ2VEYXRhKHBhZ2U6IFBhZ2U8VD4sIGNsZWFyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnNldFRvdGFsKHBhZ2UudG90YWxFbGVtZW50cyk7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHBhZ2UubnVtYmVyICogcGFnZS5zaXplO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gY2xlYXIgPyBbXSA6IFsuLi50aGlzLmRhdGFTbmFwc2hvdF07XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhZ2UuY29udGVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBwYWdlLmNvbnRlbnRbaV07XG4gICAgICAgICAgICAgICAgbmV3RGF0YVtpICsgc3RhcnRdID0gaXRlbTtcbiAgICAgICAgICAgICAgICB0aGlzLmluZGV4SXRlbShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YShuZXdEYXRhLCB0cnVlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcG9wdWxhdGUgZGF0YSB3aXRoIHBhZ2UnLCBwYWdlLCBlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -56,4 +56,4 @@ export class DataContextSimple extends DataContextBase {
|
|
|
56
56
|
return subject.pipe(first());
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LXNpbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtc2ltcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsTUFBTSxPQUFPLGlCQUFxQixTQUFRLGVBQWtCO0lBVTFEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQThCLEVBQzlCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQXBCcEQ7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFlOUUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBMkIsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRWxFLGNBQWM7UUFFdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFFbkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUNsRixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2IsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUU5RCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7U0FDUjthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUVBQXFFLENBQUMsQ0FBQztZQUNyRixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUMsQ0FBQztTQUNqRztRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0RhdGFDb250ZXh0QmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtYmFzZSc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SUxpc3REYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuZXhwb3J0IGNsYXNzIERhdGFDb250ZXh0U2ltcGxlPFQ+IGV4dGVuZHMgRGF0YUNvbnRleHRCYXNlPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZzogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJTGlzdERhdGFTb3VyY2U8VD4sXG4gICAgaW5kZXhGbjogKChpdGVtOiBUKSA9PiBhbnkpLFxuICAgIGxvY2FsQXBwbHk6ICgoZGF0YTogVFtdKSA9PiBUW10pLFxuICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgKSB7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiA8SUxpc3REYXRhU291cmNlPFQ+PnN1cGVyLmRhdGFTb3VyY2U7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgcmVsb2FkSW50ZXJuYWwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuXG4gICAgICB0aGlzLm9uTG9hZGluZygpO1xuXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbEZpbHRlcmVkKHRoaXMuZmlsdGVyLmZpbHRlcnNTbmFwc2hvdCwgdGhpcy5zb3J0LnNvcnRzU25hcHNob3QpXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgbGlzdCA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXRUb3RhbChsaXN0Lmxlbmd0aCk7XG4gICAgICAgICAgICB0aGlzLnNldERhdGEobGlzdCk7XG4gICAgICAgICAgICB0aGlzLmxvZy5kZWJ1ZygnZGF0YS1jb250ZXh0OiBHb3QgbGlzdCBkYXRhOiAnICsgbGlzdC5sZW5ndGgpO1xuXG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XG4gICAgICAgICAgICB0aGlzLmxvZy5lcnJvcignZGF0YS1jb250ZXh0OiBGYWlsZWQgdG8gcXVlcnkgZGF0YScsIGVycik7XG4gICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ2RhdGEtY29udGV4dDogU2tpcHBpbmcgZGF0YSBjb250ZXh0IGxvYWQgLSBubyBsaXN0IGZldGNoZXIgcHJlc2VudCEnKTtcbiAgICAgIHN1YmplY3QuZXJyb3IobmV3IEVycm9yKCdkYXRhLWNvbnRleHQ6IFNraXBwaW5nIGRhdGEgY29udGV4dCBsb2FkIC0gbm8gbGlzdCBmZXRjaGVyIHByZXNlbnQhJykpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJqZWN0LnBpcGUoZmlyc3QoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -70,9 +70,9 @@ export class ElderEnumTranslationService {
|
|
|
70
70
|
return DelegateListDataSource.listFetcher(() => this.translate(enumClass, translationPrefix, sort, asc), 'value', (id) => this.translateOne(translationPrefix, id));
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
ElderEnumTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
74
|
-
ElderEnumTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
73
|
+
ElderEnumTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: ElderEnumTranslationService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
ElderEnumTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: ElderEnumTranslationService, providedIn: 'root' });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: ElderEnumTranslationService, decorators: [{
|
|
76
76
|
type: Injectable,
|
|
77
77
|
args: [{
|
|
78
78
|
providedIn: 'root'
|
|
@@ -68,9 +68,9 @@ export class FormFieldBaseComponent extends ValueAccessorBase {
|
|
|
68
68
|
return result;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
FormFieldBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
72
|
-
FormFieldBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
71
|
+
FormFieldBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: FormFieldBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
72
|
+
FormFieldBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.4", type: FormFieldBaseComponent, inputs: { name: "name", label: "label", appearance: "appearance", floatLabel: "floatLabel", color: "color", placeholder: "placeholder", hint: "hint", icon: "icon", showIcon: "showIcon", min: "min", max: "max", showHint: "showHint", required: "required", disabled: "disabled", readonly: "readonly" }, usesInheritance: true, ngImport: i0 });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: FormFieldBaseComponent, decorators: [{
|
|
74
74
|
type: Directive
|
|
75
75
|
}], propDecorators: { name: [{
|
|
76
76
|
type: Input
|
|
@@ -21,9 +21,9 @@ export class MultiModelBaseComponent extends FormFieldBaseComponent {
|
|
|
21
21
|
return result;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
MultiModelBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
25
|
-
MultiModelBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
24
|
+
MultiModelBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: MultiModelBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
+
MultiModelBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.4", type: MultiModelBaseComponent, viewQueries: [{ propertyName: "models", predicate: NgModel, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: MultiModelBaseComponent, decorators: [{
|
|
27
27
|
type: Directive
|
|
28
28
|
}], propDecorators: { models: [{
|
|
29
29
|
type: ViewChildren,
|
|
@@ -119,9 +119,9 @@ export class TemplateCompositeControl extends ValueAccessorBase {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
TemplateCompositeControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
123
|
-
TemplateCompositeControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
122
|
+
TemplateCompositeControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: TemplateCompositeControl, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
123
|
+
TemplateCompositeControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.4", type: TemplateCompositeControl, inputs: { disabled: "disabled" }, viewQueries: [{ propertyName: "ngForm", first: true, predicate: ["form"], descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: TemplateCompositeControl, decorators: [{
|
|
125
125
|
type: Directive
|
|
126
126
|
}], propDecorators: { disabled: [{
|
|
127
127
|
type: Input,
|
|
@@ -132,9 +132,9 @@ export class ValueAccessorBase {
|
|
|
132
132
|
this._changed.forEach(f => f(value));
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
ValueAccessorBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
136
|
-
ValueAccessorBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
135
|
+
ValueAccessorBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: ValueAccessorBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
136
|
+
ValueAccessorBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.4", type: ValueAccessorBase, inputs: { value: "value" }, outputs: { valueUpdated: "valueUpdated", valueChange: "valueChange" }, ngImport: i0 });
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: ValueAccessorBase, decorators: [{
|
|
138
138
|
type: Directive
|
|
139
139
|
}], propDecorators: { valueUpdated: [{
|
|
140
140
|
type: Output
|
|
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export class HttpClientBuilder {
|
|
4
4
|
constructor() { }
|
|
5
5
|
}
|
|
6
|
-
HttpClientBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
7
|
-
HttpClientBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
6
|
+
HttpClientBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HttpClientBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7
|
+
HttpClientBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HttpClientBuilder, providedIn: 'root' });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HttpClientBuilder, decorators: [{
|
|
9
9
|
type: Injectable,
|
|
10
10
|
args: [{
|
|
11
11
|
providedIn: 'root'
|
|
@@ -10,9 +10,9 @@ export class HttpClientPristine extends HttpClient {
|
|
|
10
10
|
super(backend);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
HttpClientPristine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
14
|
-
HttpClientPristine.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
13
|
+
HttpClientPristine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HttpClientPristine, deps: [{ token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
HttpClientPristine.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HttpClientPristine, providedIn: 'root' });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: HttpClientPristine, decorators: [{
|
|
16
16
|
type: Injectable,
|
|
17
17
|
args: [{
|
|
18
18
|
providedIn: 'root'
|
|
@@ -84,9 +84,9 @@ export class DataTransferFactory {
|
|
|
84
84
|
return HttpDataTransfer.fromRequest(this.http.request(request), name, size);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
DataTransferFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
88
|
-
DataTransferFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
87
|
+
DataTransferFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: DataTransferFactory, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
88
|
+
DataTransferFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: DataTransferFactory, providedIn: 'root' });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: DataTransferFactory, decorators: [{
|
|
90
90
|
type: Injectable,
|
|
91
91
|
args: [{
|
|
92
92
|
providedIn: 'root'
|
|
@@ -177,4 +177,4 @@ export class HttpDataTransfer {
|
|
|
177
177
|
return new DataTransferProgress(event.loaded, bytesPerSec, avgBytesPerSec, event.total, percentDone);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQVksYUFBYSxFQUFpRCxNQUFNLHNCQUFzQixDQUFDO0FBQzlHLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUluRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUE0QzNCOzs7O2dGQUk0RTtJQUU1RTs7Ozs7T0FLRztJQUNILFlBQ0UsV0FBdUMsRUFDdkMsSUFBYSxFQUNiLFVBQW1CO1FBekRyQjs7OztvRkFJNEU7UUFFcEUsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUs1QyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVFoQyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBd0NwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLGlCQUFpQixDQUFDLE9BQU8s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aUI7UUFDakIsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0scUJBQXFCLEdBQUcsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUM7UUFFNUQsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFM0YsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixLQUFLLENBQUMsTUFBTSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsS0FBSyxDQUFDLEtBQUssRUFDWCxXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0h0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cFByb2dyZXNzRXZlbnQsIEh0dHBSZXNwb25zZSwgSHR0cFNlbnRFdmVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclByb2dyZXNzfSBmcm9tICcuL2RhdGEtdHJhbnNmZXItcHJvZ3Jlc3MnO1xuaW1wb3J0IHtEYXRhVHJhbnNmZXJTdGF0ZX0gZnJvbSAnLi9kYXRhLXRyYW5zZmVyLXN0YXRlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuXG5cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgSHR0cCBkYXRhIHRyYW5zZmVyLCBlaXRoZXIgYSBkb3dubG9hZCBvciB1cGxvYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBIdHRwRGF0YVRyYW5zZmVyIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdIdHRwRGF0YVRyYW5zZmVyJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGU6IEJlaGF2aW9yU3ViamVjdDxEYXRhVHJhbnNmZXJTdGF0ZT47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaHR0cFJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+O1xuICBwcml2YXRlIHJlYWRvbmx5IGFib3J0JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3N0YXJ0VGltZU1zOiBudW1iZXI7XG4gIHByaXZhdGUgX2VuZFRpbWVNczogbnVtYmVyO1xuICBwcml2YXRlIF9jdXJyVGltZU1zOiBudW1iZXI7XG4gIHByaXZhdGUgX3ByZXZUaW1lTXM6IG51bWJlcjtcbiAgcHJpdmF0ZSBfb2xkQnl0ZXMgPSAwO1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlciBmcm9tIGEgSHR0cENsaWVudCBIdHRwUmVxdWVzdC5cbiAgICogQHBhcmFtIGh0dHBSZXF1ZXN0XG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhpcyB0cmFuc2ZlclxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgZXhwZWN0ZWQgYnl0ZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlcXVlc3QoXG4gICAgaHR0cFJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+LFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgdG90YWxCeXRlcz86IG51bWJlclxuICApOiBIdHRwRGF0YVRyYW5zZmVyIHtcbiAgICByZXR1cm4gbmV3IEh0dHBEYXRhVHJhbnNmZXIoaHR0cFJlcXVlc3QsIG5hbWUsIHRvdGFsQnl0ZXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlclxuICAgKiBAcGFyYW0gaHR0cFJlcXVlc3QgVGhlIGh0dHAgcmVxdWVzdC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhpcyB0cmFuc2ZlciAodXN1YWxseSB0aGUgZmlsZSBuYW1lKVxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgYnl0ZXMgb2YgdGhlIHRyYW5zZmVyLiAoSWYgbm90IHNldCwgd2lsbCBiZSBhdXRvIGRpc2NvdmVyZWQgaWYgcG9zc2libGUpXG4gICAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGh0dHBSZXF1ZXN0OiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PixcbiAgICBuYW1lPzogc3RyaW5nLFxuICAgIHRvdGFsQnl0ZXM/OiBudW1iZXJcbiAgKSB7XG4gICAgdGhpcy5fbmFtZSA9IG5hbWU7XG4gICAgdGhpcy5faHR0cFJlcXVlc3QgPSBodHRwUmVxdWVzdDtcbiAgICB0aGlzLl9zdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoRGF0YVRyYW5zZmVyU3RhdGUucGVuZGluZyh0b3RhbEJ5dGVzKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBkYXRhIHRyYW5zZmVyXG4gICAqL1xuICBwdWJsaWMgc3RhcnQoKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9odHRwUmVxdWVzdC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuYWJvcnQkKSxcbiAgICAgIHRhcChldmVudCA9PiB7XG5cbiAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcblxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICAgICAgICAgIHRoaXMub25TdGFydChldmVudCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgIHRoaXMub25Qcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuICAgICAgICAgICAgICB0aGlzLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB0aGlzLm9uRXJyb3IoZXJyKSxcbiAgICAgICAgKCkgPT4gdGhpcy5maW5hbGx5KClcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFib3J0cyB0aGUgZGF0YSB0cmFuc2ZlclxuICAgKi9cbiAgcHVibGljIGFib3J0KCk6IHZvaWQge1xuICAgIHRoaXMuYWJvcnQkLm5leHQoKTtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmFib3J0ZWQodGhpcy5zdGF0ZVNuYXBzaG90LnByb2dyZXNzKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQXdhaXRzIHVudGlsIHRoaXMgdHJhbnNmZXIgaXMgZG9uZSBhbmQgY2xvc2VzIHRoZSBvYnNlcnZhYmxlLlxuICAgKlxuICAgKiBJZiBzdWNjZXNzZnVsLCBlbWl0cyB0cnVlLiBPYnNlcnZhYmxlIGlzIGNsb3NlZC5cbiAgICogSWYgYWJvcnRlZCwgZW1pdHMgZmFsc2UuIE9ic2VydmFibGUgaXMgY2xvc2VkLlxuICAgKiBJZiBmYWlsZWQsIHRocm93cyBlcnJvci4gT2JzZXJ2YWJsZSBpcyBjbG9zZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRvbmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlLmlzRG9uZSksXG4gICAgICBtYXAoc3RhdGUgPT4ge1xuICAgICAgICBpZiAoc3RhdGUuaXNDb21wbGV0ZWQpIHsgcmV0dXJuIHRydWU7IH1cbiAgICAgICAgaWYgKHN0YXRlLmlzQWJvcnRlZCkgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgICAgICBpZiAoc3RhdGUuaGFzRmFpbGVkKSB7XG4gICAgICAgICAgdGhyb3cgc3RhdGUuZXJyb3IgPyBzdGF0ZS5lcnJvciA6ICdDb21wbGV0aW9uIEZhaWxlZCBkdWUgdW5rbm93biBlcnJvciEnO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3RhdGUgb2YgdGhpcyBkYXRhIHRyYW5zZmVyIG92ZXIgdGltZS5cbiAgICogVW5zdWJzY3JpYmUgYWZ0ZXIgdXNlLlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzbmFwc2hvdCBvZiB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGlzIGRhdGEgdHJhbnNmZXJcbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhdGVTbmFwc2hvdCgpOiBEYXRhVHJhbnNmZXJTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgb25TdGFydChldmVudDogSHR0cFNlbnRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuc3RhcnRlZCh0aGlzLnN0YXRlU25hcHNob3QucHJvZ3Jlc3MudG90YWxCeXRlcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvblByb2dyZXNzKGV2ZW50OiBIdHRwUHJvZ3Jlc3NFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2dyZXNzID0gdGhpcy50cmFuc2ZlclByb2dyZXNzKGV2ZW50KTtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLnRyYW5zZmVycmluZyhwcm9ncmVzcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbXBsZXRlKGV2ZW50OiBIdHRwUmVzcG9uc2U8YW55Pik6IHZvaWQge1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuY29tcGxldGVkKFxuICAgICAgICB0aGlzLnRyYW5zZmVyUHJvZ3Jlc3NGcm9tUmVzcG9uc2UoZXZlbnQsIHRoaXMuc3RhdGVTbmFwc2hvdC5wcm9ncmVzcylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmZhaWxlZChlcnJvciwgdGhpcy5zdGF0ZVNuYXBzaG90LnByb2dyZXNzKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbmFsbHkoKTogdm9pZCB7XG4gICAgdGhpcy5fZW5kVGltZU1zID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgaWYgKCF0aGlzLnN0YXRlU25hcHNob3QuaXNEb25lKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdEYXRhVHJhbnNmZXIgZGlkIG5vdCByZWFjaCBkb25lLXN0YXRlISBDb21wbGV0aW5nIFRyYW5zZmVyIG5vdy4uLicpO1xuICAgICAgdGhpcy5lbWl0U3RhdGUoXG4gICAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmNvbXBsZXRlZCh0aGlzLnN0YXRlU25hcHNob3QucHJvZ3Jlc3MpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdFN0YXRlKG5ld1N0YXRlOiBEYXRhVHJhbnNmZXJTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlLm5leHQobmV3U3RhdGUpO1xuICB9XG5cblxuICBwcml2YXRlIHRyYW5zZmVyUHJvZ3Jlc3NGcm9tUmVzcG9uc2UoXG4gICAgZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+LFxuICAgIHByZXZpb3VzPzogRGF0YVRyYW5zZmVyUHJvZ3Jlc3NcbiAgKTogRGF0YVRyYW5zZmVyUHJvZ3Jlc3Mge1xuXG4gICAgcmV0dXJuIG5ldyBEYXRhVHJhbnNmZXJQcm9ncmVzcyhcbiAgICAgIHByZXZpb3VzID8gcHJldmlvdXMudG90YWxCeXRlcyA6IDAsXG4gICAgICBwcmV2aW91cyA/IHByZXZpb3VzLmJ5dGVzUGVyU2VjIDogMCxcbiAgICAgIHByZXZpb3VzID8gcHJldmlvdXMuYXZnQnl0ZXNQZXJTZWMgOiAwLFxuICAgICAgcHJldmlvdXMgPyBwcmV2aW91cy50b3RhbEJ5dGVzIDogMCxcbiAgICAgIDEwMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZmVyUHJvZ3Jlc3MoZXZlbnQ6IEh0dHBQcm9ncmVzc0V2ZW50KTogRGF0YVRyYW5zZmVyUHJvZ3Jlc3Mge1xuXG4gICAgdGhpcy5fY3VyclRpbWVNcyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgLy8gc2V0dGluZyBzdGFydCB0aW1lXG4gICAgaWYgKCF0aGlzLl9zdGFydFRpbWVNcykge1xuICAgICAgdGhpcy5fc3RhcnRUaW1lTXMgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgIHRoaXMuX3ByZXZUaW1lTXMgPSB0aGlzLl9zdGFydFRpbWVNcztcbiAgICB9XG5cbiAgICAvLyB0cmFja2luZyBob3cgbXVjaCBkYXRhIGlzIHJlY2VpdmVkIGFuZFxuICAgIGNvbnN0IGJ5dGVzUmVjZWl2ZWRUb3RhbCA9IGV2ZW50LmxvYWRlZDtcbiAgICBjb25zdCBieXRlc1JlY2VpdmVkID0gYnl0ZXNSZWNlaXZlZFRvdGFsIC0gdGhpcy5fb2xkQnl0ZXM7XG5cbiAgICBjb25zdCBkdXJhdGlvbk1zID0gKHRoaXMuX2N1cnJUaW1lTXMgLSB0aGlzLl9wcmV2VGltZU1zKTtcbiAgICBjb25zdCBkdXJhdGlvblNlYyA9IGR1cmF0aW9uTXMgLyAxMDAwO1xuXG4gICAgLy8gQ2FsYyB0cmFuc2ZlciBzcGVlZCBwZXIgcGVyY2VudCBkYXRhIHJlY2VpdmVkXG4gICAgY29uc3QgYnl0ZXNQZXJTZWMgPSBieXRlc1JlY2VpdmVkIC8gZHVyYXRpb25TZWM7XG5cbiAgICAvLyB1cGRhdGluZyBwcmV2aW91cyB2YWx1ZXNcbiAgICB0aGlzLl9wcmV2VGltZU1zID0gdGhpcy5fY3VyclRpbWVNcztcbiAgICB0aGlzLl9vbGRCeXRlcyA9IGJ5dGVzUmVjZWl2ZWRUb3RhbDtcblxuICAgIC8vIENhbGMgYXZnIHNwZWVkXG4gICAgY29uc3QgZHVyYXRpb25TaW5jZVN0YXJ0TXMgPSAodGhpcy5fY3VyclRpbWVNcyAtIHRoaXMuX3N0YXJ0VGltZU1zKTtcbiAgICBjb25zdCBkdXJhdGlvblNpbmNlU3RhcnRTZWMgPSBkdXJhdGlvblNpbmNlU3RhcnRNcyAvIDEwMDA7XG4gICAgY29uc3QgYXZnQnl0ZXNQZXJTZWMgPSBldmVudC5sb2FkZWQgLyBkdXJhdGlvblNpbmNlU3RhcnRTZWM7XG5cbiAgICAvLyBDYWxjIHByb2dyZXNzIGlmIHBvc3NpYmxlXG4gICAgY29uc3QgcGVyY2VudERvbmUgPSBldmVudC50b3RhbCA/IE1hdGgucm91bmQoMTAwICogZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwpIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIG5ldyBEYXRhVHJhbnNmZXJQcm9ncmVzcyhcbiAgICAgIGV2ZW50LmxvYWRlZCxcbiAgICAgIGJ5dGVzUGVyU2VjLFxuICAgICAgYXZnQnl0ZXNQZXJTZWMsXG4gICAgICBldmVudC50b3RhbCxcbiAgICAgIHBlcmNlbnREb25lXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQVksYUFBYSxFQUFpRCxNQUFNLHNCQUFzQixDQUFDO0FBQzlHLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUluRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUE0QzNCOzs7O2dGQUk0RTtJQUU1RTs7Ozs7T0FLRztJQUNILFlBQ0UsV0FBdUMsRUFDdkMsSUFBYSxFQUNiLFVBQW1CO1FBekRyQjs7OztvRkFJNEU7UUFFcEUsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUs1QyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVF0QyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBd0NwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLGlCQUFpQixDQUFDLE9BQU8s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aUI7UUFDakIsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0scUJBQXFCLEdBQUcsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUM7UUFFNUQsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFM0YsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixLQUFLLENBQUMsTUFBTSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsS0FBSyxDQUFDLEtBQUssRUFDWCxXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0h0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cFByb2dyZXNzRXZlbnQsIEh0dHBSZXNwb25zZSwgSHR0cFNlbnRFdmVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclByb2dyZXNzfSBmcm9tICcuL2RhdGEtdHJhbnNmZXItcHJvZ3Jlc3MnO1xuaW1wb3J0IHtEYXRhVHJhbnNmZXJTdGF0ZX0gZnJvbSAnLi9kYXRhLXRyYW5zZmVyLXN0YXRlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuXG5cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgSHR0cCBkYXRhIHRyYW5zZmVyLCBlaXRoZXIgYSBkb3dubG9hZCBvciB1cGxvYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBIdHRwRGF0YVRyYW5zZmVyIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdIdHRwRGF0YVRyYW5zZmVyJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGU6IEJlaGF2aW9yU3ViamVjdDxEYXRhVHJhbnNmZXJTdGF0ZT47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaHR0cFJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+O1xuICBwcml2YXRlIHJlYWRvbmx5IGFib3J0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3N0YXJ0VGltZU1zOiBudW1iZXI7XG4gIHByaXZhdGUgX2VuZFRpbWVNczogbnVtYmVyO1xuICBwcml2YXRlIF9jdXJyVGltZU1zOiBudW1iZXI7XG4gIHByaXZhdGUgX3ByZXZUaW1lTXM6IG51bWJlcjtcbiAgcHJpdmF0ZSBfb2xkQnl0ZXMgPSAwO1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlciBmcm9tIGEgSHR0cENsaWVudCBIdHRwUmVxdWVzdC5cbiAgICogQHBhcmFtIGh0dHBSZXF1ZXN0XG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhpcyB0cmFuc2ZlclxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgZXhwZWN0ZWQgYnl0ZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlcXVlc3QoXG4gICAgaHR0cFJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+LFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgdG90YWxCeXRlcz86IG51bWJlclxuICApOiBIdHRwRGF0YVRyYW5zZmVyIHtcbiAgICByZXR1cm4gbmV3IEh0dHBEYXRhVHJhbnNmZXIoaHR0cFJlcXVlc3QsIG5hbWUsIHRvdGFsQnl0ZXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cERhdGFUcmFuc2ZlclxuICAgKiBAcGFyYW0gaHR0cFJlcXVlc3QgVGhlIGh0dHAgcmVxdWVzdC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhpcyB0cmFuc2ZlciAodXN1YWxseSB0aGUgZmlsZSBuYW1lKVxuICAgKiBAcGFyYW0gdG90YWxCeXRlcyBUaGUgdG90YWwgYnl0ZXMgb2YgdGhlIHRyYW5zZmVyLiAoSWYgbm90IHNldCwgd2lsbCBiZSBhdXRvIGRpc2NvdmVyZWQgaWYgcG9zc2libGUpXG4gICAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGh0dHBSZXF1ZXN0OiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PixcbiAgICBuYW1lPzogc3RyaW5nLFxuICAgIHRvdGFsQnl0ZXM/OiBudW1iZXJcbiAgKSB7XG4gICAgdGhpcy5fbmFtZSA9IG5hbWU7XG4gICAgdGhpcy5faHR0cFJlcXVlc3QgPSBodHRwUmVxdWVzdDtcbiAgICB0aGlzLl9zdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoRGF0YVRyYW5zZmVyU3RhdGUucGVuZGluZyh0b3RhbEJ5dGVzKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBkYXRhIHRyYW5zZmVyXG4gICAqL1xuICBwdWJsaWMgc3RhcnQoKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9odHRwUmVxdWVzdC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuYWJvcnQkKSxcbiAgICAgIHRhcChldmVudCA9PiB7XG5cbiAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcblxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICAgICAgICAgIHRoaXMub25TdGFydChldmVudCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgIHRoaXMub25Qcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuICAgICAgICAgICAgICB0aGlzLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB0aGlzLm9uRXJyb3IoZXJyKSxcbiAgICAgICAgKCkgPT4gdGhpcy5maW5hbGx5KClcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFib3J0cyB0aGUgZGF0YSB0cmFuc2ZlclxuICAgKi9cbiAgcHVibGljIGFib3J0KCk6IHZvaWQge1xuICAgIHRoaXMuYWJvcnQkLm5leHQoKTtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmFib3J0ZWQodGhpcy5zdGF0ZVNuYXBzaG90LnByb2dyZXNzKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQXdhaXRzIHVudGlsIHRoaXMgdHJhbnNmZXIgaXMgZG9uZSBhbmQgY2xvc2VzIHRoZSBvYnNlcnZhYmxlLlxuICAgKlxuICAgKiBJZiBzdWNjZXNzZnVsLCBlbWl0cyB0cnVlLiBPYnNlcnZhYmxlIGlzIGNsb3NlZC5cbiAgICogSWYgYWJvcnRlZCwgZW1pdHMgZmFsc2UuIE9ic2VydmFibGUgaXMgY2xvc2VkLlxuICAgKiBJZiBmYWlsZWQsIHRocm93cyBlcnJvci4gT2JzZXJ2YWJsZSBpcyBjbG9zZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRvbmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlLmlzRG9uZSksXG4gICAgICBtYXAoc3RhdGUgPT4ge1xuICAgICAgICBpZiAoc3RhdGUuaXNDb21wbGV0ZWQpIHsgcmV0dXJuIHRydWU7IH1cbiAgICAgICAgaWYgKHN0YXRlLmlzQWJvcnRlZCkgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgICAgICBpZiAoc3RhdGUuaGFzRmFpbGVkKSB7XG4gICAgICAgICAgdGhyb3cgc3RhdGUuZXJyb3IgPyBzdGF0ZS5lcnJvciA6ICdDb21wbGV0aW9uIEZhaWxlZCBkdWUgdW5rbm93biBlcnJvciEnO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3RhdGUgb2YgdGhpcyBkYXRhIHRyYW5zZmVyIG92ZXIgdGltZS5cbiAgICogVW5zdWJzY3JpYmUgYWZ0ZXIgdXNlLlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzbmFwc2hvdCBvZiB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGlzIGRhdGEgdHJhbnNmZXJcbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhdGVTbmFwc2hvdCgpOiBEYXRhVHJhbnNmZXJTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgb25TdGFydChldmVudDogSHR0cFNlbnRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuc3RhcnRlZCh0aGlzLnN0YXRlU25hcHNob3QucHJvZ3Jlc3MudG90YWxCeXRlcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvblByb2dyZXNzKGV2ZW50OiBIdHRwUHJvZ3Jlc3NFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2dyZXNzID0gdGhpcy50cmFuc2ZlclByb2dyZXNzKGV2ZW50KTtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLnRyYW5zZmVycmluZyhwcm9ncmVzcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbXBsZXRlKGV2ZW50OiBIdHRwUmVzcG9uc2U8YW55Pik6IHZvaWQge1xuICAgIHRoaXMuZW1pdFN0YXRlKFxuICAgICAgRGF0YVRyYW5zZmVyU3RhdGUuY29tcGxldGVkKFxuICAgICAgICB0aGlzLnRyYW5zZmVyUHJvZ3Jlc3NGcm9tUmVzcG9uc2UoZXZlbnQsIHRoaXMuc3RhdGVTbmFwc2hvdC5wcm9ncmVzcylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRTdGF0ZShcbiAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmZhaWxlZChlcnJvciwgdGhpcy5zdGF0ZVNuYXBzaG90LnByb2dyZXNzKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbmFsbHkoKTogdm9pZCB7XG4gICAgdGhpcy5fZW5kVGltZU1zID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgaWYgKCF0aGlzLnN0YXRlU25hcHNob3QuaXNEb25lKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdEYXRhVHJhbnNmZXIgZGlkIG5vdCByZWFjaCBkb25lLXN0YXRlISBDb21wbGV0aW5nIFRyYW5zZmVyIG5vdy4uLicpO1xuICAgICAgdGhpcy5lbWl0U3RhdGUoXG4gICAgICAgIERhdGFUcmFuc2ZlclN0YXRlLmNvbXBsZXRlZCh0aGlzLnN0YXRlU25hcHNob3QucHJvZ3Jlc3MpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdFN0YXRlKG5ld1N0YXRlOiBEYXRhVHJhbnNmZXJTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlLm5leHQobmV3U3RhdGUpO1xuICB9XG5cblxuICBwcml2YXRlIHRyYW5zZmVyUHJvZ3Jlc3NGcm9tUmVzcG9uc2UoXG4gICAgZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+LFxuICAgIHByZXZpb3VzPzogRGF0YVRyYW5zZmVyUHJvZ3Jlc3NcbiAgKTogRGF0YVRyYW5zZmVyUHJvZ3Jlc3Mge1xuXG4gICAgcmV0dXJuIG5ldyBEYXRhVHJhbnNmZXJQcm9ncmVzcyhcbiAgICAgIHByZXZpb3VzID8gcHJldmlvdXMudG90YWxCeXRlcyA6IDAsXG4gICAgICBwcmV2aW91cyA/IHByZXZpb3VzLmJ5dGVzUGVyU2VjIDogMCxcbiAgICAgIHByZXZpb3VzID8gcHJldmlvdXMuYXZnQnl0ZXNQZXJTZWMgOiAwLFxuICAgICAgcHJldmlvdXMgPyBwcmV2aW91cy50b3RhbEJ5dGVzIDogMCxcbiAgICAgIDEwMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZmVyUHJvZ3Jlc3MoZXZlbnQ6IEh0dHBQcm9ncmVzc0V2ZW50KTogRGF0YVRyYW5zZmVyUHJvZ3Jlc3Mge1xuXG4gICAgdGhpcy5fY3VyclRpbWVNcyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgLy8gc2V0dGluZyBzdGFydCB0aW1lXG4gICAgaWYgKCF0aGlzLl9zdGFydFRpbWVNcykge1xuICAgICAgdGhpcy5fc3RhcnRUaW1lTXMgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgIHRoaXMuX3ByZXZUaW1lTXMgPSB0aGlzLl9zdGFydFRpbWVNcztcbiAgICB9XG5cbiAgICAvLyB0cmFja2luZyBob3cgbXVjaCBkYXRhIGlzIHJlY2VpdmVkIGFuZFxuICAgIGNvbnN0IGJ5dGVzUmVjZWl2ZWRUb3RhbCA9IGV2ZW50LmxvYWRlZDtcbiAgICBjb25zdCBieXRlc1JlY2VpdmVkID0gYnl0ZXNSZWNlaXZlZFRvdGFsIC0gdGhpcy5fb2xkQnl0ZXM7XG5cbiAgICBjb25zdCBkdXJhdGlvbk1zID0gKHRoaXMuX2N1cnJUaW1lTXMgLSB0aGlzLl9wcmV2VGltZU1zKTtcbiAgICBjb25zdCBkdXJhdGlvblNlYyA9IGR1cmF0aW9uTXMgLyAxMDAwO1xuXG4gICAgLy8gQ2FsYyB0cmFuc2ZlciBzcGVlZCBwZXIgcGVyY2VudCBkYXRhIHJlY2VpdmVkXG4gICAgY29uc3QgYnl0ZXNQZXJTZWMgPSBieXRlc1JlY2VpdmVkIC8gZHVyYXRpb25TZWM7XG5cbiAgICAvLyB1cGRhdGluZyBwcmV2aW91cyB2YWx1ZXNcbiAgICB0aGlzLl9wcmV2VGltZU1zID0gdGhpcy5fY3VyclRpbWVNcztcbiAgICB0aGlzLl9vbGRCeXRlcyA9IGJ5dGVzUmVjZWl2ZWRUb3RhbDtcblxuICAgIC8vIENhbGMgYXZnIHNwZWVkXG4gICAgY29uc3QgZHVyYXRpb25TaW5jZVN0YXJ0TXMgPSAodGhpcy5fY3VyclRpbWVNcyAtIHRoaXMuX3N0YXJ0VGltZU1zKTtcbiAgICBjb25zdCBkdXJhdGlvblNpbmNlU3RhcnRTZWMgPSBkdXJhdGlvblNpbmNlU3RhcnRNcyAvIDEwMDA7XG4gICAgY29uc3QgYXZnQnl0ZXNQZXJTZWMgPSBldmVudC5sb2FkZWQgLyBkdXJhdGlvblNpbmNlU3RhcnRTZWM7XG5cbiAgICAvLyBDYWxjIHByb2dyZXNzIGlmIHBvc3NpYmxlXG4gICAgY29uc3QgcGVyY2VudERvbmUgPSBldmVudC50b3RhbCA/IE1hdGgucm91bmQoMTAwICogZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwpIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIG5ldyBEYXRhVHJhbnNmZXJQcm9ncmVzcyhcbiAgICAgIGV2ZW50LmxvYWRlZCxcbiAgICAgIGJ5dGVzUGVyU2VjLFxuICAgICAgYXZnQnl0ZXNQZXJTZWMsXG4gICAgICBldmVudC50b3RhbCxcbiAgICAgIHBlcmNlbnREb25lXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -6,7 +6,6 @@ export * from './utils/public_api';
|
|
|
6
6
|
export * from './selection/public_api';
|
|
7
7
|
export * from './http/public_api';
|
|
8
8
|
export * from './i18n/public_api';
|
|
9
|
-
export * from './rxjs/public_api';
|
|
10
9
|
export * from './enums/public_api';
|
|
11
10
|
export * from './errors/public_api';
|
|
12
11
|
export * from './csv/public_api';
|
|
@@ -17,4 +16,4 @@ export * from './objects';
|
|
|
17
16
|
export * from './sets';
|
|
18
17
|
export * from './suggestion-provider';
|
|
19
18
|
export * from './reactive-map';
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybXMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24vcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4vcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2VudW1zL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2Nzdi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL3VybC9wdWJsaWNfYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9qc29uLW1hcCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbi1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0aXZlLW1hcCc7XG4iXX0=
|
|
@@ -21,7 +21,7 @@ export class SelectionModel {
|
|
|
21
21
|
* @param keyGetter value identity - default to value object equality
|
|
22
22
|
* @param selectableEvaluatorFn function to evaluate if the element in question is selectable
|
|
23
23
|
*/
|
|
24
|
-
constructor(multiple = false, initial, keyGetter =
|
|
24
|
+
constructor(multiple = false, initial, keyGetter = SelectionModel.FallbackKeyGetterFn, selectableEvaluatorFn = () => true) {
|
|
25
25
|
/***************************************************************************
|
|
26
26
|
* *
|
|
27
27
|
* Fields *
|
|
@@ -56,6 +56,10 @@ export class SelectionModel {
|
|
|
56
56
|
this._selectableEvaluatorFn = fn;
|
|
57
57
|
this.replaceSelection(this.selectionSnapshot);
|
|
58
58
|
}
|
|
59
|
+
set keyGetterFn(fn) {
|
|
60
|
+
this._keyGetterFn = fn;
|
|
61
|
+
this.replaceSelection(this.selectionSnapshot);
|
|
62
|
+
}
|
|
59
63
|
/***************************************************************************
|
|
60
64
|
* *
|
|
61
65
|
* Public API *
|
|
@@ -203,4 +207,5 @@ export class SelectionModel {
|
|
|
203
207
|
return false;
|
|
204
208
|
}
|
|
205
209
|
}
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUduRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBZ0J6Qjs7OztnRkFJNEU7SUFHNUU7Ozs7Ozs7T0FPRztJQUNILFlBQ0UsUUFBUSxHQUFHLEtBQUssRUFDaEIsT0FBYSxFQUNiLFlBQWdDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN0Qyx3QkFBZ0QsR0FBRyxFQUFFLENBQUMsSUFBSTtRQWpDNUQ7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHckQsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQXlCekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHFCQUFxQixDQUFDO1FBQ3BELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLE9BQU87UUFDaEIs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QyxNQUFNLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQVE7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBVztRQUNuQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBUTtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc2tpcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5cblxuLyoqXG4gKiBQcm92aWRlcyBhIG1vZGVsIG9mIGEgc2VsZWN0aW9uLlxuICogU3VwcG9ydHMgc2luZ2xlIGFuZCBtdWx0aSBzZWxlY3Rpb24uXG4gKlxuICogU3VwcG9ydHMgY3VzdG9tIHNlbGVjdGlvbiBlcXVhbGl0eSAoZGVmYXVsdCBieSBvYmplY3QgdmFsdWUpXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Nb2RlbDxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX211bHRpcGxlOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb25NYXAgPSBuZXcgTWFwPGFueSwgVD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfa2V5R2V0dGVyRm46ICgoaXRlbTogVCkgPT4gYW55KTtcbiAgcHJpdmF0ZSBfc2VsZWN0YWJsZUV2YWx1YXRvckZuOiAoKGl0ZW06IFQpID0+IGJvb2xlYW4pO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU2VsZWN0aW9uTW9kZWxcbiAgICpcbiAgICogQHBhcmFtIG11bHRpcGxlIFN1cHBvcnQgbXVsdGkgc2VsZWN0aW9uP1xuICAgKiBAcGFyYW0gaW5pdGlhbCB0aGUgaW5pdGlhbCBzZWxlY3Rpb25cbiAgICogQHBhcmFtIGtleUdldHRlciB2YWx1ZSBpZGVudGl0eSAtIGRlZmF1bHQgdG8gdmFsdWUgb2JqZWN0IGVxdWFsaXR5XG4gICAqIEBwYXJhbSBzZWxlY3RhYmxlRXZhbHVhdG9yRm4gZnVuY3Rpb24gdG8gZXZhbHVhdGUgaWYgdGhlIGVsZW1lbnQgaW4gcXVlc3Rpb24gaXMgc2VsZWN0YWJsZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgbXVsdGlwbGUgPSBmYWxzZSxcbiAgICBpbml0aWFsPzogVFtdLFxuICAgIGtleUdldHRlcjogKChpdGVtOiBUKSA9PiBhbnkpID0gYSA9PiBhLFxuICAgIHNlbGVjdGFibGVFdmFsdWF0b3JGbjogKChpdGVtOiBUKSA9PiBib29sZWFuKSA9ICgpID0+IHRydWVcbiAgKSB7XG4gICAgdGhpcy5fbXVsdGlwbGUgPSBtdWx0aXBsZTtcbiAgICB0aGlzLl9rZXlHZXR0ZXJGbiA9IGtleUdldHRlcjtcbiAgICB0aGlzLl9zZWxlY3RhYmxlRXZhbHVhdG9yRm4gPSBzZWxlY3RhYmxlRXZhbHVhdG9yRm47XG4gICAgaWYgKGluaXRpYWwpIHtcbiAgICAgIHRoaXMucmVwbGFjZVNlbGVjdGlvbihpbml0aWFsKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGNoYW5nZWQoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24ucGlwZShcbiAgICAgIHNraXAoMSkgLy8gU2tpcCB0aGUgaW5pdGlhbCB2YWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGlvbigpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGlvblNuYXBzaG90KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBzZWxlY3RhYmxlRXZhbHVhdG9yRm4oZm46IChpdGVtOiBUKSA9PiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuID0gZm47XG4gICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9uKHRoaXMuc2VsZWN0aW9uU25hcHNob3QpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBpZiB0aGUgZ2l2ZW4gaXRlbSBpcyBzZWxlY3RhYmxlIGJhc2VkIG9uIHRoZSBpbml0aWFsbHkgc2V0ICdzZWxlY3RhYmxlJyBmdW5jdGlvbi5cbiAgICogSWYgbm8gZnVuY3Rpb24gaGFzIGJlZW4gc2V0IChvciBmdW5jdGlvbiBpcyBudWxsKSwgYWxsIGl0ZW1zIGFyZSBzZWxlY3RhYmxlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBwdWJsaWMgaXNTZWxlY3RhYmxlKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPiAwKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuY2xlYXIoKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnY2xlYXInKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVNlbGVjdGlvbihuZXdTZWxlY3Rpb246IFRbXSk6IHZvaWQge1xuICAgIGlmIChuZXdTZWxlY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLmNsZWFyKCk7XG4gICAgICB0aGlzLnNlbGVjdChuZXdTZWxlY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdCh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdEludGVybmFsKHZhbHVlcykpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnc2VsZWN0SW50ZXJuYWxbaGFzLWNoYW5nZXNdJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0KHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5kZXNlbGVjdElkcyhcbiAgICAgIHZhbHVlcy5tYXAodiA9PiB0aGlzLl9rZXlHZXR0ZXJGbih2KSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0SWRzKGlkczogYW55W10pOiB2b2lkIHtcblxuICAgIGxldCBhbnlDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGlkcy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLmRlbGV0ZShrZXkpKSB7XG4gICAgICAgIGFueUNoYW5nZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYW55Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQoJ2Rlc2VsZWN0SWRzJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZSh2YWx1ZTogVCk6IHZvaWQge1xuXG4gICAgdGhpcy5sb2cuZGVidWcoJ3RvZ2dsaW5nIHNlbGVjdGlvbiBvZiB2YWx1ZSBpZDonICsgdGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpKTtcblxuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQodmFsdWUpKSB7XG4gICAgICB0aGlzLmRlc2VsZWN0KFt2YWx1ZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdChbdmFsdWVdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpO1xuICB9XG5cblxuICBwdWJsaWMgb2JzZXJ2ZVNlbGVjdGlvbih2YWx1ZTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLnBpcGUoXG4gICAgICBtYXAoc2VsZWN0ZWQgPT4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA+IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NpbmdsZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTXVsdGlwbGVWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1hcC5zaXplID4gMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNNdWx0aXBsZVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24obXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICBpZiAobXVsdGlwbGUgIT09IHRoaXMuX211bHRpcGxlKSB7XG4gICAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlO1xuXG4gICAgICBpZiAoIXRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb25TbmFwc2hvdDtcbiAgICAgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aGlzLmxvZy5kZWJ1ZygnTXVsdGlwbGUgc2VsZWN0aW9uIHdhcyBkZWFjdGl2YXRlZCBidXQgdGhlcmUgd2hlcmUgbW9yZSB0aGFuIG9uZSBzZWxlY3RlZCBpdGVtcyBwcmVzZW50LCBmaXhpbmcgbm93IScpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0KFtzZWxlY3RlZFswXV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzZWxlY3Rpb25DaGFuZ2VkKG9yaWdpbjogc3RyaW5nKTogdm9pZCB7XG5cbiAgICB0aGlzLmxvZy5kZWJ1Zygnc2VsZWN0aW9uQ2hhbmdlZCB0cmlnZ2VyZCBieSAnICsgb3JpZ2luKTtcblxuICAgIHRoaXMuX3NlbGVjdGlvbi5uZXh0KFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLl9zZWxlY3Rpb25NYXAudmFsdWVzKCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SW50ZXJuYWwodmFsdWVzOiBUW10pOiBib29sZWFuIHtcblxuICAgIHZhbHVlcyA9IHZhbHVlcy5maWx0ZXIodiA9PiB0aGlzLmlzU2VsZWN0YWJsZSh2KSk7XG5cbiAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5fbXVsdGlwbGUpIHtcbiAgICAgICAgLy8gTXVsdGkgc2VsZWN0aW9uXG4gICAgICAgIHJldHVybiB0aGlzLmVuc3VyZVNlbGVjdGVkTXVsdGkodmFsdWVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbmdsZSBzZWxlY3Rpb25cbiAgICAgICAgY29uc3Qgc2luZ2xlID0gdmFsdWVzWzBdOyAvLyBNYXliZSBsYXN0IGlzIGJldHRlcj9cbiAgICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlU2VsZWN0ZWRTaW5nbGUoc2luZ2xlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVTZWxlY3RlZE11bHRpKHZhbHVlczogVFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzQWxyZWFkeVNlbGVjdGVkKHZhbHVlcykpIHtcbiAgICAgIHZhbHVlcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuc2V0KHRoaXMuX2tleUdldHRlckZuKHZhbHVlKSwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzRXhjbHVzaXZlU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkKHZhbHVlKSAmJiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBbHJlYWR5U2VsZWN0ZWQodmFsdWVzOiBUW10pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPj0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZhbHVlcy5ldmVyeSh2ID0+IHRoaXMuaXNTZWxlY3RlZCh2KSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlU2VsZWN0ZWRTaW5nbGUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNFeGNsdXNpdmVTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5jbGVhcigpO1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLnNldCh0aGlzLl9rZXlHZXR0ZXJGbih2YWx1ZSksIHZhbHVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIl19
|
|
210
|
+
SelectionModel.FallbackKeyGetterFn = ((a) => a);
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUluRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBa0J6Qjs7OztnRkFJNEU7SUFHNUU7Ozs7Ozs7T0FPRztJQUNILFlBQ0UsUUFBUSxHQUFHLEtBQUssRUFDaEIsT0FBYSxFQUNiLFlBQTRCLGNBQWMsQ0FBQyxtQkFBbUIsRUFDOUQsd0JBQWdELEdBQUcsRUFBRSxDQUFDLElBQUk7UUFuQzVEOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3JELGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNsQyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUEyQnpELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQztRQUNwRCxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFB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Q0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztBQW5Qc0Isa0NBQW1CLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc2tpcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5cbmV4cG9ydCB0eXBlIEtleUdldHRlckZuPFQ+ID0gKChpdGVtOiBUKSA9PiBhbnkpO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgbW9kZWwgb2YgYSBzZWxlY3Rpb24uXG4gKiBTdXBwb3J0cyBzaW5nbGUgYW5kIG11bHRpIHNlbGVjdGlvbi5cbiAqXG4gKiBTdXBwb3J0cyBjdXN0b20gc2VsZWN0aW9uIGVxdWFsaXR5IChkZWZhdWx0IGJ5IG9iamVjdCB2YWx1ZSlcbiAqL1xuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbk1vZGVsPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfbXVsdGlwbGU6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbk1hcCA9IG5ldyBNYXA8YW55LCBUPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pO1xuICBwcml2YXRlIF9rZXlHZXR0ZXJGbjogS2V5R2V0dGVyRm48VD47XG4gIHByaXZhdGUgX3NlbGVjdGFibGVFdmFsdWF0b3JGbjogKChpdGVtOiBUKSA9PiBib29sZWFuKTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZhbGxiYWNrS2V5R2V0dGVyRm4gPSAoKGE6IGFueSkgPT4gYSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBTZWxlY3Rpb25Nb2RlbFxuICAgKlxuICAgKiBAcGFyYW0gbXVsdGlwbGUgU3VwcG9ydCBtdWx0aSBzZWxlY3Rpb24/XG4gICAqIEBwYXJhbSBpbml0aWFsIHRoZSBpbml0aWFsIHNlbGVjdGlvblxuICAgKiBAcGFyYW0ga2V5R2V0dGVyIHZhbHVlIGlkZW50aXR5IC0gZGVmYXVsdCB0byB2YWx1ZSBvYmplY3QgZXF1YWxpdHlcbiAgICogQHBhcmFtIHNlbGVjdGFibGVFdmFsdWF0b3JGbiBmdW5jdGlvbiB0byBldmFsdWF0ZSBpZiB0aGUgZWxlbWVudCBpbiBxdWVzdGlvbiBpcyBzZWxlY3RhYmxlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBtdWx0aXBsZSA9IGZhbHNlLFxuICAgIGluaXRpYWw/OiBUW10sXG4gICAga2V5R2V0dGVyOiBLZXlHZXR0ZXJGbjxUPiA9IFNlbGVjdGlvbk1vZGVsLkZhbGxiYWNrS2V5R2V0dGVyRm4sXG4gICAgc2VsZWN0YWJsZUV2YWx1YXRvckZuOiAoKGl0ZW06IFQpID0+IGJvb2xlYW4pID0gKCkgPT4gdHJ1ZVxuICApIHtcbiAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlO1xuICAgIHRoaXMuX2tleUdldHRlckZuID0ga2V5R2V0dGVyO1xuICAgIHRoaXMuX3NlbGVjdGFibGVFdmFsdWF0b3JGbiA9IHNlbGVjdGFibGVFdmFsdWF0b3JGbjtcbiAgICBpZiAoaW5pdGlhbCkge1xuICAgICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9uKGluaXRpYWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgY2hhbmdlZCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbi5waXBlKFxuICAgICAgc2tpcCgxKSAvLyBTa2lwIHRoZSBpbml0aWFsIHZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uU25hcHNob3QoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGFibGVFdmFsdWF0b3JGbihmbjogKGl0ZW06IFQpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RhYmxlRXZhbHVhdG9yRm4gPSBmbjtcbiAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb24odGhpcy5zZWxlY3Rpb25TbmFwc2hvdCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGtleUdldHRlckZuKGZuOiBLZXlHZXR0ZXJGbjxUPikge1xuICAgIHRoaXMuX2tleUdldHRlckZuID0gZm47XG4gICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9uKHRoaXMuc2VsZWN0aW9uU25hcHNob3QpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBpZiB0aGUgZ2l2ZW4gaXRlbSBpcyBzZWxlY3RhYmxlIGJhc2VkIG9uIHRoZSBpbml0aWFsbHkgc2V0ICdzZWxlY3RhYmxlJyBmdW5jdGlvbi5cbiAgICogSWYgbm8gZnVuY3Rpb24gaGFzIGJlZW4gc2V0IChvciBmdW5jdGlvbiBpcyBudWxsKSwgYWxsIGl0ZW1zIGFyZSBzZWxlY3RhYmxlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBwdWJsaWMgaXNTZWxlY3RhYmxlKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPiAwKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuY2xlYXIoKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnY2xlYXInKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVNlbGVjdGlvbihuZXdTZWxlY3Rpb246IFRbXSk6IHZvaWQge1xuICAgIGlmIChuZXdTZWxlY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLmNsZWFyKCk7XG4gICAgICB0aGlzLnNlbGVjdChuZXdTZWxlY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdCh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdEludGVybmFsKHZhbHVlcykpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnc2VsZWN0SW50ZXJuYWxbaGFzLWNoYW5nZXNdJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0KHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5kZXNlbGVjdElkcyhcbiAgICAgIHZhbHVlcy5tYXAodiA9PiB0aGlzLl9rZXlHZXR0ZXJGbih2KSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0SWRzKGlkczogYW55W10pOiB2b2lkIHtcblxuICAgIGxldCBhbnlDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGlkcy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLmRlbGV0ZShrZXkpKSB7XG4gICAgICAgIGFueUNoYW5nZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYW55Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQoJ2Rlc2VsZWN0SWRzJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZSh2YWx1ZTogVCk6IHZvaWQge1xuXG4gICAgdGhpcy5sb2cuZGVidWcoJ3RvZ2dsaW5nIHNlbGVjdGlvbiBvZiB2YWx1ZSBpZDonICsgdGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpKTtcblxuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQodmFsdWUpKSB7XG4gICAgICB0aGlzLmRlc2VsZWN0KFt2YWx1ZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdChbdmFsdWVdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpO1xuICB9XG5cblxuICBwdWJsaWMgb2JzZXJ2ZVNlbGVjdGlvbih2YWx1ZTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLnBpcGUoXG4gICAgICBtYXAoc2VsZWN0ZWQgPT4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA+IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NpbmdsZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTXVsdGlwbGVWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1hcC5zaXplID4gMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNNdWx0aXBsZVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24obXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICBpZiAobXVsdGlwbGUgIT09IHRoaXMuX211bHRpcGxlKSB7XG4gICAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlO1xuXG4gICAgICBpZiAoIXRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb25TbmFwc2hvdDtcbiAgICAgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aGlzLmxvZy5kZWJ1ZygnTXVsdGlwbGUgc2VsZWN0aW9uIHdhcyBkZWFjdGl2YXRlZCBidXQgdGhlcmUgd2hlcmUgbW9yZSB0aGFuIG9uZSBzZWxlY3RlZCBpdGVtcyBwcmVzZW50LCBmaXhpbmcgbm93IScpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0KFtzZWxlY3RlZFswXV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzZWxlY3Rpb25DaGFuZ2VkKG9yaWdpbjogc3RyaW5nKTogdm9pZCB7XG5cbiAgICB0aGlzLmxvZy5kZWJ1Zygnc2VsZWN0aW9uQ2hhbmdlZCB0cmlnZ2VyZCBieSAnICsgb3JpZ2luKTtcblxuICAgIHRoaXMuX3NlbGVjdGlvbi5uZXh0KFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLl9zZWxlY3Rpb25NYXAudmFsdWVzKCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SW50ZXJuYWwodmFsdWVzOiBUW10pOiBib29sZWFuIHtcblxuICAgIHZhbHVlcyA9IHZhbHVlcy5maWx0ZXIodiA9PiB0aGlzLmlzU2VsZWN0YWJsZSh2KSk7XG5cbiAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5fbXVsdGlwbGUpIHtcbiAgICAgICAgLy8gTXVsdGkgc2VsZWN0aW9uXG4gICAgICAgIHJldHVybiB0aGlzLmVuc3VyZVNlbGVjdGVkTXVsdGkodmFsdWVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbmdsZSBzZWxlY3Rpb25cbiAgICAgICAgY29uc3Qgc2luZ2xlID0gdmFsdWVzWzBdOyAvLyBNYXliZSBsYXN0IGlzIGJldHRlcj9cbiAgICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlU2VsZWN0ZWRTaW5nbGUoc2luZ2xlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVTZWxlY3RlZE11bHRpKHZhbHVlczogVFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzQWxyZWFkeVNlbGVjdGVkKHZhbHVlcykpIHtcbiAgICAgIHZhbHVlcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuc2V0KHRoaXMuX2tleUdldHRlckZuKHZhbHVlKSwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzRXhjbHVzaXZlU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkKHZhbHVlKSAmJiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBbHJlYWR5U2VsZWN0ZWQodmFsdWVzOiBUW10pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPj0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZhbHVlcy5ldmVyeSh2ID0+IHRoaXMuaXNTZWxlY3RlZCh2KSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlU2VsZWN0ZWRTaW5nbGUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNFeGNsdXNpdmVTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5jbGVhcigpO1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLnNldCh0aGlzLl9rZXlHZXR0ZXJGbih2YWx1ZSksIHZhbHVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIl19
|