@alfresco/adf-core 7.0.0-alpha.8-13285740895 → 7.0.0-alpha.8-15717586720
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/api/lib/adf-http-client.service.mjs +5 -5
- package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +1 -1
- package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +1 -1
- package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +2 -2
- package/esm2022/api/lib/types.mjs +2 -1
- package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +7 -6
- package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +6 -6
- package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +6 -6
- package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +5 -5
- package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +3 -3
- package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +6 -6
- package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +6 -6
- package/esm2022/feature-flags/lib/directives/features.directive.mjs +6 -6
- package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +6 -6
- package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +6 -6
- package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +6 -6
- package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +6 -6
- package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +1 -1
- package/esm2022/feature-flags/lib/services/debug-features.service.mjs +5 -5
- package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +3 -3
- package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +5 -5
- package/esm2022/feature-flags/lib/services/storage-features.service.mjs +6 -6
- package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +3 -3
- package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +3 -3
- package/esm2022/lib/about/about-module-list/module-list.component.mjs +3 -3
- package/esm2022/lib/about/about-package/package-list.component.mjs +4 -4
- package/esm2022/lib/about/about-panel.directive.mjs +3 -3
- package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +4 -4
- package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +4 -4
- package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +3 -3
- package/esm2022/lib/about/about.component.mjs +3 -3
- package/esm2022/lib/about/about.module.mjs +4 -4
- package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +9 -7
- package/esm2022/lib/app-config/app-config.loader.mjs +2 -1
- package/esm2022/lib/app-config/app-config.module.mjs +4 -4
- package/esm2022/lib/app-config/app-config.pipe.mjs +4 -4
- package/esm2022/lib/app-config/app-config.service.mjs +5 -5
- package/esm2022/lib/app-config/debug-app-config.service.mjs +5 -5
- package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +11 -8
- package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +5 -5
- package/esm2022/lib/auth/basic-auth/content-auth.mjs +6 -6
- package/esm2022/lib/auth/basic-auth/process-auth.mjs +6 -7
- package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +1 -1
- package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +1 -1
- package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +2 -2
- package/esm2022/lib/auth/guard/auth-guard.mjs +1 -1
- package/esm2022/lib/auth/guard/auth-guard.service.mjs +5 -5
- package/esm2022/lib/auth/models/identity-role.model.mjs +1 -1
- package/esm2022/lib/auth/models/redirection.model.mjs +1 -1
- package/esm2022/lib/auth/oidc/auth-config.service.mjs +6 -6
- package/esm2022/lib/auth/oidc/auth-routing.module.mjs +4 -4
- package/esm2022/lib/auth/oidc/auth.module.mjs +4 -4
- package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +1 -1
- package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +5 -5
- package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +6 -6
- package/esm2022/lib/auth/oidc/retry-login.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/token.interceptor.mjs +4 -4
- package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +5 -5
- package/esm2022/lib/auth/services/authentication.service.mjs +5 -5
- package/esm2022/lib/auth/services/base-authentication.service.mjs +1 -1
- package/esm2022/lib/auth/services/identity-group.service.mjs +6 -6
- package/esm2022/lib/auth/services/identity-role.service.mjs +5 -5
- package/esm2022/lib/auth/services/identity-user.service.mjs +8 -6
- package/esm2022/lib/auth/services/jwt-helper.service.mjs +4 -4
- package/esm2022/lib/auth/services/oauth2.service.mjs +5 -5
- package/esm2022/lib/auth/services/time-sync.service.mjs +8 -8
- package/esm2022/lib/auth/services/user-access.service.mjs +7 -9
- package/esm2022/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/blank-page/blank-page.component.mjs +3 -3
- package/esm2022/lib/blank-page/blank-page.module.mjs +4 -4
- package/esm2022/lib/button/button.component.mjs +5 -5
- package/esm2022/lib/card-view/card-view.module.mjs +4 -4
- package/esm2022/lib/card-view/components/base-card-view.mjs +5 -5
- package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +3 -3
- package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +6 -6
- package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +6 -6
- package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +3 -3
- package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +6 -6
- package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +6 -6
- package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +1 -1
- package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +1 -1
- package/esm2022/lib/card-view/services/card-item-types.service.mjs +3 -3
- package/esm2022/lib/card-view/services/card-view-update.service.mjs +3 -3
- package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +1 -1
- package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +2 -2
- package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +1 -1
- package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +1 -1
- package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +1 -1
- package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +1 -1
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +4 -2
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +1 -1
- package/esm2022/lib/clipboard/clipboard.directive.mjs +8 -8
- package/esm2022/lib/clipboard/clipboard.module.mjs +4 -4
- package/esm2022/lib/clipboard/clipboard.service.mjs +6 -6
- package/esm2022/lib/comments/comment-list/comment-list.component.mjs +3 -3
- package/esm2022/lib/comments/comment-list/comment-list.module.mjs +4 -4
- package/esm2022/lib/comments/comments.component.mjs +4 -4
- package/esm2022/lib/comments/comments.module.mjs +4 -4
- package/esm2022/lib/common/mock/app-config.service.mock.mjs +4 -4
- package/esm2022/lib/common/models/log-levels.model.mjs +1 -1
- package/esm2022/lib/common/services/cookie.service.mjs +11 -8
- package/esm2022/lib/common/services/download.service.mjs +7 -6
- package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +1 -1
- package/esm2022/lib/common/services/highlight-transform.service.mjs +5 -8
- package/esm2022/lib/common/services/log.service.mjs +5 -5
- package/esm2022/lib/common/services/page-title.service.mjs +5 -5
- package/esm2022/lib/common/services/sort-by-category.service.mjs +4 -4
- package/esm2022/lib/common/services/storage.service.mjs +5 -5
- package/esm2022/lib/common/services/thumbnail.service.mjs +6 -6
- package/esm2022/lib/common/services/url.service.mjs +5 -5
- package/esm2022/lib/common/services/user-preferences.service.mjs +5 -5
- package/esm2022/lib/common/utils/date-fns-adapter.mjs +6 -6
- package/esm2022/lib/common/utils/date-fns-utils.mjs +1 -1
- package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +16 -16
- package/esm2022/lib/common/utils/file-utils.mjs +1 -1
- package/esm2022/lib/common/utils/moment-date-adapter.mjs +5 -5
- package/esm2022/lib/common/utils/moment-date-formats.model.mjs +1 -1
- package/esm2022/lib/common/utils/object-utils.mjs +9 -8
- package/esm2022/lib/common/utils/string-utils.mjs +2 -2
- package/esm2022/lib/context-menu/animations.mjs +1 -1
- package/esm2022/lib/context-menu/context-menu-list.component.mjs +6 -6
- package/esm2022/lib/context-menu/context-menu-overlay.mjs +1 -1
- package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +9 -10
- package/esm2022/lib/context-menu/context-menu.directive.mjs +5 -5
- package/esm2022/lib/context-menu/context-menu.module.mjs +4 -4
- package/esm2022/lib/core.module.mjs +5 -5
- package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +3 -3
- package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +4 -4
- package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +4 -4
- package/esm2022/lib/datatable/components/data-cell.event.mjs +1 -1
- package/esm2022/lib/datatable/components/data-row-action.event.mjs +1 -1
- package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +6 -6
- package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +6 -6
- package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +14 -14
- package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +3 -3
- package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +5 -5
- package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +6 -6
- package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +5 -5
- package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +2 -2
- package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/data/data-row-event.model.mjs +1 -1
- package/esm2022/lib/datatable/data/data-sorting.model.mjs +1 -1
- package/esm2022/lib/datatable/data/data-table.schema.mjs +5 -5
- package/esm2022/lib/datatable/data/object-datarow.model.mjs +1 -1
- package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +1 -1
- package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +5 -5
- package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +3 -3
- package/esm2022/lib/datatable/data-column/data-column.component.mjs +4 -4
- package/esm2022/lib/datatable/datatable.module.mjs +4 -4
- package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +3 -3
- package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +3 -3
- package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +3 -3
- package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +5 -5
- package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +5 -5
- package/esm2022/lib/datatable/directives/loading-template.directive.mjs +5 -5
- package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +5 -5
- package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +5 -5
- package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +5 -5
- package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +5 -5
- package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +5 -5
- package/esm2022/lib/datatable/services/datatable.service.mjs +3 -3
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +5 -5
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +4 -4
- package/esm2022/lib/dialogs/dialog/dialog.component.mjs +6 -6
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +6 -6
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +23 -6
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +6 -6
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +5 -5
- package/esm2022/lib/directives/directive.module.mjs +4 -4
- package/esm2022/lib/directives/highlight.directive.mjs +5 -5
- package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +6 -6
- package/esm2022/lib/directives/logout.directive.mjs +5 -5
- package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +5 -5
- package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +5 -5
- package/esm2022/lib/directives/upload.directive.mjs +5 -5
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +5 -5
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +4 -4
- package/esm2022/lib/events/base.event.mjs +1 -1
- package/esm2022/lib/form/components/form-base.component.mjs +4 -4
- package/esm2022/lib/form/components/form-custom-button.directive.mjs +3 -3
- package/esm2022/lib/form/components/form-field/form-field.component.mjs +5 -5
- package/esm2022/lib/form/components/form-renderer.component.mjs +16 -16
- package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +5 -5
- package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +4 -4
- package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +6 -6
- package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +5 -5
- package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +5 -5
- package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +3 -2
- package/esm2022/lib/form/components/widgets/core/container.model.mjs +1 -1
- package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +1 -1
- package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +1 -1
- package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +1 -1
- package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +27 -24
- package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +1 -1
- package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +1 -1
- package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +1 -1
- package/esm2022/lib/form/components/widgets/core/form.model.mjs +18 -48
- package/esm2022/lib/form/components/widgets/core/tab.model.mjs +1 -1
- package/esm2022/lib/form/components/widgets/date/date.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +6 -6
- package/esm2022/lib/form/components/widgets/error/error.component.mjs +5 -5
- package/esm2022/lib/form/components/widgets/header/header.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +5 -5
- package/esm2022/lib/form/components/widgets/json/json.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/number/number.widget.mjs +5 -5
- package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +7 -7
- package/esm2022/lib/form/components/widgets/text/text.widget.mjs +5 -5
- package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/widget.component.mjs +5 -5
- package/esm2022/lib/form/events/form-error.event.mjs +1 -1
- package/esm2022/lib/form/events/form-field.event.mjs +1 -1
- package/esm2022/lib/form/events/form-rules.event.mjs +1 -1
- package/esm2022/lib/form/events/form.event.mjs +1 -1
- package/esm2022/lib/form/events/validate-form-field.event.mjs +1 -1
- package/esm2022/lib/form/events/validate-form.event.mjs +1 -1
- package/esm2022/lib/form/form-base.module.mjs +4 -4
- package/esm2022/lib/form/models/form-rules.model.mjs +1 -1
- package/esm2022/lib/form/models/widget-visibility.model.mjs +1 -1
- package/esm2022/lib/form/pipes/field-style.pipe.mjs +4 -4
- package/esm2022/lib/form/services/form-rendering.service.mjs +4 -4
- package/esm2022/lib/form/services/form.service.mjs +5 -5
- package/esm2022/lib/form/services/widget-visibility.service.mjs +4 -4
- package/esm2022/lib/header/header.component.mjs +5 -5
- package/esm2022/lib/header/navbar/navbar-item.component.mjs +4 -4
- package/esm2022/lib/header/navbar/navbar.component.mjs +5 -5
- package/esm2022/lib/icon/icon.component.mjs +3 -3
- package/esm2022/lib/icon/icon.module.mjs +4 -4
- package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +4 -4
- package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +4 -4
- package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +14 -14
- package/esm2022/lib/info-drawer/info-drawer.component.mjs +9 -9
- package/esm2022/lib/info-drawer/info-drawer.module.mjs +4 -4
- package/esm2022/lib/language-menu/language-menu.component.mjs +6 -6
- package/esm2022/lib/language-menu/language-menu.module.mjs +4 -4
- package/esm2022/lib/language-menu/language-picker.component.mjs +5 -5
- package/esm2022/lib/language-menu/service/language.service.mjs +5 -5
- package/esm2022/lib/layout/components/header/header.component.mjs +6 -6
- package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +6 -6
- package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +14 -14
- package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +6 -6
- package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +3 -3
- package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +3 -3
- package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +3 -3
- package/esm2022/lib/layout/layout.module.mjs +4 -4
- package/esm2022/lib/login/components/login/login.component.mjs +6 -6
- package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +12 -7
- package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +9 -5
- package/esm2022/lib/login/directives/login-footer.directive.mjs +5 -5
- package/esm2022/lib/login/directives/login-header.directive.mjs +5 -5
- package/esm2022/lib/login/login.module.mjs +4 -4
- package/esm2022/lib/login/models/login-submit.event.mjs +1 -1
- package/esm2022/lib/login/models/login-success.event.mjs +1 -1
- package/esm2022/lib/material.module.mjs +4 -4
- package/esm2022/lib/mock/cookie.service.mock.mjs +4 -4
- package/esm2022/lib/mock/data-column.mock.mjs +40 -8
- package/esm2022/lib/mock/event.mock.mjs +1 -1
- package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +3 -3
- package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +5 -5
- package/esm2022/lib/mock/form/form-definition.mock.mjs +7 -7
- package/esm2022/lib/mock/form/form.component.mock.mjs +5 -5
- package/esm2022/lib/mock/form/form.service.mock.mjs +5 -5
- package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +51 -83
- package/esm2022/lib/mock/translation.service.mock.mjs +3 -3
- package/esm2022/lib/models/comment.model.mjs +1 -1
- package/esm2022/lib/models/decimal-number.model.mjs +1 -1
- package/esm2022/lib/models/general-user.model.mjs +1 -1
- package/esm2022/lib/models/pagination.model.mjs +1 -1
- package/esm2022/lib/models/path.model.mjs +1 -1
- package/esm2022/lib/models/product-version.model.mjs +1 -1
- package/esm2022/lib/models/request-pagination.model.mjs +1 -1
- package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +4 -4
- package/esm2022/lib/notifications/components/notification-history.component.mjs +6 -6
- package/esm2022/lib/notifications/helpers/notification.factory.mjs +1 -1
- package/esm2022/lib/notifications/notification-history.module.mjs +4 -4
- package/esm2022/lib/notifications/services/notification.service.mjs +7 -7
- package/esm2022/lib/pagination/infinite-pagination.component.mjs +6 -6
- package/esm2022/lib/pagination/pagination.component.mjs +5 -5
- package/esm2022/lib/pagination/pagination.module.mjs +4 -4
- package/esm2022/lib/pipes/date-time.pipe.mjs +4 -4
- package/esm2022/lib/pipes/decimal-number.pipe.mjs +5 -5
- package/esm2022/lib/pipes/file-size.pipe.mjs +5 -5
- package/esm2022/lib/pipes/file-type.pipe.mjs +4 -4
- package/esm2022/lib/pipes/format-space.pipe.mjs +4 -4
- package/esm2022/lib/pipes/full-name.pipe.mjs +3 -3
- package/esm2022/lib/pipes/localized-date.pipe.mjs +5 -5
- package/esm2022/lib/pipes/multi-value.pipe.mjs +4 -4
- package/esm2022/lib/pipes/pipe.module.mjs +4 -4
- package/esm2022/lib/pipes/text-highlight.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-ago.pipe.mjs +5 -5
- package/esm2022/lib/pipes/truncate.pipe.mjs +3 -3
- package/esm2022/lib/pipes/user-initial.pipe.mjs +5 -5
- package/esm2022/lib/pipes/user-like.interface.mjs +2 -1
- package/esm2022/lib/progress/progress.component.mjs +4 -4
- package/esm2022/lib/search-text/animations.mjs +1 -1
- package/esm2022/lib/search-text/search-text-input.component.mjs +5 -5
- package/esm2022/lib/search-text/search-text-input.module.mjs +4 -4
- package/esm2022/lib/search-text/search-trigger.directive.mjs +6 -6
- package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +6 -6
- package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +26 -8
- package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +4 -4
- package/esm2022/lib/templates/empty-content/empty-content.component.mjs +5 -5
- package/esm2022/lib/templates/error-content/error-content.component.mjs +6 -6
- package/esm2022/lib/templates/template.module.mjs +4 -4
- package/esm2022/lib/testing/core.story.module.mjs +4 -4
- package/esm2022/lib/testing/core.testing.module.mjs +4 -4
- package/esm2022/lib/testing/noop-auth.module.mjs +9 -10
- package/esm2022/lib/testing/noop-translate.module.mjs +7 -7
- package/esm2022/lib/testing/unit-testing-utils.mjs +1 -1
- package/esm2022/lib/toolbar/toolbar-divider.component.mjs +3 -3
- package/esm2022/lib/toolbar/toolbar-title.component.mjs +5 -5
- package/esm2022/lib/toolbar/toolbar.component.mjs +5 -5
- package/esm2022/lib/toolbar/toolbar.module.mjs +4 -4
- package/esm2022/lib/translation/translate-loader.service.mjs +5 -5
- package/esm2022/lib/translation/translation.service.mjs +6 -6
- package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +3 -3
- package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +5 -5
- package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +5 -5
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +6 -6
- package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +5 -5
- package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +5 -5
- package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +6 -6
- package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +5 -5
- package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +3 -3
- package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +5 -5
- package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +5 -5
- package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +6 -6
- package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +5 -5
- package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +5 -5
- package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +5 -5
- package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +5 -5
- package/esm2022/lib/viewer/components/viewer.component.mjs +6 -6
- package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +5 -5
- package/esm2022/lib/viewer/services/rendering-queue.services.mjs +4 -4
- package/esm2022/lib/viewer/services/view-util.service.mjs +5 -5
- package/esm2022/lib/viewer/viewer.module.mjs +4 -4
- package/esm2022/shell/lib/components/shell/shell.component.mjs +6 -6
- package/esm2022/shell/lib/shell.module.mjs +5 -5
- package/esm2022/shell/lib/shell.routes.mjs +1 -1
- package/fesm2022/adf-core.mjs +1282 -1296
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +7 -6
- package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-auth.mjs +6 -5
- package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +15 -15
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-feature-flags.mjs +57 -57
- package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-shell.mjs +10 -10
- package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
- package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +3 -3
- package/lib/form/components/form-renderer.component.d.ts +1 -1
- package/lib/form/components/form-renderer.component.scss +28 -26
- package/lib/form/components/widgets/core/container-column.model.d.ts +1 -2
- package/lib/form/components/widgets/core/form-field.model.d.ts +0 -1
- package/lib/form/components/widgets/core/form.model.d.ts +1 -8
- package/lib/form/components/widgets/display-text/display-text.widget.scss +0 -1
- package/lib/login/components/login/login.component.scss +4 -0
- package/lib/notifications/components/notification-history.component.scss +0 -1
- package/lib/prebuilt-themes/adf-blue-orange.css +1 -1
- package/lib/prebuilt-themes/adf-blue-purple.css +1 -1
- package/lib/prebuilt-themes/adf-cyan-orange.css +1 -1
- package/lib/prebuilt-themes/adf-cyan-purple.css +1 -1
- package/lib/prebuilt-themes/adf-green-orange.css +1 -1
- package/lib/prebuilt-themes/adf-green-purple.css +1 -1
- package/lib/prebuilt-themes/adf-indigo-pink.css +1 -1
- package/lib/prebuilt-themes/adf-pink-bluegrey.css +1 -1
- package/lib/prebuilt-themes/adf-purple-green.css +1 -1
- package/lib/styles/_mat-selectors.scss +0 -2
- package/lib/styles/material.theme.scss +0 -4
- package/lib/testing/noop-auth.module.d.ts +1 -1
- package/package.json +23 -23
- package/schematics/migrations/package.json +62 -0
- package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
- package/schematics/migrations/schematics/migrations/collection.json +8 -8
- package/esm2022/lib/form/components/form-section/form-section.component.mjs +0 -46
- package/lib/form/components/form-section/form-section.component.d.ts +0 -27
- package/lib/form/components/form-section/form-section.component.scss +0 -18
|
@@ -211,16 +211,16 @@ export class UploadDirective {
|
|
|
211
211
|
event.target.value = '';
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
215
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UploadDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
215
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: UploadDirective, isStandalone: true, selector: "[adf-upload]", inputs: { enabled: ["adf-upload", "enabled"], data: ["adf-upload-data", "data"], mode: "mode", multiple: "multiple", accept: "accept", directory: "directory" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
216
216
|
}
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UploadDirective, decorators: [{
|
|
218
218
|
type: Directive,
|
|
219
219
|
args: [{
|
|
220
220
|
selector: '[adf-upload]',
|
|
221
221
|
standalone: true
|
|
222
222
|
}]
|
|
223
|
-
}], ctorParameters: ()
|
|
223
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { enabled: [{
|
|
224
224
|
type: Input,
|
|
225
225
|
args: ['adf-upload']
|
|
226
226
|
}], data: [{
|
|
@@ -238,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
238
238
|
type: HostListener,
|
|
239
239
|
args: ['click', ['$event']]
|
|
240
240
|
}] } });
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy91cGxvYWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILG9EQUFvRDtBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLGVBQWU7SUFrQ3hCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQixFQUFVLE1BQWM7UUFBbkUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBakN2RixrQ0FBa0M7UUFFbEMsWUFBTyxHQUFZLElBQUksQ0FBQztRQU14Qjs7O1dBR0c7UUFFSCxTQUFJLEdBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWE7UUFjeEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVwQixpQkFBWSxHQUFXLHNCQUFzQixDQUFDO1FBS2xELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUU3RSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFHRCxPQUFPLENBQUMsS0FBWTtRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUNwQixLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFnQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUNwQixLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBWTtRQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBRXhCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQjtRQUMzQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRTtvQkFDSixNQUFNLEVBQUUsSUFBSTtvQkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7b0JBQ2YsS0FBSztpQkFDUjtnQkFDRCxPQUFPLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsQ0FBQztJQUNMLENBQUM7SUFFUyxPQUFPLENBQUMsSUFBWTtRQUMxQixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVTLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxXQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWtCO1FBQzlCLElBQUksS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxLQUFLLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ3JDLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxZQUEwQjtRQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBRXRCLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDakMsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDUixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUNwQyxJQUFJLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixLQUFLLFdBQVcsRUFBRSxDQUFDOzRCQUNuRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzs0QkFDekMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQ0FDUCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQ0FDZCxVQUFVLENBQUMsSUFBSSxDQUNYLE9BQU8sQ0FBQyxPQUFPLENBQUM7d0NBQ1osS0FBSyxFQUFFLElBQUk7d0NBQ1gsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7d0NBQzFCLGNBQWMsRUFBRSxHQUFHO3FDQUN0QixDQUFDLENBQ0wsQ0FBQztnQ0FDTixDQUFDO3FDQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29DQUMxQixVQUFVLENBQUMsSUFBSSxDQUNYLElBQUksT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7d0NBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQ0FDbEUsQ0FBQyxDQUFDLENBQ0wsQ0FBQztnQ0FDTixDQUFDOzRCQUNMLENBQUM7d0JBQ0wsQ0FBQzs2QkFBTSxDQUFDOzRCQUNKLFVBQVUsQ0FBQyxJQUFJLENBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQ0FDWixLQUFLLEVBQUUsSUFBSTtnQ0FDWCxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRTtnQ0FDMUIsY0FBYyxFQUFFLEdBQUc7NkJBQ3RCLENBQUMsQ0FDTCxDQUFDO3dCQUNOLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osZUFBZTtvQkFDZixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ25FLEtBQUssRUFBRSxJQUFJO3dCQUNYLElBQUk7d0JBQ0osY0FBYyxFQUFFLEdBQUc7cUJBQ3RCLENBQUMsQ0FBQyxDQUFDO29CQUVKLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxLQUFVO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUNkLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUk7Z0JBQ0osY0FBYyxFQUFFLEdBQUc7YUFDdEIsQ0FBQyxDQUFDLENBQ04sQ0FBQztZQUNGLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQzs4R0FwUFEsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7NEhBSUcsT0FBTztzQkFETixLQUFLO3VCQUFDLFlBQVk7Z0JBS25CLElBQUk7c0JBREgsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBUXhCLElBQUk7c0JBREgsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFxRE4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsZUluZm8sIEZpbGVVdGlscyB9IGZyb20gJy4uL2NvbW1vbi91dGlscy9maWxlLXV0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYWRmLXVwbG9hZF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBFbmFibGVzL2Rpc2FibGVzIHVwbG9hZGluZy4gKi9cbiAgICBASW5wdXQoJ2FkZi11cGxvYWQnKVxuICAgIGVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIERhdGEgdG8gdXBsb2FkLiAqL1xuICAgIEBJbnB1dCgnYWRmLXVwbG9hZC1kYXRhJylcbiAgICBkYXRhOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBVcGxvYWQgbW9kZS4gQ2FuIGJlIFwiZHJvcFwiIChyZWNlaXZlcyBkcm9wcGVkIGZpbGVzKSBvciBcImNsaWNrXCJcbiAgICAgKiAoY2xpY2tpbmcgb3BlbnMgYSBmaWxlIGRpYWxvZykuIEJvdGggbW9kZXMgY2FuIGJlIGFjdGl2ZSBhdCBvbmNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9kZTogc3RyaW5nW10gPSBbJ2Ryb3AnXTsgLy8gY2xpY2t8ZHJvcFxuXG4gICAgLyoqIFRvZ2dsZXMgbXVsdGlwbGUgZmlsZSB1cGxvYWRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICAvKiogKENsaWNrIG1vZGUgb25seSkgTUlNRSB0eXBlIGZpbHRlciBmb3IgZmlsZXMgdG8gYWNjZXB0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWNjZXB0OiBzdHJpbmc7XG5cbiAgICAvKiogKENsaWNrIG1vZGUgb25seSkgVG9nZ2xlcyB1cGxvYWRpbmcgb2YgZGlyZWN0b3JpZXMuICovXG4gICAgQElucHV0KClcbiAgICBkaXJlY3Rvcnk6IGJvb2xlYW47XG5cbiAgICBpc0RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGNzc0NsYXNzTmFtZTogc3RyaW5nID0gJ2FkZi11cGxvYWRfX2RyYWdnaW5nJztcbiAgICBwcml2YXRlIHVwbG9hZDogSFRNTElucHV0RWxlbWVudDtcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQ2xpY2tNb2RlKCkgJiYgdGhpcy5yZW5kZXJlcikge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRVcGxvYWQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGlucHV0VXBsb2FkKTtcblxuICAgICAgICAgICAgdGhpcy51cGxvYWQudHlwZSA9ICdmaWxlJztcbiAgICAgICAgICAgIHRoaXMudXBsb2FkLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZXZlbnQpID0+IHRoaXMub25TZWxlY3RGaWxlcyhldmVudCkpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkLnNldEF0dHJpYnV0ZSgnbXVsdGlwbGUnLCAnJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmFjY2VwdCkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkLnNldEF0dHJpYnV0ZSgnYWNjZXB0JywgdGhpcy5hY2NlcHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5kaXJlY3RvcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZC5zZXRBdHRyaWJ1dGUoJ3dlYmtpdGRpcmVjdG9yeScsICcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRHJvcE1vZGUoKSkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCB0aGlzLm9uRHJhZ0VudGVyLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMub25EcmFnT3Zlci5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5vbkRyYWdMZWF2ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIHRoaXMub25Ecm9wLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIHRoaXMub25EcmFnRW50ZXIpO1xuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCB0aGlzLm9uRHJhZ092ZXIpO1xuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5vbkRyYWdMZWF2ZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcm9wJywgdGhpcy5vbkRyb3ApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc0NsaWNrTW9kZSgpICYmIHRoaXMudXBsb2FkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy51cGxvYWQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJhZ0VudGVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEcm9wTW9kZSgpKSB7XG4gICAgICAgICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuY3NzQ2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKHRoaXMuaXNEcm9wTW9kZSgpKSB7XG4gICAgICAgICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuY3NzQ2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIG9uRHJhZ0xlYXZlKCkge1xuICAgICAgICBpZiAodGhpcy5pc0Ryb3BNb2RlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY3NzQ2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ecm9wKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc0Ryb3BNb2RlKCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5jc3NDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGNvbnN0IGRhdGFUcmFuc2ZlciA9IHRoaXMuZ2V0RGF0YVRyYW5zZmVyKGV2ZW50KTtcbiAgICAgICAgICAgIGlmIChkYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZpbGVzRHJvcHBlZChkYXRhVHJhbnNmZXIpLnRoZW4oKGZpbGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25VcGxvYWRGaWxlcyhmaWxlcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIG9uVXBsb2FkRmlsZXMoZmlsZXM6IEZpbGVJbmZvW10pIHtcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlZCAmJiBmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21FdmVudCA9IG5ldyBDdXN0b21FdmVudCgndXBsb2FkLWZpbGVzJywge1xuICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICBzZW5kZXI6IHRoaXMsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgZmlsZXNcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChjdXN0b21FdmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFzTW9kZShtb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5hYmxlZCAmJiBtb2RlICYmIHRoaXMubW9kZSAmJiB0aGlzLm1vZGUuaW5kZXhPZihtb2RlKSA+IC0xO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc0Ryb3BNb2RlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNNb2RlKCdkcm9wJyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzQ2xpY2tNb2RlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNNb2RlKCdjbGljaycpO1xuICAgIH1cblxuICAgIGdldERhdGFUcmFuc2ZlcihldmVudDogRXZlbnQgfCBhbnkpOiBEYXRhVHJhbnNmZXIge1xuICAgICAgICBpZiAoZXZlbnQ/LmRhdGFUcmFuc2Zlcikge1xuICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmRhdGFUcmFuc2ZlcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQ/Lm9yaWdpbmFsRXZlbnQ/LmRhdGFUcmFuc2Zlcikge1xuICAgICAgICAgICAgcmV0dXJuIGV2ZW50Lm9yaWdpbmFsRXZlbnQuZGF0YVRyYW5zZmVyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4dHJhY3QgZmlsZXMgZnJvbSB0aGUgRGF0YVRyYW5zZmVyIG9iamVjdCB1c2VkIHRvIGhvbGQgdGhlIGRhdGEgdGhhdCBpcyBiZWluZyBkcmFnZ2VkIGR1cmluZyBhIGRyYWcgYW5kIGRyb3Agb3BlcmF0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGFUcmFuc2ZlciBEYXRhVHJhbnNmZXIgb2JqZWN0XG4gICAgICogQHJldHVybnMgYSBsaXN0IG9mIGZpbGUgaW5mbyBvYmplY3RzXG4gICAgICovXG4gICAgZ2V0RmlsZXNEcm9wcGVkKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyKTogUHJvbWlzZTxGaWxlSW5mb1tdPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlcmF0aW9ucyA9IFtdO1xuXG4gICAgICAgICAgICBpZiAoZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhVHJhbnNmZXIuaXRlbXM7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbXNbaV0ud2Via2l0R2V0QXNFbnRyeSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV0ud2Via2l0R2V0QXNFbnRyeSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmlzRmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5OiBpdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOiBpdGVtc1tpXS5nZXRBc0ZpbGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVGb2xkZXI6ICcvJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uaXNEaXJlY3RvcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZUZvbGRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxlVXRpbHMuZmxhdHRlbihpdGVtKS50aGVuKChmaWxlcykgPT4gcmVzb2x2ZUZvbGRlcihmaWxlcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IGl0ZW1zW2ldLmdldEFzRmlsZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVGb2xkZXI6ICcvJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBzYWZhcmkgb3IgRkZcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBGaWxlVXRpbHMudG9GaWxlQXJyYXkoZGF0YVRyYW5zZmVyLmZpbGVzKS5tYXAoKGZpbGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRyeTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZUZvbGRlcjogJy8nXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcblxuICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zLnB1c2goUHJvbWlzZS5yZXNvbHZlKGZpbGVzKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBQcm9taXNlLmFsbChpdGVyYXRpb25zKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdC5yZWR1Y2UoKGEsIGIpID0+IGEuY29uY2F0KGIpLCBbXSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEludm9rZWQgd2hlbiB1c2VyIHNlbGVjdHMgZmlsZXMgb3IgZm9sZGVycyBieSBtZWFucyBvZiBGaWxlIERpYWxvZ1xuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50IERPTSBldmVudFxuICAgICAqL1xuICAgIG9uU2VsZWN0RmlsZXMoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0NsaWNrTW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgICAgICBjb25zdCBmaWxlcyA9IEZpbGVVdGlscy50b0ZpbGVBcnJheShpbnB1dC5maWxlcyk7XG4gICAgICAgICAgICB0aGlzLm9uVXBsb2FkRmlsZXMoXG4gICAgICAgICAgICAgICAgZmlsZXMubWFwKChmaWxlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBlbnRyeTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVGb2xkZXI6ICcvJ1xuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy91cGxvYWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILG9EQUFvRDtBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLGVBQWU7SUFrQ3hCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQixFQUFVLE1BQWM7UUFBbkUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBakN2RixrQ0FBa0M7UUFFbEMsWUFBTyxHQUFZLElBQUksQ0FBQztRQU14Qjs7O1dBR0c7UUFFSCxTQUFJLEdBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWE7UUFjeEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVwQixpQkFBWSxHQUFXLHNCQUFzQixDQUFDO1FBS2xELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDckMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFD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WUFDRixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDOzhHQXBQUSxlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4SUFJRyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsWUFBWTtnQkFLbkIsSUFBSTtzQkFESCxLQUFLO3VCQUFDLGlCQUFpQjtnQkFReEIsSUFBSTtzQkFESCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQXFETixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWxlSW5mbywgRmlsZVV0aWxzIH0gZnJvbSAnLi4vY29tbW9uL3V0aWxzL2ZpbGUtdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thZGYtdXBsb2FkXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEVuYWJsZXMvZGlzYWJsZXMgdXBsb2FkaW5nLiAqL1xuICAgIEBJbnB1dCgnYWRmLXVwbG9hZCcpXG4gICAgZW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogRGF0YSB0byB1cGxvYWQuICovXG4gICAgQElucHV0KCdhZGYtdXBsb2FkLWRhdGEnKVxuICAgIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIFVwbG9hZCBtb2RlLiBDYW4gYmUgXCJkcm9wXCIgKHJlY2VpdmVzIGRyb3BwZWQgZmlsZXMpIG9yIFwiY2xpY2tcIlxuICAgICAqIChjbGlja2luZyBvcGVucyBhIGZpbGUgZGlhbG9nKS4gQm90aCBtb2RlcyBjYW4gYmUgYWN0aXZlIGF0IG9uY2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBtb2RlOiBzdHJpbmdbXSA9IFsnZHJvcCddOyAvLyBjbGlja3xkcm9wXG5cbiAgICAvKiogVG9nZ2xlcyBtdWx0aXBsZSBmaWxlIHVwbG9hZHMuICovXG4gICAgQElucHV0KClcbiAgICBtdWx0aXBsZTogYm9vbGVhbjtcblxuICAgIC8qKiAoQ2xpY2sgbW9kZSBvbmx5KSBNSU1FIHR5cGUgZmlsdGVyIGZvciBmaWxlcyB0byBhY2NlcHQuICovXG4gICAgQElucHV0KClcbiAgICBhY2NlcHQ6IHN0cmluZztcblxuICAgIC8qKiAoQ2xpY2sgbW9kZSBvbmx5KSBUb2dnbGVzIHVwbG9hZGluZyBvZiBkaXJlY3Rvcmllcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpcmVjdG9yeTogYm9vbGVhbjtcblxuICAgIGlzRHJhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgY3NzQ2xhc3NOYW1lOiBzdHJpbmcgPSAnYWRmLXVwbG9hZF9fZHJhZ2dpbmcnO1xuICAgIHByaXZhdGUgdXBsb2FkOiBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHByaXZhdGUgZWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDbGlja01vZGUoKSAmJiB0aGlzLnJlbmRlcmVyKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFVwbG9hZCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoaW5wdXRVcGxvYWQpO1xuXG4gICAgICAgICAgICB0aGlzLnVwbG9hZC50eXBlID0gJ2ZpbGUnO1xuICAgICAgICAgICAgdGhpcy51cGxvYWQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgIHRoaXMudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChldmVudCkgPT4gdGhpcy5vblNlbGVjdEZpbGVzKGV2ZW50KSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWQuc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICcnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuYWNjZXB0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWQuc2V0QXR0cmlidXRlKCdhY2NlcHQnLCB0aGlzLmFjY2VwdCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRpcmVjdG9yeSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkLnNldEF0dHJpYnV0ZSgnd2Via2l0ZGlyZWN0b3J5JywgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNEcm9wTW9kZSgpKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIHRoaXMub25EcmFnRW50ZXIuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgdGhpcy5vbkRyYWdPdmVyLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCB0aGlzLm9uRHJhZ0xlYXZlLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgdGhpcy5vbkRyb3AuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ2VudGVyJywgdGhpcy5vbkRyYWdFbnRlcik7XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMub25EcmFnT3Zlcik7XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCB0aGlzLm9uRHJhZ0xlYXZlKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCB0aGlzLm9uRHJvcCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzQ2xpY2tNb2RlKCkgJiYgdGhpcy51cGxvYWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZC5jbGljaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc0Ryb3BNb2RlKCkpIHtcbiAgICAgICAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ2NvcHknO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5jc3NDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5pc0Ryb3BNb2RlKCkpIHtcbiAgICAgICAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ2NvcHknO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5jc3NDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgb25EcmFnTGVhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcE1vZGUoKSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5jc3NDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRyb3AoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcE1vZGUoKSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNzc0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgY29uc3QgZGF0YVRyYW5zZmVyID0gdGhpcy5nZXREYXRhVHJhbnNmZXIoZXZlbnQpO1xuICAgICAgICAgICAgaWYgKGRhdGFUcmFuc2Zlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmlsZXNEcm9wcGVkKGRhdGFUcmFuc2ZlcikudGhlbigoZmlsZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblVwbG9hZEZpbGVzKGZpbGVzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgb25VcGxvYWRGaWxlcyhmaWxlczogRmlsZUluZm9bXSkge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVkICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCd1cGxvYWQtZmlsZXMnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgIHNlbmRlcjogdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogdGhpcy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBmaWxlc1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGN1c3RvbUV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYXNNb2RlKG1vZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbmFibGVkICYmIG1vZGUgJiYgdGhpcy5tb2RlICYmIHRoaXMubW9kZS5pbmRleE9mKG1vZGUpID4gLTE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzRHJvcE1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc01vZGUoJ2Ryb3AnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNDbGlja01vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc01vZGUoJ2NsaWNrJyk7XG4gICAgfVxuXG4gICAgZ2V0RGF0YVRyYW5zZmVyKGV2ZW50OiBFdmVudCB8IGFueSk6IERhdGFUcmFuc2ZlciB7XG4gICAgICAgIGlmIChldmVudD8uZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQuZGF0YVRyYW5zZmVyO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudD8ub3JpZ2luYWxFdmVudD8uZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQub3JpZ2luYWxFdmVudC5kYXRhVHJhbnNmZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXh0cmFjdCBmaWxlcyBmcm9tIHRoZSBEYXRhVHJhbnNmZXIgb2JqZWN0IHVzZWQgdG8gaG9sZCB0aGUgZGF0YSB0aGF0IGlzIGJlaW5nIGRyYWdnZWQgZHVyaW5nIGEgZHJhZyBhbmQgZHJvcCBvcGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YVRyYW5zZmVyIERhdGFUcmFuc2ZlciBvYmplY3RcbiAgICAgKiBAcmV0dXJucyBhIGxpc3Qgb2YgZmlsZSBpbmZvIG9iamVjdHNcbiAgICAgKi9cbiAgICBnZXRGaWxlc0Ryb3BwZWQoZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIpOiBQcm9taXNlPEZpbGVJbmZvW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVyYXRpb25zID0gW107XG5cbiAgICAgICAgICAgIGlmIChkYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGFUcmFuc2Zlci5pdGVtcztcbiAgICAgICAgICAgICAgICBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtc1tpXS53ZWJraXRHZXRBc0VudHJ5ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXS53ZWJraXRHZXRBc0VudHJ5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uaXNGaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnk6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IGl0ZW1zW2ldLmdldEFzRmlsZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZUZvbGRlcjogJy8nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5pc0RpcmVjdG9yeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBQcm9taXNlKChyZXNvbHZlRm9sZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbGVVdGlscy5mbGF0dGVuKGl0ZW0pLnRoZW4oKGZpbGVzKSA9PiByZXNvbHZlRm9sZGVyKGZpbGVzKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogaXRlbXNbaV0uZ2V0QXNGaWxlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZUZvbGRlcjogJy8nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNhZmFyaSBvciBGRlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IEZpbGVVdGlscy50b0ZpbGVBcnJheShkYXRhVHJhbnNmZXIuZmlsZXMpLm1hcCgoZmlsZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlRm9sZGVyOiAnLydcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnMucHVzaChQcm9taXNlLnJlc29sdmUoZmlsZXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFByb21pc2UuYWxsKGl0ZXJhdGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0LnJlZHVjZSgoYSwgYikgPT4gYS5jb25jYXQoYiksIFtdKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCB3aGVuIHVzZXIgc2VsZWN0cyBmaWxlcyBvciBmb2xkZXJzIGJ5IG1lYW5zIG9mIEZpbGUgRGlhbG9nXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgRE9NIGV2ZW50XG4gICAgICovXG4gICAgb25TZWxlY3RGaWxlcyhldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQ2xpY2tNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzID0gRmlsZVV0aWxzLnRvRmlsZUFycmF5KGlucHV0LmZpbGVzKTtcbiAgICAgICAgICAgIHRoaXMub25VcGxvYWRGaWxlcyhcbiAgICAgICAgICAgICAgICBmaWxlcy5tYXAoKGZpbGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGVudHJ5OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZUZvbGRlcjogJy8nXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -172,13 +172,13 @@ export class DynamicChipListComponent {
|
|
|
172
172
|
this.viewMoreButtonTop = null;
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
175
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DynamicChipListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
176
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: DynamicChipListComponent, isStandalone: true, selector: "adf-dynamic-chip-list", inputs: { pagination: "pagination", chips: "chips", showDelete: "showDelete", disableDelete: "disableDelete", limitChipsDisplayed: "limitChipsDisplayed", roundUpChips: "roundUpChips" }, outputs: { displayNext: "displayNext", removedChip: "removedChip" }, viewQueries: [{ propertyName: "containerView", first: true, predicate: ["nodeListContainer"], descendants: true }, { propertyName: "matChips", predicate: MatChip, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"adf-dynamic-chip-list-container\"\n [class.adf-dynamic-chip-list-flex-column]=\"limitChipsDisplayed && (!calculationsDone || columnFlexDirection)\"\n [class.adf-dynamic-chip-list-button-in-next-line]=\"moveLoadMoreButtonToNextRow\"\n [class.adf-dynamic-chip-list-paginated]=\"paginationData\"\n #nodeListContainer>\n <mat-chip-set\n [class.adf-dynamic-chip-list-full-width]=\"limitChipsDisplayed && !calculationsDone\"\n role=\"listbox\"\n [attr.aria-label]=\"'METADATA.BASIC.TAGS' | translate\">\n <mat-chip\n class=\"adf-dynamic-chip-list-chip\"\n *ngFor=\"let chip of chipsToDisplay; let idx = index\"\n [style.border-radius]=\"roundUpChips ? '20px' : '10px'\"\n [style.font-weight]=\"'bold'\"\n (removed)=\"removedChip.emit(chip.id)\">\n <span id=\"adf-dynamic-chip-list-chip-name-{{ idx }}\">{{ chip.name }}</span>\n <mat-icon *ngIf=\"showDelete\"\n id=\"adf-dynamic-chip-list-delete-{{ chip.name }}\"\n class=\"adf-dynamic-chip-list-delete-icon\"\n [disabled]=\"disableDelete\"\n matChipRemove>\n close\n </mat-icon>\n </mat-chip>\n </mat-chip-set>\n <button\n data-automation-id=\"adf-dynamic-chip-list-view-more-button\"\n mat-button\n [hidden]=\"chipsToDisplay?.length === 0 || !limitChipsDisplayed\"\n [style.left.px]=\"viewMoreButtonLeftOffset\"\n [style.top.px]=\"!!pagination ? viewMoreButtonTop : ''\"\n class=\"adf-dynamic-chip-list-view-more-button\"\n [class.adf-dynamic-chip-list-hidden-btn]=\"!calculationsDone\"\n (click)=\"displayNextChips($event)\">\n {{\n paginationData ? ('DYNAMIC_CHIP_LIST.LOAD_MORE' | translate) :\n ('TAG_NODE_LIST.VIEW_MORE' | translate: { count: undisplayedChipsCount })\n }}\n </button>\n</div>\n", styles: [".adf-dynamic-chip-list-container{display:flex;flex-direction:row;width:inherit;padding-top:12px;padding-bottom:12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button{margin-left:5px;position:absolute;padding:0 16px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button[hidden]{visibility:hidden}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column{flex-direction:column}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column .adf-dynamic-chip-list-view-more-button{position:relative}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-paginated .adf-dynamic-chip-list-view-more-button{margin-left:24px}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-button-in-next-line{align-items:unset;padding-bottom:54px}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated){align-items:center}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated):not(.adf-dynamic-chip-list-flex-column) .adf-dynamic-chip-list-view-more-button{margin-left:4px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-full-width{width:100%}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-hidden-btn{visibility:hidden}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip{word-break:break-word;margin-top:0;margin-bottom:0;padding:6px 11px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action{padding:2px 12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action .mdc-evolution-chip__text-label{color:var(--adf-theme-foreground-text-color-054)}\n"], dependencies: [{ kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
177
177
|
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DynamicChipListComponent, decorators: [{
|
|
179
179
|
type: Component,
|
|
180
180
|
args: [{ selector: 'adf-dynamic-chip-list', standalone: true, imports: [MatChipsModule, TranslateModule, NgForOf, MatIconModule, NgIf, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-dynamic-chip-list-container\"\n [class.adf-dynamic-chip-list-flex-column]=\"limitChipsDisplayed && (!calculationsDone || columnFlexDirection)\"\n [class.adf-dynamic-chip-list-button-in-next-line]=\"moveLoadMoreButtonToNextRow\"\n [class.adf-dynamic-chip-list-paginated]=\"paginationData\"\n #nodeListContainer>\n <mat-chip-set\n [class.adf-dynamic-chip-list-full-width]=\"limitChipsDisplayed && !calculationsDone\"\n role=\"listbox\"\n [attr.aria-label]=\"'METADATA.BASIC.TAGS' | translate\">\n <mat-chip\n class=\"adf-dynamic-chip-list-chip\"\n *ngFor=\"let chip of chipsToDisplay; let idx = index\"\n [style.border-radius]=\"roundUpChips ? '20px' : '10px'\"\n [style.font-weight]=\"'bold'\"\n (removed)=\"removedChip.emit(chip.id)\">\n <span id=\"adf-dynamic-chip-list-chip-name-{{ idx }}\">{{ chip.name }}</span>\n <mat-icon *ngIf=\"showDelete\"\n id=\"adf-dynamic-chip-list-delete-{{ chip.name }}\"\n class=\"adf-dynamic-chip-list-delete-icon\"\n [disabled]=\"disableDelete\"\n matChipRemove>\n close\n </mat-icon>\n </mat-chip>\n </mat-chip-set>\n <button\n data-automation-id=\"adf-dynamic-chip-list-view-more-button\"\n mat-button\n [hidden]=\"chipsToDisplay?.length === 0 || !limitChipsDisplayed\"\n [style.left.px]=\"viewMoreButtonLeftOffset\"\n [style.top.px]=\"!!pagination ? viewMoreButtonTop : ''\"\n class=\"adf-dynamic-chip-list-view-more-button\"\n [class.adf-dynamic-chip-list-hidden-btn]=\"!calculationsDone\"\n (click)=\"displayNextChips($event)\">\n {{\n paginationData ? ('DYNAMIC_CHIP_LIST.LOAD_MORE' | translate) :\n ('TAG_NODE_LIST.VIEW_MORE' | translate: { count: undisplayedChipsCount })\n }}\n </button>\n</div>\n", styles: [".adf-dynamic-chip-list-container{display:flex;flex-direction:row;width:inherit;padding-top:12px;padding-bottom:12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button{margin-left:5px;position:absolute;padding:0 16px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-view-more-button[hidden]{visibility:hidden}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column{flex-direction:column}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-flex-column .adf-dynamic-chip-list-view-more-button{position:relative}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-paginated .adf-dynamic-chip-list-view-more-button{margin-left:24px}.adf-dynamic-chip-list-container.adf-dynamic-chip-list-button-in-next-line{align-items:unset;padding-bottom:54px}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated){align-items:center}.adf-dynamic-chip-list-container:not(.adf-dynamic-chip-list-paginated):not(.adf-dynamic-chip-list-flex-column) .adf-dynamic-chip-list-view-more-button{margin-left:4px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-full-width{width:100%}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-hidden-btn{visibility:hidden}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip{word-break:break-word;margin-top:0;margin-bottom:0;padding:6px 11px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action{padding:2px 12px}.adf-dynamic-chip-list-container .adf-dynamic-chip-list-chip .mdc-evolution-chip__action .mdc-evolution-chip__text-label{color:var(--adf-theme-foreground-text-color-054)}\n"] }]
|
|
181
|
-
}], ctorParameters: ()
|
|
181
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { pagination: [{
|
|
182
182
|
type: Input
|
|
183
183
|
}], chips: [{
|
|
184
184
|
type: Input,
|
|
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
202
202
|
type: ViewChildren,
|
|
203
203
|
args: [MatChip]
|
|
204
204
|
}] } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGlwLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9keW5hbWljLWNoaXAtbGlzdC9keW5hbWljLWNoaXAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2R5bmFtaWMtY2hpcC1saXN0L2R5bmFtaWMtY2hpcC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3REOztHQUVHO0FBU0gsTUFBTSxPQUFPLHdCQUF3QjtJQTREakMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsRHhELDBCQUEwQjtRQUUxQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLDZCQUE2QjtRQUU3QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0Qiw4Q0FBOEM7UUFFOUMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRTVCLHFCQUFxQjtRQUVyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixvREFBb0Q7UUFFcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZDLHdDQUF3QztRQUV4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFRekMsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixnQ0FBMkIsR0FBRyxLQUFLLENBQUM7UUFDcEMsMEJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBRTFCLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUdkLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRzFCLGdDQUEyQixHQUFHLEtBQUssQ0FBQztRQUNwQyxtQkFBYyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUV3RCxDQUFDO0lBRTVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7WUFDekQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3RDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQy9ELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDekIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsMkJBQTJCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pELE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN2QixNQUFNLGNBQWMsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDNUUsTUFBTSxjQUFjLEdBQXNCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RixNQUFNLGdCQUFnQixHQUFXLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUM5RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsR0FBRyxDQUFDO1lBQ0EsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMvQixLQUFLLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO2dCQUNsRixNQUFNLGNBQWMsR0FDaEIsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztnQkFDdkgsSUFBSSxjQUFjLElBQUksS0FBSyxHQUFHLFVBQVUsRUFBRSxDQUFDO29CQUN2QyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDcEUsU0FBUyxFQUFFLENBQUM7b0JBQ1osSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztvQkFDdEMsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLEtBQUssQ0FBQztnQkFDN0QsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ0wsVUFBVSxDQUNiLENBQUM7WUFDRixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMzQixTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBYTtRQUMvQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTyxlQUFlLENBQ25CLGNBQXNCLEVBQ3RCLFVBQWtCLEVBQ2xCLGdCQUF3QixFQUN4QixjQUFzQixFQUN0QixjQUFpQztRQUVqQyxJQUFJLGNBQWMsR0FBRyxVQUFVLEdBQUcsZ0JBQWdCLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQzVFLE1BQU0sOEJBQThCLEdBQ2hDLGNBQWMsR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDO1lBQ2pJLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxjQUFjLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSw4QkFBOEIsQ0FBQztZQUMxRyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSw4QkFBOEIsQ0FBQztZQUN6RixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQztRQUM1SCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDM0UsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEdBQUcsY0FBYyxDQUFDLFlBQVksR0FBRyx5QkFBeUIsQ0FBQztZQUNuRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsMkNBQTJDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEdBQUcseUJBQXlCLENBQUM7WUFDckUsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUM7UUFDcEgsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQzs4R0E3TFEsd0JBQXdCO2tHQUF4Qix3QkFBd0Isa2RBcUNuQixPQUFPLHFFQzFGekIsczlEQXlDQSxzb0REU2MsY0FBYyxraEJBQUUsZUFBZSw0RkFBRSxPQUFPLGtIQUFFLGFBQWEsb0xBQUUsSUFBSSw0RkFBRSxlQUFlOzsyRkFHL0Usd0JBQXdCO2tCQVJwQyxTQUFTOytCQUNJLHVCQUF1QixjQUNyQixJQUFJLFdBR1AsQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxpQkFDMUUsaUJBQWlCLENBQUMsSUFBSTtzRkFNckMsVUFBVTtzQkFEVCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS3pCLFVBQVU7c0JBRFQsS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixXQUFXO3NCQURWLE1BQU07Z0JBS1AsV0FBVztzQkFEVixNQUFNO2dCQUlQLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxtQkFBbUI7Z0JBSTlCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hpcCwgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENoaXAgfSBmcm9tICcuL2NoaXAnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IHNob3dzIGR5bmFtaWMgbGlzdCBvZiBjaGlwcyB3aGljaCByZW5kZXIgZGVwZW5kaW5nIG9uIGZyZWUgc3BhY2UuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWR5bmFtaWMtY2hpcC1saXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWNoaXAtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1jaGlwLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbTWF0Q2hpcHNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTmdGb3JPZiwgTWF0SWNvbk1vZHVsZSwgTmdJZiwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDaGlwTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qIGVzbGludCBuby11bmRlcnNjb3JlLWRhbmdsZTogW1wiZXJyb3JcIiwgeyBcImFsbG93XCI6IFtcIl9lbGVtZW50UmVmXCJdIH1dKi9cbiAgICAvKiogUHJvdmlkZSBpZiB5b3Ugd2FudCB0byB1c2UgcGFnaW5hdGVkIGNoaXBzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbjtcblxuICAgIC8qKiBMaXN0IG9mIGNoaXBzIHRvIGRpc3BsYXkuICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBjaGlwczogQ2hpcFtdO1xuXG4gICAgLyoqIFNob3cgZGVsZXRlIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWxldGUgPSB0cnVlO1xuXG4gICAgLyoqIERpc2FibGUgZGVsZXRlIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVEZWxldGUgPSBmYWxzZTtcblxuICAgIC8qKiBTaG91bGQgbGltaXQgbnVtYmVyIG9mIGNoaXBzIGRpc3BsYXllZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpbWl0Q2hpcHNEaXNwbGF5ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBSb3VuZCB1cCBjaGlwcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm91bmRVcENoaXBzID0gZmFsc2U7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGJ1dHRvbiBmb3IgdmlldyBtb3JlIGlzIGNsaWNrZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZGlzcGxheU5leHQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFueSBjaGlwIGlzIHJlbW92ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVtb3ZlZENoaXAgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ25vZGVMaXN0Q29udGFpbmVyJylcbiAgICBjb250YWluZXJWaWV3OiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZHJlbihNYXRDaGlwKVxuICAgIG1hdENoaXBzOiBRdWVyeUxpc3Q8TWF0Q2hpcD47XG5cbiAgICBjaGlwc1RvRGlzcGxheTogQ2hpcFtdID0gW107XG4gICAgY2FsY3VsYXRpb25zRG9uZSA9IGZhbHNlO1xuICAgIGNvbHVtbkZsZXhEaXJlY3Rpb24gPSBmYWxzZTtcbiAgICBtb3ZlTG9hZE1vcmVCdXR0b25Ub05leHRSb3cgPSBmYWxzZTtcbiAgICB1bmRpc3BsYXllZENoaXBzQ291bnQgPSAwO1xuICAgIHZpZXdNb3JlQnV0dG9uTGVmdE9mZnNldDogbnVtYmVyO1xuICAgIHZpZXdNb3JlQnV0dG9uVG9wID0gMDtcbiAgICBwYWdpbmF0aW9uRGF0YTogUGFnaW5hdGlvbjtcblxuICAgIHByaXZhdGUgaW5pdGlhbENoaXBzOiBDaGlwW10gPSBbXTtcbiAgICBwcml2YXRlIGluaXRpYWxMaW1pdENoaXBzRGlzcGxheWVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgdmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0QmVmb3JlRmxleERpcmVjdGlvbjogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVxdWVzdGVkRGlzcGxheWluZ0FsbENoaXBzID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxMaW1pdENoaXBzRGlzcGxheWVkICYmIHRoaXMuY2hpcHNUb0Rpc3BsYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNoaXBzVG9EaXNwbGF5KCk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnBhZ2luYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubGltaXRDaGlwc0Rpc3BsYXllZCA9IHRoaXMucGFnaW5hdGlvbj8uaGFzTW9yZUl0ZW1zO1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uRGF0YSA9IHRoaXMucGFnaW5hdGlvbjtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbExpbWl0Q2hpcHNEaXNwbGF5ZWQgPSB0aGlzLmxpbWl0Q2hpcHNEaXNwbGF5ZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuY2hpcHMpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbENoaXBzID0gdGhpcy5jaGlwcztcbiAgICAgICAgICAgIHRoaXMuY2hpcHNUb0Rpc3BsYXkgPSB0aGlzLmluaXRpYWxDaGlwcztcbiAgICAgICAgICAgIGlmICh0aGlzLmxpbWl0Q2hpcHNEaXNwbGF5ZWQgJiYgdGhpcy5jaGlwc1RvRGlzcGxheS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNoaXBzVG9EaXNwbGF5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbkRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMubGltaXRDaGlwc0Rpc3BsYXllZCA9IHRoaXMucGFnaW5hdGlvbkRhdGEuaGFzTW9yZUl0ZW1zO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdGlhbExpbWl0Q2hpcHNEaXNwbGF5ZWQgPSB0aGlzLmxpbWl0Q2hpcHNEaXNwbGF5ZWQ7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5jb250YWluZXJWaWV3Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmNvbnRhaW5lclZpZXcubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZGlzcGxheU5leHRDaGlwcyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb25EYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnJlcXVlc3RlZERpc3BsYXlpbmdBbGxDaGlwcyA9ICF0aGlzLnBhZ2luYXRpb25EYXRhLmhhc01vcmVJdGVtcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGltaXRDaGlwc0Rpc3BsYXllZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0ZWREaXNwbGF5aW5nQWxsQ2hpcHMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RlZERpc3BsYXlpbmdBbGxDaGlwcykge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5jb250YWluZXJWaWV3Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzcGxheU5leHQuZW1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlQ2hpcHNUb0Rpc3BsYXkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RlZERpc3BsYXlpbmdBbGxDaGlwcyB8fCAhdGhpcy5jaGlwcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoaXBzVG9EaXNwbGF5ID0gdGhpcy5pbml0aWFsQ2hpcHM7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLnVuZGlzcGxheWVkQ2hpcHNDb3VudCA9IDA7XG4gICAgICAgIGxldCBjaGlwc1RvRGlzcGxheSA9IDE7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoOiBudW1iZXIgPSB0aGlzLmNvbnRhaW5lclZpZXcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3Qgdmlld01vcmVCdXR0b246IEhUTUxCdXR0b25FbGVtZW50ID0gdGhpcy5jb250YWluZXJWaWV3Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMV07XG4gICAgICAgIGNvbnN0IHZpZXdNb3JlQnRuV2lkdGg6IG51bWJlciA9IHZpZXdNb3JlQnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBjb25zdCBmaXJzdENoaXAgPSB0aGlzLm1hdENoaXBzLmdldCgwKTtcbiAgICAgICAgY29uc3QgY2hpcE1hcmdpbiA9IGZpcnN0Q2hpcCA/IHRoaXMuZ2V0Q2hpcE1hcmdpbihmaXJzdENoaXApIDogMDtcbiAgICAgICAgbGV0IGNoaXBzV2lkdGggPSAwO1xuICAgICAgICBjb25zdCBjaGlwcyA9IHRoaXMubWF0Q2hpcHMudG9BcnJheSgpO1xuICAgICAgICBsZXQgbGFzdEluZGV4ID0gMDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgY2hpcHNXaWR0aCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIGNoaXBzLnJlZHVjZSgod2lkdGgsIHZhbCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gdmFsLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKyBjaGlwTWFyZ2luO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdmFpbGFibGVTcGFjZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAoaW5kZXggJiYgaW5kZXggPT09IGNoaXBzLmxlbmd0aCAtIDEpIHx8ICF0aGlzLnBhZ2luYXRpb25EYXRhID8gY29udGFpbmVyV2lkdGggLSB2aWV3TW9yZUJ0bldpZHRoIDogY29udGFpbmVyV2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdmFpbGFibGVTcGFjZSA+PSB3aWR0aCAtIGNoaXBNYXJnaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBzVG9EaXNwbGF5ID0gKHRoaXMucGFnaW5hdGlvbkRhdGEgPyBjaGlwc1RvRGlzcGxheSA6IGluZGV4KSArIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0SW5kZXgrKztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0ID0gd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdNb3JlQnV0dG9uTGVmdE9mZnNldEJlZm9yZUZsZXhEaXJlY3Rpb24gPSB3aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2lkdGg7XG4gICAgICAgICAgICAgICAgfSwgMCksXG4gICAgICAgICAgICAgICAgY2hpcHNXaWR0aFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNoaXBzLnNwbGljZSgwLCBsYXN0SW5kZXgpO1xuICAgICAgICAgICAgbGFzdEluZGV4ID0gMDtcbiAgICAgICAgfSB3aGlsZSAoKGNoaXBzLmxlbmd0aCB8fCAoY2hpcHNUb0Rpc3BsYXkgPCB0aGlzLm1hdENoaXBzLmxlbmd0aCAmJiB0aGlzLm1hdENoaXBzLmxlbmd0aCkpICYmIHRoaXMucGFnaW5hdGlvbkRhdGEpO1xuICAgICAgICB0aGlzLmFycmFuZ2VFbGVtZW50cyhjb250YWluZXJXaWR0aCwgY2hpcHNXaWR0aCwgdmlld01vcmVCdG5XaWR0aCwgY2hpcHNUb0Rpc3BsYXksIHZpZXdNb3JlQnV0dG9uKTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGlvbnNEb25lID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENoaXBNYXJnaW4oY2hpcDogTWF0Q2hpcCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNoaXBTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjaGlwLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQoY2hpcFN0eWxlcy5tYXJnaW5MZWZ0LCAxMCkgKyBwYXJzZUludChjaGlwU3R5bGVzLm1hcmdpblJpZ2h0LCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcnJhbmdlRWxlbWVudHMoXG4gICAgICAgIGNvbnRhaW5lcldpZHRoOiBudW1iZXIsXG4gICAgICAgIGNoaXBzV2lkdGg6IG51bWJlcixcbiAgICAgICAgdmlld01vcmVCdG5XaWR0aDogbnVtYmVyLFxuICAgICAgICBjaGlwc1RvRGlzcGxheTogbnVtYmVyLFxuICAgICAgICB2aWV3TW9yZUJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnRcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvbnRhaW5lcldpZHRoIC0gY2hpcHNXaWR0aCAtIHZpZXdNb3JlQnRuV2lkdGggPD0gMCkge1xuICAgICAgICAgICAgY29uc3QgY2hpcCA9IHRoaXMucGFnaW5hdGlvbkRhdGEgPyB0aGlzLm1hdENoaXBzLmxhc3QgOiB0aGlzLm1hdENoaXBzLmZpcnN0O1xuICAgICAgICAgICAgY29uc3QgaGFzTm90RW5vdWdoU3BhY2VGb3JNb3JlQnV0dG9uID1cbiAgICAgICAgICAgICAgICBjb250YWluZXJXaWR0aCA8IGNoaXA/Ll9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyBjaGlwPy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgKyB2aWV3TW9yZUJ0bldpZHRoO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5GbGV4RGlyZWN0aW9uID0gY2hpcHNUb0Rpc3BsYXkgPT09IDEgJiYgIXRoaXMucGFnaW5hdGlvbkRhdGEgJiYgaGFzTm90RW5vdWdoU3BhY2VGb3JNb3JlQnV0dG9uO1xuICAgICAgICAgICAgdGhpcy5tb3ZlTG9hZE1vcmVCdXR0b25Ub05leHRSb3cgPSB0aGlzLnBhZ2luYXRpb25EYXRhICYmIGhhc05vdEVub3VnaFNwYWNlRm9yTW9yZUJ1dHRvbjtcbiAgICAgICAgICAgIHRoaXMudW5kaXNwbGF5ZWRDaGlwc0NvdW50ID0gdGhpcy5jaGlwc1RvRGlzcGxheS5sZW5ndGggLSBjaGlwc1RvRGlzcGxheTtcbiAgICAgICAgICAgIHRoaXMuY2hpcHNUb0Rpc3BsYXkgPSB0aGlzLmNoaXBzVG9EaXNwbGF5LnNsaWNlKDAsIGNoaXBzVG9EaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZUxvYWRNb3JlQnV0dG9uVG9OZXh0Um93ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5saW1pdENoaXBzRGlzcGxheWVkID0gdGhpcy51bmRpc3BsYXllZENoaXBzQ291bnQgPyB0aGlzLmluaXRpYWxMaW1pdENoaXBzRGlzcGxheWVkIDogdGhpcy5wYWdpbmF0aW9uRGF0YT8uaGFzTW9yZUl0ZW1zO1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uRGF0YT8uaGFzTW9yZUl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0Q2hpcFRvcCA9IHRoaXMubWF0Q2hpcHMubGFzdC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vdmVMb2FkTW9yZUJ1dHRvblRvTmV4dFJvdykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ1dHRvblRvcEhlaWdodENvcnJlY3Rpb24gPSA1O1xuICAgICAgICAgICAgICAgIHRoaXMudmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdNb3JlQnV0dG9uVG9wID0gbGFzdENoaXBUb3AgKyB2aWV3TW9yZUJ1dHRvbi5vZmZzZXRIZWlnaHQgKyBidXR0b25Ub3BIZWlnaHRDb3JyZWN0aW9uO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBidXR0b25Ub3BIZWlnaHRDb3JyZWN0aW9uID0gMztcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdNb3JlQnV0dG9uTGVmdE9mZnNldCA9IHRoaXMudmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0QmVmb3JlRmxleERpcmVjdGlvbjtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdNb3JlQnV0dG9uVG9wID0gbGFzdENoaXBUb3AgLSBidXR0b25Ub3BIZWlnaHRDb3JyZWN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52aWV3TW9yZUJ1dHRvbkxlZnRPZmZzZXQgPSB0aGlzLmNvbHVtbkZsZXhEaXJlY3Rpb24gPyAwIDogdGhpcy52aWV3TW9yZUJ1dHRvbkxlZnRPZmZzZXRCZWZvcmVGbGV4RGlyZWN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnBhZ2luYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudmlld01vcmVCdXR0b25Ub3AgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiYWRmLWR5bmFtaWMtY2hpcC1saXN0LWNvbnRhaW5lclwiXG4gICAgW2NsYXNzLmFkZi1keW5hbWljLWNoaXAtbGlzdC1mbGV4LWNvbHVtbl09XCJsaW1pdENoaXBzRGlzcGxheWVkICYmICghY2FsY3VsYXRpb25zRG9uZSB8fCBjb2x1bW5GbGV4RGlyZWN0aW9uKVwiXG4gICAgW2NsYXNzLmFkZi1keW5hbWljLWNoaXAtbGlzdC1idXR0b24taW4tbmV4dC1saW5lXT1cIm1vdmVMb2FkTW9yZUJ1dHRvblRvTmV4dFJvd1wiXG4gICAgW2NsYXNzLmFkZi1keW5hbWljLWNoaXAtbGlzdC1wYWdpbmF0ZWRdPVwicGFnaW5hdGlvbkRhdGFcIlxuICAgICNub2RlTGlzdENvbnRhaW5lcj5cbiAgICA8bWF0LWNoaXAtc2V0XG4gICAgICAgIFtjbGFzcy5hZGYtZHluYW1pYy1jaGlwLWxpc3QtZnVsbC13aWR0aF09XCJsaW1pdENoaXBzRGlzcGxheWVkICYmICFjYWxjdWxhdGlvbnNEb25lXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNRVRBREFUQS5CQVNJQy5UQUdTJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICA8bWF0LWNoaXBcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWR5bmFtaWMtY2hpcC1saXN0LWNoaXBcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaXAgb2YgY2hpcHNUb0Rpc3BsYXk7IGxldCBpZHggPSBpbmRleFwiXG4gICAgICAgICAgICBbc3R5bGUuYm9yZGVyLXJhZGl1c109XCJyb3VuZFVwQ2hpcHMgPyAnMjBweCcgOiAnMTBweCdcIlxuICAgICAgICAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIidib2xkJ1wiXG4gICAgICAgICAgICAocmVtb3ZlZCk9XCJyZW1vdmVkQ2hpcC5lbWl0KGNoaXAuaWQpXCI+XG4gICAgICAgICAgICA8c3BhbiBpZD1cImFkZi1keW5hbWljLWNoaXAtbGlzdC1jaGlwLW5hbWUte3sgaWR4IH19XCI+e3sgY2hpcC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2hvd0RlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZGYtZHluYW1pYy1jaGlwLWxpc3QtZGVsZXRlLXt7IGNoaXAubmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtZHluYW1pYy1jaGlwLWxpc3QtZGVsZXRlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICBtYXRDaGlwUmVtb3ZlPlxuICAgICAgICAgICAgICAgIGNsb3NlXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1jaGlwPlxuICAgIDwvbWF0LWNoaXAtc2V0PlxuICAgIDxidXR0b25cbiAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWR5bmFtaWMtY2hpcC1saXN0LXZpZXctbW9yZS1idXR0b25cIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIFtoaWRkZW5dPVwiY2hpcHNUb0Rpc3BsYXk/Lmxlbmd0aCA9PT0gMCB8fCAhbGltaXRDaGlwc0Rpc3BsYXllZFwiXG4gICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cInZpZXdNb3JlQnV0dG9uTGVmdE9mZnNldFwiXG4gICAgICAgIFtzdHlsZS50b3AucHhdPVwiISFwYWdpbmF0aW9uID8gdmlld01vcmVCdXR0b25Ub3AgOiAnJ1wiXG4gICAgICAgIGNsYXNzPVwiYWRmLWR5bmFtaWMtY2hpcC1saXN0LXZpZXctbW9yZS1idXR0b25cIlxuICAgICAgICBbY2xhc3MuYWRmLWR5bmFtaWMtY2hpcC1saXN0LWhpZGRlbi1idG5dPVwiIWNhbGN1bGF0aW9uc0RvbmVcIlxuICAgICAgICAoY2xpY2spPVwiZGlzcGxheU5leHRDaGlwcygkZXZlbnQpXCI+XG4gICAgICAgIHt7XG4gICAgICAgICAgICBwYWdpbmF0aW9uRGF0YSA/ICgnRFlOQU1JQ19DSElQX0xJU1QuTE9BRF9NT1JFJyB8IHRyYW5zbGF0ZSkgOlxuICAgICAgICAgICAgICAgICgnVEFHX05PREVfTElTVC5WSUVXX01PUkUnIHwgdHJhbnNsYXRlOiB7IGNvdW50OiB1bmRpc3BsYXllZENoaXBzQ291bnQgfSlcbiAgICAgICAgfX1cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGlwLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9keW5hbWljLWNoaXAtbGlzdC9keW5hbWljLWNoaXAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2R5bmFtaWMtY2hpcC1saXN0L2R5bmFtaWMtY2hpcC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3REOztHQUVHO0FBU0gsTUFBTSxPQUFPLHdCQUF3QjtJQTREakMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsRHhELDBCQUEwQjtRQUUxQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLDZCQUE2QjtRQUU3QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0Qiw4Q0FBOEM7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LHNnQkFBRSxlQUFlLDRGQUFFLE9BQU8sa0hBQUUsYUFBYSxvTEFBRSxJQUFJLDRGQUFFLGVBQWU7OzJGQUcvRSx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBQ3JCLElBQUksV0FHUCxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLGlCQUMxRSxpQkFBaUIsQ0FBQyxJQUFJO3dHQU1yQyxVQUFVO3NCQURULEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLekIsVUFBVTtzQkFEVCxLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsTUFBTTtnQkFLUCxXQUFXO3NCQURWLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixTQUFTO3VCQUFDLG1CQUFtQjtnQkFJOUIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFBhZ2luYXRpb24gfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGlwLCBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4vY2hpcCc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgc2hvd3MgZHluYW1pYyBsaXN0IG9mIGNoaXBzIHdoaWNoIHJlbmRlciBkZXBlbmRpbmcgb24gZnJlZSBzcGFjZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtZHluYW1pYy1jaGlwLWxpc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtY2hpcC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWNoaXAtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGltcG9ydHM6IFtNYXRDaGlwc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBOZ0Zvck9mLCBNYXRJY29uTW9kdWxlLCBOZ0lmLCBNYXRCdXR0b25Nb2R1bGVdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NoaXBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyogZXNsaW50IG5vLXVuZGVyc2NvcmUtZGFuZ2xlOiBbXCJlcnJvclwiLCB7IFwiYWxsb3dcIjogW1wiX2VsZW1lbnRSZWZcIl0gfV0qL1xuICAgIC8qKiBQcm92aWRlIGlmIHlvdSB3YW50IHRvIHVzZSBwYWdpbmF0ZWQgY2hpcHMuICovXG4gICAgQElucHV0KClcbiAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uO1xuXG4gICAgLyoqIExpc3Qgb2YgY2hpcHMgdG8gZGlzcGxheS4gKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIGNoaXBzOiBDaGlwW107XG5cbiAgICAvKiogU2hvdyBkZWxldGUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlbGV0ZSA9IHRydWU7XG5cbiAgICAvKiogRGlzYWJsZSBkZWxldGUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZURlbGV0ZSA9IGZhbHNlO1xuXG4gICAgLyoqIFNob3VsZCBsaW1pdCBudW1iZXIgb2YgY2hpcHMgZGlzcGxheWVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGltaXRDaGlwc0Rpc3BsYXllZCA9IGZhbHNlO1xuXG4gICAgLyoqIFJvdW5kIHVwIGNoaXBzICovXG4gICAgQElucHV0KClcbiAgICByb3VuZFVwQ2hpcHMgPSBmYWxzZTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYnV0dG9uIGZvciB2aWV3IG1vcmUgaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBkaXNwbGF5TmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW55IGNoaXAgaXMgcmVtb3ZlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICByZW1vdmVkQ2hpcCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnbm9kZUxpc3RDb250YWluZXInKVxuICAgIGNvbnRhaW5lclZpZXc6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkcmVuKE1hdENoaXApXG4gICAgbWF0Q2hpcHM6IFF1ZXJ5TGlzdDxNYXRDaGlwPjtcblxuICAgIGNoaXBzVG9EaXNwbGF5OiBDaGlwW10gPSBbXTtcbiAgICBjYWxjdWxhdGlvbnNEb25lID0gZmFsc2U7XG4gICAgY29sdW1uRmxleERpcmVjdGlvbiA9IGZhbHNlO1xuICAgIG1vdmVMb2FkTW9yZUJ1dHRvblRvTmV4dFJvdyA9IGZhbHNlO1xuICAgIHVuZGlzcGxheWVkQ2hpcHNDb3VudCA9IDA7XG4gICAgdmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0OiBudW1iZXI7XG4gICAgdmlld01vcmVCdXR0b25Ub3AgPSAwO1xuICAgIHBhZ2luYXRpb25EYXRhOiBQYWdpbmF0aW9uO1xuXG4gICAgcHJpdmF0ZSBpbml0aWFsQ2hpcHM6IENoaXBbXSA9IFtdO1xuICAgIHByaXZhdGUgaW5pdGlhbExpbWl0Q2hpcHNEaXNwbGF5ZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSB2aWV3TW9yZUJ1dHRvbkxlZnRPZmZzZXRCZWZvcmVGbGV4RGlyZWN0aW9uOiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZXF1ZXN0ZWREaXNwbGF5aW5nQWxsQ2hpcHMgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbExpbWl0Q2hpcHNEaXNwbGF5ZWQgJiYgdGhpcy5jaGlwc1RvRGlzcGxheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ2hpcHNUb0Rpc3BsYXkoKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMucGFnaW5hdGlvbikge1xuICAgICAgICAgICAgdGhpcy5saW1pdENoaXBzRGlzcGxheWVkID0gdGhpcy5wYWdpbmF0aW9uPy5oYXNNb3JlSXRlbXM7XG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb25EYXRhID0gdGhpcy5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsTGltaXRDaGlwc0Rpc3BsYXllZCA9IHRoaXMubGltaXRDaGlwc0Rpc3BsYXllZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5jaGlwcykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsQ2hpcHMgPSB0aGlzLmNoaXBzO1xuICAgICAgICAgICAgdGhpcy5jaGlwc1RvRGlzcGxheSA9IHRoaXMuaW5pdGlhbENoaXBzO1xuICAgICAgICAgICAgaWYgKHRoaXMubGltaXRDaGlwc0Rpc3BsYXllZCAmJiB0aGlzLmNoaXBzVG9EaXNwbGF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ2hpcHNUb0Rpc3BsYXkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5saW1pdENoaXBzRGlzcGxheWVkID0gdGhpcy5wYWdpbmF0aW9uRGF0YS5oYXNNb3JlSXRlbXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsTGltaXRDaGlwc0Rpc3BsYXllZCA9IHRoaXMubGltaXRDaGlwc0Rpc3BsYXllZDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRhaW5lclZpZXcubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuY29udGFpbmVyVmlldy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBkaXNwbGF5TmV4dENoaXBzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbkRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdGVkRGlzcGxheWluZ0FsbENoaXBzID0gIXRoaXMucGFnaW5hdGlvbkRhdGEuaGFzTW9yZUl0ZW1zO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5saW1pdENoaXBzRGlzcGxheWVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnJlcXVlc3RlZERpc3BsYXlpbmdBbGxDaGlwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdGVkRGlzcGxheWluZ0FsbENoaXBzKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmNvbnRhaW5lclZpZXcubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwbGF5TmV4dC5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDaGlwc1RvRGlzcGxheSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdGVkRGlzcGxheWluZ0FsbENoaXBzIHx8ICF0aGlzLmNoaXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hpcHNUb0Rpc3BsYXkgPSB0aGlzLmluaXRpYWxDaGlwcztcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMudW5kaXNwbGF5ZWRDaGlwc0NvdW50ID0gMDtcbiAgICAgICAgbGV0IGNoaXBzVG9EaXNwbGF5ID0gMTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyV2lkdGg6IG51bWJlciA9IHRoaXMuY29udGFpbmVyVmlldy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCB2aWV3TW9yZUJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lclZpZXcubmF0aXZlRWxlbWVudC5jaGlsZHJlblsxXTtcbiAgICAgICAgY29uc3Qgdmlld01vcmVCdG5XaWR0aDogbnVtYmVyID0gdmlld01vcmVCdXR0b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIGNvbnN0IGZpcnN0Q2hpcCA9IHRoaXMubWF0Q2hpcHMuZ2V0KDApO1xuICAgICAgICBjb25zdCBjaGlwTWFyZ2luID0gZmlyc3RDaGlwID8gdGhpcy5nZXRDaGlwTWFyZ2luKGZpcnN0Q2hpcCkgOiAwO1xuICAgICAgICBsZXQgY2hpcHNXaWR0aCA9IDA7XG4gICAgICAgIGNvbnN0IGNoaXBzID0gdGhpcy5tYXRDaGlwcy50b0FycmF5KCk7XG4gICAgICAgIGxldCBsYXN0SW5kZXggPSAwO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBjaGlwc1dpZHRoID0gTWF0aC5tYXgoXG4gICAgICAgICAgICAgICAgY2hpcHMucmVkdWNlKCh3aWR0aCwgdmFsLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSB2YWwuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCArIGNoaXBNYXJnaW47XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZVNwYWNlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIChpbmRleCAmJiBpbmRleCA9PT0gY2hpcHMubGVuZ3RoIC0gMSkgfHwgIXRoaXMucGFnaW5hdGlvbkRhdGEgPyBjb250YWluZXJXaWR0aCAtIHZpZXdNb3JlQnRuV2lkdGggOiBjb250YWluZXJXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJsZVNwYWNlID49IHdpZHRoIC0gY2hpcE1hcmdpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpcHNUb0Rpc3BsYXkgPSAodGhpcy5wYWdpbmF0aW9uRGF0YSA/IGNoaXBzVG9EaXNwbGF5IDogaW5kZXgpICsgMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RJbmRleCsrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3TW9yZUJ1dHRvbkxlZnRPZmZzZXQgPSB3aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0QmVmb3JlRmxleERpcmVjdGlvbiA9IHdpZHRoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3aWR0aDtcbiAgICAgICAgICAgICAgICB9LCAwKSxcbiAgICAgICAgICAgICAgICBjaGlwc1dpZHRoXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY2hpcHMuc3BsaWNlKDAsIGxhc3RJbmRleCk7XG4gICAgICAgICAgICBsYXN0SW5kZXggPSAwO1xuICAgICAgICB9IHdoaWxlICgoY2hpcHMubGVuZ3RoIHx8IChjaGlwc1RvRGlzcGxheSA8IHRoaXMubWF0Q2hpcHMubGVuZ3RoICYmIHRoaXMubWF0Q2hpcHMubGVuZ3RoKSkgJiYgdGhpcy5wYWdpbmF0aW9uRGF0YSk7XG4gICAgICAgIHRoaXMuYXJyYW5nZUVsZW1lbnRzKGNvbnRhaW5lcldpZHRoLCBjaGlwc1dpZHRoLCB2aWV3TW9yZUJ0bldpZHRoLCBjaGlwc1RvRGlzcGxheSwgdmlld01vcmVCdXR0b24pO1xuICAgICAgICB0aGlzLmNhbGN1bGF0aW9uc0RvbmUgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2hpcE1hcmdpbihjaGlwOiBNYXRDaGlwKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY2hpcFN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNoaXAuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHJldHVybiBwYXJzZUludChjaGlwU3R5bGVzLm1hcmdpbkxlZnQsIDEwKSArIHBhcnNlSW50KGNoaXBTdHlsZXMubWFyZ2luUmlnaHQsIDEwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFycmFuZ2VFbGVtZW50cyhcbiAgICAgICAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgICAgICAgY2hpcHNXaWR0aDogbnVtYmVyLFxuICAgICAgICB2aWV3TW9yZUJ0bldpZHRoOiBudW1iZXIsXG4gICAgICAgIGNoaXBzVG9EaXNwbGF5OiBudW1iZXIsXG4gICAgICAgIHZpZXdNb3JlQnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoY29udGFpbmVyV2lkdGggLSBjaGlwc1dpZHRoIC0gdmlld01vcmVCdG5XaWR0aCA8PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlwID0gdGhpcy5wYWdpbmF0aW9uRGF0YSA/IHRoaXMubWF0Q2hpcHMubGFzdCA6IHRoaXMubWF0Q2hpcHMuZmlyc3Q7XG4gICAgICAgICAgICBjb25zdCBoYXNOb3RFbm91Z2hTcGFjZUZvck1vcmVCdXR0b24gPVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcldpZHRoIDwgY2hpcD8uX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArIGNoaXA/Ll9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCArIHZpZXdNb3JlQnRuV2lkdGg7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbkZsZXhEaXJlY3Rpb24gPSBjaGlwc1RvRGlzcGxheSA9PT0gMSAmJiAhdGhpcy5wYWdpbmF0aW9uRGF0YSAmJiBoYXNOb3RFbm91Z2hTcGFjZUZvck1vcmVCdXR0b247XG4gICAgICAgICAgICB0aGlzLm1vdmVMb2FkTW9yZUJ1dHRvblRvTmV4dFJvdyA9IHRoaXMucGFnaW5hdGlvbkRhdGEgJiYgaGFzTm90RW5vdWdoU3BhY2VGb3JNb3JlQnV0dG9uO1xuICAgICAgICAgICAgdGhpcy51bmRpc3BsYXllZENoaXBzQ291bnQgPSB0aGlzLmNoaXBzVG9EaXNwbGF5Lmxlbmd0aCAtIGNoaXBzVG9EaXNwbGF5O1xuICAgICAgICAgICAgdGhpcy5jaGlwc1RvRGlzcGxheSA9IHRoaXMuY2hpcHNUb0Rpc3BsYXkuc2xpY2UoMCwgY2hpcHNUb0Rpc3BsYXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tb3ZlTG9hZE1vcmVCdXR0b25Ub05leHRSb3cgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpbWl0Q2hpcHNEaXNwbGF5ZWQgPSB0aGlzLnVuZGlzcGxheWVkQ2hpcHNDb3VudCA/IHRoaXMuaW5pdGlhbExpbWl0Q2hpcHNEaXNwbGF5ZWQgOiB0aGlzLnBhZ2luYXRpb25EYXRhPy5oYXNNb3JlSXRlbXM7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb25EYXRhPy5oYXNNb3JlSXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlwVG9wID0gdGhpcy5tYXRDaGlwcy5sYXN0Ll9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgaWYgKHRoaXMubW92ZUxvYWRNb3JlQnV0dG9uVG9OZXh0Um93KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uVG9wSGVpZ2h0Q29ycmVjdGlvbiA9IDU7XG4gICAgICAgICAgICAgICAgdGhpcy52aWV3TW9yZUJ1dHRvbkxlZnRPZmZzZXQgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMudmlld01vcmVCdXR0b25Ub3AgPSBsYXN0Q2hpcFRvcCArIHZpZXdNb3JlQnV0dG9uLm9mZnNldEhlaWdodCArIGJ1dHRvblRvcEhlaWdodENvcnJlY3Rpb247XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ1dHRvblRvcEhlaWdodENvcnJlY3Rpb24gPSAzO1xuICAgICAgICAgICAgICAgIHRoaXMudmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0ID0gdGhpcy52aWV3TW9yZUJ1dHRvbkxlZnRPZmZzZXRCZWZvcmVGbGV4RGlyZWN0aW9uO1xuICAgICAgICAgICAgICAgIHRoaXMudmlld01vcmVCdXR0b25Ub3AgPSBsYXN0Q2hpcFRvcCAtIGJ1dHRvblRvcEhlaWdodENvcnJlY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdNb3JlQnV0dG9uTGVmdE9mZnNldCA9IHRoaXMuY29sdW1uRmxleERpcmVjdGlvbiA/IDAgOiB0aGlzLnZpZXdNb3JlQnV0dG9uTGVmdE9mZnNldEJlZm9yZUZsZXhEaXJlY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucGFnaW5hdGlvbikge1xuICAgICAgICAgICAgdGhpcy52aWV3TW9yZUJ1dHRvblRvcCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJhZGYtZHluYW1pYy1jaGlwLWxpc3QtY29udGFpbmVyXCJcbiAgICBbY2xhc3MuYWRmLWR5bmFtaWMtY2hpcC1saXN0LWZsZXgtY29sdW1uXT1cImxpbWl0Q2hpcHNEaXNwbGF5ZWQgJiYgKCFjYWxjdWxhdGlvbnNEb25lIHx8IGNvbHVtbkZsZXhEaXJlY3Rpb24pXCJcbiAgICBbY2xhc3MuYWRmLWR5bmFtaWMtY2hpcC1saXN0LWJ1dHRvbi1pbi1uZXh0LWxpbmVdPVwibW92ZUxvYWRNb3JlQnV0dG9uVG9OZXh0Um93XCJcbiAgICBbY2xhc3MuYWRmLWR5bmFtaWMtY2hpcC1saXN0LXBhZ2luYXRlZF09XCJwYWdpbmF0aW9uRGF0YVwiXG4gICAgI25vZGVMaXN0Q29udGFpbmVyPlxuICAgIDxtYXQtY2hpcC1zZXRcbiAgICAgICAgW2NsYXNzLmFkZi1keW5hbWljLWNoaXAtbGlzdC1mdWxsLXdpZHRoXT1cImxpbWl0Q2hpcHNEaXNwbGF5ZWQgJiYgIWNhbGN1bGF0aW9uc0RvbmVcIlxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01FVEFEQVRBLkJBU0lDLlRBR1MnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxtYXQtY2hpcFxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZHluYW1pYy1jaGlwLWxpc3QtY2hpcFwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hpcCBvZiBjaGlwc1RvRGlzcGxheTsgbGV0IGlkeCA9IGluZGV4XCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzXT1cInJvdW5kVXBDaGlwcyA/ICcyMHB4JyA6ICcxMHB4J1wiXG4gICAgICAgICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJ2JvbGQnXCJcbiAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZWRDaGlwLmVtaXQoY2hpcC5pZClcIj5cbiAgICAgICAgICAgIDxzcGFuIGlkPVwiYWRmLWR5bmFtaWMtY2hpcC1saXN0LWNoaXAtbmFtZS17eyBpZHggfX1cIj57eyBjaGlwLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzaG93RGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkZi1keW5hbWljLWNoaXAtbGlzdC1kZWxldGUte3sgY2hpcC5uYW1lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1keW5hbWljLWNoaXAtbGlzdC1kZWxldGUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVEZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgIG1hdENoaXBSZW1vdmU+XG4gICAgICAgICAgICAgICAgY2xvc2VcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWNoaXA+XG4gICAgPC9tYXQtY2hpcC1zZXQ+XG4gICAgPGJ1dHRvblxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZHluYW1pYy1jaGlwLWxpc3Qtdmlldy1tb3JlLWJ1dHRvblwiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgW2hpZGRlbl09XCJjaGlwc1RvRGlzcGxheT8ubGVuZ3RoID09PSAwIHx8ICFsaW1pdENoaXBzRGlzcGxheWVkXCJcbiAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwidmlld01vcmVCdXR0b25MZWZ0T2Zmc2V0XCJcbiAgICAgICAgW3N0eWxlLnRvcC5weF09XCIhIXBhZ2luYXRpb24gPyB2aWV3TW9yZUJ1dHRvblRvcCA6ICcnXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZHluYW1pYy1jaGlwLWxpc3Qtdmlldy1tb3JlLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5hZGYtZHluYW1pYy1jaGlwLWxpc3QtaGlkZGVuLWJ0bl09XCIhY2FsY3VsYXRpb25zRG9uZVwiXG4gICAgICAgIChjbGljayk9XCJkaXNwbGF5TmV4dENoaXBzKCRldmVudClcIj5cbiAgICAgICAge3tcbiAgICAgICAgICAgIHBhZ2luYXRpb25EYXRhID8gKCdEWU5BTUlDX0NISVBfTElTVC5MT0FEX01PUkUnIHwgdHJhbnNsYXRlKSA6XG4gICAgICAgICAgICAgICAgKCdUQUdfTk9ERV9MSVNULlZJRVdfTU9SRScgfCB0cmFuc2xhdGU6IHsgY291bnQ6IHVuZGlzcGxheWVkQ2hpcHNDb3VudCB9KVxuICAgICAgICB9fVxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -19,11 +19,11 @@ import { DynamicChipListComponent } from './dynamic-chip-list.component';
|
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
/** @deprecated use `DynamicChipListComponent` or import standalone components directly */
|
|
21
21
|
export class DynamicChipListModule {
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
24
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DynamicChipListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: DynamicChipListModule, imports: [DynamicChipListComponent], exports: [DynamicChipListComponent] }); }
|
|
24
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DynamicChipListModule, imports: [DynamicChipListComponent] }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DynamicChipListModule, decorators: [{
|
|
27
27
|
type: NgModule,
|
|
28
28
|
args: [{
|
|
29
29
|
imports: [DynamicChipListComponent],
|
|
@@ -26,4 +26,4 @@ export class BaseEvent {
|
|
|
26
26
|
this.isDefaultPrevented = true;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZXZlbnRzL2Jhc2UuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsNENBQTRDO0FBQzVDLE1BQU0sT0FBTyxTQUFTO0lBQXRCO1FBRVksdUJBQWtCLEdBQVksS0FBSyxDQUFDO0lBWWhELENBQUM7SUFSRyxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDbkMsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiogQmFzZSBjYW5jZWxsYWJsZSBldmVudCBpbXBsZW1lbnRhdGlvbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VFdmVudDxUPiB7XG5cbiAgICBwcml2YXRlIGlzRGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgdmFsdWU6IFQ7XG5cbiAgICBnZXQgZGVmYXVsdFByZXZlbnRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkO1xuICAgIH1cblxuICAgIHByZXZlbnREZWZhdWx0KCkge1xuICAgICAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IHRydWU7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -182,10 +182,10 @@ export class FormBaseComponent {
|
|
|
182
182
|
.map(([key, value]) => `${key}: ${value}`)
|
|
183
183
|
.join(';');
|
|
184
184
|
}
|
|
185
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
186
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
185
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FormBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
186
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: FormBaseComponent, isStandalone: true, inputs: { path: "path", nameNode: "nameNode", showTitle: "showTitle", showCompleteButton: "showCompleteButton", disableCompleteButton: "disableCompleteButton", disableSaveButton: "disableSaveButton", disableStartProcessButton: "disableStartProcessButton", showSaveButton: "showSaveButton", readOnly: "readOnly", showRefreshButton: "showRefreshButton", showValidationIcon: "showValidationIcon", fieldValidators: "fieldValidators", form: "form" }, outputs: { formError: "formError", executeOutcome: "executeOutcome", error: "error" }, ngImport: i0 }); }
|
|
187
187
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FormBaseComponent, decorators: [{
|
|
189
189
|
type: Directive,
|
|
190
190
|
args: [{
|
|
191
191
|
standalone: true
|
|
@@ -223,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
223
223
|
}], form: [{
|
|
224
224
|
type: Input
|
|
225
225
|
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQXNDLFNBQVMsRUFBb0IsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzlHLGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLGlCQUFpQjtJQUp2QztRQXNCSSwwQ0FBMEM7UUFFMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUUxQix5REFBeUQ7UUFFekQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBRW5DLG1GQUFtRjtRQUVuRiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFFdkMsNEVBQTRFO1FBRTVFLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuQyx3RkFBd0Y7UUFFeEYsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBRTNDLHFEQUFxRDtRQUVyRCxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUUvQixtR0FBbUc7UUFFbkcsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnREFBZ0Q7UUFFaEQsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRWxDLHNFQUFzRTtRQUV0RSx1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFNbkMscUVBQXFFO1FBRXJFLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVqRDs7O1dBR0c7UUFFSCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRXREOztXQUVHO1FBRUgsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEM7O1dBRUc7UUFDSCxjQUFT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RSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7YUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7OEdBdE9pQixpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBY0csSUFBSTtzQkFESCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04seUJBQXlCO3NCQUR4QixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sU0FBUztzQkFEUixNQUFNO2dCQVFQLGNBQWM7c0JBRGIsTUFBTTtnQkFPUCxLQUFLO3NCQURKLE1BQU07Z0JBY0gsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCwgRm9ybUZpZWxkVmFsaWRhdG9yLCBGb3JtTW9kZWwsIEZvcm1PdXRjb21lRXZlbnQsIEZvcm1PdXRjb21lTW9kZWwgfSBmcm9tICcuL3dpZGdldHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUJhc2VDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCBfZm9ybTogRm9ybU1vZGVsO1xuXG4gICAgc3RhdGljIFNBVkVfT1VUQ09NRV9JRDogc3RyaW5nID0gJyRzYXZlJztcbiAgICBzdGF0aWMgQ09NUExFVEVfT1VUQ09NRV9JRDogc3RyaW5nID0gJyRjb21wbGV0ZSc7XG4gICAgc3RhdGljIFNUQVJUX1BST0NFU1NfT1VUQ09NRV9JRDogc3RyaW5nID0gJyRzdGFydFByb2Nlc3MnO1xuICAgIHN0YXRpYyBDVVNUT01fT1VUQ09NRV9JRDogc3RyaW5nID0gJyRjdXN0b20nO1xuICAgIHN0YXRpYyBDT01QTEVURV9CVVRUT05fQ09MT1I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcbiAgICBzdGF0aWMgQ09NUExFVEVfT1VUQ09NRV9OQU1FOiBzdHJpbmcgPSAnQ09NUExFVEUnO1xuXG4gICAgLyoqIFBhdGggb2YgdGhlIGZvbGRlciB3aGVyZSB0aGUgbWV0YWRhdGEgd2lsbCBiZSBzdG9yZWQuICovXG4gICAgQElucHV0KClcbiAgICBwYXRoOiBzdHJpbmc7XG5cbiAgICAvKiogTmFtZSB0byBhc3NpZ24gdG8gdGhlIG5ldyBub2RlIHdoZXJlIHRoZSBtZXRhZGF0YSBhcmUgc3RvcmVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmFtZU5vZGU6IHN0cmluZztcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBmb3JtIHRpdGxlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1RpdGxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBgQ29tcGxldGVgIG91dGNvbWUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0NvbXBsZXRlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBJZiB0cnVlIHRoZW4gdGhlIGBDb21wbGV0ZWAgb3V0Y29tZSBidXR0b24gaXMgc2hvd24gYnV0IGl0IHdpbGwgYmUgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlQ29tcGxldGVCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBJZiB0cnVlIHRoZW4gdGhlIGBTYXZlYCBvdXRjb21lIGJ1dHRvbiBpcyBzaG93biBidXQgd2lsbCBiZSBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTYXZlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogSWYgdHJ1ZSB0aGVuIHRoZSBgU3RhcnQgUHJvY2Vzc2Agb3V0Y29tZSBidXR0b24gaXMgc2hvd24gYnV0IGl0IHdpbGwgYmUgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU3RhcnRQcm9jZXNzQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHJlbmRlcmluZyBvZiB0aGUgYFNhdmVgIG91dGNvbWUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1NhdmVCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFRvZ2dsZSByZWFkb25seSBzdGF0ZSBvZiB0aGUgZm9ybS4gRm9yY2VzIGFsbCBmb3JtIHdpZGdldHMgdG8gcmVuZGVyIGFzIHJlYWRvbmx5IGlmIGVuYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZSByZW5kZXJpbmcgb2YgdGhlIGBSZWZyZXNoYCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93UmVmcmVzaEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlIHJlbmRlcmluZyBvZiB0aGUgdmFsaWRhdGlvbiBpY29uIG5leHQgdG8gdGhlIGZvcm0gdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93VmFsaWRhdGlvbkljb246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIENvbnRhaW5zIGEgbGlzdCBvZiBmb3JtIGZpZWxkIHZhbGlkYXRvciBpbnN0YW5jZXMuICovXG4gICAgQElucHV0KClcbiAgICBmaWVsZFZhbGlkYXRvcnM6IEZvcm1GaWVsZFZhbGlkYXRvcltdO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgc3VwcGxpZWQgZm9ybSB2YWx1ZXMgaGF2ZSBhIHZhbGlkYXRpb24gZXJyb3IuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtRmllbGRNb2RlbFtdPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGFueSBvdXRjb21lIGlzIGV4ZWN1dGVkLiBEZWZhdWx0IGJlaGF2aW91ciBjYW4gYmUgcHJldmVudGVkXG4gICAgICogdmlhIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlT3V0Y29tZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybU91dGNvbWVFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhbnkgZXJyb3Igb2NjdXJzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gc3R5bGUgdGhhdCBpcyBiYWNrZWQgYnkgdGhlIGZvcm0udGhlbWUuXG4gICAgICovXG4gICAgZm9ybVN0eWxlOiBzdHJpbmcgPSAnJztcblxuICAgIGdldCBmb3JtKCk6IEZvcm1Nb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICAgIH1cblxuICAgIC8qKiBVbmRlcmx5aW5nIGZvcm0gbW9kZWwgaW5zdGFuY2UuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZm9ybShmb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5fZm9ybSA9IGZvcm07XG5cbiAgICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgICAgIGNvbnN0IHRoZW1lID0gZm9ybS50aGVtZT8uZm9ybTtcbiAgICAgICAgICAgIHRoaXMuZm9ybVN0eWxlID0gdGhlbWUgPyB0aGlzLmZsYXR0ZW5TdHlsZXModGhlbWUpIDogJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1TdHlsZSA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0UGFyc2VkRm9ybURlZmluaXRpb24oKTogRm9ybUJhc2VDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBoYXNGb3JtKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZvcm07XG4gICAgfVxuXG4gICAgaXNUaXRsZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCB0aXRsZUVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1RpdGxlICYmIHRoaXMuZm9ybSkge1xuICAgICAgICAgICAgdGl0bGVFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGl0bGVFbmFibGVkO1xuICAgIH1cblxuICAgIGdldENvbG9yRm9yT3V0Y29tZShvdXRjb21lTmFtZTogc3RyaW5nKTogVGhlbWVQYWxldHRlIHtcbiAgICAgICAgcmV0dXJuIG91dGNvbWVOYW1lID09PSBGb3JtQmFzZUNvbXBvbmVudC5DT01QTEVURV9PVVRDT01FX05BTUUgPyBGb3JtQmFzZUNvbXBvbmVudC5DT01QTEVURV9CVVRUT05fQ09MT1IgOiBudWxsO1xuICAgIH1cblxuICAgIGlzT3V0Y29tZUJ1dHRvbkVuYWJsZWQob3V0Y29tZT86IEZvcm1PdXRjb21lTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG91dGNvbWUpIHtcbiAgICAgICAgICAgIGlmIChvdXRjb21lLnNraXBWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0Y29tZS5uYW1lID09PSBGb3JtT3V0Y29tZU1vZGVsLlNBVkVfQUNUSU9OKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLmRpc2FibGVTYXZlQnV0dG9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5DT01QTEVURV9BQ1RJT04pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlQ29tcGxldGVCdXR0b24gPyBmYWxzZSA6IHRoaXMuZm9ybS5pc1ZhbGlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5TVEFSVF9QUk9DRVNTX0FDVElPTikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVTdGFydFByb2Nlc3NCdXR0b24gPyBmYWxzZSA6IHRoaXMuZm9ybS5pc1ZhbGlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5pc1ZhbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlzT3V0Y29tZUJ1dHRvblZpc2libGUob3V0Y29tZTogRm9ybU91dGNvbWVNb2RlbCwgaXNGb3JtUmVhZE9ubHk6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKG91dGNvbWU/Lm5hbWUpIHtcbiAgICAgICAgICAgIGlmIChvdXRjb21lLm5hbWUgPT09IEZvcm1PdXRjb21lTW9kZWwuQ09NUExFVEVfQUNUSU9OKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0NvbXBsZXRlQnV0dG9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzRm9ybVJlYWRPbmx5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG91dGNvbWUuaXNTZWxlY3RlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvdXRjb21lLm5hbWUgPT09IEZvcm1PdXRjb21lTW9kZWwuU0FWRV9BQ1RJT04pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zaG93U2F2ZUJ1dHRvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvdXRjb21lLm5hbWUgPT09IEZvcm1PdXRjb21lTW9kZWwuU1RBUlRfUFJPQ0VTU19BQ1RJT04pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCB3aGVuIHVzZXIgY2xpY2tzIG91dGNvbWUgYnV0dG9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIG91dGNvbWUgRm9ybSBvdXRjb21lIG1vZGVsXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIG91dGNvbWUgYnV0dG9uIHdhcyBjbGlja2VkLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIG9uT3V0Y29tZUNsaWNrZWQob3V0Y29tZTogRm9ybU91dGNvbWVNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkgJiYgb3V0Y29tZSAmJiB0aGlzLmZvcm0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5vbkV4ZWN1dGVPdXRjb21lKG91dGNvbWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3V0Y29tZS5pc1N5c3RlbSkge1xuICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLmlkID09PSBGb3JtQmFzZUNvbXBvbmVudC5TQVZFX09VVENPTUVfSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVRhc2tGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLmlkID09PSBGb3JtQmFzZUNvbXBvbmVudC5DT01QTEVURV9PVVRDT01FX0lEKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVDb21wbGV0ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVUYXNrRm9ybSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3V0Y29tZS5pZCA9PT0gRm9ybUJhc2VDb21wb25lbnQuU1RBUlRfUFJPQ0VTU19PVVRDT01FX0lEKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVUYXNrRm9ybSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3V0Y29tZS5pZCA9PT0gRm9ybUJhc2VDb21wb25lbnQuQ1VTVE9NX09VVENPTUVfSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhc2tTYXZlZCh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlRm9ybUFzTWV0YWRhdGEoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBOb3RlOiBBY3Rpdml0aSBpcyB1c2luZyBOQU1FIGZpZWxkIHJhdGhlciB0aGFuIElEIGZvciBvdXRjb21lc1xuICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVRhc2tGb3JtKG91dGNvbWUubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBoYW5kbGVFcnJvcihlcnI6IGFueSk6IGFueSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlQ29tcGxldGVCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgfVxuXG4gICAgYWJzdHJhY3Qgb25SZWZyZXNoQ2xpY2tlZCgpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3Qgc2F2ZVRhc2tGb3JtKCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBjb21wbGV0ZVRhc2tGb3JtKG91dGNvbWU/OiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG9uVGFza1NhdmVkKGZvcm06IEZvcm1Nb2RlbCk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc3RvcmVGb3JtQXNNZXRhZGF0YSgpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG9uRXhlY3V0ZU91dGNvbWUob3V0Y29tZTogRm9ybU91dGNvbWVNb2RlbCk6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGZsYXR0ZW5TdHlsZXMoc3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHN0eWxlcylcbiAgICAgICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fTogJHt2YWx1ZX1gKVxuICAgICAgICAgICAgLmpvaW4oJzsnKTtcbiAgICB9XG59XG4iXX0=
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQXNDLFNBQVMsRUFBb0IsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzlHLGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLGlCQUFpQjtJQUp2QztRQXNCSSwwQ0FBMEM7UUFFMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUUxQix5REFBeUQ7UUFFekQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBRW5DLG1GQUFtRjtRQUVuRiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFFdkMsNEVBQTRFO1FBRTVFLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuQyx3RkFBd0Y7UUFFeEYsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBRTNDLHFEQUFxRDtRQUVyRCxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUUvQixtR0FBbUc7UUFFbkcsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnREFBZ0Q7UUFFaEQsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRWxDLHNFQUFzRTtRQUV0RSx1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFNbkMscUVBQXFFO1FBRXJFLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVqRDs7O1dBR0c7UUFFSCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRXREOztXQUVHO1FBRUgsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEM7O1dBRUc7UUFDSCxjQUFT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LFNBQVM7c0JBRFIsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04scUJBQXFCO3NCQURwQixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTixTQUFTO3NCQURSLE1BQU07Z0JBUVAsY0FBYztzQkFEYixNQUFNO2dCQU9QLEtBQUs7c0JBREosTUFBTTtnQkFjSCxJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEZvcm1GaWVsZE1vZGVsLCBGb3JtRmllbGRWYWxpZGF0b3IsIEZvcm1Nb2RlbCwgRm9ybU91dGNvbWVFdmVudCwgRm9ybU91dGNvbWVNb2RlbCB9IGZyb20gJy4vd2lkZ2V0cyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb3JtQmFzZUNvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIF9mb3JtOiBGb3JtTW9kZWw7XG5cbiAgICBzdGF0aWMgU0FWRV9PVVRDT01FX0lEOiBzdHJpbmcgPSAnJHNhdmUnO1xuICAgIHN0YXRpYyBDT01QTEVURV9PVVRDT01FX0lEOiBzdHJpbmcgPSAnJGNvbXBsZXRlJztcbiAgICBzdGF0aWMgU1RBUlRfUFJPQ0VTU19PVVRDT01FX0lEOiBzdHJpbmcgPSAnJHN0YXJ0UHJvY2Vzcyc7XG4gICAgc3RhdGljIENVU1RPTV9PVVRDT01FX0lEOiBzdHJpbmcgPSAnJGN1c3RvbSc7XG4gICAgc3RhdGljIENPTVBMRVRFX0JVVFRPTl9DT0xPUjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICAgIHN0YXRpYyBDT01QTEVURV9PVVRDT01FX05BTUU6IHN0cmluZyA9ICdDT01QTEVURSc7XG5cbiAgICAvKiogUGF0aCBvZiB0aGUgZm9sZGVyIHdoZXJlIHRoZSBtZXRhZGF0YSB3aWxsIGJlIHN0b3JlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBhdGg6IHN0cmluZztcblxuICAgIC8qKiBOYW1lIHRvIGFzc2lnbiB0byB0aGUgbmV3IG5vZGUgd2hlcmUgdGhlIG1ldGFkYXRhIGFyZSBzdG9yZWQuICovXG4gICAgQElucHV0KClcbiAgICBuYW1lTm9kZTogc3RyaW5nO1xuXG4gICAgLyoqIFRvZ2dsZSByZW5kZXJpbmcgb2YgdGhlIGZvcm0gdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93VGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFRvZ2dsZSByZW5kZXJpbmcgb2YgdGhlIGBDb21wbGV0ZWAgb3V0Y29tZSBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Q29tcGxldGVCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIElmIHRydWUgdGhlbiB0aGUgYENvbXBsZXRlYCBvdXRjb21lIGJ1dHRvbiBpcyBzaG93biBidXQgaXQgd2lsbCBiZSBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVDb21wbGV0ZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIElmIHRydWUgdGhlbiB0aGUgYFNhdmVgIG91dGNvbWUgYnV0dG9uIGlzIHNob3duIGJ1dCB3aWxsIGJlIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVNhdmVCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBJZiB0cnVlIHRoZW4gdGhlIGBTdGFydCBQcm9jZXNzYCBvdXRjb21lIGJ1dHRvbiBpcyBzaG93biBidXQgaXQgd2lsbCBiZSBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTdGFydFByb2Nlc3NCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBgU2F2ZWAgb3V0Y29tZSBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93U2F2ZUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlIHJlYWRvbmx5IHN0YXRlIG9mIHRoZSBmb3JtLiBGb3JjZXMgYWxsIGZvcm0gd2lkZ2V0cyB0byByZW5kZXIgYXMgcmVhZG9ubHkgaWYgZW5hYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHJlbmRlcmluZyBvZiB0aGUgYFJlZnJlc2hgIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dSZWZyZXNoQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSB2YWxpZGF0aW9uIGljb24gbmV4dCB0byB0aGUgZm9ybSB0aXRsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dWYWxpZGF0aW9uSWNvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogQ29udGFpbnMgYSBsaXN0IG9mIGZvcm0gZmllbGQgdmFsaWRhdG9yIGluc3RhbmNlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkVmFsaWRhdG9yczogRm9ybUZpZWxkVmFsaWRhdG9yW107XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzdXBwbGllZCBmb3JtIHZhbHVlcyBoYXZlIGEgdmFsaWRhdGlvbiBlcnJvci4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1GaWVsZE1vZGVsW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gYW55IG91dGNvbWUgaXMgZXhlY3V0ZWQuIERlZmF1bHQgYmVoYXZpb3VyIGNhbiBiZSBwcmV2ZW50ZWRcbiAgICAgKiB2aWEgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGV4ZWN1dGVPdXRjb21lID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtT3V0Y29tZUV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGFueSBlcnJvciBvY2N1cnMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBzdHlsZSB0aGF0IGlzIGJhY2tlZCBieSB0aGUgZm9ybS50aGVtZS5cbiAgICAgKi9cbiAgICBmb3JtU3R5bGU6IHN0cmluZyA9ICcnO1xuXG4gICAgZ2V0IGZvcm0oKTogRm9ybU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm07XG4gICAgfVxuXG4gICAgLyoqIFVuZGVybHlpbmcgZm9ybSBtb2RlbCBpbnN0YW5jZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmb3JtKGZvcm06IEZvcm1Nb2RlbCkge1xuICAgICAgICB0aGlzLl9mb3JtID0gZm9ybTtcblxuICAgICAgICBpZiAoZm9ybSkge1xuICAgICAgICAgICAgY29uc3QgdGhlbWUgPSBmb3JtLnRoZW1lPy5mb3JtO1xuICAgICAgICAgICAgdGhpcy5mb3JtU3R5bGUgPSB0aGVtZSA/IHRoaXMuZmxhdHRlblN0eWxlcyh0aGVtZSkgOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVN0eWxlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQYXJzZWRGb3JtRGVmaW5pdGlvbigpOiBGb3JtQmFzZUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGhhc0Zvcm0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZm9ybTtcbiAgICB9XG5cbiAgICBpc1RpdGxlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHRpdGxlRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5zaG93VGl0bGUgJiYgdGhpcy5mb3JtKSB7XG4gICAgICAgICAgICB0aXRsZUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aXRsZUVuYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0Q29sb3JGb3JPdXRjb21lKG91dGNvbWVOYW1lOiBzdHJpbmcpOiBUaGVtZVBhbGV0dGUge1xuICAgICAgICByZXR1cm4gb3V0Y29tZU5hbWUgPT09IEZvcm1CYXNlQ29tcG9uZW50LkNPTVBMRVRFX09VVENPTUVfTkFNRSA/IEZvcm1CYXNlQ29tcG9uZW50LkNPTVBMRVRFX0JVVFRPTl9DT0xPUiA6IG51bGw7XG4gICAgfVxuXG4gICAgaXNPdXRjb21lQnV0dG9uRW5hYmxlZChvdXRjb21lPzogRm9ybU91dGNvbWVNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5mb3JtLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0Y29tZSkge1xuICAgICAgICAgICAgaWYgKG91dGNvbWUuc2tpcFZhbGlkYXRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvdXRjb21lLm5hbWUgPT09IEZvcm1PdXRjb21lTW9kZWwuU0FWRV9BQ1RJT04pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZVNhdmVCdXR0b247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0Y29tZS5uYW1lID09PSBGb3JtT3V0Y29tZU1vZGVsLkNPTVBMRVRFX0FDVElPTikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVDb21wbGV0ZUJ1dHRvbiA/IGZhbHNlIDogdGhpcy5mb3JtLmlzVmFsaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0Y29tZS5uYW1lID09PSBGb3JtT3V0Y29tZU1vZGVsLlNUQVJUX1BST0NFU1NfQUNUSU9OKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZVN0YXJ0UHJvY2Vzc0J1dHRvbiA/IGZhbHNlIDogdGhpcy5mb3JtLmlzVmFsaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmlzVmFsaWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNPdXRjb21lQnV0dG9uVmlzaWJsZShvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsLCBpc0Zvcm1SZWFkT25seTogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAob3V0Y29tZT8ubmFtZSkge1xuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5DT01QTEVURV9BQ1RJT04pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zaG93Q29tcGxldGVCdXR0b247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNGb3JtUmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3V0Y29tZS5pc1NlbGVjdGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5TQVZFX0FDVElPTikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dTYXZlQnV0dG9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSA9PT0gRm9ybU91dGNvbWVNb2RlbC5TVEFSVF9QUk9DRVNTX0FDVElPTikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VkIHdoZW4gdXNlciBjbGlja3Mgb3V0Y29tZSBidXR0b24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3V0Y29tZSBGb3JtIG91dGNvbWUgbW9kZWxcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgb3V0Y29tZSBidXR0b24gd2FzIGNsaWNrZWQsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgb25PdXRjb21lQ2xpY2tlZChvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSAmJiBvdXRjb21lICYmIHRoaXMuZm9ybSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm9uRXhlY3V0ZU91dGNvbWUob3V0Y29tZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvdXRjb21lLmlzU3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWUuaWQgPT09IEZvcm1CYXNlQ29tcG9uZW50LlNBVkVfT1VUQ09NRV9JRCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zYXZlVGFza0Zvcm0oKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWUuaWQgPT09IEZvcm1CYXNlQ29tcG9uZW50LkNPTVBMRVRFX09VVENPTUVfSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUNvbXBsZXRlQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVRhc2tGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLmlkID09PSBGb3JtQmFzZUNvbXBvbmVudC5TVEFSVF9QUk9DRVNTX09VVENPTUVfSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVRhc2tGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLmlkID09PSBGb3JtQmFzZUNvbXBvbmVudC5DVVNUT01fT1VUQ09NRV9JRCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFza1NhdmVkKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVGb3JtQXNNZXRhZGF0YSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE5vdGU6IEFjdGl2aXRpIGlzIHVzaW5nIE5BTUUgZmllbGQgcmF0aGVyIHRoYW4gSUQgZm9yIG91dGNvbWVzXG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWUubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlVGFza0Zvcm0ob3V0Y29tZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGhhbmRsZUVycm9yKGVycjogYW55KTogYW55IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVDb21wbGV0ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBvblJlZnJlc2hDbGlja2VkKCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBzYXZlVGFza0Zvcm0oKTogdm9pZDtcblxuICAgIGFic3RyYWN0IGNvbXBsZXRlVGFza0Zvcm0ob3V0Y29tZT86IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25UYXNrU2F2ZWQoZm9ybTogRm9ybU1vZGVsKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzdG9yZUZvcm1Bc01ldGFkYXRhKCk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25FeGVjdXRlT3V0Y29tZShvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKTogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgZmxhdHRlblN0eWxlcyhzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoc3R5bGVzKVxuICAgICAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9OiAke3ZhbHVlfWApXG4gICAgICAgICAgICAuam9pbignOycpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
import { Directive } from '@angular/core';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
19
|
export class StartFormCustomButtonDirective {
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StartFormCustomButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: StartFormCustomButtonDirective, isStandalone: true, selector: "[adf-form-custom-button]", ngImport: i0 }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StartFormCustomButtonDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{
|
|
26
26
|
selector: '[adf-form-custom-button]',
|
|
@@ -127,16 +127,16 @@ export class FormFieldComponent {
|
|
|
127
127
|
const module = compiler.compileModuleAndAllComponentsSync(decoratedNgModule);
|
|
128
128
|
return module.componentFactories.find((x) => x.componentType === decoratedCmp);
|
|
129
129
|
}
|
|
130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
131
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
131
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FormFieldComponent, isStandalone: true, selector: "adf-form-field", inputs: { field: "field" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div [id]=\"'field-' + field?.id + '-container'\"\n [style.visibility]=\"!field?.isVisible ? 'hidden' : 'visible'\"\n [style.display]=\"!field?.isVisible ? 'none' : 'block'\"\n [style]=\"field | adfFieldStyle\"\n [class.adf-focus]=\"focus\"\n (focusin)=\"focusToggle()\"\n (focusout)=\"focusToggle()\">\n <div #container></div>\n</div>\n", dependencies: [{ kind: "pipe", type: FieldStylePipe, name: "adfFieldStyle" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
132
132
|
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
134
134
|
type: Component,
|
|
135
|
-
args: [{ selector: 'adf-form-field', standalone: true, encapsulation: ViewEncapsulation.None, imports: [FieldStylePipe], template: "<div [id]=\"'field-' + field?.id + '-container'\"\n [style.
|
|
135
|
+
args: [{ selector: 'adf-form-field', standalone: true, encapsulation: ViewEncapsulation.None, imports: [FieldStylePipe], template: "<div [id]=\"'field-' + field?.id + '-container'\"\n [style.visibility]=\"!field?.isVisible ? 'hidden' : 'visible'\"\n [style.display]=\"!field?.isVisible ? 'none' : 'block'\"\n [style]=\"field | adfFieldStyle\"\n [class.adf-focus]=\"focus\"\n (focusin)=\"focusToggle()\"\n (focusout)=\"focusToggle()\">\n <div #container></div>\n</div>\n" }]
|
|
136
136
|
}], propDecorators: { container: [{
|
|
137
137
|
type: ViewChild,
|
|
138
138
|
args: ['container', { read: ViewContainerRef, static: true }]
|
|
139
139
|
}], field: [{
|
|
140
140
|
type: Input
|
|
141
141
|
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFHUixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFXaEUsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVdJOzs7OztXQUtHO1FBRUgsVUFBSyxHQUFtQixJQUFJLENBQUM7UUFJN0IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUVOLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3BELGVBQVUsR0FB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OUYsYUFBYSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLDBCQUEwQixDQUFDLFFBQWtCLEVBQUUsUUFBbUIsRUFBRSxjQUFtQjtRQUMzRixNQUFNLFFBQVEsR0FBRyxjQUFjLElBQUksTUFBTSxnQkFBZ0I7U0FBRyxDQUFDO1FBQzdELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsR0FBRyxNQUFNLHNCQUFzQjtTQUFHLENBQUM7UUFDcEQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsaUNBQWlDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU3RSxPQUFPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEtBQUssWUFBWSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs4R0EzSFEsa0JBQWtCO2tHQUFsQixrQkFBa0IseUxBQ0ssZ0JBQWdCLDJDQ2pEcEQsdVNBUUEsdUNEc0NjLGNBQWM7OzJGQUVmLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxnQkFBZ0IsY0FDZCxJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxjQUFjLENBQUM7OEJBSXpCLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFVaEUsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICAgIENvbXBpbGVyLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybVJlbmRlcmluZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXJlbmRlcmluZy5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldFZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2lkZ2V0LXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkU3R5bGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmllbGQtc3R5bGUucGlwZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRUeXBlcyB9IGZyb20gJy4uL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLXR5cGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuZGVjbGFyZSBjb25zdCBhZGY6IGFueTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtZm9ybS1maWVsZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbRmllbGRTdHlsZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5zIGFsbCB0aGUgbmVjZXNzYXJ5IGRhdGEgbmVlZGVkIHRvIGRldGVybWluZSB3aGF0IFVJIFdpZGdldFxuICAgICAqIHRvIHVzZSB3aGVuIHJlbmRlcmluZyB0aGUgZmllbGQgaW4gdGhlIGZvcm0uIFlvdSB3b3VsZCB0eXBpY2FsbHkgbm90XG4gICAgICogY3JlYXRlIHRoaXMgZGF0YSBtYW51YWxseSBidXQgaW5zdGVhZCBjcmVhdGUgdGhlIGZvcm0gaW4gQVBTIGFuZCBleHBvcnRcbiAgICAgKiBpdCB0byBnZXQgdG8gYWxsIHRoZSBgRm9ybUZpZWxkTW9kZWxgIGRlZmluaXRpb25zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGQ6IEZvcm1GaWVsZE1vZGVsID0gbnVsbDtcblxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XG5cbiAgICBmb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtUmVuZGVyaW5nU2VydmljZSA9IGluamVjdChGb3JtUmVuZGVyaW5nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aXNpYmlsaXR5U2VydmljZSA9IGluamVjdChXaWRnZXRWaXNpYmlsaXR5U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcGlsZXIgPSBpbmplY3QoQ29tcGlsZXIpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IHc6IGFueSA9IHdpbmRvdztcbiAgICAgICAgaWYgKHcuYWRmID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHcuYWRmID0ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGaWVsZCA9IHRoaXMuZ2V0RmllbGQoKTtcbiAgICAgICAgaWYgKG9yaWdpbmFsRmllbGQpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbVRlbXBsYXRlID0gdGhpcy5maWVsZC5mb3JtLmN1c3RvbUZpZWxkVGVtcGxhdGVzW29yaWdpbmFsRmllbGQudHlwZV07XG4gICAgICAgICAgICBpZiAoY3VzdG9tVGVtcGxhdGUgJiYgdGhpcy5oYXNDb250cm9sbGVyKG9yaWdpbmFsRmllbGQudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5nZXRDb21wb25lbnRGYWN0b3J5U3luYyhvcmlnaW5hbEZpZWxkLnR5cGUsIGN1c3RvbVRlbXBsYXRlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZTogYW55ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmZpZWxkID0gb3JpZ2luYWxGaWVsZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLmZvcm1SZW5kZXJpbmdTZXJ2aWNlLnJlc29sdmVDb21wb25lbnRUeXBlKG9yaWdpbmFsRmllbGQpO1xuICAgICAgICAgICAgICAgIGlmIChjb21wb25lbnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcblxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5maWVsZENoYW5nZWQuc3Vic2NyaWJlKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkICYmIHRoaXMuZmllbGQuZm9ybSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eVNlcnZpY2UucmVmcmVzaFZpc2liaWxpdHkoZmllbGQuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyRm9ybUZpZWxkQ2hhbmdlZChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChGb3JtRmllbGRUeXBlcy5pc1JlYWN0aXZlVHlwZShpbnN0YW5jZT8uZmllbGQ/LnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlYWN0aXZlRm9ybUNvbnRyb2xPbkZvcm1SdWxlc0V2ZW50KGluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUmVhY3RpdmVGb3JtQ29udHJvbE9uRm9ybVJ1bGVzRXZlbnQoaW5zdGFuY2U6IGFueSk6IHZvaWQge1xuICAgICAgICBpbnN0YW5jZT8uZm9ybVNlcnZpY2UuZm9ybVJ1bGVzRXZlbnQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGluc3RhbmNlPy51cGRhdGVSZWFjdGl2ZUZvcm1Db250cm9sKCk7XG4gICAgICAgICAgICBpbnN0YW5jZT8uZmllbGQ/LmZvcm0udmFsaWRhdGVGb3JtKGluc3RhbmNlPy5maWVsZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlckZvcm1GaWVsZENoYW5nZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGZpZWxkLmZvcm0ub25Gb3JtRmllbGRDaGFuZ2VkKGZpZWxkKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1c1RvZ2dsZSgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzID0gIXRoaXMuZm9jdXM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmllbGQoKTogRm9ybUZpZWxkTW9kZWwge1xuICAgICAgICBpZiAodGhpcy5maWVsZD8ucGFyYW1zKSB7XG4gICAgICAgICAgICBjb25zdCB3cmFwcGVkRmllbGQgPSB0aGlzLmZpZWxkLnBhcmFtcy5maWVsZDtcbiAgICAgICAgICAgIGlmICh3cmFwcGVkRmllbGQ/LnR5cGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZEZpZWxkIGFzIEZvcm1GaWVsZE1vZGVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzQ29udHJvbGxlcih0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGFkZj8uY29tcG9uZW50cz8uW3R5cGVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29tcG9uZW50RmFjdG9yeVN5bmModHlwZTogc3RyaW5nLCB0ZW1wbGF0ZTogc3RyaW5nKTogQ29tcG9uZW50RmFjdG9yeTxhbnk+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50SW5mbyA9IGFkZi5jb21wb25lbnRzW3R5cGVdO1xuXG4gICAgICAgIGlmIChjb21wb25lbnRJbmZvLmZhY3RvcnkpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnRJbmZvLmZhY3Rvcnk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHtcbiAgICAgICAgICAgIHNlbGVjdG9yOiBgcnVudGltZS1jb21wb25lbnQtJHt0eXBlfWAsXG4gICAgICAgICAgICB0ZW1wbGF0ZVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudEZhY3RvcnlTeW5jKHRoaXMuY29tcGlsZXIsIG1ldGFkYXRhLCBjb21wb25lbnRJbmZvLmNsYXNzKTtcbiAgICAgICAgY29tcG9uZW50SW5mby5mYWN0b3J5ID0gZmFjdG9yeTtcbiAgICAgICAgcmV0dXJuIGZhY3Rvcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnRGYWN0b3J5U3luYyhjb21waWxlcjogQ29tcGlsZXIsIG1ldGFkYXRhOiBDb21wb25lbnQsIGNvbXBvbmVudENsYXNzOiBhbnkpOiBDb21wb25lbnRGYWN0b3J5PGFueT4ge1xuICAgICAgICBjb25zdCBjbXBDbGFzcyA9IGNvbXBvbmVudENsYXNzIHx8IGNsYXNzIFJ1bnRpbWVDb21wb25lbnQge307XG4gICAgICAgIGNvbnN0IGRlY29yYXRlZENtcCA9IENvbXBvbmVudChtZXRhZGF0YSkoY21wQ2xhc3MpO1xuICAgICAgICBjb25zdCBtb2R1bGVDbGFzcyA9IGNsYXNzIFJ1bnRpbWVDb21wb25lbnRNb2R1bGUge307XG4gICAgICAgIGNvbnN0IGRlY29yYXRlZE5nTW9kdWxlID0gTmdNb2R1bGUoeyBpbXBvcnRzOiBbXSwgZGVjbGFyYXRpb25zOiBbZGVjb3JhdGVkQ21wXSB9KShtb2R1bGVDbGFzcyk7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IGNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyhkZWNvcmF0ZWROZ01vZHVsZSk7XG5cbiAgICAgICAgcmV0dXJuIG1vZHVsZS5jb21wb25lbnRGYWN0b3JpZXMuZmluZCgoeCkgPT4geC5jb21wb25lbnRUeXBlID09PSBkZWNvcmF0ZWRDbXApO1xuICAgIH1cbn1cbiIsIjxkaXYgW2lkXT1cIidmaWVsZC0nICsgZmllbGQ/LmlkICsgJy1jb250YWluZXInXCJcbiAgICAgW3N0eWxlLmRpc3BsYXldPVwiZmllbGQ/LmlzVmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgICBbc3R5bGVdPVwiZmllbGQgfCBhZGZGaWVsZFN0eWxlXCJcbiAgICAgW2NsYXNzLmFkZi1mb2N1c109XCJmb2N1c1wiXG4gICAgIChmb2N1c2luKT1cImZvY3VzVG9nZ2xlKClcIlxuICAgICAoZm9jdXNvdXQpPVwiZm9jdXNUb2dnbGUoKVwiPlxuICAgIDxkaXYgI2NvbnRhaW5lcj48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFHUixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFXaEUsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVdJOzs7OztXQUtHO1FBRUgsVUFBSyxHQUFtQixJQUFJLENBQUM7UUFJN0IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUVOLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3BELGVBQVUsR0FB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QUFRLEdBQUcsY0FBYyxJQUFJLE1BQU0sZ0JBQWdCO1NBQUcsQ0FBQztRQUM3RCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxzQkFBc0I7U0FBRyxDQUFDO1FBQ3BELE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGlDQUFpQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFN0UsT0FBTyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FBQyxDQUFDO0lBQ25GLENBQUM7OEdBM0hRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHlMQUNLLGdCQUFnQiwyQ0NqRHBELDhXQVNBLHVDRHFDYyxjQUFjOzsyRkFFZixrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBQ2QsSUFBSSxpQkFFRCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsY0FBYyxDQUFDOzhCQUl6QixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBVWhFLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgICBDb21waWxlcixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGVzdHJveVJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdNb2R1bGUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1SZW5kZXJpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS1yZW5kZXJpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBXaWRnZXRWaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpZGdldC12aXNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuLi93aWRnZXRzL2NvcmUvZm9ybS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZFN0eWxlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2ZpZWxkLXN0eWxlLnBpcGUnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuLi93aWRnZXRzL2NvcmUvZm9ybS1maWVsZC10eXBlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmRlY2xhcmUgY29uc3QgYWRmOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWZvcm0tZmllbGQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW0ZpZWxkU3R5bGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICAvKipcbiAgICAgKiBDb250YWlucyBhbGwgdGhlIG5lY2Vzc2FyeSBkYXRhIG5lZWRlZCB0byBkZXRlcm1pbmUgd2hhdCBVSSBXaWRnZXRcbiAgICAgKiB0byB1c2Ugd2hlbiByZW5kZXJpbmcgdGhlIGZpZWxkIGluIHRoZSBmb3JtLiBZb3Ugd291bGQgdHlwaWNhbGx5IG5vdFxuICAgICAqIGNyZWF0ZSB0aGlzIGRhdGEgbWFudWFsbHkgYnV0IGluc3RlYWQgY3JlYXRlIHRoZSBmb3JtIGluIEFQUyBhbmQgZXhwb3J0XG4gICAgICogaXQgdG8gZ2V0IHRvIGFsbCB0aGUgYEZvcm1GaWVsZE1vZGVsYCBkZWZpbml0aW9ucy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkOiBGb3JtRmllbGRNb2RlbCA9IG51bGw7XG5cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gICAgZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybVJlbmRlcmluZ1NlcnZpY2UgPSBpbmplY3QoRm9ybVJlbmRlcmluZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlzaWJpbGl0eVNlcnZpY2UgPSBpbmplY3QoV2lkZ2V0VmlzaWJpbGl0eVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBpbGVyID0gaW5qZWN0KENvbXBpbGVyKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCB3OiBhbnkgPSB3aW5kb3c7XG4gICAgICAgIGlmICh3LmFkZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB3LmFkZiA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsRmllbGQgPSB0aGlzLmdldEZpZWxkKCk7XG4gICAgICAgIGlmIChvcmlnaW5hbEZpZWxkKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21UZW1wbGF0ZSA9IHRoaXMuZmllbGQuZm9ybS5jdXN0b21GaWVsZFRlbXBsYXRlc1tvcmlnaW5hbEZpZWxkLnR5cGVdO1xuICAgICAgICAgICAgaWYgKGN1c3RvbVRlbXBsYXRlICYmIHRoaXMuaGFzQ29udHJvbGxlcihvcmlnaW5hbEZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZ2V0Q29tcG9uZW50RmFjdG9yeVN5bmMob3JpZ2luYWxGaWVsZC50eXBlLCBjdXN0b21UZW1wbGF0ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2U6IGFueSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5maWVsZCA9IG9yaWdpbmFsRmllbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGhpcy5mb3JtUmVuZGVyaW5nU2VydmljZS5yZXNvbHZlQ29tcG9uZW50VHlwZShvcmlnaW5hbEZpZWxkKTtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5maWVsZCA9IHRoaXMuZmllbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuZmllbGRDaGFuZ2VkLnN1YnNjcmliZSgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZCAmJiB0aGlzLmZpZWxkLmZvcm0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlTZXJ2aWNlLnJlZnJlc2hWaXNpYmlsaXR5KGZpZWxkLmZvcm0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckZvcm1GaWVsZENoYW5nZWQoZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNSZWFjdGl2ZVR5cGUoaW5zdGFuY2U/LmZpZWxkPy50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSZWFjdGl2ZUZvcm1Db250cm9sT25Gb3JtUnVsZXNFdmVudChpbnN0YW5jZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlYWN0aXZlRm9ybUNvbnRyb2xPbkZvcm1SdWxlc0V2ZW50KGluc3RhbmNlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaW5zdGFuY2U/LmZvcm1TZXJ2aWNlLmZvcm1SdWxlc0V2ZW50LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpbnN0YW5jZT8udXBkYXRlUmVhY3RpdmVGb3JtQ29udHJvbCgpO1xuICAgICAgICAgICAgaW5zdGFuY2U/LmZpZWxkPy5mb3JtLnZhbGlkYXRlRm9ybShpbnN0YW5jZT8uZmllbGQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJGb3JtRmllbGRDaGFuZ2VkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IHZvaWQge1xuICAgICAgICBmaWVsZC5mb3JtLm9uRm9ybUZpZWxkQ2hhbmdlZChmaWVsZCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXNUb2dnbGUoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb2N1cyA9ICF0aGlzLmZvY3VzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpZWxkKCk6IEZvcm1GaWVsZE1vZGVsIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQ/LnBhcmFtcykge1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlZEZpZWxkID0gdGhpcy5maWVsZC5wYXJhbXMuZmllbGQ7XG4gICAgICAgICAgICBpZiAod3JhcHBlZEZpZWxkPy50eXBlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWRGaWVsZCBhcyBGb3JtRmllbGRNb2RlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0NvbnRyb2xsZXIodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBhZGY/LmNvbXBvbmVudHM/Llt0eXBlXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbXBvbmVudEZhY3RvcnlTeW5jKHR5cGU6IHN0cmluZywgdGVtcGxhdGU6IHN0cmluZyk6IENvbXBvbmVudEZhY3Rvcnk8YW55PiB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEluZm8gPSBhZGYuY29tcG9uZW50c1t0eXBlXTtcblxuICAgICAgICBpZiAoY29tcG9uZW50SW5mby5mYWN0b3J5KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50SW5mby5mYWN0b3J5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBzZWxlY3RvcjogYHJ1bnRpbWUtY29tcG9uZW50LSR7dHlwZX1gLFxuICAgICAgICAgICAgdGVtcGxhdGVcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jcmVhdGVDb21wb25lbnRGYWN0b3J5U3luYyh0aGlzLmNvbXBpbGVyLCBtZXRhZGF0YSwgY29tcG9uZW50SW5mby5jbGFzcyk7XG4gICAgICAgIGNvbXBvbmVudEluZm8uZmFjdG9yeSA9IGZhY3Rvcnk7XG4gICAgICAgIHJldHVybiBmYWN0b3J5O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50RmFjdG9yeVN5bmMoY29tcGlsZXI6IENvbXBpbGVyLCBtZXRhZGF0YTogQ29tcG9uZW50LCBjb21wb25lbnRDbGFzczogYW55KTogQ29tcG9uZW50RmFjdG9yeTxhbnk+IHtcbiAgICAgICAgY29uc3QgY21wQ2xhc3MgPSBjb21wb25lbnRDbGFzcyB8fCBjbGFzcyBSdW50aW1lQ29tcG9uZW50IHt9O1xuICAgICAgICBjb25zdCBkZWNvcmF0ZWRDbXAgPSBDb21wb25lbnQobWV0YWRhdGEpKGNtcENsYXNzKTtcbiAgICAgICAgY29uc3QgbW9kdWxlQ2xhc3MgPSBjbGFzcyBSdW50aW1lQ29tcG9uZW50TW9kdWxlIHt9O1xuICAgICAgICBjb25zdCBkZWNvcmF0ZWROZ01vZHVsZSA9IE5nTW9kdWxlKHsgaW1wb3J0czogW10sIGRlY2xhcmF0aW9uczogW2RlY29yYXRlZENtcF0gfSkobW9kdWxlQ2xhc3MpO1xuICAgICAgICBjb25zdCBtb2R1bGUgPSBjb21waWxlci5jb21waWxlTW9kdWxlQW5kQWxsQ29tcG9uZW50c1N5bmMoZGVjb3JhdGVkTmdNb2R1bGUpO1xuXG4gICAgICAgIHJldHVybiBtb2R1bGUuY29tcG9uZW50RmFjdG9yaWVzLmZpbmQoKHgpID0+IHguY29tcG9uZW50VHlwZSA9PT0gZGVjb3JhdGVkQ21wKTtcbiAgICB9XG59XG4iLCI8ZGl2IFtpZF09XCInZmllbGQtJyArIGZpZWxkPy5pZCArICctY29udGFpbmVyJ1wiXG4gICAgIFtzdHlsZS52aXNpYmlsaXR5XT1cIiFmaWVsZD8uaXNWaXNpYmxlID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIlxuICAgICBbc3R5bGUuZGlzcGxheV09XCIhZmllbGQ/LmlzVmlzaWJsZSA/ICdub25lJyA6ICdibG9jaydcIlxuICAgICBbc3R5bGVdPVwiZmllbGQgfCBhZGZGaWVsZFN0eWxlXCJcbiAgICAgW2NsYXNzLmFkZi1mb2N1c109XCJmb2N1c1wiXG4gICAgIChmb2N1c2luKT1cImZvY3VzVG9nZ2xlKClcIlxuICAgICAoZm9jdXNvdXQpPVwiZm9jdXNUb2dnbGUoKVwiPlxuICAgIDxkaXYgI2NvbnRhaW5lcj48L2Rpdj5cbjwvZGl2PlxuIl19
|