@alfresco/adf-core 8.1.0-13987018683 → 8.1.0-13995656969
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/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
- package/breadcrumbs/styles/_breadcrumb.theme.scss +4 -4
- package/custom-theme/material-theme.scss +4 -7
- package/custom-theme/theme/custom-theme-palettes.scss +8 -12
- package/custom-theme/theme/typography.scss +26 -26
- package/esm2022/api/lib/adf-http-client.service.mjs +4 -4
- package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +4 -4
- package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +4 -4
- package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +4 -4
- package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +4 -4
- package/esm2022/feature-flags/lib/directives/features.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/services/debug-features.service.mjs +4 -4
- package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +4 -4
- package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +4 -4
- package/esm2022/feature-flags/lib/services/storage-features.service.mjs +4 -4
- package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +4 -4
- package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +4 -4
- package/esm2022/lib/about/about-module-list/module-list.component.mjs +4 -4
- package/esm2022/lib/about/about-package/package-list.component.mjs +4 -4
- package/esm2022/lib/about/about-panel.directive.mjs +4 -4
- 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 +4 -4
- package/esm2022/lib/about/about.component.mjs +4 -4
- package/esm2022/lib/about/about.module.mjs +5 -5
- package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +4 -4
- package/esm2022/lib/app-config/app-config.module.mjs +5 -5
- package/esm2022/lib/app-config/app-config.pipe.mjs +4 -4
- package/esm2022/lib/app-config/app-config.service.mjs +4 -4
- package/esm2022/lib/app-config/debug-app-config.service.mjs +4 -4
- package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/content-auth.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/process-auth.mjs +4 -4
- package/esm2022/lib/auth/guard/auth-guard.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/auth-config.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/auth-routing.module.mjs +5 -5
- package/esm2022/lib/auth/oidc/auth.module.mjs +5 -5
- package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +4 -4
- 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 +4 -4
- package/esm2022/lib/auth/services/authentication.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-group.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-role.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-user.service.mjs +4 -4
- package/esm2022/lib/auth/services/jwt-helper.service.mjs +4 -4
- package/esm2022/lib/auth/services/oauth2.service.mjs +4 -4
- package/esm2022/lib/auth/services/time-sync.service.mjs +4 -4
- package/esm2022/lib/auth/services/user-access.service.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +4 -4
- package/esm2022/lib/blank-page/blank-page.component.mjs +4 -4
- package/esm2022/lib/blank-page/blank-page.module.mjs +5 -5
- package/esm2022/lib/button/button.component.mjs +4 -4
- package/esm2022/lib/card-view/card-view.module.mjs +5 -5
- package/esm2022/lib/card-view/components/base-card-view.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +4 -4
- 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 +4 -4
- package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +4 -4
- 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 +4 -4
- 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 +4 -4
- package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +4 -4
- package/esm2022/lib/card-view/services/card-item-types.service.mjs +4 -4
- package/esm2022/lib/card-view/services/card-view-update.service.mjs +4 -4
- package/esm2022/lib/clipboard/clipboard.directive.mjs +7 -7
- package/esm2022/lib/clipboard/clipboard.module.mjs +5 -5
- package/esm2022/lib/clipboard/clipboard.service.mjs +4 -4
- package/esm2022/lib/comments/comment-list/comment-list.component.mjs +4 -4
- package/esm2022/lib/comments/comment-list/comment-list.module.mjs +5 -5
- package/esm2022/lib/comments/comments.component.mjs +4 -4
- package/esm2022/lib/comments/comments.module.mjs +5 -5
- package/esm2022/lib/common/mock/app-config.service.mock.mjs +4 -4
- package/esm2022/lib/common/services/cookie.service.mjs +4 -4
- package/esm2022/lib/common/services/download.service.mjs +4 -4
- package/esm2022/lib/common/services/highlight-transform.service.mjs +4 -4
- package/esm2022/lib/common/services/log.service.mjs +4 -4
- package/esm2022/lib/common/services/page-title.service.mjs +4 -4
- package/esm2022/lib/common/services/sort-by-category.service.mjs +4 -4
- package/esm2022/lib/common/services/storage.service.mjs +4 -4
- package/esm2022/lib/common/services/thumbnail.service.mjs +4 -4
- package/esm2022/lib/common/services/url.service.mjs +4 -4
- package/esm2022/lib/common/services/user-preferences.service.mjs +4 -4
- package/esm2022/lib/common/utils/date-fns-adapter.mjs +4 -4
- package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +4 -4
- package/esm2022/lib/common/utils/moment-date-adapter.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu-list.component.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu.directive.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/lib/core.module.mjs +5 -5
- package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +4 -4
- 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/datatable/datatable.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +4 -4
- package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +13 -13
- package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/data/data-table.schema.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column.component.mjs +4 -4
- package/esm2022/lib/datatable/datatable.module.mjs +5 -5
- package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/loading-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +4 -4
- package/esm2022/lib/datatable/services/datatable.service.mjs +4 -4
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/dialog/dialog.component.mjs +4 -4
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +4 -4
- package/esm2022/lib/directives/directive.module.mjs +5 -5
- package/esm2022/lib/directives/highlight.directive.mjs +4 -4
- package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +4 -4
- package/esm2022/lib/directives/logout.directive.mjs +4 -4
- package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +4 -4
- package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +4 -4
- package/esm2022/lib/directives/upload.directive.mjs +4 -4
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +4 -4
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +5 -5
- package/esm2022/lib/form/components/form-base.component.mjs +4 -4
- package/esm2022/lib/form/components/form-custom-button.directive.mjs +4 -4
- package/esm2022/lib/form/components/form-field/form-field.component.mjs +4 -4
- package/esm2022/lib/form/components/form-renderer.component.mjs +5 -5
- package/esm2022/lib/form/components/form-section/form-section.component.mjs +4 -4
- package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +4 -4
- package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +4 -4
- package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +4 -4
- 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 +4 -4
- package/esm2022/lib/form/components/widgets/error/error.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/header/header.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +4 -4
- 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 +4 -4
- package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/text/text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/widget.component.mjs +4 -4
- package/esm2022/lib/form/form-base.module.mjs +5 -5
- 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 +4 -4
- package/esm2022/lib/form/services/widget-visibility.service.mjs +4 -4
- package/esm2022/lib/header/header.component.mjs +4 -4
- package/esm2022/lib/header/navbar/navbar-item.component.mjs +4 -4
- package/esm2022/lib/header/navbar/navbar.component.mjs +4 -4
- package/esm2022/lib/icon/icon.component.mjs +4 -4
- package/esm2022/lib/icon/icon.module.mjs +5 -5
- package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +4 -4
- package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +5 -5
- package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +13 -13
- package/esm2022/lib/info-drawer/info-drawer.component.mjs +7 -7
- package/esm2022/lib/info-drawer/info-drawer.module.mjs +5 -5
- package/esm2022/lib/language-menu/language-menu.component.mjs +4 -4
- package/esm2022/lib/language-menu/language-menu.module.mjs +5 -5
- package/esm2022/lib/language-menu/language-picker.component.mjs +4 -4
- package/esm2022/lib/language-menu/service/language.service.mjs +4 -4
- package/esm2022/lib/layout/components/header/header.component.mjs +4 -4
- package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +4 -4
- package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +13 -13
- package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +4 -4
- package/esm2022/lib/layout/layout.module.mjs +5 -5
- package/esm2022/lib/login/components/login/login.component.mjs +4 -4
- package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +4 -4
- package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +4 -4
- package/esm2022/lib/login/directives/login-footer.directive.mjs +4 -4
- package/esm2022/lib/login/directives/login-header.directive.mjs +4 -4
- package/esm2022/lib/login/login.module.mjs +5 -5
- package/esm2022/lib/material.module.mjs +5 -5
- package/esm2022/lib/mock/cookie.service.mock.mjs +4 -4
- package/esm2022/lib/mock/translation.service.mock.mjs +4 -4
- package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +4 -4
- package/esm2022/lib/notifications/components/notification-history.component.mjs +4 -4
- package/esm2022/lib/notifications/notification-history.module.mjs +5 -5
- package/esm2022/lib/notifications/services/notification.service.mjs +4 -4
- package/esm2022/lib/pagination/infinite-pagination.component.mjs +4 -4
- package/esm2022/lib/pagination/pagination.component.mjs +4 -4
- package/esm2022/lib/pagination/pagination.module.mjs +5 -5
- package/esm2022/lib/pipes/date-time.pipe.mjs +4 -4
- package/esm2022/lib/pipes/decimal-number.pipe.mjs +4 -4
- package/esm2022/lib/pipes/file-size.pipe.mjs +4 -4
- 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 +4 -4
- package/esm2022/lib/pipes/localized-date.pipe.mjs +4 -4
- package/esm2022/lib/pipes/multi-value.pipe.mjs +4 -4
- package/esm2022/lib/pipes/pipe.module.mjs +5 -5
- package/esm2022/lib/pipes/text-highlight.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/pipes/truncate.pipe.mjs +4 -4
- package/esm2022/lib/pipes/user-initial.pipe.mjs +4 -4
- package/esm2022/lib/progress/progress.component.mjs +4 -4
- package/esm2022/lib/search-text/search-text-input.component.mjs +4 -4
- package/esm2022/lib/search-text/search-text-input.module.mjs +5 -5
- package/esm2022/lib/search-text/search-trigger.directive.mjs +4 -4
- package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +4 -4
- package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +5 -5
- package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +4 -4
- package/esm2022/lib/templates/empty-content/empty-content.component.mjs +4 -4
- package/esm2022/lib/templates/error-content/error-content.component.mjs +4 -4
- package/esm2022/lib/templates/template.module.mjs +5 -5
- package/esm2022/lib/testing/core.story.module.mjs +5 -5
- package/esm2022/lib/testing/core.testing.module.mjs +5 -5
- package/esm2022/lib/testing/noop-auth.module.mjs +8 -8
- package/esm2022/lib/testing/noop-translate.module.mjs +8 -8
- package/esm2022/lib/toolbar/toolbar-divider.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar-title.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/lib/translation/translate-loader.service.mjs +4 -4
- package/esm2022/lib/translation/translation.service.mjs +4 -4
- package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +4 -4
- package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +4 -4
- package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +4 -4
- package/esm2022/lib/viewer/services/rendering-queue.services.mjs +4 -4
- package/esm2022/lib/viewer/services/view-util.service.mjs +4 -4
- package/esm2022/lib/viewer/viewer.module.mjs +5 -5
- package/esm2022/shell/lib/components/shell/shell.component.mjs +4 -4
- package/esm2022/shell/lib/shell.module.mjs +5 -5
- package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +2 -2
- package/fesm2022/adf-core.mjs +826 -826
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +4 -4
- package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
- package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +10 -10
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-feature-flags.mjs +37 -37
- package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-shell.mjs +8 -8
- package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -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/_components-variables.scss +42 -42
- package/lib/styles/_index.scss +57 -57
- package/lib/styles/_typography.scss +13 -13
- package/lib/styles/prebuilt/adf-blue-orange.scss +5 -5
- package/lib/styles/prebuilt/adf-blue-purple.scss +5 -5
- package/lib/styles/prebuilt/adf-cyan-orange.scss +5 -5
- package/lib/styles/prebuilt/adf-cyan-purple.scss +5 -5
- package/lib/styles/prebuilt/adf-green-orange.scss +5 -5
- package/lib/styles/prebuilt/adf-green-purple.scss +5 -5
- package/lib/styles/prebuilt/adf-indigo-pink.scss +5 -5
- package/lib/styles/prebuilt/adf-pink-bluegrey.scss +5 -5
- package/lib/styles/prebuilt/adf-purple-green.scss +5 -5
- package/package.json +3 -3
- package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -1
- package/schematics/migrations/schematics/migrations/7_0_0/index.js +2 -2
- package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
19
|
export class ViewerToolbarComponent {
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ViewerToolbarComponent, isStandalone: true, selector: "adf-viewer-toolbar", host: { classAttribute: "adf-viewer-toolbar" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerToolbarComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{
|
|
26
26
|
selector: 'adf-viewer-toolbar',
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
31
31
|
template: `<ng-content />`
|
|
32
32
|
}]
|
|
33
33
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi92aWV3ZXIvY29tcG9uZW50cy92aWV3ZXItdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVdEYsTUFBTSxPQUFPLHNCQUFzQjsrR0FBdEIsc0JBQXNCO21HQUF0QixzQkFBc0IsOEhBRnJCLGdCQUFnQjs7NEZBRWpCLHNCQUFzQjtrQkFSbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7b0JBQ3JDLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi12aWV3ZXItdG9vbGJhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtdmlld2VyLXRvb2xiYXInIH0sXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmBcbn0pXG5leHBvcnQgY2xhc3MgVmlld2VyVG9vbGJhckNvbXBvbmVudCB7fVxuIl19
|
|
@@ -345,10 +345,10 @@ export class ViewerComponent {
|
|
|
345
345
|
});
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
349
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ViewerComponent, isStandalone: true, selector: "adf-viewer", inputs: { urlFile: "urlFile", blobFile: "blobFile", showViewer: "showViewer", allowGoBack: "allowGoBack", allowFullScreen: "allowFullScreen", showToolbar: "showToolbar", overlayMode: "overlayMode", allowNavigate: "allowNavigate", canNavigateBefore: "canNavigateBefore", canNavigateNext: "canNavigateNext", allowLeftSidebar: "allowLeftSidebar", allowRightSidebar: "allowRightSidebar", showRightSidebar: "showRightSidebar", showLeftSidebar: "showLeftSidebar", sidebarRightTemplate: "sidebarRightTemplate", sidebarLeftTemplate: "sidebarLeftTemplate", readOnly: "readOnly", allowedEditActions: "allowedEditActions", tracks: "tracks", mimeType: "mimeType", sidebarRightTemplateContext: "sidebarRightTemplateContext", sidebarLeftTemplateContext: "sidebarLeftTemplateContext", closeButtonPosition: "closeButtonPosition", hideInfoButton: "hideInfoButton", viewerExtensions: "viewerExtensions", nodeId: "nodeId", nodeMimeType: "nodeMimeType", fileName: "fileName" }, outputs: { downloadFile: "downloadFile", navigateBefore: "navigateBefore", navigateNext: "navigateNext", showViewerChange: "showViewerChange", submitFile: "submitFile" }, host: { listeners: { "document:keyup": "handleKeyboardEvent($event)" }, classAttribute: "adf-viewer" }, providers: [ViewUtilService], queries: [{ propertyName: "toolbar", first: true, predicate: ViewerToolbarComponent, descendants: true }, { propertyName: "sidebar", first: true, predicate: ViewerSidebarComponent, descendants: true }, { propertyName: "mnuOpenWith", first: true, predicate: ViewerOpenWithComponent, descendants: true }, { propertyName: "mnuMoreActions", first: true, predicate: ViewerMoreActionsComponent, descendants: true }, { propertyName: "viewerTemplateExtensions", first: true, predicate: ["viewerExtensions"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showViewer\"\n class=\"adf-viewer-container\"\n [class.adf-viewer-overlay-container]=\"overlayMode\"\n [class.adf-viewer-inline-container]=\"!overlayMode\">\n\n <div class=\"adf-viewer-content\"\n [cdkTrapFocus]=\"overlayMode\"\n cdkTrapFocusAutoCapture>\n <ng-content select=\"adf-viewer-toolbar\" />\n <ng-container *ngIf=\"showToolbar && !toolbar\">\n <adf-toolbar id=\"adf-viewer-toolbar\" class=\"adf-viewer-toolbar\">\n <adf-toolbar-title>\n <ng-container *ngIf=\"allowLeftSidebar\">\n <button mat-icon-button\n [attr.aria-expanded]=\"showLeftSidebar\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.INFO' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\"\n data-automation-id=\"adf-toolbar-left-sidebar\"\n [color]=\"showLeftSidebar ? 'accent' : null\"\n (click)=\"toggleLeftSidebar()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </ng-container>\n\n <button *ngIf=\"allowGoBack && closeButtonPosition === CloseButtonPosition.Left\"\n class=\"adf-viewer-close-button\"\n data-automation-id=\"adf-toolbar-left-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"onClose()\">\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar-title>\n\n <div class=\"adf-viewer__file-title\">\n <button *ngIf=\"allowNavigate && canNavigateBefore\"\n data-automation-id=\"adf-toolbar-pref-file\"\n mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.PREV_FILE' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREV_FILE' | translate }}\"\n (click)=\"onNavigateBeforeClick($event)\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n <img class=\"adf-viewer__mimeicon\"\n [alt]=\"'ADF_VIEWER.ARIA.MIME_TYPE_ICON' | translate\"\n [src]=\"mimeTypeIconUrl\"\n data-automation-id=\"adf-file-thumbnail\">\n <div class=\"adf-viewer__display-name\"\n id=\"adf-viewer-display-name\"\n [title]=\"fileName\">\n <span class=\"adf-viewer__display-name-without-extension\">{{ fileNameWithoutExtension }}</span>\n <span class=\"adf-viewer__display-name-extension\">{{ fileExtension }}</span>\n </div>\n <button *ngIf=\"allowNavigate && canNavigateNext\"\n data-automation-id=\"adf-toolbar-next-file\"\n mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.NEXT_FILE' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.NEXT_FILE' | translate }}\"\n (click)=\"onNavigateNextClick($event)\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </div>\n\n <ng-content select=\"adf-viewer-toolbar-actions\" />\n\n <ng-container *ngIf=\"mnuOpenWith\"\n data-automation-id='adf-toolbar-custom-btn'>\n <button id=\"adf-viewer-openwith\"\n mat-button\n [matMenuTriggerFor]=\"mnuOpenWith\"\n data-automation-id=\"adf-toolbar-open-with\">\n <span>{{ 'ADF_VIEWER.ACTIONS.OPEN_WITH' | translate }}</span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #mnuOpenWith=\"matMenu\"\n [overlapTrigger]=\"false\">\n <ng-content select=\"adf-viewer-open-with\" />\n </mat-menu>\n </ng-container>\n\n <adf-toolbar-divider />\n\n <ng-content select=\"adf-viewer-toolbar-custom-actions\" />\n\n <button id=\"adf-viewer-fullscreen\"\n *ngIf=\"allowFullScreen\"\n mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate }}\"\n data-automation-id=\"adf-toolbar-fullscreen\"\n (click)=\"enterFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n\n <ng-container *ngIf=\"allowRightSidebar && !hideInfoButton\">\n <adf-toolbar-divider />\n\n <button mat-icon-button\n [attr.aria-expanded]=\"showRightSidebar\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.INFO' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\"\n data-automation-id=\"adf-toolbar-sidebar\"\n [color]=\"showRightSidebar ? 'accent' : null\"\n (click)=\"toggleRightSidebar()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n\n </ng-container>\n\n <ng-container *ngIf=\"mnuMoreActions\">\n <button id=\"adf-viewer-moreactions\"\n mat-icon-button\n [matMenuTriggerFor]=\"mnuMoreActions\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.MORE_ACTIONS' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.MORE_ACTIONS' | translate }}\"\n data-automation-id=\"adf-toolbar-more-actions\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #mnuMoreActions=\"matMenu\"\n [overlapTrigger]=\"false\">\n <ng-content select=\"adf-viewer-more-actions\" />\n </mat-menu>\n </ng-container>\n\n <ng-container *ngIf=\"allowGoBack && closeButtonPosition === CloseButtonPosition.Right\">\n <adf-toolbar-divider />\n\n <button class=\"adf-viewer-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"onClose()\">\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n\n </adf-toolbar>\n </ng-container>\n\n <div class=\"adf-viewer-sidebars\">\n\n <ng-container *ngIf=\"allowRightSidebar && showRightSidebar\">\n <div class=\"adf-viewer__sidebar adf-viewer__sidebar__right\"\n id=\"adf-right-sidebar\">\n <ng-container *ngIf=\"sidebarRightTemplate\">\n <ng-container *ngTemplateOutlet=\"sidebarRightTemplate;context:sidebarRightTemplateContext\" />\n </ng-container>\n <ng-content *ngIf=\"!sidebarRightTemplate\"\n select=\"adf-viewer-sidebar\" />\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"allowLeftSidebar && showLeftSidebar\">\n <div class=\"adf-viewer__sidebar adf-viewer__sidebar__left\"\n id=\"adf-left-sidebar\">\n <ng-container *ngIf=\"sidebarLeftTemplate\">\n <ng-container *ngTemplateOutlet=\"sidebarLeftTemplate;context:sidebarLeftTemplateContext\" />\n </ng-container>\n <ng-content *ngIf=\"!sidebarLeftTemplate\"\n select=\"adf-viewer-sidebar\" />\n </div>\n </ng-container>\n\n <adf-viewer-render (close)=\"onClose()\"\n [mimeType]=\"mimeType\"\n [fileName]=\"fileName\"\n [blobFile]=\"blobFile\"\n [readOnly]=\"readOnly\"\n (submitFile)=\"onSubmitFile($event)\"\n [allowedEditActions]=\"allowedEditActions\"\n [urlFile]=\"urlFile\"\n (isSaving)=\"allowNavigate = !$event\"\n [tracks]=\"tracks\"\n [viewerTemplateExtensions]=\"viewerExtensions ?? viewerTemplateExtensions\"\n [nodeId]=\"nodeId\" />\n\n </div>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-viewer-inline-container,.adf-viewer-container .adf-viewer-content,.adf-viewer-container .adf-viewer-layout,.adf-viewer-container .adf-viewer-layout-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-viewer{position:absolute;width:100%;height:100%}.adf-viewer .mat-toolbar{color:var(--adf-theme-foreground-text-color-054)}.adf-viewer .mat-toolbar .adf-toolbar-title{width:auto}.adf-viewer-main{width:0}.adf-viewer__mimeicon{vertical-align:middle;height:18px;width:18px;margin-left:4px;margin-right:4px}.adf-viewer-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-viewer__file-title{text-align:center;flex:1 1 auto;position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:row;align-items:center}@media screen and (width <= 1450px){.adf-viewer__file-title{left:30%}}.adf-viewer__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-viewer__display-name-without-extension{display:inline-block;text-overflow:ellipsis;overflow:hidden;max-width:400px;white-space:nowrap;vertical-align:bottom}.adf-viewer-container .adf-viewer-layout-content{position:relative;overflow:hidden;z-index:1;background-color:var(--theme-background-color);display:flex;flex-direction:row;flex-wrap:wrap;flex:1}.adf-viewer-container .adf-viewer-layout-content>div{display:flex;flex-flow:row wrap;margin:0 auto;align-items:stretch;height:100%}.adf-viewer-container .adf-viewer-layout{display:flex;flex-direction:row;overflow:hidden auto;position:relative}.adf-viewer-container .adf-viewer-content{flex:1;flex-direction:column;display:flex}.adf-viewer-container .adf-viewer-content>div{height:0}.adf-viewer-overlay-container .adf-viewer-content{position:fixed;top:0;left:0;z-index:1000}.adf-viewer-sidebars{display:flex;flex:1 1 auto}.adf-viewer-sidebars .adf-viewer__sidebar{width:350px;display:block;padding:0;background-color:var(--theme-background-color);box-shadow:0 2px 4px 0 var(--adf-theme-foreground-text-color-027);overflow:auto}.adf-viewer-sidebars .adf-viewer__sidebar__right{border-left:1px solid var(--adf-theme-foreground-text-color-007);order:4}.adf-viewer-sidebars .adf-viewer__sidebar__left{border-right:1px solid var(--adf-theme-foreground-text-color-007);order:1}.adf-viewer-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: ToolbarTitleComponent, selector: "adf-toolbar-title" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: ToolbarDividerComponent, selector: "adf-toolbar-divider" }, { kind: "component", type: ViewerRenderComponent, selector: "adf-viewer-render", inputs: ["urlFile", "blobFile", "allowFullScreen", "allowThumbnails", "thumbnailsTemplate", "mimeType", "fileName", "isLoading", "readOnly", "allowedEditActions", "tracks", "nodeId", "viewerTemplateExtensions"], outputs: ["extensionChange", "submitFile", "close", "isSaving"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerComponent, deps: [{ token: i0.ElementRef }, { token: i1.MatDialog }, { token: i2.ViewUtilService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ViewerComponent, isStandalone: true, selector: "adf-viewer", inputs: { urlFile: "urlFile", blobFile: "blobFile", showViewer: "showViewer", allowGoBack: "allowGoBack", allowFullScreen: "allowFullScreen", showToolbar: "showToolbar", overlayMode: "overlayMode", allowNavigate: "allowNavigate", canNavigateBefore: "canNavigateBefore", canNavigateNext: "canNavigateNext", allowLeftSidebar: "allowLeftSidebar", allowRightSidebar: "allowRightSidebar", showRightSidebar: "showRightSidebar", showLeftSidebar: "showLeftSidebar", sidebarRightTemplate: "sidebarRightTemplate", sidebarLeftTemplate: "sidebarLeftTemplate", readOnly: "readOnly", allowedEditActions: "allowedEditActions", tracks: "tracks", mimeType: "mimeType", sidebarRightTemplateContext: "sidebarRightTemplateContext", sidebarLeftTemplateContext: "sidebarLeftTemplateContext", closeButtonPosition: "closeButtonPosition", hideInfoButton: "hideInfoButton", viewerExtensions: "viewerExtensions", nodeId: "nodeId", nodeMimeType: "nodeMimeType", fileName: "fileName" }, outputs: { downloadFile: "downloadFile", navigateBefore: "navigateBefore", navigateNext: "navigateNext", showViewerChange: "showViewerChange", submitFile: "submitFile" }, host: { listeners: { "document:keyup": "handleKeyboardEvent($event)" }, classAttribute: "adf-viewer" }, providers: [ViewUtilService], queries: [{ propertyName: "toolbar", first: true, predicate: ViewerToolbarComponent, descendants: true }, { propertyName: "sidebar", first: true, predicate: ViewerSidebarComponent, descendants: true }, { propertyName: "mnuOpenWith", first: true, predicate: ViewerOpenWithComponent, descendants: true }, { propertyName: "mnuMoreActions", first: true, predicate: ViewerMoreActionsComponent, descendants: true }, { propertyName: "viewerTemplateExtensions", first: true, predicate: ["viewerExtensions"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showViewer\"\n class=\"adf-viewer-container\"\n [class.adf-viewer-overlay-container]=\"overlayMode\"\n [class.adf-viewer-inline-container]=\"!overlayMode\">\n\n <div class=\"adf-viewer-content\"\n [cdkTrapFocus]=\"overlayMode\"\n cdkTrapFocusAutoCapture>\n <ng-content select=\"adf-viewer-toolbar\" />\n <ng-container *ngIf=\"showToolbar && !toolbar\">\n <adf-toolbar id=\"adf-viewer-toolbar\" class=\"adf-viewer-toolbar\">\n <adf-toolbar-title>\n <ng-container *ngIf=\"allowLeftSidebar\">\n <button mat-icon-button\n [attr.aria-expanded]=\"showLeftSidebar\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.INFO' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\"\n data-automation-id=\"adf-toolbar-left-sidebar\"\n [color]=\"showLeftSidebar ? 'accent' : null\"\n (click)=\"toggleLeftSidebar()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </ng-container>\n\n <button *ngIf=\"allowGoBack && closeButtonPosition === CloseButtonPosition.Left\"\n class=\"adf-viewer-close-button\"\n data-automation-id=\"adf-toolbar-left-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"onClose()\">\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar-title>\n\n <div class=\"adf-viewer__file-title\">\n <button *ngIf=\"allowNavigate && canNavigateBefore\"\n data-automation-id=\"adf-toolbar-pref-file\"\n mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.PREV_FILE' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREV_FILE' | translate }}\"\n (click)=\"onNavigateBeforeClick($event)\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n <img class=\"adf-viewer__mimeicon\"\n [alt]=\"'ADF_VIEWER.ARIA.MIME_TYPE_ICON' | translate\"\n [src]=\"mimeTypeIconUrl\"\n data-automation-id=\"adf-file-thumbnail\">\n <div class=\"adf-viewer__display-name\"\n id=\"adf-viewer-display-name\"\n [title]=\"fileName\">\n <span class=\"adf-viewer__display-name-without-extension\">{{ fileNameWithoutExtension }}</span>\n <span class=\"adf-viewer__display-name-extension\">{{ fileExtension }}</span>\n </div>\n <button *ngIf=\"allowNavigate && canNavigateNext\"\n data-automation-id=\"adf-toolbar-next-file\"\n mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.NEXT_FILE' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.NEXT_FILE' | translate }}\"\n (click)=\"onNavigateNextClick($event)\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </div>\n\n <ng-content select=\"adf-viewer-toolbar-actions\" />\n\n <ng-container *ngIf=\"mnuOpenWith\"\n data-automation-id='adf-toolbar-custom-btn'>\n <button id=\"adf-viewer-openwith\"\n mat-button\n [matMenuTriggerFor]=\"mnuOpenWith\"\n data-automation-id=\"adf-toolbar-open-with\">\n <span>{{ 'ADF_VIEWER.ACTIONS.OPEN_WITH' | translate }}</span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #mnuOpenWith=\"matMenu\"\n [overlapTrigger]=\"false\">\n <ng-content select=\"adf-viewer-open-with\" />\n </mat-menu>\n </ng-container>\n\n <adf-toolbar-divider />\n\n <ng-content select=\"adf-viewer-toolbar-custom-actions\" />\n\n <button id=\"adf-viewer-fullscreen\"\n *ngIf=\"allowFullScreen\"\n mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate }}\"\n data-automation-id=\"adf-toolbar-fullscreen\"\n (click)=\"enterFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n\n <ng-container *ngIf=\"allowRightSidebar && !hideInfoButton\">\n <adf-toolbar-divider />\n\n <button mat-icon-button\n [attr.aria-expanded]=\"showRightSidebar\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.INFO' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\"\n data-automation-id=\"adf-toolbar-sidebar\"\n [color]=\"showRightSidebar ? 'accent' : null\"\n (click)=\"toggleRightSidebar()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n\n </ng-container>\n\n <ng-container *ngIf=\"mnuMoreActions\">\n <button id=\"adf-viewer-moreactions\"\n mat-icon-button\n [matMenuTriggerFor]=\"mnuMoreActions\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.MORE_ACTIONS' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.MORE_ACTIONS' | translate }}\"\n data-automation-id=\"adf-toolbar-more-actions\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #mnuMoreActions=\"matMenu\"\n [overlapTrigger]=\"false\">\n <ng-content select=\"adf-viewer-more-actions\" />\n </mat-menu>\n </ng-container>\n\n <ng-container *ngIf=\"allowGoBack && closeButtonPosition === CloseButtonPosition.Right\">\n <adf-toolbar-divider />\n\n <button class=\"adf-viewer-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"onClose()\">\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n\n </adf-toolbar>\n </ng-container>\n\n <div class=\"adf-viewer-sidebars\">\n\n <ng-container *ngIf=\"allowRightSidebar && showRightSidebar\">\n <div class=\"adf-viewer__sidebar adf-viewer__sidebar__right\"\n id=\"adf-right-sidebar\">\n <ng-container *ngIf=\"sidebarRightTemplate\">\n <ng-container *ngTemplateOutlet=\"sidebarRightTemplate;context:sidebarRightTemplateContext\" />\n </ng-container>\n <ng-content *ngIf=\"!sidebarRightTemplate\"\n select=\"adf-viewer-sidebar\" />\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"allowLeftSidebar && showLeftSidebar\">\n <div class=\"adf-viewer__sidebar adf-viewer__sidebar__left\"\n id=\"adf-left-sidebar\">\n <ng-container *ngIf=\"sidebarLeftTemplate\">\n <ng-container *ngTemplateOutlet=\"sidebarLeftTemplate;context:sidebarLeftTemplateContext\" />\n </ng-container>\n <ng-content *ngIf=\"!sidebarLeftTemplate\"\n select=\"adf-viewer-sidebar\" />\n </div>\n </ng-container>\n\n <adf-viewer-render (close)=\"onClose()\"\n [mimeType]=\"mimeType\"\n [fileName]=\"fileName\"\n [blobFile]=\"blobFile\"\n [readOnly]=\"readOnly\"\n (submitFile)=\"onSubmitFile($event)\"\n [allowedEditActions]=\"allowedEditActions\"\n [urlFile]=\"urlFile\"\n (isSaving)=\"allowNavigate = !$event\"\n [tracks]=\"tracks\"\n [viewerTemplateExtensions]=\"viewerExtensions ?? viewerTemplateExtensions\"\n [nodeId]=\"nodeId\" />\n\n </div>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-viewer-inline-container,.adf-viewer-container .adf-viewer-content,.adf-viewer-container .adf-viewer-layout,.adf-viewer-container .adf-viewer-layout-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-viewer{position:absolute;width:100%;height:100%}.adf-viewer .mat-toolbar{color:var(--adf-theme-foreground-text-color-054)}.adf-viewer .mat-toolbar .adf-toolbar-title{width:auto}.adf-viewer-main{width:0}.adf-viewer__mimeicon{vertical-align:middle;height:18px;width:18px;margin-left:4px;margin-right:4px}.adf-viewer-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-viewer__file-title{text-align:center;flex:1 1 auto;position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:row;align-items:center}@media screen and (width <= 1450px){.adf-viewer__file-title{left:30%}}.adf-viewer__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-viewer__display-name-without-extension{display:inline-block;text-overflow:ellipsis;overflow:hidden;max-width:400px;white-space:nowrap;vertical-align:bottom}.adf-viewer-container .adf-viewer-layout-content{position:relative;overflow:hidden;z-index:1;background-color:var(--theme-background-color);display:flex;flex-direction:row;flex-wrap:wrap;flex:1}.adf-viewer-container .adf-viewer-layout-content>div{display:flex;flex-flow:row wrap;margin:0 auto;align-items:stretch;height:100%}.adf-viewer-container .adf-viewer-layout{display:flex;flex-direction:row;overflow:hidden auto;position:relative}.adf-viewer-container .adf-viewer-content{flex:1;flex-direction:column;display:flex}.adf-viewer-container .adf-viewer-content>div{height:0}.adf-viewer-overlay-container .adf-viewer-content{position:fixed;top:0;left:0;z-index:1000}.adf-viewer-sidebars{display:flex;flex:1 1 auto}.adf-viewer-sidebars .adf-viewer__sidebar{width:350px;display:block;padding:0;background-color:var(--theme-background-color);box-shadow:0 2px 4px 0 var(--adf-theme-foreground-text-color-027);overflow:auto}.adf-viewer-sidebars .adf-viewer__sidebar__right{border-left:1px solid var(--adf-theme-foreground-text-color-007);order:4}.adf-viewer-sidebars .adf-viewer__sidebar__left{border-right:1px solid var(--adf-theme-foreground-text-color-007);order:1}.adf-viewer-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: ToolbarTitleComponent, selector: "adf-toolbar-title" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: ToolbarDividerComponent, selector: "adf-toolbar-divider" }, { kind: "component", type: ViewerRenderComponent, selector: "adf-viewer-render", inputs: ["urlFile", "blobFile", "allowFullScreen", "allowThumbnails", "thumbnailsTemplate", "mimeType", "fileName", "isLoading", "readOnly", "allowedEditActions", "tracks", "nodeId", "viewerTemplateExtensions"], outputs: ["extensionChange", "submitFile", "close", "isSaving"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
350
350
|
}
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerComponent, decorators: [{
|
|
352
352
|
type: Component,
|
|
353
353
|
args: [{ selector: 'adf-viewer', standalone: true, host: { class: 'adf-viewer' }, encapsulation: ViewEncapsulation.None, imports: [
|
|
354
354
|
NgIf,
|
|
@@ -453,4 +453,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
453
453
|
type: HostListener,
|
|
454
454
|
args: ['document:keyup', ['$event']]
|
|
455
455
|
}] } });
|
|
456
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvdmlld2VyL2NvbXBvbmVudHMvdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvdmlld2VyL2NvbXBvbmVudHMvdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFB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bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50LCBUb29sYmFyRGl2aWRlckNvbXBvbmVudCwgVG9vbGJhclRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdG9vbGJhcic7XG5pbXBvcnQgeyBEb3dubG9hZFByb21wdEFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZG93bmxvYWQtcHJvbXB0LmFjdGlvbnMnO1xuaW1wb3J0IHsgQ2xvc2VCdXR0b25Qb3NpdGlvbiwgVHJhY2sgfSBmcm9tICcuLi9tb2RlbHMvdmlld2VyLm1vZGVsJztcbmltcG9ydCB7IFZpZXdVdGlsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZpZXctdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IERvd25sb2FkUHJvbXB0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kb3dubG9hZC1wcm9tcHQtZGlhbG9nL2Rvd25sb2FkLXByb21wdC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlck1vcmVBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItbW9yZS1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3ZXJPcGVuV2l0aENvbXBvbmVudCB9IGZyb20gJy4vdmlld2VyLW9wZW4td2l0aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld2VyUmVuZGVyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItcmVuZGVyL3ZpZXdlci1yZW5kZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlclNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlci1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3ZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld2VyVG9vbGJhckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlci10b29sYmFyLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlclRvb2xiYXJDdXN0b21BY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItdG9vbGJhci1jdXN0b20tYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24nO1xuaW1wb3J0IHsgVGh1bWJuYWlsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmNvbnN0IERFRkFVTFRfTk9OX1BSRVZJRVdfQ09ORklHID0ge1xuICAgIGVuYWJsZURvd25sb2FkUHJvbXB0OiBmYWxzZSxcbiAgICBlbmFibGVEb3dubG9hZFByb21wdFJlbWluZGVyOiBmYWxzZSxcbiAgICBkb3dubG9hZFByb21wdERlbGF5OiA1MCxcbiAgICBkb3dubG9hZFByb21wdFJlbWluZGVyRGVsYXk6IDMwXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi12aWV3ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi12aWV3ZXInIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEExMXlNb2R1bGUsXG4gICAgICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIFRvb2xiYXJEaXZpZGVyQ29tcG9uZW50LFxuICAgICAgICBWaWV3ZXJSZW5kZXJDb21wb25lbnQsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFZpZXdlclRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFZpZXdlclNpZGViYXJDb21wb25lbnQsXG4gICAgICAgIFZpZXdlclRvb2xiYXJBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBWaWV3ZXJUb29sYmFyQ3VzdG9tQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgSWNvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbVmlld1V0aWxTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHRodW1ibmFpbFNlcnZpY2UgPSBpbmplY3QoVGh1bWJuYWlsU2VydmljZSk7XG5cbiAgICBAQ29udGVudENoaWxkKFZpZXdlclRvb2xiYXJDb21wb25lbnQpXG4gICAgdG9vbGJhcjogVmlld2VyVG9vbGJhckNvbXBvbmVudDtcblxuICAgIEBDb250ZW50Q2hpbGQoVmlld2VyU2lkZWJhckNvbXBvbmVudClcbiAgICBzaWRlYmFyOiBWaWV3ZXJTaWRlYmFyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChWaWV3ZXJPcGVuV2l0aENvbXBvbmVudClcbiAgICBtbnVPcGVuV2l0aDogVmlld2VyT3BlbldpdGhDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKFZpZXdlck1vcmVBY3Rpb25zQ29tcG9uZW50KVxuICAgIG1udU1vcmVBY3Rpb25zOiBWaWV3ZXJNb3JlQWN0aW9uc0NvbXBvbmVudDtcblxuICAgIEBDb250ZW50Q2hpbGQoJ3ZpZXdlckV4dGVuc2lvbnMnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICB2aWV3ZXJUZW1wbGF0ZUV4dGVuc2lvbnM6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBnZXQgQ2xvc2VCdXR0b25Qb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENsb3NlQnV0dG9uUG9zaXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgeW91IHdhbnQgdG8gbG9hZCBhbiBleHRlcm5hbCBmaWxlIHRoYXQgZG9lcyBub3QgY29tZSBmcm9tIEFDUyB5b3VcbiAgICAgKiBjYW4gdXNlIHRoaXMgVVJMIHRvIHNwZWNpZnkgd2hlcmUgdG8gbG9hZCB0aGUgZmlsZSBmcm9tLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdXJsRmlsZSA9ICcnO1xuXG4gICAgLyoqIExvYWRzIGEgQmxvYiBGaWxlICovXG4gICAgQElucHV0KClcbiAgICBibG9iRmlsZTogQmxvYjtcblxuICAgIC8qKiBIaWRlIG9yIHNob3cgdGhlIHZpZXdlciAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1ZpZXdlciA9IHRydWU7XG5cbiAgICAvKiogQWxsb3dzIGBiYWNrYCBuYXZpZ2F0aW9uICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd0dvQmFjayA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgJ0Z1bGwgU2NyZWVuJyBmZWF0dXJlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dGdWxsU2NyZWVuID0gdHJ1ZTtcblxuICAgIC8qKiBIaWRlIG9yIHNob3cgdGhlIHRvb2xiYXIgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dUb29sYmFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIGB0cnVlYCB0aGVuIHNob3cgdGhlIFZpZXdlciBhcyBhIGZ1bGwgcGFnZSBvdmVyIHRoZSBjdXJyZW50IGNvbnRlbnQuXG4gICAgICogT3RoZXJ3aXNlLCBmaXQgaW5zaWRlIHRoZSBwYXJlbnQgZGl2LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3ZlcmxheU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgYmVmb3JlL25leHQgbmF2aWdhdGlvbi4gWW91IGNhbiB1c2UgdGhlIGFycm93IGJ1dHRvbnMgdG8gbmF2aWdhdGVcbiAgICAgKiBiZXR3ZWVuIGRvY3VtZW50cyBpbiB0aGUgY29sbGVjdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGFsbG93TmF2aWdhdGUgPSBmYWxzZTtcblxuICAgIC8qKiBUb2dnbGVzIHRoZSBcImJlZm9yZVwiIChcIjxcIikgYnV0dG9uLiBSZXF1aXJlcyBgYWxsb3dOYXZpZ2F0ZWAgdG8gYmUgZW5hYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNhbk5hdmlnYXRlQmVmb3JlID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGVzIHRoZSBuZXh0IChcIj5cIikgYnV0dG9uLiBSZXF1aXJlcyBgYWxsb3dOYXZpZ2F0ZWAgdG8gYmUgZW5hYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNhbk5hdmlnYXRlTmV4dCA9IHRydWU7XG5cbiAgICAvKiogQWxsb3cgdGhlIGxlZnQgdGhlIHNpZGViYXIuICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd0xlZnRTaWRlYmFyID0gZmFsc2U7XG5cbiAgICAvKiogQWxsb3cgdGhlIHJpZ2h0IHNpZGViYXIuICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd1JpZ2h0U2lkZWJhciA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZXMgcmlnaHQgc2lkZWJhciB2aXNpYmlsaXR5LiBSZXF1aXJlcyBgYWxsb3dSaWdodFNpZGViYXJgIHRvIGJlIHNldCB0byBgdHJ1ZWAuICovXG4gICAgQElucHV0KClcbiAgICBzaG93UmlnaHRTaWRlYmFyID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyBsZWZ0IHNpZGViYXIgdmlzaWJpbGl0eS4gUmVxdWlyZXMgYGFsbG93TGVmdFNpZGViYXJgIHRvIGJlIHNldCB0byBgdHJ1ZWAuICovXG4gICAgQElucHV0KClcbiAgICBzaG93TGVmdFNpZGViYXIgPSBmYWxzZTtcblxuICAgIC8qKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSByaWdodCBzaWRlYmFyLiBUaGUgdGVtcGxhdGUgY29udGV4dCBjb250YWlucyB0aGUgbG9hZGVkIG5vZGUgZGF0YS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNpZGViYXJSaWdodFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbDtcblxuICAgIC8qKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSBsZWZ0IHNpZGViYXIuIFRoZSB0ZW1wbGF0ZSBjb250ZXh0IGNvbnRhaW5zIHRoZSBsb2FkZWQgbm9kZSBkYXRhLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2lkZWJhckxlZnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XG5cbiAgICAvKiogRW5hYmxlIHdoZW4gd2hlcmUgaXMgcG9zc2libGUgdGhlIGVkaXRpbmcgZnVuY3Rpb25hbGl0aWVzICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVhZE9ubHkgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQ29udHJvbHMgd2hpY2ggYWN0aW9ucyBhcmUgZW5hYmxlZCBpbiB0aGUgdmlld2VyLlxuICAgICAqIEV4YW1wbGU6XG4gICAgICogeyByb3RhdGU6IHRydWUsIGNyb3A6IGZhbHNlIH0gd2lsbCBlbmFibGUgcm90YXRpb24gYnV0IGRpc2FibGUgY3JvcHBpbmcuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd2VkRWRpdEFjdGlvbnM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge1xuICAgICAgICByb3RhdGU6IHRydWUsXG4gICAgICAgIGNyb3A6IHRydWVcbiAgICB9O1xuXG4gICAgLyoqIG1lZGlhIHN1YnRpdGxlcyBmb3IgdGhlIG1lZGlhIHBsYXllciovXG4gICAgQElucHV0KClcbiAgICB0cmFja3M6IFRyYWNrW10gPSBbXTtcblxuICAgIC8qKiBPdmVybG9hZCBtaW1lVHlwZSovXG4gICAgQElucHV0KClcbiAgICBtaW1lVHlwZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQ29udGV4dCBvYmplY3QgYXZhaWxhYmxlIGZvciBiaW5kaW5nIGJ5IHRoZSBsb2NhbCBzaWRlYmFyUmlnaHRUZW1wbGF0ZSB3aXRoIGxldCBkZWNsYXJhdGlvbnMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaWRlYmFyUmlnaHRUZW1wbGF0ZUNvbnRleHQ6IFQgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ29udGV4dCBvYmplY3QgYXZhaWxhYmxlIGZvciBiaW5kaW5nIGJ5IHRoZSBsb2NhbCBzaWRlYmFyTGVmdFRlbXBsYXRlIHdpdGggbGV0IGRlY2xhcmF0aW9ucy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpZGViYXJMZWZ0VGVtcGxhdGVDb250ZXh0OiBUID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgY2xvc2UgYnV0dG9uIHBvc2l0aW9uIFJpZ2h0L0xlZnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZUJ1dHRvblBvc2l0aW9uID0gQ2xvc2VCdXR0b25Qb3NpdGlvbi5MZWZ0O1xuXG4gICAgLyoqIFRvZ2dsZXMgdGhlICdJbmZvIEJ1dHRvbicgKi9cbiAgICBASW5wdXQoKVxuICAgIGhpZGVJbmZvQnV0dG9uID0gZmFsc2U7XG5cbiAgICAvKiogVGVtcGxhdGUgY29udGFpbmluZyBWaWV3ZXJFeHRlbnNpb25EaXJlY3RpdmUgaW5zdGFuY2VzIHByb3ZpZGluZyBkaWZmZXJlbnQgdmlld2VyIGV4dGVuc2lvbnMgYmFzZWQgb24gc3VwcG9ydGVkIGZpbGUgZXh0ZW5zaW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmlld2VyRXh0ZW5zaW9uczogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBJZGVudGlmaWVyIG9mIGEgbm9kZSB0aGF0IGlzIG9wZW5lZCBieSB0aGUgdmlld2VyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9kZUlkOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIE9yaWdpbmFsIG5vZGUgbWltZSB0eXBlLCBzaG91bGQgYmUgcHJvdmlkZWQgd2hlbiByZW5kaXRpb25hIG1pbWUgdHlwZSBpcyBkaWZmZXJlbnQuICovXG4gICAgQElucHV0KClcbiAgICBub2RlTWltZVR5cGU6IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEVuYWJsZSBkaWFsb2cgYm94IHRvIGFsbG93IHVzZXIgdG8gZG93bmxvYWQgdGhlIHByZXZpZXdlZCBmaWxlLCBpbiBjYXNlIHRoZSBwcmV2aWV3IGlzIG5vdCByZXNwb25kaW5nIGZvciBhIHNldCBwZXJpb2Qgb2YgdGltZS5cbiAgICAgKi9cbiAgICBlbmFibGVEb3dubG9hZFByb21wdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIHJlbWluZGVyIGRpYWxvZ3MgdG8gcHJvbXB0IHVzZXIgdG8gZG93bmxvYWQgdGhlIGZpbGUsIGluIGNhc2UgdGhlIHByZXZpZXcgaXMgbm90IHJlc3BvbmRpbmcgZm9yIGEgc2V0IHBlcmlvZCBvZiB0aW1lLlxuICAgICAqL1xuICAgIGVuYWJsZURvd25sb2FkUHJvbXB0UmVtaW5kZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWwgdGltZSBpbiBzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGdpdmluZyB0aGUgZmlyc3QgcHJvbXB0IHRvIHVzZXIgdG8gZG93bmxvYWQgdGhlIGZpbGVcbiAgICAgKi9cbiAgICBkb3dubG9hZFByb21wdERlbGF5OiBudW1iZXIgPSA1MDtcblxuICAgIC8qKlxuICAgICAqIFRpbWUgaW4gc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBnaXZpbmcgdGhlIHNlY29uZCBhbmQgY29uc2VxdWVudCByZW1pbmRlcnMgdG8gdGhlIHVzZXIgdG8gZG93bmxvYWQgdGhlIGZpbGUuXG4gICAgICovXG4gICAgZG93bmxvYWRQcm9tcHRSZW1pbmRlckRlbGF5OiBudW1iZXIgPSAxNTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBkb3dubG9hZCBidXR0b24gb24gZG93bmxvYWQgcHJvbXB0IGRpYWxvZy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkb3dubG9hZEZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzICdOYXZpZ2F0ZSBCZWZvcmUnIChcIjxcIikgYnV0dG9uLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIG5hdmlnYXRlQmVmb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdXNlciBjbGlja3MgJ05hdmlnYXRlIE5leHQnIChcIj5cIikgYnV0dG9uLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIG5hdmlnYXRlTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB2aWV3ZXIgY2xvc2UgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzaG93Vmlld2VyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW1nIGlzIHN1Ym1pdHRlZCBpbiB0aGUgaW1nIHZpZXdlci4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWJtaXRGaWxlID0gbmV3IEV2ZW50RW1pdHRlcjxCbG9iPigpO1xuXG4gICAgcHJpdmF0ZSBjbG9zZVZpZXdlciA9IHRydWU7XG4gICAgcHJpdmF0ZSBrZXlEb3duJCA9IGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleWRvd24nKTtcbiAgICBwcml2YXRlIGlzRGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2ZpbGVOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZmlsZUV4dGVuc2lvbjogc3RyaW5nO1xuXG4gICAgcHVibGljIGRvd25sb2FkUHJvbXB0VGltZXI6IG51bWJlcjtcbiAgICBwdWJsaWMgZG93bmxvYWRQcm9tcHRSZW1pbmRlclRpbWVyOiBudW1iZXI7XG4gICAgcHVibGljIG1pbWVUeXBlSWNvblVybDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIE92ZXJyaWRlIENvbnRlbnQgZmlsZW5hbWUuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZmlsZU5hbWUoZmlsZU5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9maWxlTmFtZSA9IGZpbGVOYW1lO1xuICAgICAgICB0aGlzLl9maWxlRXh0ZW5zaW9uID0gdGhpcy52aWV3VXRpbHNTZXJ2aWNlLmdldEZpbGVFeHRlbnNpb24odGhpcy5maWxlTmFtZSk7XG4gICAgICAgIHRoaXMuX2ZpbGVOYW1lV2l0aG91dEV4dGVuc2lvbiA9IHRoaXMuZmlsZU5hbWU/LnJlcGxhY2UobmV3IFJlZ0V4cChgJHt0aGlzLmZpbGVFeHRlbnNpb259JGApLCAnJykgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTmFtZTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZUV4dGVuc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZUV4dGVuc2lvbjtcbiAgICB9XG5cbiAgICBnZXQgZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTmFtZVdpdGhvdXRFeHRlbnNpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSB2aWV3VXRpbHNTZXJ2aWNlOiBWaWV3VXRpbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyBibG9iRmlsZSwgdXJsRmlsZSwgbWltZVR5cGUsIG5vZGVNaW1lVHlwZSB9ID0gY2hhbmdlcztcblxuICAgICAgICBpZiAoYmxvYkZpbGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5taW1lVHlwZSA9IGJsb2JGaWxlLmN1cnJlbnRWYWx1ZS50eXBlO1xuICAgICAgICAgICAgdGhpcy5taW1lVHlwZUljb25VcmwgPSB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKGJsb2JGaWxlLmN1cnJlbnRWYWx1ZS50eXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1cmxGaWxlPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU5hbWUgfHw9IHRoaXMudmlld1V0aWxzU2VydmljZS5nZXRGaWxlbmFtZUZyb21VcmwodXJsRmlsZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1pbWVUeXBlPy5jdXJyZW50VmFsdWUgJiYgIW5vZGVNaW1lVHlwZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbWVUeXBlSWNvblVybCA9IHRoaXMudGh1bWJuYWlsU2VydmljZS5nZXRNaW1lVHlwZUljb24obWltZVR5cGUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlTWltZVR5cGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5taW1lVHlwZUljb25VcmwgPSB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKG5vZGVNaW1lVHlwZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VPdmVybGF5TWFuYWdlcigpO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyZUFuZEluaXREb3dubG9hZFByb21wdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VPdmVybGF5TWFuYWdlcigpIHtcbiAgICAgICAgdGhpcy5kaWFsb2cuYWZ0ZXJPcGVuZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHNraXBXaGlsZSgoKSA9PiAhdGhpcy5vdmVybGF5TW9kZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gKHRoaXMuY2xvc2VWaWV3ZXIgPSBmYWxzZSkpO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nLmFmdGVyQWxsQ2xvc2VkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBza2lwV2hpbGUoKCkgPT4gIXRoaXMub3ZlcmxheU1vZGUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+ICh0aGlzLmNsb3NlVmlld2VyID0gdHJ1ZSkpO1xuXG4gICAgICAgIHRoaXMua2V5RG93biRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHNraXBXaGlsZSgoKSA9PiAhdGhpcy5vdmVybGF5TW9kZSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChlOiBLZXlib2FyZEV2ZW50KSA9PiBlLmtleUNvZGUgPT09IDI3KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xvc2VWaWV3ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25OYXZpZ2F0ZUJlZm9yZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRlQmVmb3JlLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uTmF2aWdhdGVOZXh0Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMubmF2aWdhdGVOZXh0Lm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNsb3NlIHRoZSB2aWV3ZXJcbiAgICAgKi9cbiAgICBvbkNsb3NlKCkge1xuICAgICAgICB0aGlzLnNob3dWaWV3ZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zaG93Vmlld2VyQ2hhbmdlLmVtaXQodGhpcy5zaG93Vmlld2VyKTtcbiAgICB9XG5cbiAgICB0b2dnbGVSaWdodFNpZGViYXIoKSB7XG4gICAgICAgIHRoaXMuc2hvd1JpZ2h0U2lkZWJhciA9ICF0aGlzLnNob3dSaWdodFNpZGViYXI7XG4gICAgfVxuXG4gICAgdG9nZ2xlTGVmdFNpZGViYXIoKSB7XG4gICAgICAgIHRoaXMuc2hvd0xlZnRTaWRlYmFyID0gIXRoaXMuc2hvd0xlZnRTaWRlYmFyO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5Q29kZTtcblxuICAgICAgICAvLyBMZWZ0IGFycm93XG4gICAgICAgIGlmIChrZXkgPT09IDM3ICYmIHRoaXMuY2FuTmF2aWdhdGVCZWZvcmUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLm9uTmF2aWdhdGVCZWZvcmVDbGljayhldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSaWdodCBhcnJvd1xuICAgICAgICBpZiAoa2V5ID09PSAzOSAmJiB0aGlzLmNhbk5hdmlnYXRlTmV4dCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMub25OYXZpZ2F0ZU5leHRDbGljayhldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDdHJsK0ZcbiAgICAgICAgaWYgKGtleSA9PT0gNzAgJiYgZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuZW50ZXJGdWxsU2NyZWVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyBmdWxsIHNjcmVlbiBtb2RlIHdpdGggYSBtYWluIGNvbnRlbnQgYXJlYSBkaXNwbGF5ZWQuXG4gICAgICovXG4gICAgZW50ZXJGdWxsU2NyZWVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hbGxvd0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYWRmLXZpZXdlcl9fZnVsbHNjcmVlbi1jb250YWluZXInKTtcbiAgICAgICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyLnJlcXVlc3RGdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5yZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyLm1velJlcXVlc3RGdWxsU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyLm1zUmVxdWVzdEZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblN1Ym1pdEZpbGUobmV3SW1hZ2VCbG9iOiBCbG9iKSB7XG4gICAgICAgIHRoaXMuc3VibWl0RmlsZS5lbWl0KG5ld0ltYWdlQmxvYik7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJEb3dubG9hZFByb21wdFRpbWVvdXRzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maWd1cmVBbmRJbml0RG93bmxvYWRQcm9tcHQoKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJlRG93bmxvYWRQcm9tcHRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZURvd25sb2FkUHJvbXB0KSB7XG4gICAgICAgICAgICB0aGlzLmluaXREb3dubG9hZFByb21wdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maWd1cmVEb3dubG9hZFByb21wdFByb3BlcnRpZXMoKSB7XG4gICAgICAgIGNvbnN0IG5vblJlc3BvbnNpdmVQcmV2aWV3Q29uZmlnID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgndmlld2VyJywgREVGQVVMVF9OT05fUFJFVklFV19DT05GSUcpO1xuXG4gICAgICAgIHRoaXMuZW5hYmxlRG93bmxvYWRQcm9tcHQgPSBub25SZXNwb25zaXZlUHJldmlld0NvbmZpZy5lbmFibGVEb3dubG9hZFByb21wdDtcbiAgICAgICAgdGhpcy5lbmFibGVEb3dubG9hZFByb21wdFJlbWluZGVyID0gbm9uUmVzcG9uc2l2ZVByZXZpZXdDb25maWcuZW5hYmxlRG93bmxvYWRQcm9tcHRSZW1pbmRlcjtcbiAgICAgICAgdGhpcy5kb3dubG9hZFByb21wdERlbGF5ID0gbm9uUmVzcG9uc2l2ZVByZXZpZXdDb25maWcuZG93bmxvYWRQcm9tcHREZWxheTtcbiAgICAgICAgdGhpcy5kb3dubG9hZFByb21wdFJlbWluZGVyRGVsYXkgPSBub25SZXNwb25zaXZlUHJldmlld0NvbmZpZy5kb3dubG9hZFByb21wdFJlbWluZGVyRGVsYXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RG93bmxvYWRQcm9tcHQoKSB7XG4gICAgICAgIHRoaXMuZG93bmxvYWRQcm9tcHRUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd09yQ2xlYXJEb3dubG9hZFByb21wdCgpO1xuICAgICAgICB9LCB0aGlzLmRvd25sb2FkUHJvbXB0RGVsYXkgKiAxMDAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dPckNsZWFyRG93bmxvYWRQcm9tcHQoKSB7XG4gICAgICAgIGlmICghdGhpcy51cmxGaWxlICYmICF0aGlzLmJsb2JGaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dEb3dubG9hZFByb21wdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckRvd25sb2FkUHJvbXB0VGltZW91dHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckRvd25sb2FkUHJvbXB0VGltZW91dHMoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvd25sb2FkUHJvbXB0VGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmRvd25sb2FkUHJvbXB0VGltZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRvd25sb2FkUHJvbXB0UmVtaW5kZXJUaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZG93bmxvYWRQcm9tcHRSZW1pbmRlclRpbWVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0Rvd25sb2FkUHJvbXB0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNEaWFsb2dWaXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgICAgIC5vcGVuKERvd25sb2FkUHJvbXB0RGlhbG9nQ29tcG9uZW50LCB7IGRpc2FibGVDbG9zZTogdHJ1ZSB9KVxuICAgICAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IERvd25sb2FkUHJvbXB0QWN0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBEb3dubG9hZFByb21wdEFjdGlvbnMuRE9XTkxPQUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRGaWxlLmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gRG93bmxvYWRQcm9tcHRBY3Rpb25zLldBSVQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVuYWJsZURvd25sb2FkUHJvbXB0UmVtaW5kZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyRG93bmxvYWRQcm9tcHRUaW1lb3V0cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRQcm9tcHRSZW1pbmRlclRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dPckNsZWFyRG93bmxvYWRQcm9tcHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLmRvd25sb2FkUHJvbXB0UmVtaW5kZXJEZWxheSAqIDEwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2hvd1ZpZXdlclwiXG4gICAgIGNsYXNzPVwiYWRmLXZpZXdlci1jb250YWluZXJcIlxuICAgICBbY2xhc3MuYWRmLXZpZXdlci1vdmVybGF5LWNvbnRhaW5lcl09XCJvdmVybGF5TW9kZVwiXG4gICAgIFtjbGFzcy5hZGYtdmlld2VyLWlubGluZS1jb250YWluZXJdPVwiIW92ZXJsYXlNb2RlXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXZpZXdlci1jb250ZW50XCJcbiAgICAgICAgIFtjZGtUcmFwRm9jdXNdPVwib3ZlcmxheU1vZGVcIlxuICAgICAgICAgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFkZi12aWV3ZXItdG9vbGJhclwiIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VG9vbGJhciAmJiAhdG9vbGJhclwiPlxuICAgICAgICAgICAgPGFkZi10b29sYmFyIGlkPVwiYWRmLXZpZXdlci10b29sYmFyXCIgY2xhc3M9XCJhZGYtdmlld2VyLXRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICA8YWRmLXRvb2xiYXItdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd0xlZnRTaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dMZWZ0U2lkZWJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5JTkZPJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5JTkZPJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10b29sYmFyLWxlZnQtc2lkZWJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzaG93TGVmdFNpZGViYXIgPyAnYWNjZW50JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlTGVmdFNpZGViYXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5pbmZvX291dGxpbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhbGxvd0dvQmFjayAmJiBjbG9zZUJ1dHRvblBvc2l0aW9uID09PSBDbG9zZUJ1dHRvblBvc2l0aW9uLkxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXZpZXdlci1jbG9zZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10b29sYmFyLWxlZnQtYmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9hZGYtdG9vbGJhci10aXRsZT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdmlld2VyX19maWxlLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhbGxvd05hdmlnYXRlICYmIGNhbk5hdmlnYXRlQmVmb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdG9vbGJhci1wcmVmLWZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5QUkVWX0ZJTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuUFJFVl9GSUxFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGVCZWZvcmVDbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bmF2aWdhdGVfYmVmb3JlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJhZGYtdmlld2VyX19taW1laWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCInQURGX1ZJRVdFUi5BUklBLk1JTUVfVFlQRV9JQ09OJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJtaW1lVHlwZUljb25VcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1maWxlLXRodW1ibmFpbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXZpZXdlcl9fZGlzcGxheS1uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkZi12aWV3ZXItZGlzcGxheS1uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZmlsZU5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLXZpZXdlcl9fZGlzcGxheS1uYW1lLXdpdGhvdXQtZXh0ZW5zaW9uXCI+e3sgZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtdmlld2VyX19kaXNwbGF5LW5hbWUtZXh0ZW5zaW9uXCI+e3sgZmlsZUV4dGVuc2lvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhbGxvd05hdmlnYXRlICYmIGNhbk5hdmlnYXRlTmV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItbmV4dC1maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfVklFV0VSLkFDVElPTlMuTkVYVF9GSUxFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLk5FWFRfRklMRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdmlnYXRlTmV4dENsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5uYXZpZ2F0ZV9uZXh0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtdmlld2VyLXRvb2xiYXItYWN0aW9uc1wiIC8+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW51T3BlbldpdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPSdhZGYtdG9vbGJhci1jdXN0b20tYnRuJz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImFkZi12aWV3ZXItb3BlbndpdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibW51T3BlbldpdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10b29sYmFyLW9wZW4td2l0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5PUEVOX1dJVEgnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21udU9wZW5XaXRoPVwibWF0TWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFkZi12aWV3ZXItb3Blbi13aXRoXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxhZGYtdG9vbGJhci1kaXZpZGVyIC8+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtdmlld2VyLXRvb2xiYXItY3VzdG9tLWFjdGlvbnNcIiAvPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImFkZi12aWV3ZXItZnVsbHNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFsbG93RnVsbFNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5GVUxMU0NSRUVOJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuRlVMTFNDUkVFTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItZnVsbHNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW50ZXJGdWxsU2NyZWVuKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93UmlnaHRTaWRlYmFyICYmICFoaWRlSW5mb0J1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLXRvb2xiYXItZGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzaG93UmlnaHRTaWRlYmFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfVklFV0VSLkFDVElPTlMuSU5GTycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5JTkZPJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItc2lkZWJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInNob3dSaWdodFNpZGViYXIgPyAnYWNjZW50JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSaWdodFNpZGViYXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmluZm9fb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW51TW9yZUFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImFkZi12aWV3ZXItbW9yZWFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtbnVNb3JlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLk1PUkVfQUNUSU9OUycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5NT1JFX0FDVElPTlMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdG9vbGJhci1tb3JlLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtbnVNb3JlQWN0aW9ucz1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtdmlld2VyLW1vcmUtYWN0aW9uc1wiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dHb0JhY2sgJiYgY2xvc2VCdXR0b25Qb3NpdGlvbiA9PT0gQ2xvc2VCdXR0b25Qb3NpdGlvbi5SaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLXRvb2xiYXItZGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhZGYtdmlld2VyLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItcmlnaHQtYmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwvYWRmLXRvb2xiYXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdmlld2VyLXNpZGViYXJzXCI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd1JpZ2h0U2lkZWJhciAmJiBzaG93UmlnaHRTaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi12aWV3ZXJfX3NpZGViYXIgYWRmLXZpZXdlcl9fc2lkZWJhcl9fcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZGYtcmlnaHQtc2lkZWJhclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2lkZWJhclJpZ2h0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlYmFyUmlnaHRUZW1wbGF0ZTtjb250ZXh0OnNpZGViYXJSaWdodFRlbXBsYXRlQ29udGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cIiFzaWRlYmFyUmlnaHRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdD1cImFkZi12aWV3ZXItc2lkZWJhclwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93TGVmdFNpZGViYXIgJiYgc2hvd0xlZnRTaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi12aWV3ZXJfX3NpZGViYXIgYWRmLXZpZXdlcl9fc2lkZWJhcl9fbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICBpZD1cImFkZi1sZWZ0LXNpZGViYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpZGViYXJMZWZ0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlYmFyTGVmdFRlbXBsYXRlO2NvbnRleHQ6c2lkZWJhckxlZnRUZW1wbGF0ZUNvbnRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhc2lkZWJhckxlZnRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdD1cImFkZi12aWV3ZXItc2lkZWJhclwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGFkZi12aWV3ZXItcmVuZGVyIChjbG9zZSk9XCJvbkNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW1lVHlwZV09XCJtaW1lVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVOYW1lXT1cImZpbGVOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYmxvYkZpbGVdPVwiYmxvYkZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1Ym1pdEZpbGUpPVwib25TdWJtaXRGaWxlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd2VkRWRpdEFjdGlvbnNdPVwiYWxsb3dlZEVkaXRBY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXJsRmlsZV09XCJ1cmxGaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXNTYXZpbmcpPVwiYWxsb3dOYXZpZ2F0ZSA9ICEkZXZlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFja3NdPVwidHJhY2tzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlld2VyVGVtcGxhdGVFeHRlbnNpb25zXT1cInZpZXdlckV4dGVuc2lvbnMgPz8gdmlld2VyVGVtcGxhdGVFeHRlbnNpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9kZUlkXT1cIm5vZGVJZFwiIC8+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
456
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvdmlld2VyL2NvbXBvbmVudHMvdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvdmlld2VyL2NvbXBvbmVudHMvdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFB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bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50LCBUb29sYmFyRGl2aWRlckNvbXBvbmVudCwgVG9vbGJhclRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdG9vbGJhcic7XG5pbXBvcnQgeyBEb3dubG9hZFByb21wdEFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZG93bmxvYWQtcHJvbXB0LmFjdGlvbnMnO1xuaW1wb3J0IHsgQ2xvc2VCdXR0b25Qb3NpdGlvbiwgVHJhY2sgfSBmcm9tICcuLi9tb2RlbHMvdmlld2VyLm1vZGVsJztcbmltcG9ydCB7IFZpZXdVdGlsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZpZXctdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IERvd25sb2FkUHJvbXB0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kb3dubG9hZC1wcm9tcHQtZGlhbG9nL2Rvd25sb2FkLXByb21wdC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlck1vcmVBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItbW9yZS1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3ZXJPcGVuV2l0aENvbXBvbmVudCB9IGZyb20gJy4vdmlld2VyLW9wZW4td2l0aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld2VyUmVuZGVyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItcmVuZGVyL3ZpZXdlci1yZW5kZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlclNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlci1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3ZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld2VyVG9vbGJhckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlci10b29sYmFyLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlclRvb2xiYXJDdXN0b21BY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXItdG9vbGJhci1jdXN0b20tYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24nO1xuaW1wb3J0IHsgVGh1bWJuYWlsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmNvbnN0IERFRkFVTFRfTk9OX1BSRVZJRVdfQ09ORklHID0ge1xuICAgIGVuYWJsZURvd25sb2FkUHJvbXB0OiBmYWxzZSxcbiAgICBlbmFibGVEb3dubG9hZFByb21wdFJlbWluZGVyOiBmYWxzZSxcbiAgICBkb3dubG9hZFByb21wdERlbGF5OiA1MCxcbiAgICBkb3dubG9hZFByb21wdFJlbWluZGVyRGVsYXk6IDMwXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi12aWV3ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi12aWV3ZXInIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEExMXlNb2R1bGUsXG4gICAgICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIFRvb2xiYXJEaXZpZGVyQ29tcG9uZW50LFxuICAgICAgICBWaWV3ZXJSZW5kZXJDb21wb25lbnQsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFZpZXdlclRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFZpZXdlclNpZGViYXJDb21wb25lbnQsXG4gICAgICAgIFZpZXdlclRvb2xiYXJBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBWaWV3ZXJUb29sYmFyQ3VzdG9tQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgSWNvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbVmlld1V0aWxTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHRodW1ibmFpbFNlcnZpY2UgPSBpbmplY3QoVGh1bWJuYWlsU2VydmljZSk7XG5cbiAgICBAQ29udGVudENoaWxkKFZpZXdlclRvb2xiYXJDb21wb25lbnQpXG4gICAgdG9vbGJhcjogVmlld2VyVG9vbGJhckNvbXBvbmVudDtcblxuICAgIEBDb250ZW50Q2hpbGQoVmlld2VyU2lkZWJhckNvbXBvbmVudClcbiAgICBzaWRlYmFyOiBWaWV3ZXJTaWRlYmFyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChWaWV3ZXJPcGVuV2l0aENvbXBvbmVudClcbiAgICBtbnVPcGVuV2l0aDogVmlld2VyT3BlbldpdGhDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKFZpZXdlck1vcmVBY3Rpb25zQ29tcG9uZW50KVxuICAgIG1udU1vcmVBY3Rpb25zOiBWaWV3ZXJNb3JlQWN0aW9uc0NvbXBvbmVudDtcblxuICAgIEBDb250ZW50Q2hpbGQoJ3ZpZXdlckV4dGVuc2lvbnMnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICB2aWV3ZXJUZW1wbGF0ZUV4dGVuc2lvbnM6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBnZXQgQ2xvc2VCdXR0b25Qb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENsb3NlQnV0dG9uUG9zaXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgeW91IHdhbnQgdG8gbG9hZCBhbiBleHRlcm5hbCBmaWxlIHRoYXQgZG9lcyBub3QgY29tZSBmcm9tIEFDUyB5b3VcbiAgICAgKiBjYW4gdXNlIHRoaXMgVVJMIHRvIHNwZWNpZnkgd2hlcmUgdG8gbG9hZCB0aGUgZmlsZSBmcm9tLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdXJsRmlsZSA9ICcnO1xuXG4gICAgLyoqIExvYWRzIGEgQmxvYiBGaWxlICovXG4gICAgQElucHV0KClcbiAgICBibG9iRmlsZTogQmxvYjtcblxuICAgIC8qKiBIaWRlIG9yIHNob3cgdGhlIHZpZXdlciAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1ZpZXdlciA9IHRydWU7XG5cbiAgICAvKiogQWxsb3dzIGBiYWNrYCBuYXZpZ2F0aW9uICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd0dvQmFjayA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgJ0Z1bGwgU2NyZWVuJyBmZWF0dXJlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dGdWxsU2NyZWVuID0gdHJ1ZTtcblxuICAgIC8qKiBIaWRlIG9yIHNob3cgdGhlIHRvb2xiYXIgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dUb29sYmFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIGB0cnVlYCB0aGVuIHNob3cgdGhlIFZpZXdlciBhcyBhIGZ1bGwgcGFnZSBvdmVyIHRoZSBjdXJyZW50IGNvbnRlbnQuXG4gICAgICogT3RoZXJ3aXNlLCBmaXQgaW5zaWRlIHRoZSBwYXJlbnQgZGl2LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3ZlcmxheU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgYmVmb3JlL25leHQgbmF2aWdhdGlvbi4gWW91IGNhbiB1c2UgdGhlIGFycm93IGJ1dHRvbnMgdG8gbmF2aWdhdGVcbiAgICAgKiBiZXR3ZWVuIGRvY3VtZW50cyBpbiB0aGUgY29sbGVjdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGFsbG93TmF2aWdhdGUgPSBmYWxzZTtcblxuICAgIC8qKiBUb2dnbGVzIHRoZSBcImJlZm9yZVwiIChcIjxcIikgYnV0dG9uLiBSZXF1aXJlcyBgYWxsb3dOYXZpZ2F0ZWAgdG8gYmUgZW5hYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNhbk5hdmlnYXRlQmVmb3JlID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGVzIHRoZSBuZXh0IChcIj5cIikgYnV0dG9uLiBSZXF1aXJlcyBgYWxsb3dOYXZpZ2F0ZWAgdG8gYmUgZW5hYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNhbk5hdmlnYXRlTmV4dCA9IHRydWU7XG5cbiAgICAvKiogQWxsb3cgdGhlIGxlZnQgdGhlIHNpZGViYXIuICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd0xlZnRTaWRlYmFyID0gZmFsc2U7XG5cbiAgICAvKiogQWxsb3cgdGhlIHJpZ2h0IHNpZGViYXIuICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd1JpZ2h0U2lkZWJhciA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZXMgcmlnaHQgc2lkZWJhciB2aXNpYmlsaXR5LiBSZXF1aXJlcyBgYWxsb3dSaWdodFNpZGViYXJgIHRvIGJlIHNldCB0byBgdHJ1ZWAuICovXG4gICAgQElucHV0KClcbiAgICBzaG93UmlnaHRTaWRlYmFyID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyBsZWZ0IHNpZGViYXIgdmlzaWJpbGl0eS4gUmVxdWlyZXMgYGFsbG93TGVmdFNpZGViYXJgIHRvIGJlIHNldCB0byBgdHJ1ZWAuICovXG4gICAgQElucHV0KClcbiAgICBzaG93TGVmdFNpZGViYXIgPSBmYWxzZTtcblxuICAgIC8qKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSByaWdodCBzaWRlYmFyLiBUaGUgdGVtcGxhdGUgY29udGV4dCBjb250YWlucyB0aGUgbG9hZGVkIG5vZGUgZGF0YS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNpZGViYXJSaWdodFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbDtcblxuICAgIC8qKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSBsZWZ0IHNpZGViYXIuIFRoZSB0ZW1wbGF0ZSBjb250ZXh0IGNvbnRhaW5zIHRoZSBsb2FkZWQgbm9kZSBkYXRhLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2lkZWJhckxlZnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XG5cbiAgICAvKiogRW5hYmxlIHdoZW4gd2hlcmUgaXMgcG9zc2libGUgdGhlIGVkaXRpbmcgZnVuY3Rpb25hbGl0aWVzICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVhZE9ubHkgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQ29udHJvbHMgd2hpY2ggYWN0aW9ucyBhcmUgZW5hYmxlZCBpbiB0aGUgdmlld2VyLlxuICAgICAqIEV4YW1wbGU6XG4gICAgICogeyByb3RhdGU6IHRydWUsIGNyb3A6IGZhbHNlIH0gd2lsbCBlbmFibGUgcm90YXRpb24gYnV0IGRpc2FibGUgY3JvcHBpbmcuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhbGxvd2VkRWRpdEFjdGlvbnM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge1xuICAgICAgICByb3RhdGU6IHRydWUsXG4gICAgICAgIGNyb3A6IHRydWVcbiAgICB9O1xuXG4gICAgLyoqIG1lZGlhIHN1YnRpdGxlcyBmb3IgdGhlIG1lZGlhIHBsYXllciovXG4gICAgQElucHV0KClcbiAgICB0cmFja3M6IFRyYWNrW10gPSBbXTtcblxuICAgIC8qKiBPdmVybG9hZCBtaW1lVHlwZSovXG4gICAgQElucHV0KClcbiAgICBtaW1lVHlwZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQ29udGV4dCBvYmplY3QgYXZhaWxhYmxlIGZvciBiaW5kaW5nIGJ5IHRoZSBsb2NhbCBzaWRlYmFyUmlnaHRUZW1wbGF0ZSB3aXRoIGxldCBkZWNsYXJhdGlvbnMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaWRlYmFyUmlnaHRUZW1wbGF0ZUNvbnRleHQ6IFQgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ29udGV4dCBvYmplY3QgYXZhaWxhYmxlIGZvciBiaW5kaW5nIGJ5IHRoZSBsb2NhbCBzaWRlYmFyTGVmdFRlbXBsYXRlIHdpdGggbGV0IGRlY2xhcmF0aW9ucy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpZGViYXJMZWZ0VGVtcGxhdGVDb250ZXh0OiBUID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgY2xvc2UgYnV0dG9uIHBvc2l0aW9uIFJpZ2h0L0xlZnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZUJ1dHRvblBvc2l0aW9uID0gQ2xvc2VCdXR0b25Qb3NpdGlvbi5MZWZ0O1xuXG4gICAgLyoqIFRvZ2dsZXMgdGhlICdJbmZvIEJ1dHRvbicgKi9cbiAgICBASW5wdXQoKVxuICAgIGhpZGVJbmZvQnV0dG9uID0gZmFsc2U7XG5cbiAgICAvKiogVGVtcGxhdGUgY29udGFpbmluZyBWaWV3ZXJFeHRlbnNpb25EaXJlY3RpdmUgaW5zdGFuY2VzIHByb3ZpZGluZyBkaWZmZXJlbnQgdmlld2VyIGV4dGVuc2lvbnMgYmFzZWQgb24gc3VwcG9ydGVkIGZpbGUgZXh0ZW5zaW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmlld2VyRXh0ZW5zaW9uczogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBJZGVudGlmaWVyIG9mIGEgbm9kZSB0aGF0IGlzIG9wZW5lZCBieSB0aGUgdmlld2VyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9kZUlkOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIE9yaWdpbmFsIG5vZGUgbWltZSB0eXBlLCBzaG91bGQgYmUgcHJvdmlkZWQgd2hlbiByZW5kaXRpb25hIG1pbWUgdHlwZSBpcyBkaWZmZXJlbnQuICovXG4gICAgQElucHV0KClcbiAgICBub2RlTWltZVR5cGU6IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEVuYWJsZSBkaWFsb2cgYm94IHRvIGFsbG93IHVzZXIgdG8gZG93bmxvYWQgdGhlIHByZXZpZXdlZCBmaWxlLCBpbiBjYXNlIHRoZSBwcmV2aWV3IGlzIG5vdCByZXNwb25kaW5nIGZvciBhIHNldCBwZXJpb2Qgb2YgdGltZS5cbiAgICAgKi9cbiAgICBlbmFibGVEb3dubG9hZFByb21wdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIHJlbWluZGVyIGRpYWxvZ3MgdG8gcHJvbXB0IHVzZXIgdG8gZG93bmxvYWQgdGhlIGZpbGUsIGluIGNhc2UgdGhlIHByZXZpZXcgaXMgbm90IHJlc3BvbmRpbmcgZm9yIGEgc2V0IHBlcmlvZCBvZiB0aW1lLlxuICAgICAqL1xuICAgIGVuYWJsZURvd25sb2FkUHJvbXB0UmVtaW5kZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWwgdGltZSBpbiBzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGdpdmluZyB0aGUgZmlyc3QgcHJvbXB0IHRvIHVzZXIgdG8gZG93bmxvYWQgdGhlIGZpbGVcbiAgICAgKi9cbiAgICBkb3dubG9hZFByb21wdERlbGF5OiBudW1iZXIgPSA1MDtcblxuICAgIC8qKlxuICAgICAqIFRpbWUgaW4gc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBnaXZpbmcgdGhlIHNlY29uZCBhbmQgY29uc2VxdWVudCByZW1pbmRlcnMgdG8gdGhlIHVzZXIgdG8gZG93bmxvYWQgdGhlIGZpbGUuXG4gICAgICovXG4gICAgZG93bmxvYWRQcm9tcHRSZW1pbmRlckRlbGF5OiBudW1iZXIgPSAxNTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBkb3dubG9hZCBidXR0b24gb24gZG93bmxvYWQgcHJvbXB0IGRpYWxvZy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkb3dubG9hZEZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzICdOYXZpZ2F0ZSBCZWZvcmUnIChcIjxcIikgYnV0dG9uLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIG5hdmlnYXRlQmVmb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdXNlciBjbGlja3MgJ05hdmlnYXRlIE5leHQnIChcIj5cIikgYnV0dG9uLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIG5hdmlnYXRlTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB2aWV3ZXIgY2xvc2UgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzaG93Vmlld2VyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW1nIGlzIHN1Ym1pdHRlZCBpbiB0aGUgaW1nIHZpZXdlci4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWJtaXRGaWxlID0gbmV3IEV2ZW50RW1pdHRlcjxCbG9iPigpO1xuXG4gICAgcHJpdmF0ZSBjbG9zZVZpZXdlciA9IHRydWU7XG4gICAgcHJpdmF0ZSBrZXlEb3duJCA9IGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleWRvd24nKTtcbiAgICBwcml2YXRlIGlzRGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2ZpbGVOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZmlsZUV4dGVuc2lvbjogc3RyaW5nO1xuXG4gICAgcHVibGljIGRvd25sb2FkUHJvbXB0VGltZXI6IG51bWJlcjtcbiAgICBwdWJsaWMgZG93bmxvYWRQcm9tcHRSZW1pbmRlclRpbWVyOiBudW1iZXI7XG4gICAgcHVibGljIG1pbWVUeXBlSWNvblVybDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIE92ZXJyaWRlIENvbnRlbnQgZmlsZW5hbWUuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZmlsZU5hbWUoZmlsZU5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9maWxlTmFtZSA9IGZpbGVOYW1lO1xuICAgICAgICB0aGlzLl9maWxlRXh0ZW5zaW9uID0gdGhpcy52aWV3VXRpbHNTZXJ2aWNlLmdldEZpbGVFeHRlbnNpb24odGhpcy5maWxlTmFtZSk7XG4gICAgICAgIHRoaXMuX2ZpbGVOYW1lV2l0aG91dEV4dGVuc2lvbiA9IHRoaXMuZmlsZU5hbWU/LnJlcGxhY2UobmV3IFJlZ0V4cChgJHt0aGlzLmZpbGVFeHRlbnNpb259JGApLCAnJykgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTmFtZTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZUV4dGVuc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZUV4dGVuc2lvbjtcbiAgICB9XG5cbiAgICBnZXQgZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTmFtZVdpdGhvdXRFeHRlbnNpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSB2aWV3VXRpbHNTZXJ2aWNlOiBWaWV3VXRpbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyBibG9iRmlsZSwgdXJsRmlsZSwgbWltZVR5cGUsIG5vZGVNaW1lVHlwZSB9ID0gY2hhbmdlcztcblxuICAgICAgICBpZiAoYmxvYkZpbGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5taW1lVHlwZSA9IGJsb2JGaWxlLmN1cnJlbnRWYWx1ZS50eXBlO1xuICAgICAgICAgICAgdGhpcy5taW1lVHlwZUljb25VcmwgPSB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKGJsb2JGaWxlLmN1cnJlbnRWYWx1ZS50eXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1cmxGaWxlPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU5hbWUgfHw9IHRoaXMudmlld1V0aWxzU2VydmljZS5nZXRGaWxlbmFtZUZyb21VcmwodXJsRmlsZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1pbWVUeXBlPy5jdXJyZW50VmFsdWUgJiYgIW5vZGVNaW1lVHlwZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbWVUeXBlSWNvblVybCA9IHRoaXMudGh1bWJuYWlsU2VydmljZS5nZXRNaW1lVHlwZUljb24obWltZVR5cGUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlTWltZVR5cGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5taW1lVHlwZUljb25VcmwgPSB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKG5vZGVNaW1lVHlwZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VPdmVybGF5TWFuYWdlcigpO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyZUFuZEluaXREb3dubG9hZFByb21wdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VPdmVybGF5TWFuYWdlcigpIHtcbiAgICAgICAgdGhpcy5kaWFsb2cuYWZ0ZXJPcGVuZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHNraXBXaGlsZSgoKSA9PiAhdGhpcy5vdmVybGF5TW9kZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gKHRoaXMuY2xvc2VWaWV3ZXIgPSBmYWxzZSkpO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nLmFmdGVyQWxsQ2xvc2VkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBza2lwV2hpbGUoKCkgPT4gIXRoaXMub3ZlcmxheU1vZGUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+ICh0aGlzLmNsb3NlVmlld2VyID0gdHJ1ZSkpO1xuXG4gICAgICAgIHRoaXMua2V5RG93biRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHNraXBXaGlsZSgoKSA9PiAhdGhpcy5vdmVybGF5TW9kZSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChlOiBLZXlib2FyZEV2ZW50KSA9PiBlLmtleUNvZGUgPT09IDI3KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xvc2VWaWV3ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25OYXZpZ2F0ZUJlZm9yZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRlQmVmb3JlLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uTmF2aWdhdGVOZXh0Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMubmF2aWdhdGVOZXh0Lm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNsb3NlIHRoZSB2aWV3ZXJcbiAgICAgKi9cbiAgICBvbkNsb3NlKCkge1xuICAgICAgICB0aGlzLnNob3dWaWV3ZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zaG93Vmlld2VyQ2hhbmdlLmVtaXQodGhpcy5zaG93Vmlld2VyKTtcbiAgICB9XG5cbiAgICB0b2dnbGVSaWdodFNpZGViYXIoKSB7XG4gICAgICAgIHRoaXMuc2hvd1JpZ2h0U2lkZWJhciA9ICF0aGlzLnNob3dSaWdodFNpZGViYXI7XG4gICAgfVxuXG4gICAgdG9nZ2xlTGVmdFNpZGViYXIoKSB7XG4gICAgICAgIHRoaXMuc2hvd0xlZnRTaWRlYmFyID0gIXRoaXMuc2hvd0xlZnRTaWRlYmFyO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5Q29kZTtcblxuICAgICAgICAvLyBMZWZ0IGFycm93XG4gICAgICAgIGlmIChrZXkgPT09IDM3ICYmIHRoaXMuY2FuTmF2aWdhdGVCZWZvcmUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLm9uTmF2aWdhdGVCZWZvcmVDbGljayhldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSaWdodCBhcnJvd1xuICAgICAgICBpZiAoa2V5ID09PSAzOSAmJiB0aGlzLmNhbk5hdmlnYXRlTmV4dCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMub25OYXZpZ2F0ZU5leHRDbGljayhldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDdHJsK0ZcbiAgICAgICAgaWYgKGtleSA9PT0gNzAgJiYgZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuZW50ZXJGdWxsU2NyZWVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyBmdWxsIHNjcmVlbiBtb2RlIHdpdGggYSBtYWluIGNvbnRlbnQgYXJlYSBkaXNwbGF5ZWQuXG4gICAgICovXG4gICAgZW50ZXJGdWxsU2NyZWVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hbGxvd0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYWRmLXZpZXdlcl9fZnVsbHNjcmVlbi1jb250YWluZXInKTtcbiAgICAgICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyLnJlcXVlc3RGdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5yZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyLm1velJlcXVlc3RGdWxsU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyLm1zUmVxdWVzdEZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblN1Ym1pdEZpbGUobmV3SW1hZ2VCbG9iOiBCbG9iKSB7XG4gICAgICAgIHRoaXMuc3VibWl0RmlsZS5lbWl0KG5ld0ltYWdlQmxvYik7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJEb3dubG9hZFByb21wdFRpbWVvdXRzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maWd1cmVBbmRJbml0RG93bmxvYWRQcm9tcHQoKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJlRG93bmxvYWRQcm9tcHRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZURvd25sb2FkUHJvbXB0KSB7XG4gICAgICAgICAgICB0aGlzLmluaXREb3dubG9hZFByb21wdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maWd1cmVEb3dubG9hZFByb21wdFByb3BlcnRpZXMoKSB7XG4gICAgICAgIGNvbnN0IG5vblJlc3BvbnNpdmVQcmV2aWV3Q29uZmlnID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgndmlld2VyJywgREVGQVVMVF9OT05fUFJFVklFV19DT05GSUcpO1xuXG4gICAgICAgIHRoaXMuZW5hYmxlRG93bmxvYWRQcm9tcHQgPSBub25SZXNwb25zaXZlUHJldmlld0NvbmZpZy5lbmFibGVEb3dubG9hZFByb21wdDtcbiAgICAgICAgdGhpcy5lbmFibGVEb3dubG9hZFByb21wdFJlbWluZGVyID0gbm9uUmVzcG9uc2l2ZVByZXZpZXdDb25maWcuZW5hYmxlRG93bmxvYWRQcm9tcHRSZW1pbmRlcjtcbiAgICAgICAgdGhpcy5kb3dubG9hZFByb21wdERlbGF5ID0gbm9uUmVzcG9uc2l2ZVByZXZpZXdDb25maWcuZG93bmxvYWRQcm9tcHREZWxheTtcbiAgICAgICAgdGhpcy5kb3dubG9hZFByb21wdFJlbWluZGVyRGVsYXkgPSBub25SZXNwb25zaXZlUHJldmlld0NvbmZpZy5kb3dubG9hZFByb21wdFJlbWluZGVyRGVsYXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RG93bmxvYWRQcm9tcHQoKSB7XG4gICAgICAgIHRoaXMuZG93bmxvYWRQcm9tcHRUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd09yQ2xlYXJEb3dubG9hZFByb21wdCgpO1xuICAgICAgICB9LCB0aGlzLmRvd25sb2FkUHJvbXB0RGVsYXkgKiAxMDAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dPckNsZWFyRG93bmxvYWRQcm9tcHQoKSB7XG4gICAgICAgIGlmICghdGhpcy51cmxGaWxlICYmICF0aGlzLmJsb2JGaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dEb3dubG9hZFByb21wdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckRvd25sb2FkUHJvbXB0VGltZW91dHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckRvd25sb2FkUHJvbXB0VGltZW91dHMoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvd25sb2FkUHJvbXB0VGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmRvd25sb2FkUHJvbXB0VGltZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRvd25sb2FkUHJvbXB0UmVtaW5kZXJUaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZG93bmxvYWRQcm9tcHRSZW1pbmRlclRpbWVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0Rvd25sb2FkUHJvbXB0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNEaWFsb2dWaXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgICAgIC5vcGVuKERvd25sb2FkUHJvbXB0RGlhbG9nQ29tcG9uZW50LCB7IGRpc2FibGVDbG9zZTogdHJ1ZSB9KVxuICAgICAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IERvd25sb2FkUHJvbXB0QWN0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBEb3dubG9hZFByb21wdEFjdGlvbnMuRE9XTkxPQUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRGaWxlLmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gRG93bmxvYWRQcm9tcHRBY3Rpb25zLldBSVQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVuYWJsZURvd25sb2FkUHJvbXB0UmVtaW5kZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyRG93bmxvYWRQcm9tcHRUaW1lb3V0cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRQcm9tcHRSZW1pbmRlclRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dPckNsZWFyRG93bmxvYWRQcm9tcHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLmRvd25sb2FkUHJvbXB0UmVtaW5kZXJEZWxheSAqIDEwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2hvd1ZpZXdlclwiXG4gICAgIGNsYXNzPVwiYWRmLXZpZXdlci1jb250YWluZXJcIlxuICAgICBbY2xhc3MuYWRmLXZpZXdlci1vdmVybGF5LWNvbnRhaW5lcl09XCJvdmVybGF5TW9kZVwiXG4gICAgIFtjbGFzcy5hZGYtdmlld2VyLWlubGluZS1jb250YWluZXJdPVwiIW92ZXJsYXlNb2RlXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXZpZXdlci1jb250ZW50XCJcbiAgICAgICAgIFtjZGtUcmFwRm9jdXNdPVwib3ZlcmxheU1vZGVcIlxuICAgICAgICAgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFkZi12aWV3ZXItdG9vbGJhclwiIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VG9vbGJhciAmJiAhdG9vbGJhclwiPlxuICAgICAgICAgICAgPGFkZi10b29sYmFyIGlkPVwiYWRmLXZpZXdlci10b29sYmFyXCIgY2xhc3M9XCJhZGYtdmlld2VyLXRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICA8YWRmLXRvb2xiYXItdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd0xlZnRTaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dMZWZ0U2lkZWJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5JTkZPJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5JTkZPJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10b29sYmFyLWxlZnQtc2lkZWJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzaG93TGVmdFNpZGViYXIgPyAnYWNjZW50JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlTGVmdFNpZGViYXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5pbmZvX291dGxpbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhbGxvd0dvQmFjayAmJiBjbG9zZUJ1dHRvblBvc2l0aW9uID09PSBDbG9zZUJ1dHRvblBvc2l0aW9uLkxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXZpZXdlci1jbG9zZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10b29sYmFyLWxlZnQtYmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9hZGYtdG9vbGJhci10aXRsZT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdmlld2VyX19maWxlLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhbGxvd05hdmlnYXRlICYmIGNhbk5hdmlnYXRlQmVmb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdG9vbGJhci1wcmVmLWZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5QUkVWX0ZJTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuUFJFVl9GSUxFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGVCZWZvcmVDbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bmF2aWdhdGVfYmVmb3JlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJhZGYtdmlld2VyX19taW1laWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCInQURGX1ZJRVdFUi5BUklBLk1JTUVfVFlQRV9JQ09OJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJtaW1lVHlwZUljb25VcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1maWxlLXRodW1ibmFpbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXZpZXdlcl9fZGlzcGxheS1uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkZi12aWV3ZXItZGlzcGxheS1uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZmlsZU5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLXZpZXdlcl9fZGlzcGxheS1uYW1lLXdpdGhvdXQtZXh0ZW5zaW9uXCI+e3sgZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtdmlld2VyX19kaXNwbGF5LW5hbWUtZXh0ZW5zaW9uXCI+e3sgZmlsZUV4dGVuc2lvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhbGxvd05hdmlnYXRlICYmIGNhbk5hdmlnYXRlTmV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItbmV4dC1maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfVklFV0VSLkFDVElPTlMuTkVYVF9GSUxFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLk5FWFRfRklMRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdmlnYXRlTmV4dENsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5uYXZpZ2F0ZV9uZXh0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtdmlld2VyLXRvb2xiYXItYWN0aW9uc1wiIC8+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW51T3BlbldpdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPSdhZGYtdG9vbGJhci1jdXN0b20tYnRuJz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImFkZi12aWV3ZXItb3BlbndpdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibW51T3BlbldpdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10b29sYmFyLW9wZW4td2l0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5PUEVOX1dJVEgnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21udU9wZW5XaXRoPVwibWF0TWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFkZi12aWV3ZXItb3Blbi13aXRoXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxhZGYtdG9vbGJhci1kaXZpZGVyIC8+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtdmlld2VyLXRvb2xiYXItY3VzdG9tLWFjdGlvbnNcIiAvPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImFkZi12aWV3ZXItZnVsbHNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFsbG93RnVsbFNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5GVUxMU0NSRUVOJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuRlVMTFNDUkVFTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItZnVsbHNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW50ZXJGdWxsU2NyZWVuKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93UmlnaHRTaWRlYmFyICYmICFoaWRlSW5mb0J1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLXRvb2xiYXItZGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzaG93UmlnaHRTaWRlYmFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfVklFV0VSLkFDVElPTlMuSU5GTycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5JTkZPJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItc2lkZWJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInNob3dSaWdodFNpZGViYXIgPyAnYWNjZW50JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSaWdodFNpZGViYXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmluZm9fb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW51TW9yZUFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImFkZi12aWV3ZXItbW9yZWFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtbnVNb3JlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLk1PUkVfQUNUSU9OUycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5NT1JFX0FDVElPTlMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdG9vbGJhci1tb3JlLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtbnVNb3JlQWN0aW9ucz1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtdmlld2VyLW1vcmUtYWN0aW9uc1wiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dHb0JhY2sgJiYgY2xvc2VCdXR0b25Qb3NpdGlvbiA9PT0gQ2xvc2VCdXR0b25Qb3NpdGlvbi5SaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLXRvb2xiYXItZGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhZGYtdmlld2VyLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXRvb2xiYXItcmlnaHQtYmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwvYWRmLXRvb2xiYXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdmlld2VyLXNpZGViYXJzXCI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd1JpZ2h0U2lkZWJhciAmJiBzaG93UmlnaHRTaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi12aWV3ZXJfX3NpZGViYXIgYWRmLXZpZXdlcl9fc2lkZWJhcl9fcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZGYtcmlnaHQtc2lkZWJhclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2lkZWJhclJpZ2h0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlYmFyUmlnaHRUZW1wbGF0ZTtjb250ZXh0OnNpZGViYXJSaWdodFRlbXBsYXRlQ29udGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cIiFzaWRlYmFyUmlnaHRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdD1cImFkZi12aWV3ZXItc2lkZWJhclwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93TGVmdFNpZGViYXIgJiYgc2hvd0xlZnRTaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi12aWV3ZXJfX3NpZGViYXIgYWRmLXZpZXdlcl9fc2lkZWJhcl9fbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICBpZD1cImFkZi1sZWZ0LXNpZGViYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpZGViYXJMZWZ0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlYmFyTGVmdFRlbXBsYXRlO2NvbnRleHQ6c2lkZWJhckxlZnRUZW1wbGF0ZUNvbnRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhc2lkZWJhckxlZnRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdD1cImFkZi12aWV3ZXItc2lkZWJhclwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGFkZi12aWV3ZXItcmVuZGVyIChjbG9zZSk9XCJvbkNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW1lVHlwZV09XCJtaW1lVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVOYW1lXT1cImZpbGVOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYmxvYkZpbGVdPVwiYmxvYkZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1Ym1pdEZpbGUpPVwib25TdWJtaXRGaWxlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd2VkRWRpdEFjdGlvbnNdPVwiYWxsb3dlZEVkaXRBY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXJsRmlsZV09XCJ1cmxGaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXNTYXZpbmcpPVwiYWxsb3dOYXZpZ2F0ZSA9ICEkZXZlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFja3NdPVwidHJhY2tzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlld2VyVGVtcGxhdGVFeHRlbnNpb25zXT1cInZpZXdlckV4dGVuc2lvbnMgPz8gdmlld2VyVGVtcGxhdGVFeHRlbnNpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9kZUlkXT1cIm5vZGVJZFwiIC8+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -45,10 +45,10 @@ export class ViewerExtensionDirective {
|
|
|
45
45
|
}
|
|
46
46
|
return !!supportedExtension;
|
|
47
47
|
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
49
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerExtensionDirective, deps: [{ token: i1.ViewerRenderComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ViewerExtensionDirective, isStandalone: true, selector: "adf-viewer-extension", inputs: { urlFileContent: "urlFileContent", extension: "extension", supportedExtensions: "supportedExtensions" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 }); }
|
|
50
50
|
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerExtensionDirective, decorators: [{
|
|
52
52
|
type: Directive,
|
|
53
53
|
args: [{
|
|
54
54
|
selector: 'adf-viewer-extension',
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
64
64
|
}], supportedExtensions: [{
|
|
65
65
|
type: Input
|
|
66
66
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWV4dGVuc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9kaXJlY3RpdmVzL3ZpZXdlci1leHRlbnNpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBb0IsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQU1oRSxNQUFNLE9BQU8sd0JBQXdCO0lBaUJqQyxZQUFvQixlQUFzQztRQUF0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFGekMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVZLENBQUM7SUFFOUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsZUFBZSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVqRSxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDdkcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxhQUFxQjtRQUMzQixJQUFJLGtCQUEwQixDQUFDO1FBRS9CLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsWUFBWSxLQUFLLEVBQUUsQ0FBQztZQUN4RSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEtBQUssYUFBYSxDQUFDLENBQUM7UUFDakgsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0lBQ2hDLENBQUM7K0dBM0NRLHdCQUF3QjttR0FBeEIsd0JBQXdCLHdPQUNuQixXQUFXOzs0RkFEaEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjswRkFHRyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsV0FBVztnQkFJekIsY0FBYztzQkFEYixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbnRlbnRDaGlsZCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlld2VyUmVuZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy92aWV3ZXItcmVuZGVyL3ZpZXdlci1yZW5kZXIuY29tcG9uZW50JztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdhZGYtdmlld2VyLWV4dGVuc2lvbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJFeHRlbnNpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHRlbXBsYXRlOiBhbnk7XG5cbiAgICBASW5wdXQoKVxuICAgIHVybEZpbGVDb250ZW50OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGV4dGVuc2lvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzdXBwb3J0ZWRFeHRlbnNpb25zOiBzdHJpbmdbXTtcblxuICAgIHRlbXBsYXRlTW9kZWw6IGFueTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld2VyQ29tcG9uZW50OiBWaWV3ZXJSZW5kZXJDb21wb25lbnQpIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVNb2RlbCA9IHsgdGVtcGxhdGU6IHRoaXMudGVtcGxhdGUsIGlzVmlzaWJsZTogZmFsc2UgfTtcbiAgICAgICAgdGhpcy52aWV3ZXJDb21wb25lbnQuZXh0ZW5zaW9uc1N1cHBvcnRlZEJ5VGVtcGxhdGVzLnB1c2goLi4udGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zKTtcbiAgICAgICAgdGhpcy52aWV3ZXJDb21wb25lbnQuZXh0ZW5zaW9uVGVtcGxhdGVzLnB1c2godGhpcy50ZW1wbGF0ZU1vZGVsKTtcblxuICAgICAgICB0aGlzLnZpZXdlckNvbXBvbmVudC5leHRlbnNpb25DaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChmaWxlRXh0ZW5zaW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlTW9kZWwuaXNWaXNpYmxlID0gdGhpcy5pc1Zpc2libGUoZmlsZUV4dGVuc2lvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBjdXJyZW50IGV4dGVuc2lvbiBpbiB0aGUgdmlld2VyIGlzIGNvbXBhdGlibGUgd2l0aCB0aGlzIGV4dGVuc2lvbiBjaGVja2luZyBhZ2FpbnN0IGBzdXBwb3J0ZWRFeHRlbnNpb25zYFxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGVFeHRlbnNpb24gZmlsZSBleHRlbnNpb24gdG8gY2hlY2tcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgZmlsZSBleHRlbnNpb24gaXMgY29tcGF0aWJsZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1Zpc2libGUoZmlsZUV4dGVuc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBzdXBwb3J0ZWRFeHRlbnNpb246IHN0cmluZztcblxuICAgICAgICBpZiAodGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zICYmIHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBzdXBwb3J0ZWRFeHRlbnNpb24gPSB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnMuZmluZCgoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24udG9Mb3dlckNhc2UoKSA9PT0gZmlsZUV4dGVuc2lvbik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gISFzdXBwb3J0ZWRFeHRlbnNpb247XG4gICAgfVxufVxuIl19
|
|
@@ -170,10 +170,10 @@ export class RenderingQueueServices {
|
|
|
170
170
|
}
|
|
171
171
|
return true;
|
|
172
172
|
}
|
|
173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
174
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
173
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderingQueueServices, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
174
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderingQueueServices }); }
|
|
175
175
|
}
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderingQueueServices, decorators: [{
|
|
177
177
|
type: Injectable
|
|
178
178
|
}] });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLXF1ZXVlLnNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi92aWV3ZXIvc2VydmljZXMvcmVuZGVyaW5nLXF1ZXVlLnNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRUksb0JBQWUsR0FBRztZQUNkLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxDQUFDO1NBQ2QsQ0FBQztRQUVGLG9CQUFlLEdBQVcsS0FBSyxDQUFDO1FBRWhDLGNBQVMsR0FBUSxJQUFJLENBQUM7UUFDdEIsdUJBQWtCLEdBQVEsSUFBSSxDQUFDO1FBQy9CLFdBQU0sR0FBUSxJQUFJLENBQUM7UUFFbkIsd0JBQW1CLEdBQVEsSUFBSSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBUSxLQUFLLENBQUM7UUFDdEIsMkJBQXNCLEdBQVEsS0FBSyxDQUFDO0tBaUp2QztJQS9JRzs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLFNBQVM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLGtCQUFrQjtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsSUFBUztRQUN2QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3pELENBQUM7SUFFRCxxQkFBcUIs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bnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICpcbiAqIFJlbmRlcmluZ1F1ZXVlU2VydmljZXMgcmVuZGVyaW5nIG9mIHRoZSB2aWV3cyBmb3IgcGFnZXMgYW5kIHRodW1ibmFpbHMuXG4gKlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVuZGVyaW5nUXVldWVTZXJ2aWNlcyB7XG4gICAgcmVuZGVyaW5nU3RhdGVzID0ge1xuICAgICAgICBJTklUSUFMOiAwLFxuICAgICAgICBSVU5OSU5HOiAxLFxuICAgICAgICBQQVVTRUQ6IDIsXG4gICAgICAgIEZJTklTSEVEOiAzXG4gICAgfTtcblxuICAgIENMRUFOVVBfVElNRU9VVDogbnVtYmVyID0gMzAwMDA7XG5cbiAgICBwZGZWaWV3ZXI6IGFueSA9IG51bGw7XG4gICAgcGRmVGh1bWJuYWlsVmlld2VyOiBhbnkgPSBudWxsO1xuICAgIG9uSWRsZTogYW55ID0gbnVsbDtcblxuICAgIGhpZ2hlc3RQcmlvcml0eVBhZ2U6IGFueSA9IG51bGw7XG4gICAgaWRsZVRpbWVvdXQ6IGFueSA9IG51bGw7XG4gICAgcHJpbnRpbmc6IGFueSA9IGZhbHNlO1xuICAgIGlzVGh1bWJuYWlsVmlld0VuYWJsZWQ6IGFueSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBpbnN0YW5jZSBvZiB0aGUgUERGIFZpZXdlclxuICAgICAqXG4gICAgICogQHBhcmFtIHBkZlZpZXdlciB2aWV3ZXIgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBzZXRWaWV3ZXIocGRmVmlld2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGRmVmlld2VyID0gcGRmVmlld2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGluc3RhbmNlIG9mIHRoZSBQREYgVGh1bWJuYWlsIFZpZXdlclxuICAgICAqXG4gICAgICogQHBhcmFtIHBkZlRodW1ibmFpbFZpZXdlciB2aWV3ZXIgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBzZXRUaHVtYm5haWxWaWV3ZXIocGRmVGh1bWJuYWlsVmlld2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGRmVGh1bWJuYWlsVmlld2VyID0gcGRmVGh1bWJuYWlsVmlld2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSB2aWV3IGhhcyBoaWdoZXN0IHJlbmRlcmluZyBwcmlvcml0eVxuICAgICAqXG4gICAgICogQHBhcmFtIHZpZXcgdmlldyB0byByZW5kZXJcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZpZXcgaGFzIGhpZ2hlciBwcmlvcml0eSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc0hpZ2hlc3RQcmlvcml0eSh2aWV3OiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlnaGVzdFByaW9yaXR5UGFnZSA9PT0gdmlldy5yZW5kZXJpbmdJZDtcbiAgICB9XG5cbiAgICByZW5kZXJIaWdoZXN0UHJpb3JpdHkoY3VycmVudGx5VmlzaWJsZVBhZ2VzKSB7XG4gICAgICAgIGlmICh0aGlzLmlkbGVUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5pZGxlVGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLmlkbGVUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhZ2VzIGhhdmUgYSBoaWdoZXIgcHJpb3JpdHkgdGhhbiB0aHVtYm5haWxzLCBzbyBjaGVjayB0aGVtIGZpcnN0LlxuICAgICAgICBpZiAodGhpcy5wZGZWaWV3ZXIuZm9yY2VSZW5kZXJpbmcoY3VycmVudGx5VmlzaWJsZVBhZ2VzKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vIHBhZ2VzIG5lZWRlZCByZW5kZXJpbmcgc28gY2hlY2sgdGh1bWJuYWlscy5cbiAgICAgICAgaWYgKHRoaXMucGRmVGh1bWJuYWlsVmlld2VyICYmIHRoaXMuaXNUaHVtYm5haWxWaWV3RW5hYmxlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGRmVGh1bWJuYWlsVmlld2VyLmZvcmNlUmVuZGVyaW5nKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5wcmludGluZykge1xuICAgICAgICAgICAgLy8gSWYgcHJpbnRpbmcgaXMgY3VycmVudGx5IG9uZ29pbmcgZG8gbm90IHJlc2NoZWR1bGUgY2xlYW51cC5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9uSWRsZSkge1xuICAgICAgICAgICAgdGhpcy5pZGxlVGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5vbklkbGUuYmluZCh0aGlzKSwgdGhpcy5DTEVBTlVQX1RJTUVPVVQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SGlnaGVzdFByaW9yaXR5KHZpc2libGUsIHZpZXdzLCBzY3JvbGxlZERvd24pIHtcbiAgICAgICAgLy8gVGhlIHN0YXRlIGhhcyBjaGFuZ2VkIGZpZ3VyZSBvdXQgd2hpY2ggcGFnZSBoYXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdG9cbiAgICAgICAgLy8gcmVuZGVyIG5leHQgKGlmIGFueSkuXG4gICAgICAgIC8vIFByaW9yaXR5OlxuICAgICAgICAvLyAxIHZpc2libGUgcGFnZXNcbiAgICAgICAgLy8gMiBpZiBsYXN0IHNjcm9sbGVkIGRvd24gcGFnZSBhZnRlciB0aGUgdmlzaWJsZSBwYWdlc1xuICAgICAgICAvLyAyIGlmIGxhc3Qgc2Nyb2xsZWQgdXAgcGFnZSBiZWZvcmUgdGhlIHZpc2libGUgcGFnZXNcbiAgICAgICAgY29uc3QgdmlzaWJsZVZpZXdzID0gdmlzaWJsZS52aWV3cztcblxuICAgICAgICBjb25zdCBudW1WaXNpYmxlID0gdmlzaWJsZVZpZXdzLmxlbmd0aDtcbiAgICAgICAgaWYgKG51bVZpc2libGUgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVZpc2libGU7ICsraSkge1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IHZpc2libGVWaWV3c1tpXS52aWV3O1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmlld0ZpbmlzaGVkKHZpZXcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZpZXc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbGwgdGhlIHZpc2libGUgdmlld3MgaGF2ZSByZW5kZXJlZCwgdHJ5IHRvIHJlbmRlciBuZXh0L3ByZXZpb3VzIHBhZ2VzLlxuICAgICAgICBpZiAoc2Nyb2xsZWREb3duKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0UGFnZUluZGV4ID0gdmlzaWJsZS5sYXN0LmlkO1xuICAgICAgICAgICAgLy8gSUQncyBzdGFydCBhdCAxIHNvIG5vIG5lZWQgdG8gYWRkIDEuXG4gICAgICAgICAgICBpZiAodmlld3NbbmV4dFBhZ2VJbmRleF0gJiYgIXRoaXMuaXNWaWV3RmluaXNoZWQodmlld3NbbmV4dFBhZ2VJbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZpZXdzW25leHRQYWdlSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQYWdlSW5kZXggPSB2aXNpYmxlLmZpcnN0LmlkIC0gMjtcbiAgICAgICAgICAgIGlmICh2aWV3c1twcmV2aW91c1BhZ2VJbmRleF0gJiYgIXRoaXMuaXNWaWV3RmluaXNoZWQodmlld3NbcHJldmlvdXNQYWdlSW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2aWV3c1twcmV2aW91c1BhZ2VJbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gRXZlcnl0aGluZyB0aGF0IG5lZWRzIHRvIGJlIHJlbmRlcmVkIGhhcyBiZWVuLlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBoYXNWaWV3ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucGRmVmlld2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdmlldyByZW5kZXJpbmcgaXMgZmluaXNoZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2aWV3IHRoZSBWaWV3IGluc3RhbmNlIHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHJlbmRlcmluZyBpcyBmaW5pc2hlZCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1ZpZXdGaW5pc2hlZCh2aWV3KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2aWV3LnJlbmRlcmluZ1N0YXRlID09PSB0aGlzLnJlbmRlcmluZ1N0YXRlcy5GSU5JU0hFRDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW5kZXIgYSBwYWdlIG9yIHRodW1ibmFpbCB2aWV3LiBUaGlzIGNhbGxzIHRoZSBhcHByb3ByaWF0ZSBmdW5jdGlvblxuICAgICAqIGJhc2VkIG9uIHRoZSB2aWV3cyBzdGF0ZS4gSWYgdGhlIHZpZXcgaXMgYWxyZWFkeSByZW5kZXJlZCBpdCB3aWxsIHJldHVyblxuICAgICAqIGZhbHNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZpZXcgVmlldyBpbnN0YW5jZSB0byByZW5kZXJcbiAgICAgKiBAcmV0dXJucyB0aGUgcmVuZGVyZWQgc3RhdGUgb2YgdGhlIHZpZXdcbiAgICAgKi9cbiAgICByZW5kZXJWaWV3KHZpZXc6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHZpZXcucmVuZGVyaW5nU3RhdGU7XG4gICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5yZW5kZXJpbmdTdGF0ZXMuRklOSVNIRUQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIHRoaXMucmVuZGVyaW5nU3RhdGVzLlBBVVNFRDoge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlnaGVzdFByaW9yaXR5UGFnZSA9IHZpZXcucmVuZGVyaW5nSWQ7XG4gICAgICAgICAgICAgICAgdmlldy5yZXN1bWUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgdGhpcy5yZW5kZXJpbmdTdGF0ZXMuUlVOTklORzoge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlnaGVzdFByaW9yaXR5UGFnZSA9IHZpZXcucmVuZGVyaW5nSWQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIHRoaXMucmVuZGVyaW5nU3RhdGVzLklOSVRJQUw6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZ2hlc3RQcmlvcml0eVBhZ2UgPSB2aWV3LnJlbmRlcmluZ0lkO1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzcGFjZS1iZWZvcmUtZnVuY3Rpb24tcGFyZW5cbiAgICAgICAgICAgICAgICBjb25zdCBjb250aW51ZVJlbmRlcmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJIaWdoZXN0UHJpb3JpdHkoKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyk7XG4gICAgICAgICAgICAgICAgdmlldy5kcmF3KCkudGhlbihjb250aW51ZVJlbmRlcmluZywgY29udGludWVSZW5kZXJpbmcpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLXF1ZXVlLnNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi92aWV3ZXIvc2VydmljZXMvcmVuZGVyaW5nLXF1ZXVlLnNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRUksb0JBQWUsR0FBRztZQUNkLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxDQUFDO1NBQ2QsQ0FBQztRQUVGLG9CQUFlLEdBQVcsS0FBSyxDQUFDO1FBRWhDLGNBQVMsR0FBUSxJQUFJLENBQUM7UUFDdEIsdUJBQWtCLEdBQVEsSUFBSSxDQUFDO1FBQy9CLFdBQU0sR0FBUSxJQUFJLENBQUM7UUFFbkIsd0JBQW1CLEdBQVEsSUFBSSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBUSxLQUFLLENBQUM7UUFDdEIsMkJBQXNCLEdBQVEsS0FBSyxDQUFDO0tBaUp2QztJQS9JRzs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLFNBQVM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLGtCQUFrQjtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsSUFBUztRQUN2QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3pELENBQUM7SUFFRCxxQkFBcUIs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bnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICpcbiAqIFJlbmRlcmluZ1F1ZXVlU2VydmljZXMgcmVuZGVyaW5nIG9mIHRoZSB2aWV3cyBmb3IgcGFnZXMgYW5kIHRodW1ibmFpbHMuXG4gKlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVuZGVyaW5nUXVldWVTZXJ2aWNlcyB7XG4gICAgcmVuZGVyaW5nU3RhdGVzID0ge1xuICAgICAgICBJTklUSUFMOiAwLFxuICAgICAgICBSVU5OSU5HOiAxLFxuICAgICAgICBQQVVTRUQ6IDIsXG4gICAgICAgIEZJTklTSEVEOiAzXG4gICAgfTtcblxuICAgIENMRUFOVVBfVElNRU9VVDogbnVtYmVyID0gMzAwMDA7XG5cbiAgICBwZGZWaWV3ZXI6IGFueSA9IG51bGw7XG4gICAgcGRmVGh1bWJuYWlsVmlld2VyOiBhbnkgPSBudWxsO1xuICAgIG9uSWRsZTogYW55ID0gbnVsbDtcblxuICAgIGhpZ2hlc3RQcmlvcml0eVBhZ2U6IGFueSA9IG51bGw7XG4gICAgaWRsZVRpbWVvdXQ6IGFueSA9IG51bGw7XG4gICAgcHJpbnRpbmc6IGFueSA9IGZhbHNlO1xuICAgIGlzVGh1bWJuYWlsVmlld0VuYWJsZWQ6IGFueSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBpbnN0YW5jZSBvZiB0aGUgUERGIFZpZXdlclxuICAgICAqXG4gICAgICogQHBhcmFtIHBkZlZpZXdlciB2aWV3ZXIgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBzZXRWaWV3ZXIocGRmVmlld2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGRmVmlld2VyID0gcGRmVmlld2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGluc3RhbmNlIG9mIHRoZSBQREYgVGh1bWJuYWlsIFZpZXdlclxuICAgICAqXG4gICAgICogQHBhcmFtIHBkZlRodW1ibmFpbFZpZXdlciB2aWV3ZXIgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBzZXRUaHVtYm5haWxWaWV3ZXIocGRmVGh1bWJuYWlsVmlld2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGRmVGh1bWJuYWlsVmlld2VyID0gcGRmVGh1bWJuYWlsVmlld2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSB2aWV3IGhhcyBoaWdoZXN0IHJlbmRlcmluZyBwcmlvcml0eVxuICAgICAqXG4gICAgICogQHBhcmFtIHZpZXcgdmlldyB0byByZW5kZXJcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZpZXcgaGFzIGhpZ2hlciBwcmlvcml0eSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc0hpZ2hlc3RQcmlvcml0eSh2aWV3OiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlnaGVzdFByaW9yaXR5UGFnZSA9PT0gdmlldy5yZW5kZXJpbmdJZDtcbiAgICB9XG5cbiAgICByZW5kZXJIaWdoZXN0UHJpb3JpdHkoY3VycmVudGx5VmlzaWJsZVBhZ2VzKSB7XG4gICAgICAgIGlmICh0aGlzLmlkbGVUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5pZGxlVGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLmlkbGVUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhZ2VzIGhhdmUgYSBoaWdoZXIgcHJpb3JpdHkgdGhhbiB0aHVtYm5haWxzLCBzbyBjaGVjayB0aGVtIGZpcnN0LlxuICAgICAgICBpZiAodGhpcy5wZGZWaWV3ZXIuZm9yY2VSZW5kZXJpbmcoY3VycmVudGx5VmlzaWJsZVBhZ2VzKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vIHBhZ2VzIG5lZWRlZCByZW5kZXJpbmcgc28gY2hlY2sgdGh1bWJuYWlscy5cbiAgICAgICAgaWYgKHRoaXMucGRmVGh1bWJuYWlsVmlld2VyICYmIHRoaXMuaXNUaHVtYm5haWxWaWV3RW5hYmxlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGRmVGh1bWJuYWlsVmlld2VyLmZvcmNlUmVuZGVyaW5nKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5wcmludGluZykge1xuICAgICAgICAgICAgLy8gSWYgcHJpbnRpbmcgaXMgY3VycmVudGx5IG9uZ29pbmcgZG8gbm90IHJlc2NoZWR1bGUgY2xlYW51cC5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9uSWRsZSkge1xuICAgICAgICAgICAgdGhpcy5pZGxlVGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5vbklkbGUuYmluZCh0aGlzKSwgdGhpcy5DTEVBTlVQX1RJTUVPVVQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SGlnaGVzdFByaW9yaXR5KHZpc2libGUsIHZpZXdzLCBzY3JvbGxlZERvd24pIHtcbiAgICAgICAgLy8gVGhlIHN0YXRlIGhhcyBjaGFuZ2VkIGZpZ3VyZSBvdXQgd2hpY2ggcGFnZSBoYXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdG9cbiAgICAgICAgLy8gcmVuZGVyIG5leHQgKGlmIGFueSkuXG4gICAgICAgIC8vIFByaW9yaXR5OlxuICAgICAgICAvLyAxIHZpc2libGUgcGFnZXNcbiAgICAgICAgLy8gMiBpZiBsYXN0IHNjcm9sbGVkIGRvd24gcGFnZSBhZnRlciB0aGUgdmlzaWJsZSBwYWdlc1xuICAgICAgICAvLyAyIGlmIGxhc3Qgc2Nyb2xsZWQgdXAgcGFnZSBiZWZvcmUgdGhlIHZpc2libGUgcGFnZXNcbiAgICAgICAgY29uc3QgdmlzaWJsZVZpZXdzID0gdmlzaWJsZS52aWV3cztcblxuICAgICAgICBjb25zdCBudW1WaXNpYmxlID0gdmlzaWJsZVZpZXdzLmxlbmd0aDtcbiAgICAgICAgaWYgKG51bVZpc2libGUgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVZpc2libGU7ICsraSkge1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IHZpc2libGVWaWV3c1tpXS52aWV3O1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmlld0ZpbmlzaGVkKHZpZXcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZpZXc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbGwgdGhlIHZpc2libGUgdmlld3MgaGF2ZSByZW5kZXJlZCwgdHJ5IHRvIHJlbmRlciBuZXh0L3ByZXZpb3VzIHBhZ2VzLlxuICAgICAgICBpZiAoc2Nyb2xsZWREb3duKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0UGFnZUluZGV4ID0gdmlzaWJsZS5sYXN0LmlkO1xuICAgICAgICAgICAgLy8gSUQncyBzdGFydCBhdCAxIHNvIG5vIG5lZWQgdG8gYWRkIDEuXG4gICAgICAgICAgICBpZiAodmlld3NbbmV4dFBhZ2VJbmRleF0gJiYgIXRoaXMuaXNWaWV3RmluaXNoZWQodmlld3NbbmV4dFBhZ2VJbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZpZXdzW25leHRQYWdlSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQYWdlSW5kZXggPSB2aXNpYmxlLmZpcnN0LmlkIC0gMjtcbiAgICAgICAgICAgIGlmICh2aWV3c1twcmV2aW91c1BhZ2VJbmRleF0gJiYgIXRoaXMuaXNWaWV3RmluaXNoZWQodmlld3NbcHJldmlvdXNQYWdlSW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2aWV3c1twcmV2aW91c1BhZ2VJbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gRXZlcnl0aGluZyB0aGF0IG5lZWRzIHRvIGJlIHJlbmRlcmVkIGhhcyBiZWVuLlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBoYXNWaWV3ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucGRmVmlld2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdmlldyByZW5kZXJpbmcgaXMgZmluaXNoZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2aWV3IHRoZSBWaWV3IGluc3RhbmNlIHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHJlbmRlcmluZyBpcyBmaW5pc2hlZCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1ZpZXdGaW5pc2hlZCh2aWV3KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2aWV3LnJlbmRlcmluZ1N0YXRlID09PSB0aGlzLnJlbmRlcmluZ1N0YXRlcy5GSU5JU0hFRDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW5kZXIgYSBwYWdlIG9yIHRodW1ibmFpbCB2aWV3LiBUaGlzIGNhbGxzIHRoZSBhcHByb3ByaWF0ZSBmdW5jdGlvblxuICAgICAqIGJhc2VkIG9uIHRoZSB2aWV3cyBzdGF0ZS4gSWYgdGhlIHZpZXcgaXMgYWxyZWFkeSByZW5kZXJlZCBpdCB3aWxsIHJldHVyblxuICAgICAqIGZhbHNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZpZXcgVmlldyBpbnN0YW5jZSB0byByZW5kZXJcbiAgICAgKiBAcmV0dXJucyB0aGUgcmVuZGVyZWQgc3RhdGUgb2YgdGhlIHZpZXdcbiAgICAgKi9cbiAgICByZW5kZXJWaWV3KHZpZXc6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHZpZXcucmVuZGVyaW5nU3RhdGU7XG4gICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5yZW5kZXJpbmdTdGF0ZXMuRklOSVNIRUQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIHRoaXMucmVuZGVyaW5nU3RhdGVzLlBBVVNFRDoge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlnaGVzdFByaW9yaXR5UGFnZSA9IHZpZXcucmVuZGVyaW5nSWQ7XG4gICAgICAgICAgICAgICAgdmlldy5yZXN1bWUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgdGhpcy5yZW5kZXJpbmdTdGF0ZXMuUlVOTklORzoge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlnaGVzdFByaW9yaXR5UGFnZSA9IHZpZXcucmVuZGVyaW5nSWQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIHRoaXMucmVuZGVyaW5nU3RhdGVzLklOSVRJQUw6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZ2hlc3RQcmlvcml0eVBhZ2UgPSB2aWV3LnJlbmRlcmluZ0lkO1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzcGFjZS1iZWZvcmUtZnVuY3Rpb24tcGFyZW5cbiAgICAgICAgICAgICAgICBjb25zdCBjb250aW51ZVJlbmRlcmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJIaWdoZXN0UHJpb3JpdHkoKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyk7XG4gICAgICAgICAgICAgICAgdmlldy5kcmF3KCkudGhlbihjb250aW51ZVJlbmRlcmluZywgY29udGludWVSZW5kZXJpbmcpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -137,13 +137,13 @@ export class ViewUtilService {
|
|
|
137
137
|
}
|
|
138
138
|
return false;
|
|
139
139
|
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
141
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewUtilService, deps: [{ token: i1.AppExtensionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
141
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewUtilService, providedIn: 'root' }); }
|
|
142
142
|
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewUtilService, decorators: [{
|
|
144
144
|
type: Injectable,
|
|
145
145
|
args: [{
|
|
146
146
|
providedIn: 'root'
|
|
147
147
|
}]
|
|
148
148
|
}], ctorParameters: () => [{ type: i1.AppExtensionService }] });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9zZXJ2aWNlcy92aWV3LXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBS25GLE1BQU0sT0FBTyxlQUFlO0lBaUJ4Qjs7OztPQUlHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxZQUFvQixnQkFBcUM7UUFBckMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQWxDekQsaUVBQWlFO1FBQ3pELGVBQVUsR0FBRztZQUNqQixLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNsRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzNDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztZQUN2RCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDZixDQUFDO1FBRUYs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UyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzhHQTNJUSxlQUFlO2tIQUFmLGVBQWUsY0FGWixNQUFNOzsyRkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSwgVmlld2VyRXh0ZW5zaW9uUmVmIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWaWV3VXRpbFNlcnZpY2Uge1xuICAgIC8vIEV4dGVuc2lvbnMgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBWaWV3ZXIgd2l0aG91dCBjb252ZXJzaW9uXG4gICAgcHJpdmF0ZSBleHRlbnNpb25zID0ge1xuICAgICAgICBpbWFnZTogWydwbmcnLCAnanBnJywgJ2pwZWcnLCAnZ2lmJywgJ2JwbScsICdzdmcnXSxcbiAgICAgICAgbWVkaWE6IFsnd2F2JywgJ21wNCcsICdtcDMnLCAnd2VibScsICdvZ2cnXSxcbiAgICAgICAgdGV4dDogWyd0eHQnLCAneG1sJywgJ2h0bWwnLCAnanNvbicsICd0cycsICdjc3MnLCAnbWQnXSxcbiAgICAgICAgcGRmOiBbJ3BkZiddXG4gICAgfTtcblxuICAgIC8vIE1pbWUgdHlwZXMgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBWaWV3ZXIgd2l0aG91dCBjb252ZXJzaW9uXG4gICAgcHJpdmF0ZSBtaW1lVHlwZXMgPSB7XG4gICAgICAgIHRleHQ6IFsndGV4dC9wbGFpbicsICd0ZXh0L2NzdicsICd0ZXh0L3htbCcsICd0ZXh0L2h0bWwnLCAnYXBwbGljYXRpb24veC1qYXZhc2NyaXB0J10sXG4gICAgICAgIHBkZjogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgICAgICAgaW1hZ2U6IFsnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL2JtcCcsICdpbWFnZS9zdmcreG1sJ10sXG4gICAgICAgIG1lZGlhOiBbJ3ZpZGVvL21wNCcsICd2aWRlby93ZWJtJywgJ3ZpZGVvL29nZycsICdhdWRpby9tcGVnJywgJ2F1ZGlvL21wMycsICdhdWRpby9vZ2cnLCAnYXVkaW8vd2F2J11cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGxpc3Qgb2YgdGhlIGFjdGl2ZSBWaWV3ZXIgY29udGVudCBleHRlbnNpb25zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgbGlzdCBvZiBleHRlbnNpb24gcmVmZXJlbmNlc1xuICAgICAqL1xuICAgIGdldCB2aWV3ZXJFeHRlbnNpb25zKCk6IFZpZXdlckV4dGVuc2lvblJlZltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXh0ZW5zaW9uU2VydmljZS5nZXRWaWV3ZXJFeHRlbnNpb25zKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgYSBsaXN0IG9mIGZpbGUgZXh0ZW5zaW9ucyBzdXBwb3J0ZWQgYnkgZXh0ZXJuYWwgcGx1Z2lucy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgZXh0ZW5zaW9uc1xuICAgICAqL1xuICAgIGdldCBleHRlcm5hbEV4dGVuc2lvbnMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3ZXJFeHRlbnNpb25zLm1hcCgoZXh0KSA9PiBleHQuZmlsZUV4dGVuc2lvbik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBleHRlbnNpb25TZXJ2aWNlOiBBcHBFeHRlbnNpb25TZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogZ2V0IEZpbGUgbmFtZSBmcm9tIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtICB1cmwgLSB1cmwgZmlsZVxuICAgICAqIEByZXR1cm5zIGZpbGUgbmFtZSBwb3J0aW9uIG9mIHRoZSB1cmxcbiAgICAgKi9cbiAgICBnZXRGaWxlbmFtZUZyb21VcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBhbmNob3IgPSB1cmwuaW5kZXhPZignIycpO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHVybC5pbmRleE9mKCc/Jyk7XG4gICAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKGFuY2hvciA+IDAgPyBhbmNob3IgOiB1cmwubGVuZ3RoLCBxdWVyeSA+IDAgPyBxdWVyeSA6IHVybC5sZW5ndGgpO1xuICAgICAgICByZXR1cm4gdXJsLnN1YnN0cmluZyh1cmwubGFzdEluZGV4T2YoJy8nLCBlbmQpICsgMSwgZW5kKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZmlsZSBleHRlbnNpb24gZnJvbSB0aGUgc3RyaW5nLlxuICAgICAqIFN1cHBvcnRzIHRoZSBVUkwgZm9ybWF0cyBsaWtlOlxuICAgICAqIGh0dHA6Ly9sb2NhbGhvc3QvdGVzdC5qcGc/Y2FjaGU9MTAwMFxuICAgICAqIGh0dHA6Ly9sb2NhbGhvc3QvdGVzdC5qcGcjY2FjaGU9MTAwMFxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGVOYW1lIC0gZmlsZSBuYW1lXG4gICAgICogQHJldHVybnMgZmlsZSBleHRlbnNpb25cbiAgICAgKi9cbiAgICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZmlsZU5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gZmlsZU5hbWUubWF0Y2goL1xcLihbXi4vPyNdKykoJHxcXD98IykvKTtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRWaWV3ZXJUeXBlKGV4dGVuc2lvbjogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nLCBleHRlbnNpb25zU3VwcG9ydGVkQnlUZW1wbGF0ZXM/OiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGxldCB2aWV3ZXJUeXBlID0gdGhpcy5nZXRWaWV3ZXJUeXBlQnlFeHRlbnNpb24oZXh0ZW5zaW9uLCBleHRlbnNpb25zU3VwcG9ydGVkQnlUZW1wbGF0ZXMpO1xuXG4gICAgICAgIGlmICh2aWV3ZXJUeXBlID09PSAndW5rbm93bicpIHtcbiAgICAgICAgICAgIHZpZXdlclR5cGUgPSB0aGlzLmdldFZpZXdlclR5cGVCeU1pbWVUeXBlKG1pbWVUeXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2aWV3ZXJUeXBlO1xuICAgIH1cblxuICAgIGdldFZpZXdlclR5cGVCeU1pbWVUeXBlKG1pbWVUeXBlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICAgICAgICBtaW1lVHlwZSA9IG1pbWVUeXBlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGVkaXRvclR5cGVzID0gT2JqZWN0LmtleXModGhpcy5taW1lVHlwZXMpO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0eXBlIG9mIGVkaXRvclR5cGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWltZVR5cGVzW3R5cGVdLmluZGV4T2YobWltZVR5cGUpID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWaWV3ZXJUeXBlQnlFeHRlbnNpb24oZXh0ZW5zaW9uOiBzdHJpbmcsIGV4dGVuc2lvbnNTdXBwb3J0ZWRCeVRlbXBsYXRlcz86IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGV4dGVuc2lvbikge1xuICAgICAgICAgICAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0V4dGVybmFsVmlld2VyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnZXh0ZXJuYWwnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDdXN0b21WaWV3ZXJFeHRlbnNpb24oZXh0ZW5zaW9uLCBleHRlbnNpb25zU3VwcG9ydGVkQnlUZW1wbGF0ZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2N1c3RvbSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5leHRlbnNpb25zLmltYWdlLmluZGV4T2YoZXh0ZW5zaW9uKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ltYWdlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmV4dGVuc2lvbnMubWVkaWEuaW5kZXhPZihleHRlbnNpb24pID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnbWVkaWEnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXh0ZW5zaW9ucy50ZXh0LmluZGV4T2YoZXh0ZW5zaW9uKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3RleHQnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXh0ZW5zaW9ucy5wZGYuaW5kZXhPZihleHRlbnNpb24pID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiAncGRmJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0V4dGVybmFsVmlld2VyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZpZXdlckV4dGVuc2lvbnMuZmluZCgoZXh0KSA9PiBleHQuZmlsZUV4dGVuc2lvbiA9PT0gJyonKTtcbiAgICB9XG5cbiAgICBpc0N1c3RvbVZpZXdlckV4dGVuc2lvbihleHRlbnNpb246IHN0cmluZywgZXh0ZW5zaW9uc1N1cHBvcnRlZEJ5VGVtcGxhdGVzPzogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9ucyA9IHRoaXMuZXh0ZXJuYWxFeHRlbnNpb25zIHx8IFtdO1xuICAgICAgICBpZiAoZXh0ZW5zaW9uc1N1cHBvcnRlZEJ5VGVtcGxhdGVzKSB7XG4gICAgICAgICAgICBleHRlbnNpb25zLnB1c2goLi4uZXh0ZW5zaW9uc1N1cHBvcnRlZEJ5VGVtcGxhdGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleHRlbnNpb24gJiYgZXh0ZW5zaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBleHRlbnNpb24gPSBleHRlbnNpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiBleHRlbnNpb25zLmZsYXQoKS5pbmRleE9mKGV4dGVuc2lvbikgPj0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9zZXJ2aWNlcy92aWV3LXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBS25GLE1BQU0sT0FBTyxlQUFlO0lBaUJ4Qjs7OztPQUlHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxZQUFvQixnQkFBcUM7UUFBckMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQWxDekQsaUVBQWlFO1FBQ3pELGVBQVUsR0FBRztZQUNqQixLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNsRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzNDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztZQUN2RCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDZixDQUFDO1FBRUYs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UyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOytHQTNJUSxlQUFlO21IQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSwgVmlld2VyRXh0ZW5zaW9uUmVmIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWaWV3VXRpbFNlcnZpY2Uge1xuICAgIC8vIEV4dGVuc2lvbnMgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBWaWV3ZXIgd2l0aG91dCBjb252ZXJzaW9uXG4gICAgcHJpdmF0ZSBleHRlbnNpb25zID0ge1xuICAgICAgICBpbWFnZTogWydwbmcnLCAnanBnJywgJ2pwZWcnLCAnZ2lmJywgJ2JwbScsICdzdmcnXSxcbiAgICAgICAgbWVkaWE6IFsnd2F2JywgJ21wNCcsICdtcDMnLCAnd2VibScsICdvZ2cnXSxcbiAgICAgICAgdGV4dDogWyd0eHQnLCAneG1sJywgJ2h0bWwnLCAnanNvbicsICd0cycsICdjc3MnLCAnbWQnXSxcbiAgICAgICAgcGRmOiBbJ3BkZiddXG4gICAgfTtcblxuICAgIC8vIE1pbWUgdHlwZXMgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBWaWV3ZXIgd2l0aG91dCBjb252ZXJzaW9uXG4gICAgcHJpdmF0ZSBtaW1lVHlwZXMgPSB7XG4gICAgICAgIHRleHQ6IFsndGV4dC9wbGFpbicsICd0ZXh0L2NzdicsICd0ZXh0L3htbCcsICd0ZXh0L2h0bWwnLCAnYXBwbGljYXRpb24veC1qYXZhc2NyaXB0J10sXG4gICAgICAgIHBkZjogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgICAgICAgaW1hZ2U6IFsnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL2JtcCcsICdpbWFnZS9zdmcreG1sJ10sXG4gICAgICAgIG1lZGlhOiBbJ3ZpZGVvL21wNCcsICd2aWRlby93ZWJtJywgJ3ZpZGVvL29nZycsICdhdWRpby9tcGVnJywgJ2F1ZGlvL21wMycsICdhdWRpby9vZ2cnLCAnYXVkaW8vd2F2J11cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGxpc3Qgb2YgdGhlIGFjdGl2ZSBWaWV3ZXIgY29udGVudCBleHRlbnNpb25zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgbGlzdCBvZiBleHRlbnNpb24gcmVmZXJlbmNlc1xuICAgICAqL1xuICAgIGdldCB2aWV3ZXJFeHRlbnNpb25zKCk6IFZpZXdlckV4dGVuc2lvblJlZltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXh0ZW5zaW9uU2VydmljZS5nZXRWaWV3ZXJFeHRlbnNpb25zKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgYSBsaXN0IG9mIGZpbGUgZXh0ZW5zaW9ucyBzdXBwb3J0ZWQgYnkgZXh0ZXJuYWwgcGx1Z2lucy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgZXh0ZW5zaW9uc1xuICAgICAqL1xuICAgIGdldCBleHRlcm5hbEV4dGVuc2lvbnMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3ZXJFeHRlbnNpb25zLm1hcCgoZXh0KSA9PiBleHQuZmlsZUV4dGVuc2lvbik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBleHRlbnNpb25TZXJ2aWNlOiBBcHBFeHRlbnNpb25TZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogZ2V0IEZpbGUgbmFtZSBmcm9tIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtICB1cmwgLSB1cmwgZmlsZVxuICAgICAqIEByZXR1cm5zIGZpbGUgbmFtZSBwb3J0aW9uIG9mIHRoZSB1cmxcbiAgICAgKi9cbiAgICBnZXRGaWxlbmFtZUZyb21VcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBhbmNob3IgPSB1cmwuaW5kZXhPZignIycpO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHVybC5pbmRleE9mKCc/Jyk7XG4gICAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKGFuY2hvciA+IDAgPyBhbmNob3IgOiB1cmwubGVuZ3RoLCBxdWVyeSA+IDAgPyBxdWVyeSA6IHVybC5sZW5ndGgpO1xuICAgICAgICByZXR1cm4gdXJsLnN1YnN0cmluZyh1cmwubGFzdEluZGV4T2YoJy8nLCBlbmQpICsgMSwgZW5kKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZmlsZSBleHRlbnNpb24gZnJvbSB0aGUgc3RyaW5nLlxuICAgICAqIFN1cHBvcnRzIHRoZSBVUkwgZm9ybWF0cyBsaWtlOlxuICAgICAqIGh0dHA6Ly9sb2NhbGhvc3QvdGVzdC5qcGc/Y2FjaGU9MTAwMFxuICAgICAqIGh0dHA6Ly9sb2NhbGhvc3QvdGVzdC5qcGcjY2FjaGU9MTAwMFxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGVOYW1lIC0gZmlsZSBuYW1lXG4gICAgICogQHJldHVybnMgZmlsZSBleHRlbnNpb25cbiAgICAgKi9cbiAgICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZmlsZU5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gZmlsZU5hbWUubWF0Y2goL1xcLihbXi4vPyNdKykoJHxcXD98IykvKTtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRWaWV3ZXJUeXBlKGV4dGVuc2lvbjogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nLCBleHRlbnNpb25zU3VwcG9ydGVkQnlUZW1wbGF0ZXM/OiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGxldCB2aWV3ZXJUeXBlID0gdGhpcy5nZXRWaWV3ZXJUeXBlQnlFeHRlbnNpb24oZXh0ZW5zaW9uLCBleHRlbnNpb25zU3VwcG9ydGVkQnlUZW1wbGF0ZXMpO1xuXG4gICAgICAgIGlmICh2aWV3ZXJUeXBlID09PSAndW5rbm93bicpIHtcbiAgICAgICAgICAgIHZpZXdlclR5cGUgPSB0aGlzLmdldFZpZXdlclR5cGVCeU1pbWVUeXBlKG1pbWVUeXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2aWV3ZXJUeXBlO1xuICAgIH1cblxuICAgIGdldFZpZXdlclR5cGVCeU1pbWVUeXBlKG1pbWVUeXBlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICAgICAgICBtaW1lVHlwZSA9IG1pbWVUeXBlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGVkaXRvclR5cGVzID0gT2JqZWN0LmtleXModGhpcy5taW1lVHlwZXMpO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0eXBlIG9mIGVkaXRvclR5cGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWltZVR5cGVzW3R5cGVdLmluZGV4T2YobWltZVR5cGUpID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWaWV3ZXJUeXBlQnlFeHRlbnNpb24oZXh0ZW5zaW9uOiBzdHJpbmcsIGV4dGVuc2lvbnNTdXBwb3J0ZWRCeVRlbXBsYXRlcz86IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGV4dGVuc2lvbikge1xuICAgICAgICAgICAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0V4dGVybmFsVmlld2VyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnZXh0ZXJuYWwnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDdXN0b21WaWV3ZXJFeHRlbnNpb24oZXh0ZW5zaW9uLCBleHRlbnNpb25zU3VwcG9ydGVkQnlUZW1wbGF0ZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2N1c3RvbSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5leHRlbnNpb25zLmltYWdlLmluZGV4T2YoZXh0ZW5zaW9uKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ltYWdlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmV4dGVuc2lvbnMubWVkaWEuaW5kZXhPZihleHRlbnNpb24pID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnbWVkaWEnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXh0ZW5zaW9ucy50ZXh0LmluZGV4T2YoZXh0ZW5zaW9uKSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3RleHQnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXh0ZW5zaW9ucy5wZGYuaW5kZXhPZihleHRlbnNpb24pID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiAncGRmJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0V4dGVybmFsVmlld2VyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZpZXdlckV4dGVuc2lvbnMuZmluZCgoZXh0KSA9PiBleHQuZmlsZUV4dGVuc2lvbiA9PT0gJyonKTtcbiAgICB9XG5cbiAgICBpc0N1c3RvbVZpZXdlckV4dGVuc2lvbihleHRlbnNpb246IHN0cmluZywgZXh0ZW5zaW9uc1N1cHBvcnRlZEJ5VGVtcGxhdGVzPzogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9ucyA9IHRoaXMuZXh0ZXJuYWxFeHRlbnNpb25zIHx8IFtdO1xuICAgICAgICBpZiAoZXh0ZW5zaW9uc1N1cHBvcnRlZEJ5VGVtcGxhdGVzKSB7XG4gICAgICAgICAgICBleHRlbnNpb25zLnB1c2goLi4uZXh0ZW5zaW9uc1N1cHBvcnRlZEJ5VGVtcGxhdGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleHRlbnNpb24gJiYgZXh0ZW5zaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBleHRlbnNpb24gPSBleHRlbnNpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiBleHRlbnNpb25zLmZsYXQoKS5pbmRleE9mKGV4dGVuc2lvbikgPj0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
|