@elderbyte/ngx-starter 17.11.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/common/arrays.mjs +1 -1
- package/esm2022/lib/common/async/refreshing-entity.mjs +1 -1
- package/esm2022/lib/common/csv/csv-serializer.mjs +1 -1
- package/esm2022/lib/common/csv/csv-spec.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-base.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-builder.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-simple.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context.mjs +1 -1
- package/esm2022/lib/common/data/data-context/indexed-entities.mjs +1 -1
- package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-processor.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source.mjs +1 -1
- package/esm2022/lib/common/data/datasource/entity-id-util.mjs +1 -1
- package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +1 -1
- package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +1 -1
- package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +1 -1
- package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +1 -1
- package/esm2022/lib/common/data/entity-set-patch.mjs +1 -1
- package/esm2022/lib/common/data/field-comparator.mjs +1 -1
- package/esm2022/lib/common/data/filters/filter-commons.mjs +12 -0
- package/esm2022/lib/common/data/filters/filter-context.mjs +1 -1
- package/esm2022/lib/common/data/filters/filter-value.mjs +2 -0
- package/esm2022/lib/common/data/filters/filter.mjs +1 -1
- package/esm2022/lib/common/data/http-params-builder.mjs +1 -1
- package/esm2022/lib/common/data/page.mjs +1 -1
- package/esm2022/lib/common/data/required-filter-evaluator.mjs +1 -1
- package/esm2022/lib/common/data/sort-context.mjs +1 -1
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +4 -4
- package/esm2022/lib/common/format/bytes-format.mjs +1 -1
- package/esm2022/lib/common/format/bytes-per-second-format.mjs +1 -1
- package/esm2022/lib/common/format/curency-format-util.mjs +1 -1
- package/esm2022/lib/common/format/duration-format-util.mjs +1 -1
- package/esm2022/lib/common/format/iso-interval-format-util.mjs +1 -1
- package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +1 -1
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +1 -1
- package/esm2022/lib/common/forms/form-field-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/template-composite-control.mjs +4 -4
- package/esm2022/lib/common/forms/value-accessor-base.mjs +4 -4
- package/esm2022/lib/common/http/http-client-builder.service.mjs +4 -4
- package/esm2022/lib/common/http/http-client-pristine.mjs +4 -4
- package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
- package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +1 -1
- package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/translated-converter.mjs +1 -1
- package/esm2022/lib/common/objects.mjs +1 -1
- package/esm2022/lib/common/selection/selection-model.mjs +1 -1
- package/esm2022/lib/common/sets.mjs +1 -1
- package/esm2022/lib/common/templates/template-slot-manager.mjs +1 -1
- package/esm2022/lib/common/time/date-util.mjs +1 -1
- package/esm2022/lib/common/time/interval-coerce.mjs +1 -1
- package/esm2022/lib/common/time/interval.mjs +1 -1
- package/esm2022/lib/common/time/period-duration.mjs +1 -1
- package/esm2022/lib/common/time/time-util.mjs +1 -1
- package/esm2022/lib/common/url/elder-router.service.mjs +4 -4
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +5 -5
- package/esm2022/lib/common/url/url-query-params.mjs +1 -1
- package/esm2022/lib/common/utils/batcher.mjs +1 -1
- package/esm2022/lib/common/utils/collection-util.mjs +1 -1
- package/esm2022/lib/common/utils/filter-util.mjs +1 -1
- package/esm2022/lib/common/utils/focus-util.mjs +1 -1
- package/esm2022/lib/common/utils/next-number-util.mjs +1 -1
- package/esm2022/lib/common/utils/parse-util.mjs +1 -1
- package/esm2022/lib/common/utils/property-path-util.mjs +1 -1
- package/esm2022/lib/common/utils/sort-util.mjs +1 -1
- package/esm2022/lib/common/utils/url-builder.mjs +1 -1
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -4
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +4 -4
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +5 -5
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +4 -4
- package/esm2022/lib/components/badge/elder-badge.module.mjs +5 -5
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -5
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +1 -1
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -5
- package/esm2022/lib/components/card-organizer/card-stack.mjs +1 -1
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +19 -19
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +5 -5
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +4 -4
- package/esm2022/lib/components/chips/elder-chips.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
- package/esm2022/lib/components/containers/elder-containers.module.mjs +5 -5
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +3 -3
- package/esm2022/lib/components/csv/elder-csv.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +4 -4
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +4 -4
- package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +1 -1
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -4
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +7 -7
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -4
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +12 -12
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +1 -1
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +6 -6
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +5 -5
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +1 -1
- package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +1 -1
- package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +1 -1
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +5 -5
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +4 -4
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
- package/esm2022/lib/components/errors/elder-error.module.mjs +5 -5
- package/esm2022/lib/components/errors/error-util.mjs +1 -1
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +5 -5
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +4 -4
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file.module.mjs +5 -5
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +4 -4
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +4 -4
- package/esm2022/lib/components/files/listing/file-entry.mjs +1 -1
- package/esm2022/lib/components/files/listing/file-listing-rx.mjs +1 -1
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +5 -5
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +7 -17
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
- package/esm2022/lib/components/forms/elder-forms.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +2 -0
- package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +14 -15
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +1 -1
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +46 -35
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +73 -48
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +47 -0
- package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +2 -0
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +6 -6
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +5 -5
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
- package/esm2022/lib/components/headers/elder-header.module.mjs +5 -5
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +5 -5
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +4 -4
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -7
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +5 -5
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe.service.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +5 -5
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +231 -0
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +7 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +12 -12
- package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +1 -1
- package/esm2022/lib/components/labels/elder-labels.module.mjs +5 -5
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +4 -4
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +4 -4
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
- package/esm2022/lib/components/measures/elder-measures.module.mjs +9 -9
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +4 -4
- package/esm2022/lib/components/measures/elder-unit.service.mjs +6 -6
- package/esm2022/lib/components/measures/model/unit-registry.mjs +1 -1
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -4
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +8 -7
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +5 -5
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-panel.module.mjs +5 -5
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +10 -10
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +4 -4
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +5 -5
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +27 -7
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +38 -0
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +66 -0
- package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +4 -14
- package/esm2022/lib/components/select/elder-select-base.mjs +9 -9
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +10 -10
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select.module.mjs +36 -10
- package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +74 -0
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +144 -0
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +51 -0
- package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +63 -0
- package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +164 -0
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +1 -1
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +10 -9
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +16 -7
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +148 -0
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +9 -14
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
- package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +1 -1
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell.module.mjs +5 -5
- package/esm2022/lib/components/shell/elder-shell.service.mjs +4 -4
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +13 -13
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme.service.mjs +4 -4
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
- package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +1 -1
- package/esm2022/lib/components/time/duration/duration-format.mjs +1 -1
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +4 -4
- package/esm2022/lib/components/time/period/period-format.mjs +1 -1
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +4 -4
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +5 -5
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +4 -4
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +5 -5
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +5 -5
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +1 -1
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +4 -4
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +4 -4
- package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +1 -1
- package/esm2022/lib/features/kafent/access-token-provider.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-config.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent.module.mjs +5 -5
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
- package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +1 -1
- package/esm2022/lib/pipes/bytes.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-pipes.module.mjs +11 -11
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-round.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-duration.pipe.mjs +4 -4
- package/esm2022/lib/pipes/weight.pipe.mjs +4 -4
- package/fesm2022/elderbyte-ngx-starter.mjs +5141 -4279
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/filters/filter-commons.d.ts +6 -0
- package/lib/common/data/filters/filter-value.d.ts +1 -0
- package/lib/components/forms/directives/elder-initial-value.directive.d.ts +1 -9
- package/lib/components/forms/search/domain/input/input-value.d.ts +1 -0
- package/lib/components/forms/search/domain/input/search-input-state.d.ts +11 -17
- package/lib/components/forms/search/domain/input/search-input.d.ts +4 -3
- package/lib/components/forms/search/elder-search-context.directive.d.ts +9 -4
- package/lib/components/forms/search/elder-search-input.directive.d.ts +28 -19
- package/lib/components/forms/search/filter/default-input-filter-converter.d.ts +31 -0
- package/lib/components/forms/search/filter/input-filter-converter.d.ts +16 -0
- package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +2 -1
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +3 -3
- package/lib/components/input/autocomplete/elder-autocomplete/{elder-autocomplete.component.d.ts → elder-suggestion-panel.component.d.ts} +17 -6
- package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +3 -3
- package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +3 -3
- package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +3 -3
- package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +2 -3
- package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +9 -1
- package/lib/components/select/auto/elder-auto-select-first.service.d.ts +23 -0
- package/lib/components/select/auto/elder-auto-select-suggest-first.directive.d.ts +32 -0
- package/lib/components/select/auto/elder-select-first-util.d.ts +2 -2
- package/lib/components/select/elder-select-base.d.ts +1 -1
- package/lib/components/select/elder-select.module.d.ts +10 -1
- package/lib/components/select/filter/elder-chip-filter-style-resolver.d.ts +19 -0
- package/lib/components/select/filter/elder-chips-include-exclude.directive.d.ts +50 -0
- package/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.d.ts +27 -0
- package/lib/components/select/filter/include-exclude-model-filter-adapter.d.ts +29 -0
- package/lib/components/select/filter/include-exclude-selection-model.d.ts +64 -0
- package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +1 -2
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +2 -0
- package/lib/components/select/multi/elder-search-include-exclude.directive.d.ts +78 -0
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +0 -1
- package/package.json +1 -1
- package/src/lib/components/button-group/elder-button-group/elder-button-group.component.scss +1 -1
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +3 -3
- package/src/lib/components/cards/elder-card/elder-card.component.scss +2 -2
- package/src/lib/components/chips/_elder-chip-theme.scss +6 -6
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +8 -8
- package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +6 -6
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +1 -1
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +1 -1
- package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +6 -6
- package/src/lib/components/navigation/nav/_elder-nav-theme.scss +11 -11
- package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +2 -2
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +2 -2
- package/src/lib/components/panels/flat/_elder-panel-theme.scss +5 -5
- package/src/lib/components/select/_elder-select-base.scss +2 -2
- package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +95 -0
- package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +5 -5
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +5 -5
- package/src/lib/components/select/multi/elder-select-include-exclude-chip/elder-select-include-exclude-chip.component.scss +0 -0
- package/src/lib/components/select/single/elder-select/elder-select.component.scss +5 -5
- package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.scss +2 -2
- package/src/lib/components/time/_elder-time-input.theme.scss +2 -2
- package/theming/_elder-mdc-support.scss +13 -13
- package/theming/_elder-palettes.scss +1 -1
- package/theming/_elder-scrollbar-theme.scss +2 -2
- package/theming/_elder-theme.scss +1 -1
- package/theming/_elder-toast-theme.scss +3 -3
- package/theming/_elder-typography-utils.scss +2 -2
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +0 -186
- /package/src/lib/components/input/autocomplete/elder-autocomplete/{elder-autocomplete.component.scss → elder-suggestion-panel.component.scss} +0 -0
|
@@ -54,6 +54,7 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
54
54
|
this.chipTemplate$ = new BehaviorSubject(null);
|
|
55
55
|
this.chipAvatarTemplate$ = new BehaviorSubject(null);
|
|
56
56
|
this.customInputTemplate$ = new BehaviorSubject(null);
|
|
57
|
+
this.refresh$ = new BehaviorSubject(true);
|
|
57
58
|
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
58
59
|
this.placeholder = '...';
|
|
59
60
|
this.selectChips$ = combineLatest([
|
|
@@ -62,7 +63,8 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
62
63
|
this.state$,
|
|
63
64
|
this.displayPropertyResolver$,
|
|
64
65
|
this.readonly$,
|
|
65
|
-
this.disabled
|
|
66
|
+
this.disabled$,
|
|
67
|
+
this.refresh$
|
|
66
68
|
]).pipe(map(([entities, entityIds, state, dPR]) => this.buildChipModelsOrFallback(entities, entityIds, state, dPR)));
|
|
67
69
|
this.templates$ = combineLatest([
|
|
68
70
|
this.chipTemplate$,
|
|
@@ -91,7 +93,9 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
91
93
|
return this.chipTemplate$.getValue();
|
|
92
94
|
}
|
|
93
95
|
set chipAvatarTemplateQuery(template) {
|
|
94
|
-
|
|
96
|
+
if (template) {
|
|
97
|
+
this.chipAvatarTemplate = template;
|
|
98
|
+
}
|
|
95
99
|
}
|
|
96
100
|
set chipAvatarTemplate(template) {
|
|
97
101
|
this.chipAvatarTemplate$.next(template);
|
|
@@ -100,7 +104,9 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
100
104
|
return this.chipAvatarTemplate$.getValue();
|
|
101
105
|
}
|
|
102
106
|
set customInputTemplateQuery(template) {
|
|
103
|
-
|
|
107
|
+
if (template) {
|
|
108
|
+
this.customInputTemplate = template;
|
|
109
|
+
}
|
|
104
110
|
}
|
|
105
111
|
set customInputTemplate(template) {
|
|
106
112
|
this.customInputTemplate$.next(template);
|
|
@@ -146,6 +152,9 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
146
152
|
// TODO this.inputControl?.blur();
|
|
147
153
|
// this.customInputTemplate.blur()
|
|
148
154
|
}
|
|
155
|
+
refresh() {
|
|
156
|
+
this.refresh$.next(true);
|
|
157
|
+
}
|
|
149
158
|
/***************************************************************************
|
|
150
159
|
* *
|
|
151
160
|
* Private methods *
|
|
@@ -185,8 +194,8 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
185
194
|
}
|
|
186
195
|
return new ChipModel(e, dPR(e), chipSpec?.colorSpec, removable, chipSpec.avatarSpec, chipSpec.trailingSpec);
|
|
187
196
|
}
|
|
188
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
189
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderMultiSelectChipsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.ElderDialogService }, { token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
198
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ElderMultiSelectChipsComponent, isStandalone: true, selector: "elder-multi-select-chips", inputs: { defaultChipSpec: "defaultChipSpec", chipSpecFn: "chipSpecFn", allowRemove: "allowRemove", allowSorting: "allowSorting", stacked: "stacked", chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate", customInputTemplate: "customInputTemplate" }, providers: [
|
|
190
199
|
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipsComponent },
|
|
191
200
|
{
|
|
192
201
|
provide: ELDER_SELECT_BASE,
|
|
@@ -194,7 +203,7 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
194
203
|
}
|
|
195
204
|
], queries: [{ propertyName: "_customChipInput", first: true, predicate: MatFormFieldControl, descendants: true }, { propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef }, { propertyName: "customInputTemplateQuery", first: true, predicate: ElderSelectCustomInputDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_chipInput", first: true, predicate: ElderSelectComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n <mat-chip-set #chips\n [class.mat-mdc-chip-set-stacked]=\"stacked\"\n cdkDropList\n [cdkDropListOrientation]=\"stacked ? 'vertical' : 'horizontal'\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!allowSorting\"\n >\n\n <ng-container *ngIf=\"(state$ | async) as state\">\n <div *ngIf=\"icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-mdc-control-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"templates$ | async as templates\">\n <mat-chip-row elderChipLabel *ngFor=\"let chipModel of chipValues\"\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.colorSpec?.themeColor\"\n [levelColor]=\"chipModel.colorSpec?.levelColor\"\n [stateColor]=\"chipModel.colorSpec?.stateColor\"\n [removable]=\"chipModel.removable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n cdkDrag [cdkDragData]=\"chipModel.value\" [cdkDragDisabled]=\"!allowSorting\"\n >\n <mat-chip-avatar\n *ngIf=\"templates.avatar && !chipModel.avatarSpec?.hide\"\n [class.chip-avatar-xl]=\"chipModel.avatarSpec?.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n\n <mat-icon matChipTrailingIcon class=\"elder-trailing-icon\"\n *ngIf=\"chipModel.trailingSpec?.icon\"\n [fontSet]=\"chipModel.trailingSpec?.iconFontSet\"\n >{{chipModel.trailingSpec?.icon}}</mat-icon>\n\n <mat-icon matChipRemove\n *ngIf=\"chipModel.removable\"\n (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n </mat-chip-row>\n\n <div class=\"layout-row place-start-center elder-chip-input\">\n\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container\n *ngTemplateOutlet=\"templates.input || selectInput;\">\n </ng-container>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n </div>\n </ng-container>\n </mat-chip-set>\n</div>\n\n<ng-template #selectInput>\n <!-- mat-mdc-chip-input -->\n <elder-select autocomplete elderClearSelect\n class=\"elder-chip-input-select flex\"\n [data]=\"dataContext$ | async\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholder\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: MatChipTrailingIcon, selector: "mat-chip-trailing-icon, [matChipTrailingIcon]" }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: ElderSelectComponent, selector: "elder-select", inputs: ["nullDisplay", "autocomplete", "allowNull", "entity", "entityId"], outputs: ["entityIdChange", "entityIdUpdated", "entityChange", "entityUpdated"] }, { kind: "directive", type: ElderClearSelectDirective, selector: "[elderClearSelect]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
196
205
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderMultiSelectChipsComponent, decorators: [{
|
|
198
207
|
type: Component,
|
|
199
208
|
args: [{ selector: 'elder-multi-select-chips', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
200
209
|
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipsComponent },
|
|
@@ -239,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
239
248
|
}], customInputTemplate: [{
|
|
240
249
|
type: Input
|
|
241
250
|
}] } });
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFdBQVcsRUFBRSxTQUFTLEVBQ3ZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDhCQUE4QixFQUFFLHdCQUF3QixFQUFFLCtCQUErQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFNUksT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGlCQUFpQixFQUE0QyxNQUFNLHlCQUF5QixDQUFDO0FBSXJHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBYyxlQUFlLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBZ0Qsa0JBQWtCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNwSCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNsSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUV6RSxNQUFNLFNBQVM7SUFDYixZQUNrQixLQUFRLEVBQ1IsV0FBbUIsRUFDbkIsU0FBd0IsRUFDeEIsU0FBa0IsRUFDbEIsVUFBMEIsRUFDMUIsWUFBMEI7UUFMMUIsVUFBSyxHQUFMLEtBQUssQ0FBRztRQUNSLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUU1QyxDQUFDO0NBQ0Y7QUF5QkQsTUFBTSxPQUFPLDhCQUNYLFNBQVEsb0JBQTBDO0lBMENsRDs7OztnRkFJNEU7SUFFNUUsWUFDRSxPQUFtQixFQUNuQixJQUFZLEVBQ1osWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xDLGFBQWlDLEVBQ2IsU0FBb0I7UUFFeEMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQTdDaEcsb0JBQWUsR0FBbUIsa0JBQWtCLENBQUMsZUFBZSxDQUFDO1FBRTVFOzs7V0FHRztRQUVJLGVBQVUsR0FBbUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRXZFLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU9OLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzVELHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUNsRSx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsSUFBSSxDQUFDLENBQUM7UUFFbkUsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQWtCcEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQy9CO1lBQ0UsSUFBSSxDQUFDLFNBQVM7WUFDZCxJQUFJLENBQUMsVUFBVTtZQUNmLElBQUksQ0FBQyxNQUFNO1lBQ1gsSUFBSSxDQUFDLHdCQUF3QjtZQUM3QixJQUFJLENBQUMsU0FBUztZQUNkLElBQUksQ0FBQyxTQUFTO1NBQ2YsQ0FDRixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUNoRSxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYTtZQUNsQixJQUFJLENBQUMsbUJBQW1CO1lBQ3hCLElBQUksQ0FBQyxvQkFBb0I7U0FDMUIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM1QixPQUF3QjtnQkFDdEIsSUFBSTtnQkFDSixNQUFNO2dCQUNOLEtBQUs7YUFDTixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxpQkFBaUIsQ0FBQyxRQUEwQjtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFDVyxZQUFZLENBQUMsUUFBMEI7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csdUJBQXVCLENBQUMsUUFBMEI7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFDVyxrQkFBa0IsQ0FBQyxRQUEwQjtRQUN0RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFDVyx3QkFBd0IsQ0FBQyxRQUEwQjtRQUM1RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNXLG1CQUFtQixDQUFDLFFBQTBCO1FBQ3ZELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsSUFBSSxDQUFDLEtBQXVCO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBVztRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFvQixFQUFFLFFBQWlCO1FBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksV0FBVyxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksUUFBUSxFQUFFO1lBQ3JELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQixDQUN0QixLQUFpQixFQUNqQixRQUFpQjtRQUVqQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxLQUFLLENBQUMsT0FBc0I7UUFFakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFdkQsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsK0NBQStDLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUMzQyxrQ0FBa0M7UUFDbEMsa0NBQWtDO0lBQ3BDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUseUJBQXlCLENBQy9CLFFBQW1CLEVBQ25CLFNBQWdCLEVBQ2hCLEtBQWdDLEVBQ2hDLEdBQW1CO1FBR25CLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBR08sdUJBQXVCLENBQUMsU0FBZ0I7UUFDOUMsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUNsQixFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQ25CLEVBQUMsRUFBRSxFQUFFLEVBQUUsRUFBQyxFQUNiLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFDaEI7WUFDRSxTQUFTLEVBQUU7Z0JBQ1QsVUFBVSxFQUFFLE1BQU07YUFDbkI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FDckIsUUFBbUIsRUFDbkIsR0FBbUI7UUFFbkIsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQ2pCLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FDdkIsQ0FBQyxFQUNELEdBQUcsRUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQzNDLENBQ0YsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUE2QixFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBR08sZUFBZSxDQUNyQixDQUFVLEVBQ1YsR0FBbUIsRUFDbkIsUUFBd0I7UUFHeEIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxRQUFRLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtnQkFDaEMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUNsQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsQ0FBQyxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDTixRQUFRLEVBQUUsU0FBUyxFQUNuQixTQUFTLEVBQ1QsUUFBUSxDQUFDLFVBQVUsRUFDbkIsUUFBUSxDQUFDLFlBQVksQ0FDdEIsQ0FBQztJQUNKLENBQUM7K0dBeFFVLDhCQUE4QjttR0FBOUIsOEJBQThCLG1WQVY1QjtZQUNQLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBQztZQUMzRTtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2FBQ2hFO1NBQ0osd0VBb0NXLG1CQUFtQixvRkFpRW5CLHdCQUF3QiwyQkFBUyxXQUFXLHVFQWM1Qyw4QkFBOEIsMkJBQVMsV0FBVyx3RUFjbEQsK0JBQStCLDJCQUFTLFdBQVcseUVBNUZ0RCxvQkFBb0IsdUVDeEdqQyxndklBeUdBLG9jRHBDYyxJQUFJLDZGQUFFLFVBQVUsaVJBQUUsVUFBVSxtR0FBRSxXQUFXLCtkQUFFLE9BQU8sMklBQUUsS0FBSyxtSEFBRSxVQUFVLDhKQUFFLHVCQUF1QiwwSEFBRSxPQUFPLHdiQUFFLGFBQWEsNkVBQUUsZ0JBQWdCLG9KQUFFLG1CQUFtQiwwRkFBRSxhQUFhLDREQUFFLGFBQWEsNkZBQUUsa0NBQWtDLHdFQUFFLG9CQUFvQixzTkFBRSx5QkFBeUIsMERBQUUsU0FBUyx5Q0FBRSxpQkFBaUI7OzRGQUUvUyw4QkFBOEI7a0JBaEIxQyxTQUFTOytCQUNJLDBCQUEwQixtQkFJbkIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLGdDQUFnQyxFQUFDO3dCQUMzRTs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzt5QkFDaEU7cUJBQ0osY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtDQUFrQyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQzs7MEJBeUR4VCxRQUFROzswQkFBSSxJQUFJO3lDQTNDWixlQUFlO3NCQURyQixLQUFLO2dCQVFDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBTUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFHNkIsZ0JBQWdCO3NCQUFsRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFDQSxVQUFVO3NCQUExQyxTQUFTO3VCQUFDLG9CQUFvQjtnQkFpRXBCLGlCQUFpQjtzQkFEM0IsWUFBWTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFNL0QsWUFBWTtzQkFEdEIsS0FBSztnQkFVSyx1QkFBdUI7c0JBRGpDLFlBQVk7dUJBQUMsOEJBQThCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBTXJFLGtCQUFrQjtzQkFENUIsS0FBSztnQkFVSyx3QkFBd0I7c0JBRGxDLFlBQVk7dUJBQUMsK0JBQStCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBTXRFLG1CQUFtQjtzQkFEN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RCYXNlfSBmcm9tICcuLi9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlfSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge0VMREVSX1NFTEVDVF9CQVNFLCBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLCBUZXh0UmVzb2x2ZXJGbn0gZnJvbSAnLi4vLi4vZWxkZXItc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHtGb2N1c01vbml0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7RWxkZXJEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9kaWFsb2dzL2VsZGVyLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9zaW5nbGUvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCBDZGtEcm9wTGlzdCwgQ2RrRHJhZ30gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge0NoaXBBdmF0YXJTcGVjLCBDaGlwQ29sb3JTcGVjLCBTZWxlY3RDaGlwU3BlYywgU2VsZWN0Q2hpcFNwZWNVdGlsLCBUcmFpbGluZ1NwZWN9IGZyb20gJy4vc2VsZWN0LWNoaXAtc3BlYyc7XG5pbXBvcnQge0VsZGVyVHJ1bmNhdGVQaXBlfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9lbGRlci10cnVuY2F0ZS5waXBlJztcbmltcG9ydCB7RWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vc2luZ2xlL2VsZGVyLWNsZWFyLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLXN0b3AtZXZlbnQtcHJvcGFnYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0SWNvbkJ1dHRvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7RWxkZXJDaGlwTGFiZWxEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL2NoaXBzL2VsZGVyLWNoaXAtbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdENoaXBTZXQsIE1hdENoaXBSb3csIE1hdENoaXBBdmF0YXIsIE1hdENoaXBUcmFpbGluZ0ljb24sIE1hdENoaXBSZW1vdmV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7TWF0VG9vbHRpcH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQge05nSWYsIE5nRm9yLCBOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmNsYXNzIENoaXBNb2RlbDxUPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogVCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVRleHQ6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sb3JTcGVjOiBDaGlwQ29sb3JTcGVjLFxuICAgIHB1YmxpYyByZWFkb25seSByZW1vdmFibGU6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGF2YXRhclNwZWM6IENoaXBBdmF0YXJTcGVjLFxuICAgIHB1YmxpYyByZWFkb25seSB0cmFpbGluZ1NwZWM6IFRyYWlsaW5nU3BlYyxcbiAgKSB7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFRlbXBsYXRlV3JhcHBlciB7XG4gIGNoaXA6IFRlbXBsYXRlUmVmPGFueT47XG4gIGF2YXRhcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBpbnB1dDogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICAgIC8vIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50fSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRUxERVJfU0VMRUNUX0JBU0UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE1hdFRvb2x0aXAsIE1hdENoaXBTZXQsIENka0Ryb3BMaXN0LCBNYXRJY29uLCBOZ0ZvciwgTWF0Q2hpcFJvdywgRWxkZXJDaGlwTGFiZWxEaXJlY3RpdmUsIENka0RyYWcsIE1hdENoaXBBdmF0YXIsIE5nVGVtcGxhdGVPdXRsZXQsIE1hdENoaXBUcmFpbGluZ0ljb24sIE1hdENoaXBSZW1vdmUsIE1hdEljb25CdXR0b24sIEVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25EaXJlY3RpdmUsIEVsZGVyU2VsZWN0Q29tcG9uZW50LCBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlLCBBc3luY1BpcGUsIEVsZGVyVHJ1bmNhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQ8VElkID0gYW55LCBURW50aXR5ID0gYW55LCBUVmFsdWUgPSBhbnk+XG4gIGV4dGVuZHMgRWxkZXJNdWx0aVNlbGVjdEJhc2U8VElkLCBURW50aXR5LCBUVmFsdWU+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0Q2hpcHMkOiBPYnNlcnZhYmxlPENoaXBNb2RlbDxURW50aXR5PltdPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdENoaXBTcGVjOiBTZWxlY3RDaGlwU3BlYyA9IFNlbGVjdENoaXBTcGVjVXRpbC5EZWZhdWx0Q2hpcFNwZWM7XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byBjdXN0b21pemUgZWFjaCBjaGlwIGluZGl2aWR1YWxseSAoQ29sb3IsIFJlbW92YWJsZSwgQXZhdGFyKS5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjaGlwU3BlY0ZuOiAoZTogVEVudGl0eSkgPT4gU2VsZWN0Q2hpcFNwZWMgPSBlID0+IHRoaXMuZGVmYXVsdENoaXBTcGVjO1xuXG4gIHB1YmxpYyBzZWxlY3RhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dSZW1vdmUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd1NvcnRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhY2tlZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoTWF0Rm9ybUZpZWxkQ29udHJvbCkgX2N1c3RvbUNoaXBJbnB1dDogTWF0Rm9ybUZpZWxkQ29udHJvbDxhbnk+O1xuICBAVmlld0NoaWxkKEVsZGVyU2VsZWN0Q29tcG9uZW50KSBfY2hpcElucHV0OiBNYXRGb3JtRmllbGRDb250cm9sPGFueT47XG5cbiAgcmVhZG9ubHkgdGVtcGxhdGVzJDogT2JzZXJ2YWJsZTxUZW1wbGF0ZVdyYXBwZXI+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcFRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcEF2YXRhclRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VzdG9tSW5wdXRUZW1wbGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+KG51bGwpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIGRpYWxvZ1NlcnZpY2U6IEVsZGVyRGlhbG9nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sXG4gICkge1xuICAgIHN1cGVyKHpvbmUsIGhvc3RSZWYsICdtdWx0aS1zZWxlY3QtY2hpcHMnLCBmb2N1c01vbml0b3IsIHRyYW5zbGF0ZVNlcnZpY2UsIGRpYWxvZ1NlcnZpY2UsIG5nQ29udHJvbCk7XG5cbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gJy4uLic7XG5cbiAgICB0aGlzLnNlbGVjdENoaXBzJCA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICBbXG4gICAgICAgIHRoaXMuZW50aXRpZXMkLFxuICAgICAgICB0aGlzLmVudGl0eUlkcyQsXG4gICAgICAgIHRoaXMuc3RhdGUkLFxuICAgICAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCxcbiAgICAgICAgdGhpcy5yZWFkb25seSQsXG4gICAgICAgIHRoaXMuZGlzYWJsZWQkXG4gICAgICBdXG4gICAgKS5waXBlKFxuICAgICAgbWFwKChbZW50aXRpZXMsIGVudGl0eUlkcywgc3RhdGUsIGRQUl0pID0+XG4gICAgICAgIHRoaXMuYnVpbGRDaGlwTW9kZWxzT3JGYWxsYmFjayhlbnRpdGllcywgZW50aXR5SWRzLCBzdGF0ZSwgZFBSKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnRlbXBsYXRlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hpcFRlbXBsYXRlJCxcbiAgICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJCxcbiAgICAgIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZSRcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbY2hpcCwgYXZhdGFyLCBpbnB1dF0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxUZW1wbGF0ZVdyYXBwZXI+e1xuICAgICAgICAgIGNoaXAsXG4gICAgICAgICAgYXZhdGFyLFxuICAgICAgICAgIGlucHV0XG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSlcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoaXBUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlJC5uZXh0KHRlbXBsYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNoaXBUZW1wbGF0ZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2V9KVxuICBwdWJsaWMgc2V0IGNoaXBBdmF0YXJUZW1wbGF0ZVF1ZXJ5KHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwQXZhdGFyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2V9KVxuICBwdWJsaWMgc2V0IGN1c3RvbUlucHV0VGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjdXN0b21JbnB1dFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlJC5uZXh0KHRlbXBsYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VzdG9tSW5wdXRUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueT4pOiB2b2lkIHtcbiAgICBjb25zdCByZW9yZGVyZWQgPSBbLi4udGhpcy5lbnRpdGllc107XG4gICAgbW92ZUl0ZW1JbkFycmF5KHJlb3JkZXJlZCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLmVudGl0aWVzID0gcmVvcmRlcmVkO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmVDaGlwVmFsdWUoZTE6IFRFbnRpdHkpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdldEVudGl0eUlkKGUxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoaXBLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0b1JlbW92ZTogVEVudGl0eSk6IHZvaWQge1xuICAgIHRoaXMubG9nLndhcm4oJ29uQ2hpcEtleURvd24nLCBldmVudCk7XG4gICAgaWYgKGV2ZW50LmtleSA9PSAnQmFja3NwYWNlJyB8fCBldmVudC5rZXkgPT0gJ0RlbGV0ZScpIHtcbiAgICAgIHRoaXMucmVxdWVzdFJlbW92ZUVudGl0eSh0b1JlbW92ZSwgZXZlbnQuc2hpZnRLZXkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrUmVtb3ZlQ2hpcChcbiAgICBldmVudDogTW91c2VFdmVudCxcbiAgICB0b1JlbW92ZTogVEVudGl0eVxuICApOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucmVxdWVzdFJlbW92ZUVudGl0eSh0b1JlbW92ZSwgZXZlbnQuc2hpZnRLZXkpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpIHtcblxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fY3VzdG9tQ2hpcElucHV0ID8/IHRoaXMuX2NoaXBJbnB1dDtcblxuICAgIGlmIChpbnB1dCkge1xuICAgICAgaW5wdXQub25Db250YWluZXJDbGljayhuZXcgTW91c2VFdmVudCgnJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdDYW50IGZvY3VzIHNpbmNlIG5vIGNoaXAtaW5wdXQtY29udHJvbCBmb3VuZCEnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmx1cigpIHtcbiAgICB0aGlzLmxvZy53YXJuKCdibHVyKCkgbm90IHlldCBzdXBwb3J0ZWQhJyk7XG4gICAgLy8gVE9ETyB0aGlzLmlucHV0Q29udHJvbD8uYmx1cigpO1xuICAgIC8vIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZS5ibHVyKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYnVpbGRDaGlwTW9kZWxzT3JGYWxsYmFjayhcbiAgICBlbnRpdGllczogVEVudGl0eVtdLFxuICAgIGVudGl0eUlkczogVElkW10sXG4gICAgc3RhdGU6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUsXG4gICAgZFBSOiBUZXh0UmVzb2x2ZXJGblxuICApOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG5cbiAgICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkQ2hpcEZhbGxiYWNrTW9kZWxzKGVudGl0eUlkcyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJ1aWxkQ2hpcE1vZGVscyhlbnRpdGllcywgZFBSKTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBidWlsZENoaXBGYWxsYmFja01vZGVscyhlbnRpdHlJZHM6IFRJZFtdKTogQ2hpcE1vZGVsPFRFbnRpdHk+W10ge1xuICAgIHJldHVybiBlbnRpdHlJZHMubWFwKFxuICAgICAgaWQgPT4gdGhpcy5idWlsZENoaXBCeVNwZWMoXG4gICAgICAgIDxhbnk+e2lkOiBpZH0sXG4gICAgICAgICgpID0+IFN0cmluZyhpZCksXG4gICAgICAgIHtcbiAgICAgICAgICBjb2xvclNwZWM6IHtcbiAgICAgICAgICAgIHRoZW1lQ29sb3I6ICd3YXJuJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYXZhdGFyU3BlYzoge1xuICAgICAgICAgICAgaGlkZTogZmFsc2UsXG4gICAgICAgICAgICBsYXJnZTogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDaGlwTW9kZWxzKFxuICAgIGVudGl0aWVzOiBURW50aXR5W10sXG4gICAgZFBSOiBUZXh0UmVzb2x2ZXJGblxuICApOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG4gICAgaWYgKGVudGl0aWVzKSB7XG4gICAgICByZXR1cm4gZW50aXRpZXMubWFwKFxuICAgICAgICBlID0+IHRoaXMuYnVpbGRDaGlwQnlTcGVjKFxuICAgICAgICAgIGUsXG4gICAgICAgICAgZFBSLFxuICAgICAgICAgIHRoaXMuY2hpcFNwZWNGbihlKSA/PyB0aGlzLmRlZmF1bHRDaGlwU3BlY1xuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPENoaXBNb2RlbDxURW50aXR5PltdPltdO1xuICAgIH1cbiAgfVxuXG5cbiAgcHJpdmF0ZSBidWlsZENoaXBCeVNwZWMoXG4gICAgZTogVEVudGl0eSxcbiAgICBkUFI6IFRleHRSZXNvbHZlckZuLFxuICAgIGNoaXBTcGVjOiBTZWxlY3RDaGlwU3BlY1xuICApOiBDaGlwTW9kZWw8VEVudGl0eT4ge1xuXG4gICAgbGV0IHJlbW92YWJsZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmFsbG93UmVtb3ZlICYmICF0aGlzLmlzTG9ja2VkKSB7XG4gICAgICBpZiAoY2hpcFNwZWMucmVtb3ZhYmxlICE9PSBmYWxzZSkge1xuICAgICAgICByZW1vdmFibGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IENoaXBNb2RlbDxURW50aXR5PihcbiAgICAgIGUsXG4gICAgICBkUFIoZSksXG4gICAgICBjaGlwU3BlYz8uY29sb3JTcGVjLFxuICAgICAgcmVtb3ZhYmxlLFxuICAgICAgY2hpcFNwZWMuYXZhdGFyU3BlYyxcbiAgICAgIGNoaXBTcGVjLnRyYWlsaW5nU3BlY1xuICAgICk7XG4gIH1cblxufVxuIiwiPGRpdiAqbmdJZj1cIihzZWxlY3RDaGlwcyQgfCBhc3luYykgYXMgY2hpcFZhbHVlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlbGRlci1mbGV4LWNvbnRyb2xcIlxuICAgICBbbWF0VG9vbHRpcF09XCIoc3RhdGUkIHwgYXN5bmMpPy5lcnJvclwiXG4+XG4gIDxtYXQtY2hpcC1zZXQgI2NoaXBzXG4gICAgICAgICAgICAgICAgW2NsYXNzLm1hdC1tZGMtY2hpcC1zZXQtc3RhY2tlZF09XCJzdGFja2VkXCJcbiAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdE9yaWVudGF0aW9uXT1cInN0YWNrZWQgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnXCJcbiAgICAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWFsbG93U29ydGluZ1wiXG4gID5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoc3RhdGUkIHwgYXN5bmMpIGFzIHN0YXRlXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaWNvblwiXG4gICAgICAgICAgIGNsYXNzPVwiZWxkZXItaW5wdXQtcHJlZml4LWljb24tY29udGFpbmVyIGZsZXgtbm9uZVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIiBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbGRlci1wcmVmaXgtaWNvbiBlbGRlci1tZGMtY29udHJvbC1pY29uIGVsZGVyLWljb24tc21hbGwgbm9zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmxvYWRpbmddPVwic3RhdGUubG9hZGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICB7e2ljb259fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGVzJCB8IGFzeW5jIGFzIHRlbXBsYXRlc1wiPlxuICAgICAgPG1hdC1jaGlwLXJvdyBlbGRlckNoaXBMYWJlbCAqbmdGb3I9XCJsZXQgY2hpcE1vZGVsIG9mIGNoaXBWYWx1ZXNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibm9zZWxlY3QgY2xpY2thYmxlLWNoaXBcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJyZXNvbHZlQ2hpcFZhbHVlKGNoaXBNb2RlbC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjaGlwTW9kZWwuY29sb3JTcGVjPy50aGVtZUNvbG9yXCJcbiAgICAgICAgICAgICAgICBbbGV2ZWxDb2xvcl09XCJjaGlwTW9kZWwuY29sb3JTcGVjPy5sZXZlbENvbG9yXCJcbiAgICAgICAgICAgICAgICBbc3RhdGVDb2xvcl09XCJjaGlwTW9kZWwuY29sb3JTcGVjPy5zdGF0ZUNvbG9yXCJcbiAgICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cImNoaXBNb2RlbC5yZW1vdmFibGVcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uQ2hpcEtleURvd24oJGV2ZW50LCBjaGlwTW9kZWwudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DdXJyZW50Q2xpY2tlZChjaGlwTW9kZWwudmFsdWUpXCJcbiAgICAgICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJjaGlwTW9kZWwudmFsdWVcIiBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFhbGxvd1NvcnRpbmdcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWNoaXAtYXZhdGFyXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wbGF0ZXMuYXZhdGFyICYmICFjaGlwTW9kZWwuYXZhdGFyU3BlYz8uaGlkZVwiXG4gICAgICAgICAgW2NsYXNzLmNoaXAtYXZhdGFyLXhsXT1cImNoaXBNb2RlbC5hdmF0YXJTcGVjPy5sYXJnZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlcy5hdmF0YXI7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNoaXBNb2RlbH1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9tYXQtY2hpcC1hdmF0YXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmNoaXAgfHwgc2ltcGxlQ2hpcFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjaGlwTW9kZWx9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwVHJhaWxpbmdJY29uIGNsYXNzPVwiZWxkZXItdHJhaWxpbmctaWNvblwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaXBNb2RlbC50cmFpbGluZ1NwZWM/Lmljb25cIlxuICAgICAgICAgICAgICAgICAgW2ZvbnRTZXRdPVwiY2hpcE1vZGVsLnRyYWlsaW5nU3BlYz8uaWNvbkZvbnRTZXRcIlxuICAgICAgICA+e3tjaGlwTW9kZWwudHJhaWxpbmdTcGVjPy5pY29ufX08L21hdC1pY29uPlxuXG4gICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaXBNb2RlbC5yZW1vdmFibGVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tSZW1vdmVDaGlwKCRldmVudCwgY2hpcE1vZGVsLnZhbHVlKVwiPlxuICAgICAgICAgIGNhbmNlbFxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtY2hpcC1yb3c+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBlbGRlci1jaGlwLWlucHV0XCI+XG5cbiAgICAgICAgPCEtLSBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBzXCIgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlcy5pbnB1dCB8fCBzZWxlY3RJbnB1dDtcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvbiBlbGRlci1icm93c2UtaWNvblwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Qb3B1cFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNlbGVjdGlvblBvcHVwKCRldmVudClcIiBhcmlhLWxhYmVsPVwiU2VhcmNoXCJcbiAgICAgICAgICAgICAgICBlbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJlbGRlci1tZGMtY29udHJvbC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtY2hpcC1zZXQ+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RJbnB1dD5cbiAgPCEtLSBtYXQtbWRjLWNoaXAtaW5wdXQgLS0+XG4gIDxlbGRlci1zZWxlY3QgYXV0b2NvbXBsZXRlIGVsZGVyQ2xlYXJTZWxlY3RcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWNoaXAtaW5wdXQtc2VsZWN0IGZsZXhcIlxuICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhIXJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIChlbnRpdHlVcGRhdGVkKT1cImFwcGVuZEVudGl0eSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheVByb3BlcnR5UmVzb2x2ZXJdPVwiZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZVRlbXBsYXRlXT1cInZhbHVlVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtxdWVyeUZpbHRlcl09XCJxdWVyeUZpbHRlclwiIFtmaWx0ZXJzXT1cImZpbHRlcnNcIiBbc29ydHNdPVwic29ydHNcIlxuICAgICAgICAgICAgICAgIFtpc09wdGlvbkRpc2FibGVkRm5dPVwiaXNPcHRpb25EaXNhYmxlZEludGVybmFsRm5cIlxuICAgICAgICAgICAgICAgIFtpc09wdGlvbkhpZGRlbkZuXT1cImlzT3B0aW9uSGlkZGVuSW50ZXJuYWxGblwiXG4gID48L2VsZGVyLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlQ2hpcFRlbXBsYXRlIGxldC1jaGlwTW9kZWw+XG4gIDxzcGFuIGNsYXNzPVwiZWxkZXItY2hpcC10ZXh0XCI+e3tjaGlwTW9kZWwuZGlzcGxheVRleHQgfCBlbGRlclRydW5jYXRlOjIwfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFdBQVcsRUFBRSxTQUFTLEVBQ3ZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQ2hDLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGlCQUFpQixFQUE0QyxNQUFNLHlCQUF5QixDQUFDO0FBSXJHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBYyxlQUFlLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBZ0Qsa0JBQWtCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNwSCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNsSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUV6RSxNQUFNLFNBQVM7SUFDYixZQUNrQixLQUFRLEVBQ1IsV0FBbUIsRUFDbkIsU0FBd0IsRUFDeEIsU0FBa0IsRUFDbEIsVUFBMEIsRUFDMUIsWUFBMEI7UUFMMUIsVUFBSyxHQUFMLEtBQUssQ0FBRztRQUNSLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUU1QyxDQUFDO0NBQ0Y7QUF5QkQsTUFBTSxPQUFPLDhCQUNYLFNBQVEsb0JBQTBDO0lBNENsRDs7OztnRkFJNEU7SUFFNUUsWUFDRSxPQUFtQixFQUNuQixJQUFZLEVBQ1osWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xDLGFBQWlDLEVBQ2IsU0FBb0I7UUFFeEMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQS9DaEcsb0JBQWUsR0FBbUIsa0JBQWtCLENBQUMsZUFBZSxDQUFDO1FBRTVFOzs7V0FHRztRQUVJLGVBQVUsR0FBbUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRXZFLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU9OLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzVELHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUNsRSx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsSUFBSSxDQUFDLENBQUM7UUFFbkUsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRTlDLFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFrQnBFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUMvQjtZQUNFLElBQUksQ0FBQyxTQUFTO1lBQ2QsSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsTUFBTTtZQUNYLElBQUksQ0FBQyx3QkFBd0I7WUFDN0IsSUFBSSxDQUFDLFNBQVM7WUFDZCxJQUFJLENBQUMsU0FBUztZQUNkLElBQUksQ0FBQyxRQUFRO1NBQ2QsQ0FDRixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUNoRSxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYTtZQUNsQixJQUFJLENBQUMsbUJBQW1CO1lBQ3hCLElBQUksQ0FBQyxvQkFBb0I7U0FDMUIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM1QixPQUF3QjtnQkFDdEIsSUFBSTtnQkFDSixNQUFNO2dCQUNOLEtBQUs7YUFDTixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxpQkFBaUIsQ0FBQyxRQUEwQjtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFDVyxZQUFZLENBQUMsUUFBMEI7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csdUJBQXVCLENBQUMsUUFBMEI7UUFDM0QsSUFBRyxRQUFRLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUNXLGtCQUFrQixDQUFDLFFBQTBCO1FBQ3RELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUNXLHdCQUF3QixDQUFDLFFBQTBCO1FBQzVELElBQUcsUUFBUSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDVyxtQkFBbUIsQ0FBQyxRQUEwQjtRQUN2RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLElBQUksQ0FBQyxLQUF1QjtRQUNqQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDNUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQVc7UUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0IsRUFBRSxRQUFpQjtRQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLFdBQVcsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQ3RCLEtBQWlCLEVBQ2pCLFFBQWlCO1FBRWpCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFzQjtRQUVqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUV2RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDM0Msa0NBQWtDO1FBQ2xDLGtDQUFrQztJQUNwQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUseUJBQXlCLENBQy9CLFFBQW1CLEVBQ25CLFNBQWdCLEVBQ2hCLEtBQWdDLEVBQ2hDLEdBQW1CO1FBR25CLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFHTyx1QkFBdUIsQ0FBQyxTQUFnQjtRQUM5QyxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQ2xCLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FDbkIsRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFDLEVBQ2IsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUNoQjtZQUNFLFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsTUFBTTthQUNuQjtZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUsS0FBSzthQUNiO1NBQ0YsQ0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUNyQixRQUFtQixFQUNuQixHQUFtQjtRQUVuQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUNqQixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQ3ZCLENBQUMsRUFDRCxHQUFHLEVBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUMzQyxDQUNGLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQTZCLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUdPLGVBQWUsQ0FDckIsQ0FBVSxFQUNWLEdBQW1CLEVBQ25CLFFBQXdCO1FBR3hCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsSUFBSSxRQUFRLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNqQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsQ0FBQyxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDTixRQUFRLEVBQUUsU0FBUyxFQUNuQixTQUFTLEVBQ1QsUUFBUSxDQUFDLFVBQVUsRUFDbkIsUUFBUSxDQUFDLFlBQVksQ0FDdEIsQ0FBQztJQUNKLENBQUM7OEdBblJVLDhCQUE4QjtrR0FBOUIsOEJBQThCLG1WQVY1QjtZQUNQLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBQztZQUMzRTtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2FBQ2hFO1NBQ0osd0VBb0NXLG1CQUFtQixvRkFvRW5CLHdCQUF3QiwyQkFBUyxXQUFXLHVFQWM1Qyw4QkFBOEIsMkJBQVMsV0FBVyx3RUFnQmxELCtCQUErQiwyQkFBUyxXQUFXLHlFQWpHdEQsb0JBQW9CLHVFQzVHakMsZ3ZJQXlHQSxvY0RoQ2MsSUFBSSw2RkFBRSxVQUFVLGlSQUFFLFVBQVUsbUdBQUUsV0FBVywrZEFBRSxPQUFPLDJJQUFFLEtBQUssbUhBQUUsVUFBVSw4SkFBRSx1QkFBdUIsMEhBQUUsT0FBTyx3YkFBRSxhQUFhLDZFQUFFLGdCQUFnQixvSkFBRSxtQkFBbUIsMEZBQUUsYUFBYSw0REFBRSxhQUFhLDZGQUFFLGtDQUFrQyx3RUFBRSxvQkFBb0Isc05BQUUseUJBQXlCLDBEQUFFLFNBQVMseUNBQUUsaUJBQWlCOzsyRkFFL1MsOEJBQThCO2tCQWhCMUMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBSW5CLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxnQ0FBZ0MsRUFBQzt3QkFDM0U7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsK0JBQStCLENBQUM7eUJBQ2hFO3FCQUNKLGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxrQ0FBa0MsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUM7OzBCQTJEeFQsUUFBUTs7MEJBQUksSUFBSTt5Q0E3Q1osZUFBZTtzQkFEckIsS0FBSztnQkFRQyxVQUFVO3NCQURoQixLQUFLO2dCQU1DLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBRzZCLGdCQUFnQjtzQkFBbEQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBQ0EsVUFBVTtzQkFBMUMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBb0VwQixpQkFBaUI7c0JBRDNCLFlBQVk7dUJBQUMsd0JBQXdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBTS9ELFlBQVk7c0JBRHRCLEtBQUs7Z0JBVUssdUJBQXVCO3NCQURqQyxZQUFZO3VCQUFDLDhCQUE4QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQVFyRSxrQkFBa0I7c0JBRDVCLEtBQUs7Z0JBVUssd0JBQXdCO3NCQURsQyxZQUFZO3VCQUFDLCtCQUErQixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQVF0RSxtQkFBbUI7c0JBRDdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlck11bHRpU2VsZWN0QmFzZX0gZnJvbSAnLi4vZWxkZXItbXVsdGktc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtcbiAgRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLFxuICBFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsXG4gIEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmVcbn0gZnJvbSAnLi4vLi4vZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEZvcm1GaWVsZENvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtFTERFUl9TRUxFQ1RfQkFTRSwgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSwgVGV4dFJlc29sdmVyRm59IGZyb20gJy4uLy4uL2VsZGVyLXNlbGVjdC1iYXNlJztcbmltcG9ydCB7Rm9jdXNNb25pdG9yfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge0VsZGVyRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZGlhbG9ncy9lbGRlci1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2luZ2xlL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7Q2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSwgQ2RrRHJvcExpc3QsIENka0RyYWd9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtDaGlwQXZhdGFyU3BlYywgQ2hpcENvbG9yU3BlYywgU2VsZWN0Q2hpcFNwZWMsIFNlbGVjdENoaXBTcGVjVXRpbCwgVHJhaWxpbmdTcGVjfSBmcm9tICcuL3NlbGVjdC1jaGlwLXNwZWMnO1xuaW1wb3J0IHtFbGRlclRydW5jYXRlUGlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZWxkZXItdHJ1bmNhdGUucGlwZSc7XG5pbXBvcnQge0VsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmV9IGZyb20gJy4uLy4uL3NpbmdsZS9lbGRlci1jbGVhci1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1zdG9wLWV2ZW50LXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEljb25CdXR0b259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge0VsZGVyQ2hpcExhYmVsRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9jaGlwcy9lbGRlci1jaGlwLWxhYmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRDaGlwU2V0LCBNYXRDaGlwUm93LCBNYXRDaGlwQXZhdGFyLCBNYXRDaGlwVHJhaWxpbmdJY29uLCBNYXRDaGlwUmVtb3ZlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge01hdFRvb2x0aXB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtOZ0lmLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5jbGFzcyBDaGlwTW9kZWw8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGRpc3BsYXlUZXh0OiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbG9yU3BlYzogQ2hpcENvbG9yU3BlYyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVtb3ZhYmxlOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBhdmF0YXJTcGVjOiBDaGlwQXZhdGFyU3BlYyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhaWxpbmdTcGVjOiBUcmFpbGluZ1NwZWMsXG4gICkge1xuICB9XG59XG5cbmludGVyZmFjZSBUZW1wbGF0ZVdyYXBwZXIge1xuICBjaGlwOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBhdmF0YXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgaW5wdXQ6IFRlbXBsYXRlUmVmPGFueT47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnNjc3MnXSxcbiAgICAvLyBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEVMREVSX1NFTEVDVF9CQVNFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBNYXRUb29sdGlwLCBNYXRDaGlwU2V0LCBDZGtEcm9wTGlzdCwgTWF0SWNvbiwgTmdGb3IsIE1hdENoaXBSb3csIEVsZGVyQ2hpcExhYmVsRGlyZWN0aXZlLCBDZGtEcmFnLCBNYXRDaGlwQXZhdGFyLCBOZ1RlbXBsYXRlT3V0bGV0LCBNYXRDaGlwVHJhaWxpbmdJY29uLCBNYXRDaGlwUmVtb3ZlLCBNYXRJY29uQnV0dG9uLCBFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlLCBFbGRlclNlbGVjdENvbXBvbmVudCwgRWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZSwgQXN5bmNQaXBlLCBFbGRlclRydW5jYXRlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50PFRJZCA9IGFueSwgVEVudGl0eSA9IGFueSwgVFZhbHVlID0gYW55PlxuICBleHRlbmRzIEVsZGVyTXVsdGlTZWxlY3RCYXNlPFRJZCwgVEVudGl0eSwgVFZhbHVlPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdENoaXBzJDogT2JzZXJ2YWJsZTxDaGlwTW9kZWw8VEVudGl0eT5bXT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRDaGlwU3BlYzogU2VsZWN0Q2hpcFNwZWMgPSBTZWxlY3RDaGlwU3BlY1V0aWwuRGVmYXVsdENoaXBTcGVjO1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gY3VzdG9taXplIGVhY2ggY2hpcCBpbmRpdmlkdWFsbHkgKENvbG9yLCBSZW1vdmFibGUsIEF2YXRhcikuXG4gICAqXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2hpcFNwZWNGbjogKGU6IFRFbnRpdHkpID0+IFNlbGVjdENoaXBTcGVjID0gZSA9PiB0aGlzLmRlZmF1bHRDaGlwU3BlYztcblxuICBwdWJsaWMgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93UmVtb3ZlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dTb3J0aW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YWNrZWQgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKE1hdEZvcm1GaWVsZENvbnRyb2wpIF9jdXN0b21DaGlwSW5wdXQ6IE1hdEZvcm1GaWVsZENvbnRyb2w8YW55PjtcbiAgQFZpZXdDaGlsZChFbGRlclNlbGVjdENvbXBvbmVudCkgX2NoaXBJbnB1dDogTWF0Rm9ybUZpZWxkQ29udHJvbDxhbnk+O1xuXG4gIHJlYWRvbmx5IHRlbXBsYXRlcyQ6IE9ic2VydmFibGU8VGVtcGxhdGVXcmFwcGVyPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBUZW1wbGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBBdmF0YXJUZW1wbGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbUlucHV0VGVtcGxhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+PihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaG9zdFJlZjogRWxlbWVudFJlZixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBkaWFsb2dTZXJ2aWNlOiBFbGRlckRpYWxvZ1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbFxuICApIHtcbiAgICBzdXBlcih6b25lLCBob3N0UmVmLCAnbXVsdGktc2VsZWN0LWNoaXBzJywgZm9jdXNNb25pdG9yLCB0cmFuc2xhdGVTZXJ2aWNlLCBkaWFsb2dTZXJ2aWNlLCBuZ0NvbnRyb2wpO1xuXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9ICcuLi4nO1xuXG4gICAgdGhpcy5zZWxlY3RDaGlwcyQgPSBjb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLmVudGl0aWVzJCxcbiAgICAgICAgdGhpcy5lbnRpdHlJZHMkLFxuICAgICAgICB0aGlzLnN0YXRlJCxcbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciQsXG4gICAgICAgIHRoaXMucmVhZG9ubHkkLFxuICAgICAgICB0aGlzLmRpc2FibGVkJCxcbiAgICAgICAgdGhpcy5yZWZyZXNoJFxuICAgICAgXVxuICAgICkucGlwZShcbiAgICAgIG1hcCgoW2VudGl0aWVzLCBlbnRpdHlJZHMsIHN0YXRlLCBkUFJdKSA9PlxuICAgICAgICB0aGlzLmJ1aWxkQ2hpcE1vZGVsc09yRmFsbGJhY2soZW50aXRpZXMsIGVudGl0eUlkcywgc3RhdGUsIGRQUilcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy50ZW1wbGF0ZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNoaXBUZW1wbGF0ZSQsXG4gICAgICB0aGlzLmNoaXBBdmF0YXJUZW1wbGF0ZSQsXG4gICAgICB0aGlzLmN1c3RvbUlucHV0VGVtcGxhdGUkXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2NoaXAsIGF2YXRhciwgaW5wdXRdKSA9PiB7XG4gICAgICAgIHJldHVybiA8VGVtcGxhdGVXcmFwcGVyPntcbiAgICAgICAgICBjaGlwLFxuICAgICAgICAgIGF2YXRhcixcbiAgICAgICAgICBpbnB1dFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiBmYWxzZX0pXG4gIHB1YmxpYyBzZXQgY2hpcFRlbXBsYXRlUXVlcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmNoaXBUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmNoaXBUZW1wbGF0ZSQubmV4dCh0ZW1wbGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwVGVtcGxhdGUkLmdldFZhbHVlKCk7XG4gIH1cblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSlcbiAgcHVibGljIHNldCBjaGlwQXZhdGFyVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmKHRlbXBsYXRlKSB7XG4gICAgICB0aGlzLmNoaXBBdmF0YXJUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwQXZhdGFyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2V9KVxuICBwdWJsaWMgc2V0IGN1c3RvbUlucHV0VGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmKHRlbXBsYXRlKSB7XG4gICAgICB0aGlzLmN1c3RvbUlucHV0VGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGN1c3RvbUlucHV0VGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmN1c3RvbUlucHV0VGVtcGxhdGUkLm5leHQodGVtcGxhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXN0b21JbnB1dFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUlucHV0VGVtcGxhdGUkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IHJlb3JkZXJlZCA9IFsuLi50aGlzLmVudGl0aWVzXTtcbiAgICBtb3ZlSXRlbUluQXJyYXkocmVvcmRlcmVkLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuZW50aXRpZXMgPSByZW9yZGVyZWQ7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZUNoaXBWYWx1ZShlMTogVEVudGl0eSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5SWQoZTEpO1xuICB9XG5cbiAgcHVibGljIG9uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHRvUmVtb3ZlOiBURW50aXR5KTogdm9pZCB7XG4gICAgdGhpcy5sb2cud2Fybignb25DaGlwS2V5RG93bicsIGV2ZW50KTtcbiAgICBpZiAoZXZlbnQua2V5ID09ICdCYWNrc3BhY2UnIHx8IGV2ZW50LmtleSA9PSAnRGVsZXRlJykge1xuICAgICAgdGhpcy5yZXF1ZXN0UmVtb3ZlRW50aXR5KHRvUmVtb3ZlLCBldmVudC5zaGlmdEtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tSZW1vdmVDaGlwKFxuICAgIGV2ZW50OiBNb3VzZUV2ZW50LFxuICAgIHRvUmVtb3ZlOiBURW50aXR5XG4gICk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5yZXF1ZXN0UmVtb3ZlRW50aXR5KHRvUmVtb3ZlLCBldmVudC5zaGlmdEtleSk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucykge1xuXG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLl9jdXN0b21DaGlwSW5wdXQgPz8gdGhpcy5fY2hpcElucHV0O1xuXG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dC5vbkNvbnRhaW5lckNsaWNrKG5ldyBNb3VzZUV2ZW50KCcnKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0NhbnQgZm9jdXMgc2luY2Ugbm8gY2hpcC1pbnB1dC1jb250cm9sIGZvdW5kIScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBibHVyKCkge1xuICAgIHRoaXMubG9nLndhcm4oJ2JsdXIoKSBub3QgeWV0IHN1cHBvcnRlZCEnKTtcbiAgICAvLyBUT0RPIHRoaXMuaW5wdXRDb250cm9sPy5ibHVyKCk7XG4gICAgLy8gdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlLmJsdXIoKVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBidWlsZENoaXBNb2RlbHNPckZhbGxiYWNrKFxuICAgIGVudGl0aWVzOiBURW50aXR5W10sXG4gICAgZW50aXR5SWRzOiBUSWRbXSxcbiAgICBzdGF0ZTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSxcbiAgICBkUFI6IFRleHRSZXNvbHZlckZuXG4gICk6IENoaXBNb2RlbDxURW50aXR5PltdIHtcblxuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRDaGlwRmFsbGJhY2tNb2RlbHMoZW50aXR5SWRzKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRDaGlwTW9kZWxzKGVudGl0aWVzLCBkUFIpO1xuICB9XG5cblxuICBwcml2YXRlIGJ1aWxkQ2hpcEZhbGxiYWNrTW9kZWxzKGVudGl0eUlkczogVElkW10pOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG4gICAgcmV0dXJuIGVudGl0eUlkcy5tYXAoXG4gICAgICBpZCA9PiB0aGlzLmJ1aWxkQ2hpcEJ5U3BlYyhcbiAgICAgICAgPGFueT57aWQ6IGlkfSxcbiAgICAgICAgKCkgPT4gU3RyaW5nKGlkKSxcbiAgICAgICAge1xuICAgICAgICAgIGNvbG9yU3BlYzoge1xuICAgICAgICAgICAgdGhlbWVDb2xvcjogJ3dhcm4nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhdmF0YXJTcGVjOiB7XG4gICAgICAgICAgICBoaWRlOiBmYWxzZSxcbiAgICAgICAgICAgIGxhcmdlOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENoaXBNb2RlbHMoXG4gICAgZW50aXRpZXM6IFRFbnRpdHlbXSxcbiAgICBkUFI6IFRleHRSZXNvbHZlckZuXG4gICk6IENoaXBNb2RlbDxURW50aXR5PltdIHtcbiAgICBpZiAoZW50aXRpZXMpIHtcbiAgICAgIHJldHVybiBlbnRpdGllcy5tYXAoXG4gICAgICAgIGUgPT4gdGhpcy5idWlsZENoaXBCeVNwZWMoXG4gICAgICAgICAgZSxcbiAgICAgICAgICBkUFIsXG4gICAgICAgICAgdGhpcy5jaGlwU3BlY0ZuKGUpID8/IHRoaXMuZGVmYXVsdENoaXBTcGVjXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiA8Q2hpcE1vZGVsPFRFbnRpdHk+W10+W107XG4gICAgfVxuICB9XG5cblxuICBwcml2YXRlIGJ1aWxkQ2hpcEJ5U3BlYyhcbiAgICBlOiBURW50aXR5LFxuICAgIGRQUjogVGV4dFJlc29sdmVyRm4sXG4gICAgY2hpcFNwZWM6IFNlbGVjdENoaXBTcGVjXG4gICk6IENoaXBNb2RlbDxURW50aXR5PiB7XG5cbiAgICBsZXQgcmVtb3ZhYmxlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuYWxsb3dSZW1vdmUgJiYgIXRoaXMuaXNMb2NrZWQpIHtcbiAgICAgIGlmIChjaGlwU3BlYy5yZW1vdmFibGUgIT09IGZhbHNlKSB7XG4gICAgICAgIHJlbW92YWJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgQ2hpcE1vZGVsPFRFbnRpdHk+KFxuICAgICAgZSxcbiAgICAgIGRQUihlKSxcbiAgICAgIGNoaXBTcGVjPy5jb2xvclNwZWMsXG4gICAgICByZW1vdmFibGUsXG4gICAgICBjaGlwU3BlYy5hdmF0YXJTcGVjLFxuICAgICAgY2hpcFNwZWMudHJhaWxpbmdTcGVjXG4gICAgKTtcbiAgfVxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiKHNlbGVjdENoaXBzJCB8IGFzeW5jKSBhcyBjaGlwVmFsdWVzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWZsZXgtY29udHJvbFwiXG4gICAgIFttYXRUb29sdGlwXT1cIihzdGF0ZSQgfCBhc3luYyk/LmVycm9yXCJcbj5cbiAgPG1hdC1jaGlwLXNldCAjY2hpcHNcbiAgICAgICAgICAgICAgICBbY2xhc3MubWF0LW1kYy1jaGlwLXNldC1zdGFja2VkXT1cInN0YWNrZWRcIlxuICAgICAgICAgICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICAgICAgICAgW2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwic3RhY2tlZCA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCdcIlxuICAgICAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhYWxsb3dTb3J0aW5nXCJcbiAgPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzdGF0ZSQgfCBhc3luYykgYXMgc3RhdGVcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpY29uXCJcbiAgICAgICAgICAgY2xhc3M9XCJlbGRlci1pbnB1dC1wcmVmaXgtaWNvbi1jb250YWluZXIgZmxleC1ub25lXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLXByZWZpeC1pY29uIGVsZGVyLW1kYy1jb250cm9sLWljb24gZWxkZXItaWNvbi1zbWFsbCBub3NlbGVjdFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MubG9hZGluZ109XCJzdGF0ZS5sb2FkaW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7aWNvbn19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZXMkIHwgYXN5bmMgYXMgdGVtcGxhdGVzXCI+XG4gICAgICA8bWF0LWNoaXAtcm93IGVsZGVyQ2hpcExhYmVsICpuZ0Zvcj1cImxldCBjaGlwTW9kZWwgb2YgY2hpcFZhbHVlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJub3NlbGVjdCBjbGlja2FibGUtY2hpcFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInJlc29sdmVDaGlwVmFsdWUoY2hpcE1vZGVsLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cImNoaXBNb2RlbC5jb2xvclNwZWM/LnRoZW1lQ29sb3JcIlxuICAgICAgICAgICAgICAgIFtsZXZlbENvbG9yXT1cImNoaXBNb2RlbC5jb2xvclNwZWM/LmxldmVsQ29sb3JcIlxuICAgICAgICAgICAgICAgIFtzdGF0ZUNvbG9yXT1cImNoaXBNb2RlbC5jb2xvclNwZWM/LnN0YXRlQ29sb3JcIlxuICAgICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwiY2hpcE1vZGVsLnJlbW92YWJsZVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25DaGlwS2V5RG93bigkZXZlbnQsIGNoaXBNb2RlbC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkN1cnJlbnRDbGlja2VkKGNoaXBNb2RlbC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImNoaXBNb2RlbC52YWx1ZVwiIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWFsbG93U29ydGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxtYXQtY2hpcC1hdmF0YXJcbiAgICAgICAgICAqbmdJZj1cInRlbXBsYXRlcy5hdmF0YXIgJiYgIWNoaXBNb2RlbC5hdmF0YXJTcGVjPy5oaWRlXCJcbiAgICAgICAgICBbY2xhc3MuY2hpcC1hdmF0YXIteGxdPVwiY2hpcE1vZGVsLmF2YXRhclNwZWM/LmxhcmdlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmF2YXRhcjsgY29udGV4dDogeyRpbXBsaWNpdDogY2hpcE1vZGVsfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1jaGlwLWF2YXRhcj5cblxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZXMuY2hpcCB8fCBzaW1wbGVDaGlwVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNoaXBNb2RlbH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG1hdC1pY29uIG1hdENoaXBUcmFpbGluZ0ljb24gY2xhc3M9XCJlbGRlci10cmFpbGluZy1pY29uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpcE1vZGVsLnRyYWlsaW5nU3BlYz8uaWNvblwiXG4gICAgICAgICAgICAgICAgICBbZm9udFNldF09XCJjaGlwTW9kZWwudHJhaWxpbmdTcGVjPy5pY29uRm9udFNldFwiXG4gICAgICAgID57e2NoaXBNb2RlbC50cmFpbGluZ1NwZWM/Lmljb259fTwvbWF0LWljb24+XG5cbiAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmVcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpcE1vZGVsLnJlbW92YWJsZVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja1JlbW92ZUNoaXAoJGV2ZW50LCBjaGlwTW9kZWwudmFsdWUpXCI+XG4gICAgICAgICAgY2FuY2VsXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L21hdC1jaGlwLXJvdz5cblxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGVsZGVyLWNoaXAtaW5wdXRcIj5cblxuICAgICAgICA8IS0tIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcHNcIiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmlucHV0IHx8IHNlbGVjdElucHV0O1wiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uIGVsZGVyLWJyb3dzZS1pY29uXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvblBvcHVwXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VsZWN0aW9uUG9wdXAoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJTZWFyY2hcIlxuICAgICAgICAgICAgICAgIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImVsZGVyLW1kYy1jb250cm9sLWljb25cIj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1jaGlwLXNldD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NlbGVjdElucHV0PlxuICA8IS0tIG1hdC1tZGMtY2hpcC1pbnB1dCAtLT5cbiAgPGVsZGVyLXNlbGVjdCBhdXRvY29tcGxldGUgZWxkZXJDbGVhclNlbGVjdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWxkZXItY2hpcC1pbnB1dC1zZWxlY3QgZmxleFwiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YUNvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIiEhcmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgKGVudGl0eVVwZGF0ZWQpPVwiYXBwZW5kRW50aXR5KCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5UHJvcGVydHlSZXNvbHZlcl09XCJkaXNwbGF5UHJvcGVydHlSZXNvbHZlciQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW3ZhbHVlVGVtcGxhdGVdPVwidmFsdWVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3F1ZXJ5RmlsdGVyXT1cInF1ZXJ5RmlsdGVyXCIgW2ZpbHRlcnNdPVwiZmlsdGVyc1wiIFtzb3J0c109XCJzb3J0c1wiXG4gICAgICAgICAgICAgICAgW2lzT3B0aW9uRGlzYWJsZWRGbl09XCJpc09wdGlvbkRpc2FibGVkSW50ZXJuYWxGblwiXG4gICAgICAgICAgICAgICAgW2lzT3B0aW9uSGlkZGVuRm5dPVwiaXNPcHRpb25IaWRkZW5JbnRlcm5hbEZuXCJcbiAgPjwvZWxkZXItc2VsZWN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVDaGlwVGVtcGxhdGUgbGV0LWNoaXBNb2RlbD5cbiAgPHNwYW4gY2xhc3M9XCJlbGRlci1jaGlwLXRleHRcIj57e2NoaXBNb2RlbC5kaXNwbGF5VGV4dCB8IGVsZGVyVHJ1bmNhdGU6MjB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
|
|
@@ -62,10 +62,10 @@ export class ElderMultiSelectFormField extends ElderFromFieldMultiEntityBase {
|
|
|
62
62
|
control.customInputTemplate = dir?.templateRef;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
66
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderMultiSelectFormField, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderMultiSelectFormField, viewQueries: [{ propertyName: "selectValueTemplate", first: true, predicate: ElderSelectValueDirective, descendants: true }, { propertyName: "selectionModelPopupDirective", first: true, predicate: SelectionModelPopupDirective, descendants: true }, { propertyName: "selectChipDirective", first: true, predicate: ElderSelectChipDirective, descendants: true }, { propertyName: "selectChipAvatarDirective", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true }, { propertyName: "selectCustomInputDirective", first: true, predicate: ElderSelectCustomInputDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderMultiSelectFormField, decorators: [{
|
|
69
69
|
type: Directive
|
|
70
70
|
}], ctorParameters: () => [{ type: undefined }], propDecorators: { selectValueTemplate: [{
|
|
71
71
|
type: ViewChild,
|
|
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
83
83
|
type: ViewChild,
|
|
84
84
|
args: [ElderSelectCustomInputDirective]
|
|
85
85
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWZvcm0tZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtZm9ybS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFHMUUsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDdkcsT0FBTyxFQUFDLDhCQUE4QixFQUFFLHdCQUF3QixFQUFFLCtCQUErQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekksT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLDZFQUE2RSxDQUFDOztBQUdqSSxNQUFNLE9BQWdCLHlCQUNwQixTQUFRLDZCQUErRjtJQWV2Rzs7OztnRkFJNEU7SUFFNUUsWUFDRSxZQUE2RTtRQUU3RSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVsRCxJQUFJLE9BQU8sWUFBWSxlQUFlLEVBQUUsQ0FBQztZQUN2QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3QixPQUFPLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7WUFDL0QsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUNXLG1CQUFtQixDQUFDLEdBQTZCO1FBQzFELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sWUFBWSw4QkFBOEIsRUFBRSxDQUFDO1lBQ3RELE9BQU8sQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLFlBQVksb0NBQW9DLEVBQUUsQ0FBQztZQUM1RCxPQUFPLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUNXLHlCQUF5QixDQUFDLEdBQW1DO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sWUFBWSw4QkFBOEIsRUFBRSxDQUFDO1lBQ3RELE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLE9BQU8sWUFBWSxvQ0FBb0MsRUFBRSxDQUFDO1lBQzVELE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDVywwQkFBMEIsQ0FBQyxHQUFtQztRQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsSUFBSSxPQUFPLFlBQVksOEJBQThCLEVBQUUsQ0FBQztZQUN0RCxPQUFPLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzs4R0FsRm1CLHlCQUF5QjtrR0FBekIseUJBQXlCLCtFQVVsQyx5QkFBeUIsK0ZBR3pCLDRCQUE0QixzRkF5QzVCLHdCQUF3Qiw0RkFXeEIsOEJBQThCLDZGQVc5QiwrQkFBK0I7OzJGQTVFdEIseUJBQXlCO2tCQUQ5QyxTQUFTOzJFQVlELG1CQUFtQjtzQkFEekIsU0FBUzt1QkFBQyx5QkFBeUI7Z0JBSTdCLDRCQUE0QjtzQkFEbEMsU0FBUzt1QkFBQyw0QkFBNEI7Z0JBMEM1QixtQkFBbUI7c0JBRDdCLFNBQVM7dUJBQUMsd0JBQXdCO2dCQVl4Qix5QkFBeUI7c0JBRG5DLFNBQVM7dUJBQUMsOEJBQThCO2dCQVk5QiwwQkFBMEI7c0JBRHBDLFNBQVM7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLXNlbGVjdC12YWx1ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckFwcGx5Q29udHJvbEZufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZnJvbS1maWVsZC1iYXNlJztcbmltcG9ydCB7RWxkZXJNdWx0aVNlbGVjdEJhc2V9IGZyb20gJy4vZWxkZXItbXVsdGktc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHtFbGRlckZyb21GaWVsZE11bHRpRW50aXR5QmFzZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZyb20tZmllbGQtbXVsdGktZW50aXR5LWJhc2UnO1xuaW1wb3J0IHtFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmUsIEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZX0gZnJvbSAnLi4vZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTZWxlY3RCYXNlfSBmcm9tICcuLi9lbGRlci1zZWxlY3QtYmFzZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4uL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlck11bHRpU2VsZWN0Q2hpcE9wdGlvbnNDb21wb25lbnR9IGZyb20gJy4vZWxkZXItbXVsdGktc2VsZWN0LWNoaXAtb3B0aW9ucy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVsZGVyTXVsdGlTZWxlY3RGb3JtRmllbGQ8VEVudGl0eSwgVElkLCBUVmFsdWUgPSBURW50aXR5IHwgVElkPlxuICBleHRlbmRzIEVsZGVyRnJvbUZpZWxkTXVsdGlFbnRpdHlCYXNlPFRFbnRpdHksIFRJZCwgVFZhbHVlLCBFbGRlck11bHRpU2VsZWN0QmFzZTxUSWQsIFRFbnRpdHksIFRWYWx1ZT4+XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQFZpZXdDaGlsZChFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlKVxuICBwdWJsaWMgc2VsZWN0VmFsdWVUZW1wbGF0ZTogRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZTtcblxuICBAVmlld0NoaWxkKFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlOiBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBpbml0U2VsZWN0Rm46IEVsZGVyQXBwbHlDb250cm9sRm48RWxkZXJNdWx0aVNlbGVjdEJhc2U8VElkLCBURW50aXR5LCBUVmFsdWU+PlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYXBwbHlUb0NvbnRyb2woaW5pdFNlbGVjdEZuKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKTtcblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRWxkZXJTZWxlY3RCYXNlKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RWYWx1ZVRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnRyb2wudmFsdWVUZW1wbGF0ZSA9IHRoaXMuc2VsZWN0VmFsdWVUZW1wbGF0ZS50ZW1wbGF0ZVJlZjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUpIHtcbiAgICAgICAgY29udHJvbC5zZWxlY3Rpb25Qb3B1cCA9IHRoaXMuc2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAVmlld0NoaWxkKEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSlcbiAgcHVibGljIHNldCBzZWxlY3RDaGlwRGlyZWN0aXZlKGRpcjogRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlKXtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtRmllbGRDb250cm9sJC5nZXRWYWx1ZSgpO1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50KSB7XG4gICAgICBjb250cm9sLmNoaXBUZW1wbGF0ZSA9IGRpcj8udGVtcGxhdGVSZWY7XG4gICAgfVxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRWxkZXJNdWx0aVNlbGVjdENoaXBPcHRpb25zQ29tcG9uZW50KSB7XG4gICAgICBjb250cm9sLmNoaXBUZW1wbGF0ZSA9IGRpcj8udGVtcGxhdGVSZWY7XG4gICAgfVxuICB9XG5cbiAgQFZpZXdDaGlsZChFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZXQgc2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZShkaXI6IEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSl7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKTtcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCkge1xuICAgICAgY29udHJvbC5jaGlwQXZhdGFyVGVtcGxhdGUgPSBkaXI/LnRlbXBsYXRlUmVmO1xuICAgIH1cbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudCkge1xuICAgICAgY29udHJvbC5jaGlwQXZhdGFyVGVtcGxhdGUgPSBkaXI/LnRlbXBsYXRlUmVmO1xuICAgIH1cbiAgfVxuXG4gIEBWaWV3Q2hpbGQoRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSlcbiAgcHVibGljIHNldCBzZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZShkaXI6IEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSl7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKTtcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCkge1xuICAgICAgY29udHJvbC5jdXN0b21JbnB1dFRlbXBsYXRlID0gZGlyPy50ZW1wbGF0ZVJlZjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -20,10 +20,10 @@ export class ElderMultiSelectAllInitialDirective {
|
|
|
20
20
|
templateOptions$
|
|
21
21
|
]).pipe(takeUntilDestroyed(destroyRef), filter(([data, templateEntities]) => data.length > 0), first()).subscribe(([entities, templateEntities]) => this.select.appendEntities([...entities, ...templateEntities]));
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderMultiSelectAllInitialDirective, deps: [{ token: i1.ElderMultiSelectChipOptionsComponent, optional: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderMultiSelectAllInitialDirective, isStandalone: true, selector: "[elderMultiSelectAllInitial]", ngImport: i0 }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderMultiSelectAllInitialDirective, decorators: [{
|
|
27
27
|
type: Directive,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: '[elderMultiSelectAllInitial]',
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
32
32
|
}], ctorParameters: () => [{ type: i1.ElderMultiSelectChipOptionsComponent, decorators: [{
|
|
33
33
|
type: Optional
|
|
34
34
|
}] }, { type: i0.DestroyRef }] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXV0bGktc2VsZWN0LWFsbC1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1tdXRsaS1zZWxlY3QtYWxsLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTdELE1BQU0sT0FBTyxtQ0FBbUM7SUFFOUM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3FCLE1BQTBELEVBQ3RFLFVBQXNCO1FBRFYsV0FBTSxHQUFOLE1BQU0sQ0FBb0Q7UUFDdEUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUc3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDbEIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUN6QixDQUFDO1FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDeEQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNwRCxDQUFDO1FBRUYsYUFBYSxDQUFDO1lBQ1osS0FBSztZQUNMLGdCQUFnQjtTQUNqQixDQUFDLENBQUMsSUFBSSxDQUNMLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUNyRCxLQUFLLEVBQUUsQ0FDUixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQzs4R0FoQ1UsbUNBQW1DO2tHQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFVSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEZXN0cm95UmVmLCBEaXJlY3RpdmUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudFxufSBmcm9tICcuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXAtb3B0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVyTXVsdGlTZWxlY3RBbGxJbml0aWFsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck11bHRpU2VsZWN0QWxsSW5pdGlhbERpcmVjdGl2ZTxUSWQsIFRFbnRpdHk+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgc2VsZWN0OiBFbGRlck11bHRpU2VsZWN0Q2hpcE9wdGlvbnNDb21wb25lbnQ8VElkLCBURW50aXR5PixcbiAgICBwdWJsaWMgZGVzdHJveVJlZjogRGVzdHJveVJlZlxuICApIHtcblxuICAgIGNvbnN0IGRhdGEkID0gdGhpcy5zZWxlY3QuZGF0YUNvbnRleHQkLnBpcGUoXG4gICAgICBmaWx0ZXIoZGMgPT4gISFkYyksXG4gICAgICBzd2l0Y2hNYXAoZGMgPT4gZGMuZGF0YSlcbiAgICApO1xuXG4gICAgY29uc3QgdGVtcGxhdGVPcHRpb25zJCA9IHRoaXMuc2VsZWN0LnRlbXBsYXRlT3B0aW9ucyQucGlwZShcbiAgICAgIG1hcChvcHRpb25zID0+IG9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24udmFsdWUpKVxuICAgICk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGRhdGEkLFxuICAgICAgdGVtcGxhdGVPcHRpb25zJFxuICAgIF0pLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoZGVzdHJveVJlZiksXG4gICAgICBmaWx0ZXIoKFtkYXRhLCB0ZW1wbGF0ZUVudGl0aWVzXSkgPT4gZGF0YS5sZW5ndGggPiAwKSxcbiAgICAgIGZpcnN0KClcbiAgICApLnN1YnNjcmliZSgoW2VudGl0aWVzLCB0ZW1wbGF0ZUVudGl0aWVzXSkgPT5cbiAgICAgIHRoaXMuc2VsZWN0LmFwcGVuZEVudGl0aWVzKFsuLi5lbnRpdGllcywgLi4udGVtcGxhdGVFbnRpdGllc10pXG4gICAgKTtcbiAgfVxufVxuXG4iXX0=
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Directive, Host, Input, Optional } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, concat, of, skipUntil, Subject } from 'rxjs';
|
|
3
|
+
import { SearchInputState } from '../../forms/search/domain/input/search-input-state';
|
|
4
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
5
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
+
import { debounceTime, delay, first, map, tap } from 'rxjs/operators';
|
|
7
|
+
import { IncludeExcludeModelFilterAdapter } from '../filter/include-exclude-model-filter-adapter';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../forms/search/elder-search-context.directive";
|
|
10
|
+
import * as i2 from "../filter/include-exclude-selection-model";
|
|
11
|
+
import * as i3 from "@angular/forms";
|
|
12
|
+
/**
|
|
13
|
+
* Binds a IncludeExcludeModel to a SearchContexts Filter.
|
|
14
|
+
*/
|
|
15
|
+
export class ElderSearchIncludeExcludeDirective {
|
|
16
|
+
/***************************************************************************
|
|
17
|
+
* *
|
|
18
|
+
* Constructor *
|
|
19
|
+
* *
|
|
20
|
+
**************************************************************************/
|
|
21
|
+
constructor(searchContext, destroyRef, selectionModel, ngModel) {
|
|
22
|
+
this.searchContext = searchContext;
|
|
23
|
+
this.destroyRef = destroyRef;
|
|
24
|
+
this.selectionModel = selectionModel;
|
|
25
|
+
this.ngModel = ngModel;
|
|
26
|
+
/***************************************************************************
|
|
27
|
+
* *
|
|
28
|
+
* Fields *
|
|
29
|
+
* *
|
|
30
|
+
**************************************************************************/
|
|
31
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
32
|
+
this._queryKey$ = new BehaviorSubject(null);
|
|
33
|
+
this.includeSuffix = '';
|
|
34
|
+
this.initialDone$ = new Subject();
|
|
35
|
+
this._state$ = this.buildInputStateObservable().pipe(
|
|
36
|
+
// tap(state => this.log.error('EMIT SEARCH INPUT STATE [' + state.queryKey + ']: ' + state.queryValue + (state.pristine ? '(pristine)' : ''), state))
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
/***************************************************************************
|
|
40
|
+
* *
|
|
41
|
+
* Life Cycle *
|
|
42
|
+
* *
|
|
43
|
+
**************************************************************************/
|
|
44
|
+
ngOnInit() {
|
|
45
|
+
this._extractedName = this.extractName();
|
|
46
|
+
this.updateQueryKey();
|
|
47
|
+
this.includeExcludeAdapter = new IncludeExcludeModelFilterAdapter(this.selectionModel, this.queryKey + this.includeSuffix, this.queryKey + this.excludeSuffix);
|
|
48
|
+
this.searchContext.register(this);
|
|
49
|
+
}
|
|
50
|
+
/***************************************************************************
|
|
51
|
+
* *
|
|
52
|
+
* Properties *
|
|
53
|
+
* *
|
|
54
|
+
**************************************************************************/
|
|
55
|
+
/**
|
|
56
|
+
* (Optional) Usually the control name is used, this allows a custom query key
|
|
57
|
+
*/
|
|
58
|
+
set queryKey(value) {
|
|
59
|
+
this._userQueryKey = value;
|
|
60
|
+
this.updateQueryKey();
|
|
61
|
+
}
|
|
62
|
+
get queryKey() {
|
|
63
|
+
return this._queryKey$.getValue();
|
|
64
|
+
}
|
|
65
|
+
get queryKey$() {
|
|
66
|
+
return this._queryKey$;
|
|
67
|
+
}
|
|
68
|
+
get state$() {
|
|
69
|
+
return this._state$;
|
|
70
|
+
}
|
|
71
|
+
get readonly() {
|
|
72
|
+
return this.ngModel?.isDisabled;
|
|
73
|
+
}
|
|
74
|
+
/***************************************************************************
|
|
75
|
+
* *
|
|
76
|
+
* Public API *
|
|
77
|
+
* *
|
|
78
|
+
**************************************************************************/
|
|
79
|
+
applyFilters(filters) {
|
|
80
|
+
this.includeExcludeAdapter.applyFilters(filters);
|
|
81
|
+
}
|
|
82
|
+
reset() {
|
|
83
|
+
this.selectionModel.replaceSelection([]);
|
|
84
|
+
}
|
|
85
|
+
/***************************************************************************
|
|
86
|
+
* *
|
|
87
|
+
* Private methods *
|
|
88
|
+
* *
|
|
89
|
+
**************************************************************************/
|
|
90
|
+
updateQueryKey() {
|
|
91
|
+
const newKey = this._userQueryKey ?? this._extractedName;
|
|
92
|
+
if (this._queryKey$.getValue() !== newKey) {
|
|
93
|
+
this._queryKey$.next(newKey);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
buildInputStateObservable() {
|
|
97
|
+
const viewStabilized$ = of('stabilized$').pipe(delay(20), first());
|
|
98
|
+
const inputStateChanges$ = this.selectionModel.selection$.pipe(takeUntilDestroyed(this.destroyRef), map(value => this.buildInputState(true)), skipUntil(viewStabilized$), tap(() => this.initialDone$.next()), debounceTime(20));
|
|
99
|
+
const startDelayed$ = of('start').pipe(delay(15), map(start => {
|
|
100
|
+
return this.buildInputState(false);
|
|
101
|
+
}));
|
|
102
|
+
return concat(startDelayed$, inputStateChanges$);
|
|
103
|
+
}
|
|
104
|
+
buildInputState(userEvent) {
|
|
105
|
+
const filters = this.includeExcludeAdapter.toFilters();
|
|
106
|
+
return new SearchInputState(this.queryKey, filters, this.areAllPristine(filters), userEvent);
|
|
107
|
+
}
|
|
108
|
+
areAllPristine(filters) {
|
|
109
|
+
if (filters.length > 0) {
|
|
110
|
+
return filters.every(f => this.isPristine(f));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
isPristine(filter) {
|
|
117
|
+
return !this.isAttributeValuePresent(filter.value);
|
|
118
|
+
}
|
|
119
|
+
isAttributeValuePresent(value) {
|
|
120
|
+
return SearchInputState.isValueDefined(value)
|
|
121
|
+
&& (value + '').length !== 0;
|
|
122
|
+
}
|
|
123
|
+
extractName() {
|
|
124
|
+
return this.ngModel?.name;
|
|
125
|
+
}
|
|
126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderSearchIncludeExcludeDirective, deps: [{ token: i1.ElderSearchContextDirective }, { token: i0.DestroyRef }, { token: i2.IncludeExcludeSelectionModel }, { token: i3.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
127
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderSearchIncludeExcludeDirective, isStandalone: true, selector: "[elderSearchIncludeExclude]", inputs: { includeSuffix: "includeSuffix", excludeSuffix: "excludeSuffix", queryKey: "queryKey" }, exportAs: ["elderSearchInput"], ngImport: i0 }); }
|
|
128
|
+
}
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderSearchIncludeExcludeDirective, decorators: [{
|
|
130
|
+
type: Directive,
|
|
131
|
+
args: [{
|
|
132
|
+
selector: '[elderSearchIncludeExclude]',
|
|
133
|
+
exportAs: 'elderSearchInput',
|
|
134
|
+
standalone: true
|
|
135
|
+
}]
|
|
136
|
+
}], ctorParameters: () => [{ type: i1.ElderSearchContextDirective }, { type: i0.DestroyRef }, { type: i2.IncludeExcludeSelectionModel }, { type: i3.NgModel, decorators: [{
|
|
137
|
+
type: Optional
|
|
138
|
+
}, {
|
|
139
|
+
type: Host
|
|
140
|
+
}] }], propDecorators: { includeSuffix: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], excludeSuffix: [{
|
|
143
|
+
type: Input,
|
|
144
|
+
args: [{ required: true }]
|
|
145
|
+
}], queryKey: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}] } });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWluY2x1ZGUtZXhjbHVkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1zZWFyY2gtaW5jbHVkZS1leGNsdWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUluRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGdEQUFnRCxDQUFDOzs7OztBQUdoRzs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQ0FBa0M7SUEwQjdDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLGFBQTBDLEVBQzFDLFVBQXNCLEVBQ2IsY0FBNEMsRUFDakMsT0FBZ0I7UUFIcEMsa0JBQWEsR0FBYixhQUFhLENBQTZCO1FBQzFDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQWxDOUM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcs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QzVCLENBQUM7OEdBOUtVLGtDQUFrQztrR0FBbEMsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQUw5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBcUNJLFFBQVE7OzBCQUFJLElBQUk7eUNBckJaLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBdURaLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Rlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTZWFyY2hJbnB1dH0gZnJvbSAnLi4vLi4vZm9ybXMvc2VhcmNoL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIHNraXBVbnRpbCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NlYXJjaElucHV0U3RhdGV9IGZyb20gJy4uLy4uL2Zvcm1zL3NlYXJjaC9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmV9IGZyb20gJy4uLy4uL2Zvcm1zL3NlYXJjaC9lbGRlci1zZWFyY2gtY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7SW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbH0gZnJvbSAnLi4vZmlsdGVyL2luY2x1ZGUtZXhjbHVkZS1zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRlbGF5LCBmaXJzdCwgbWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5jbHVkZUV4Y2x1ZGVNb2RlbEZpbHRlckFkYXB0ZXJ9IGZyb20gJy4uL2ZpbHRlci9pbmNsdWRlLWV4Y2x1ZGUtbW9kZWwtZmlsdGVyLWFkYXB0ZXInO1xuXG5cbi8qKlxuICogQmluZHMgYSBJbmNsdWRlRXhjbHVkZU1vZGVsIHRvIGEgU2VhcmNoQ29udGV4dHMgRmlsdGVyLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJTZWFyY2hJbmNsdWRlRXhjbHVkZV0nLFxuICBleHBvcnRBczogJ2VsZGVyU2VhcmNoSW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoSW5jbHVkZUV4Y2x1ZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBTZWFyY2hJbnB1dCwgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcXVlcnlLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICBwcml2YXRlIF9leHRyYWN0ZWROYW1lOiBzdHJpbmcgfCBudWxsO1xuICBwcml2YXRlIF91c2VyUXVlcnlLZXk6IHN0cmluZyB8IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGluY2x1ZGVTdWZmaXggPSAnJztcblxuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSlcbiAgcHVibGljIGV4Y2x1ZGVTdWZmaXg6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZSQ6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRTdGF0ZT47XG5cbiAgcHJpdmF0ZSBpbmNsdWRlRXhjbHVkZUFkYXB0ZXI6IEluY2x1ZGVFeGNsdWRlTW9kZWxGaWx0ZXJBZGFwdGVyO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbml0aWFsRG9uZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoQ29udGV4dDogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICAgIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGVsOiBJbmNsdWRlRXhjbHVkZVNlbGVjdGlvbk1vZGVsLFxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBuZ01vZGVsOiBOZ01vZGVsXG4gICkge1xuICAgIHRoaXMuX3N0YXRlJCA9IHRoaXMuYnVpbGRJbnB1dFN0YXRlT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAvLyB0YXAoc3RhdGUgPT4gdGhpcy5sb2cuZXJyb3IoJ0VNSVQgU0VBUkNIIElOUFVUIFNUQVRFIFsnICsgc3RhdGUucXVlcnlLZXkgKyAnXTogJyArIHN0YXRlLnF1ZXJ5VmFsdWUgKyAoc3RhdGUucHJpc3RpbmUgPyAnKHByaXN0aW5lKScgOiAnJyksIHN0YXRlKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2V4dHJhY3RlZE5hbWUgPSB0aGlzLmV4dHJhY3ROYW1lKCk7XG4gICAgdGhpcy51cGRhdGVRdWVyeUtleSgpO1xuXG4gICAgdGhpcy5pbmNsdWRlRXhjbHVkZUFkYXB0ZXIgPSBuZXcgSW5jbHVkZUV4Y2x1ZGVNb2RlbEZpbHRlckFkYXB0ZXIoXG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLFxuICAgICAgdGhpcy5xdWVyeUtleSArIHRoaXMuaW5jbHVkZVN1ZmZpeCxcbiAgICAgIHRoaXMucXVlcnlLZXkgKyB0aGlzLmV4Y2x1ZGVTdWZmaXhcbiAgICApO1xuXG4gICAgdGhpcy5zZWFyY2hDb250ZXh0LnJlZ2lzdGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVXN1YWxseSB0aGUgY29udHJvbCBuYW1lIGlzIHVzZWQsIHRoaXMgYWxsb3dzIGEgY3VzdG9tIHF1ZXJ5IGtleVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBxdWVyeUtleSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdXNlclF1ZXJ5S2V5ID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVRdWVyeUtleSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlLZXkkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5S2V5JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9xdWVyeUtleSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsPy5pc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGFwcGx5RmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIHRoaXMuaW5jbHVkZUV4Y2x1ZGVBZGFwdGVyLmFwcGx5RmlsdGVycyhmaWx0ZXJzKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnJlcGxhY2VTZWxlY3Rpb24oW10pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSB1cGRhdGVRdWVyeUtleSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdLZXkgPSB0aGlzLl91c2VyUXVlcnlLZXkgPz8gdGhpcy5fZXh0cmFjdGVkTmFtZTtcbiAgICBpZiAodGhpcy5fcXVlcnlLZXkkLmdldFZhbHVlKCkgIT09IG5ld0tleSkge1xuICAgICAgdGhpcy5fcXVlcnlLZXkkLm5leHQobmV3S2V5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5wdXRTdGF0ZU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPiB7XG5cbiAgICBjb25zdCB2aWV3U3RhYmlsaXplZCQgPSBvZignc3RhYmlsaXplZCQnKS5waXBlKFxuICAgICAgZGVsYXkoMjApLFxuICAgICAgZmlyc3QoKVxuICAgICk7XG5cbiAgICBjb25zdCBpbnB1dFN0YXRlQ2hhbmdlcyQgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbiQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgbWFwKHZhbHVlID0+IHRoaXMuYnVpbGRJbnB1dFN0YXRlKHRydWUpKSxcbiAgICAgIHNraXBVbnRpbCh2aWV3U3RhYmlsaXplZCQpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuaW5pdGlhbERvbmUkLm5leHQoKSksXG4gICAgICBkZWJvdW5jZVRpbWUoMjApXG4gICAgKTtcblxuICAgIGNvbnN0IHN0YXJ0RGVsYXllZCQgPSBvZignc3RhcnQnKS5waXBlKFxuICAgICAgZGVsYXkoMTUpLFxuICAgICAgbWFwKHN0YXJ0ID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRJbnB1dFN0YXRlKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBjb25jYXQoc3RhcnREZWxheWVkJCwgaW5wdXRTdGF0ZUNoYW5nZXMkKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbnB1dFN0YXRlKHVzZXJFdmVudDogYm9vbGVhbik6IFNlYXJjaElucHV0U3RhdGUge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmluY2x1ZGVFeGNsdWRlQWRhcHRlci50b0ZpbHRlcnMoKTtcbiAgICByZXR1cm4gbmV3IFNlYXJjaElucHV0U3RhdGUoXG4gICAgICB0aGlzLnF1ZXJ5S2V5LFxuICAgICAgZmlsdGVycyxcbiAgICAgIHRoaXMuYXJlQWxsUHJpc3RpbmUoZmlsdGVycyksXG4gICAgICB1c2VyRXZlbnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhcmVBbGxQcmlzdGluZShmaWx0ZXJzOiBGaWx0ZXJbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChmaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBmaWx0ZXJzLmV2ZXJ5KGYgPT4gdGhpcy5pc1ByaXN0aW5lKGYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ByaXN0aW5lKGZpbHRlcjogRmlsdGVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzQXR0cmlidXRlVmFsdWVQcmVzZW50KGZpbHRlci52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzQXR0cmlidXRlVmFsdWVQcmVzZW50KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2VhcmNoSW5wdXRTdGF0ZS5pc1ZhbHVlRGVmaW5lZCh2YWx1ZSlcbiAgICAgICYmICh2YWx1ZSArICcnKS5sZW5ndGggIT09IDA7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3ROYW1lKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWw/Lm5hbWU7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs
CHANGED
|
@@ -53,10 +53,10 @@ export class ElderSelectionPopupTriggerAdapterDirective {
|
|
|
53
53
|
this.log.warn('Cant open selection browser popup, since [SelectionModelPopupDirective] was not found!');
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderSelectionPopupTriggerAdapterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
57
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderSelectionPopupTriggerAdapterDirective, isStandalone: true, selector: "[elderSelectionPopupTriggerAdapter]", inputs: { keyGetter: "keyGetter", selection: "selection", filters: "filters", sorts: "sorts", multiSelectionEnabled: "multiSelectionEnabled" }, outputs: { selectionChange: "selectionChange", selectionSingleChange: "selectionSingleChange" }, host: { listeners: { "click": "handleClick($event)" } }, queries: [{ propertyName: "selectionPopup", first: true, predicate: SelectionModelPopupDirective, descendants: true }], exportAs: ["elderSelectionPopupTriggerAdapter"], ngImport: i0 }); }
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderSelectionPopupTriggerAdapterDirective, decorators: [{
|
|
60
60
|
type: Directive,
|
|
61
61
|
args: [{
|
|
62
62
|
selector: '[elderSelectionPopupTriggerAdapter]',
|
|
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
84
84
|
type: ContentChild,
|
|
85
85
|
args: [SelectionModelPopupDirective]
|
|
86
86
|
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9wb3B1cC9zZWxlY3Rpb24tbW9kZWwtcG9wdXAtdHJpZ2dlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7O0FBYy9FLE1BQU0sT0FBTywwQ0FBMEM7SUFrQ3JEOzs7O2dGQUk0RTtJQUU1RTtRQXRDQTs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUd0RCxvQkFBZSxHQUFHLElBQUksWUFBbUIsQ0FBQztRQUcxQywwQkFBcUIsR0FBRyxJQUFJLFlBQWlCLENBQUM7UUFHdkQsY0FBUyxHQUFHLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBR3ZDLGNBQVMsR0FBVSxFQUFFLENBQUM7UUFHdEIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBR25CLDBCQUFxQixHQUFHLEtBQUssQ0FBQztJQVlqQyxDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRzVFLDJDQUEyQztJQUMzQyxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUN4QixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxFQUNwQixJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFDbEIsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQ2hCLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FBQyxTQUFTLENBQ1QsQ0FBQyxTQUFnQixFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQ2hDLE1BQU0sY0FBYyxHQUFHLFNBQVMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDakUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDakQsQ0FBQztZQUNILENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1FBQzFHLENBQUM7SUFDSCxDQUFDOzhHQW5GVSwwQ0FBMEM7a0dBQTFDLDBDQUEwQyxxYkErQnZDLDRCQUE0Qjs7MkZBL0IvQiwwQ0FBMEM7a0JBUnRELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSxxQkFBcUI7cUJBQ25DO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFZaUIsZUFBZTtzQkFEOUIsTUFBTTtnQkFJUyxxQkFBcUI7c0JBRHBDLE1BQU07Z0JBSUEsU0FBUztzQkFEZixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLHFCQUFxQjtzQkFEM0IsS0FBSztnQkFJQyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udGVudENoaWxkLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZX0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kZWwtcG9wdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnO1xuXG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWxkZXJTZWxlY3Rpb25Qb3B1cFRyaWdnZXJBZGFwdGVyXScsXG4gICAgZXhwb3J0QXM6ICdlbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXInLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnaGFuZGxlQ2xpY2soJGV2ZW50KSdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VsZWN0aW9uUG9wdXBUcmlnZ2VyQWRhcHRlckRpcmVjdGl2ZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25TaW5nbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGtleUdldHRlciA9IChlbnRpdHk6IGFueSkgPT4gZW50aXR5LmlkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb246IGFueVtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlcltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRzOiBTb3J0W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbXVsdGlTZWxlY3Rpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlKVxuICBwdWJsaWMgc2VsZWN0aW9uUG9wdXA6IFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmU7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICAvKiogSGFuZGxlcyBjbGljayBldmVudHMgb24gdGhlIHRyaWdnZXIuICovXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uUG9wdXApIHtcbiAgICAgIHRoaXMub3BlblNlbGVjdGlvblBvcHVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9wZW5TZWxlY3Rpb25Qb3B1cCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Qb3B1cCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Qb3B1cC5jaG9vc2UoXG4gICAgICAgIHRoaXMua2V5R2V0dGVyLFxuICAgICAgICB0aGlzLnNlbGVjdGlvbiB8fCBbXSxcbiAgICAgICAgdGhpcy5maWx0ZXJzIHx8IFtdLFxuICAgICAgICB0aGlzLnNvcnRzIHx8IFtdLFxuICAgICAgICB0aGlzLm11bHRpU2VsZWN0aW9uRW5hYmxlZFxuICAgICAgKS5zdWJzY3JpYmUoXG4gICAgICAgIChzZWxlY3Rpb246IGFueVtdKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChzZWxlY3Rpb24pXG4gICAgICAgICAgaWYgKCF0aGlzLm11bHRpU2VsZWN0aW9uRW5hYmxlZCkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbnRpdHkgPSBzZWxlY3Rpb24/Lmxlbmd0aCA+IDAgPyBzZWxlY3Rpb25bMF0gOiBbXTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uU2luZ2xlQ2hhbmdlLmVtaXQoc2VsZWN0ZWRFbnRpdHkpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdDYW50IG9wZW4gc2VsZWN0aW9uIGJyb3dzZXIgcG9wdXAsIHNpbmNlIFtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlXSB3YXMgbm90IGZvdW5kIScpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
|