@c8y/ngx-components 1021.38.1 → 1021.49.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/services.d.ts +1 -1
- package/api/services.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
- package/connectivity/abstract-connectivity-tab.factory.d.ts +1 -1
- package/context-dashboard/add-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +4 -2
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
- package/context-dashboard/dashboard-manager/dashboard-manager.model.d.ts +1 -0
- package/context-dashboard/dashboard-manager/dashboard-manager.model.d.ts.map +1 -1
- package/context-dashboard/dashboard-manager/dashboard-manager.service.d.ts +0 -1
- package/context-dashboard/dashboard-manager/dashboard-manager.service.d.ts.map +1 -1
- package/context-dashboard/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
- package/context-dashboard/new-dashboard.guard.d.ts +1 -1
- package/context-dashboard/new-dashboard.guard.d.ts.map +1 -1
- package/core/action/action.component.d.ts +2 -1
- package/core/action/action.component.d.ts.map +1 -1
- package/core/action/action.model.d.ts +3 -2
- package/core/action/action.model.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts +2 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.model.d.ts +2 -1
- package/core/breadcrumb/breadcrumb.model.d.ts.map +1 -1
- package/core/common/ApplicationOptions.d.ts +1 -0
- package/core/common/ApplicationOptions.d.ts.map +1 -1
- package/core/common/empty-state/empty-state.component.d.ts +2 -1
- package/core/common/empty-state/empty-state.component.d.ts.map +1 -1
- package/core/common/get-group-icon.pipe.d.ts +2 -1
- package/core/common/get-group-icon.pipe.d.ts.map +1 -1
- package/core/common/group.service.d.ts +22 -7
- package/core/common/group.service.d.ts.map +1 -1
- package/core/common/icon.directive.d.ts +5 -5
- package/core/common/icon.directive.d.ts.map +1 -1
- package/core/common/service-registry.model.d.ts +2 -1
- package/core/common/service-registry.model.d.ts.map +1 -1
- package/core/data-grid/data-grid.model.d.ts +2 -1
- package/core/data-grid/data-grid.model.d.ts.map +1 -1
- package/core/docs/docs.models.d.ts +2 -1
- package/core/docs/docs.models.d.ts.map +1 -1
- package/core/docs/help-and-support-outlet/help-and-support-outlet.component.d.ts +5 -1
- package/core/docs/help-and-support-outlet/help-and-support-outlet.component.d.ts.map +1 -1
- package/core/docs/legal-notices-outlet/legal-notices-outlet.component.d.ts +5 -1
- package/core/docs/legal-notices-outlet/legal-notices-outlet.component.d.ts.map +1 -1
- package/core/docs/support-outlet/support-outlet.component.d.ts +5 -1
- package/core/docs/support-outlet/support-outlet.component.d.ts.map +1 -1
- package/core/forms/filter-input.component.d.ts +8 -3
- package/core/forms/filter-input.component.d.ts.map +1 -1
- package/core/i18n/translate.service.d.ts.map +1 -1
- package/core/list-group/list-item-action.component.d.ts +2 -1
- package/core/list-group/list-item-action.component.d.ts.map +1 -1
- package/core/list-group/list-item-icon.component.d.ts +2 -1
- package/core/list-group/list-item-icon.component.d.ts.map +1 -1
- package/core/login/login.service.d.ts.map +1 -1
- package/core/navigator/navigator-icon.component.d.ts +1 -1
- package/core/navigator/navigator-icon.component.d.ts.map +1 -1
- package/core/navigator/navigator-node-data.d.ts +2 -1
- package/core/navigator/navigator-node-data.d.ts.map +1 -1
- package/core/navigator/navigator-node.component.d.ts.map +1 -1
- package/core/navigator/navigator-node.d.ts +2 -1
- package/core/navigator/navigator-node.d.ts.map +1 -1
- package/core/plugins/plugins.model.d.ts +7 -2
- package/core/plugins/plugins.model.d.ts.map +1 -1
- package/core/plugins/plugins.service.d.ts.map +1 -1
- package/core/properties-list/properties-list.component.d.ts +2 -1
- package/core/properties-list/properties-list.component.d.ts.map +1 -1
- package/core/provider-configuration/model/dynamic-provider-config.model.d.ts +2 -2
- package/core/provider-configuration/model/dynamic-provider-config.model.d.ts.map +1 -1
- package/core/router/context-route.service.d.ts.map +1 -1
- package/core/router/router.model.d.ts +1 -1
- package/core/router/router.model.d.ts.map +1 -1
- package/core/router/scoped-context-route.service.d.ts.map +1 -1
- package/core/search/search.model.d.ts +2 -1
- package/core/search/search.model.d.ts.map +1 -1
- package/core/select/select-keyboard.service.d.ts +4 -0
- package/core/select/select-keyboard.service.d.ts.map +1 -1
- package/core/select/select.component.d.ts +14 -3
- package/core/select/select.component.d.ts.map +1 -1
- package/core/select-modal/select-modal.component.d.ts +2 -1
- package/core/select-modal/select-modal.component.d.ts.map +1 -1
- package/core/shared/core.model.d.ts +5 -1
- package/core/shared/core.model.d.ts.map +1 -1
- package/core/tabs/conditional-tabs-outlet.component.d.ts.map +1 -1
- package/core/tabs/tab.component.d.ts +3 -2
- package/core/tabs/tab.component.d.ts.map +1 -1
- package/core/tabs/tab.model.d.ts +10 -5
- package/core/tabs/tab.model.d.ts.map +1 -1
- package/core/tabs/tabs-outlet.component.d.ts +7 -4
- package/core/tabs/tabs-outlet.component.d.ts.map +1 -1
- package/core/user/user-menu-item.component.d.ts +2 -1
- package/core/user/user-menu-item.component.d.ts.map +1 -1
- package/core/user/user.model.d.ts +2 -1
- package/core/user/user.model.d.ts.map +1 -1
- package/core/wizard/wizard.model.d.ts +4 -3
- package/core/wizard/wizard.model.d.ts.map +1 -1
- package/data-grid-columns/asset-type/asset-type.cell-renderer.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +15 -46
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.d.ts +3 -0
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selection.model.d.ts +6 -7
- package/datapoint-selector/datapoint-selection.model.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts +2 -1
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -1
- package/device-grid/columns/icon.cell-renderer.component.d.ts +14 -0
- package/device-grid/columns/icon.cell-renderer.component.d.ts.map +1 -0
- package/device-grid/columns/index.d.ts +1 -0
- package/device-grid/columns/index.d.ts.map +1 -1
- package/device-grid/device-grid.component.d.ts.map +1 -1
- package/device-grid/device-grid.service.d.ts +0 -2
- package/device-grid/device-grid.service.d.ts.map +1 -1
- package/device-provisioned-certificates/c8y-ngx-components-device-provisioned-certificates.d.ts.map +1 -0
- package/device-provisioned-certificates/device-provisioned-certificates.guard.d.ts +11 -0
- package/device-provisioned-certificates/device-provisioned-certificates.guard.d.ts.map +1 -0
- package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts +13 -0
- package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -0
- package/device-provisioned-certificates/device-provisioned-certificates.service.d.ts +13 -0
- package/device-provisioned-certificates/device-provisioned-certificates.service.d.ts.map +1 -0
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +57 -0
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -0
- package/device-provisioned-certificates/index.d.ts +2 -0
- package/device-provisioned-certificates/index.d.ts.map +1 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts +4 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.module.d.ts +2 -2
- package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
- package/ecosystem/application-plugins/index.d.ts +1 -0
- package/ecosystem/application-plugins/index.d.ts.map +1 -1
- package/ecosystem/application-plugins/install-plugin.component.d.ts +9 -11
- package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts +12 -0
- package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -0
- package/ecosystem/application-plugins/plugin-list-item.component.d.ts +8 -3
- package/ecosystem/application-plugins/plugin-list-item.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
- package/ecosystem/applications/application-list/application-list.component.d.ts +2 -2
- package/ecosystem/applications/application-list/application-list.component.d.ts.map +1 -1
- package/ecosystem/applications/install-from-package/install-from-package.component.d.ts.map +1 -1
- package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts +11 -0
- package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts.map +1 -0
- package/ecosystem/archived-confirm/archived-confirm.module.d.ts +10 -0
- package/ecosystem/archived-confirm/archived-confirm.module.d.ts.map +1 -0
- package/ecosystem/archived-confirm/c8y-ngx-components-ecosystem-archived-confirm.d.ts.map +1 -0
- package/ecosystem/archived-confirm/index.d.ts +3 -0
- package/ecosystem/archived-confirm/index.d.ts.map +1 -0
- package/ecosystem/ecosystem.module.d.ts +2 -1
- package/ecosystem/ecosystem.module.d.ts.map +1 -1
- package/ecosystem/features/feature-list.component.d.ts +2 -2
- package/ecosystem/features/feature-list.component.d.ts.map +1 -1
- package/ecosystem/microservices/microservice-list.component.d.ts +2 -2
- package/ecosystem/microservices/microservice-list.component.d.ts.map +1 -1
- package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
- package/ecosystem/packages/package-details/package-details.component.d.ts +7 -2
- package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
- package/ecosystem/packages/package-list/packages-list.component.d.ts +2 -2
- package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
- package/ecosystem/shared/add-application.component.d.ts +2 -1
- package/ecosystem/shared/add-application.component.d.ts.map +1 -1
- package/ecosystem/shared/application-card.component.d.ts +4 -0
- package/ecosystem/shared/application-card.component.d.ts.map +1 -1
- package/ecosystem/shared/archived-filter/archived-filter.component.d.ts +12 -0
- package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -0
- package/ecosystem/shared/ecosystem.constants.d.ts +4 -0
- package/ecosystem/shared/ecosystem.constants.d.ts.map +1 -1
- package/ecosystem/shared/ecosystem.model.d.ts +5 -1
- package/ecosystem/shared/ecosystem.model.d.ts.map +1 -1
- package/ecosystem/shared/ecosystem.service.d.ts +7 -0
- package/ecosystem/shared/ecosystem.service.d.ts.map +1 -1
- package/ecosystem/shared/index.d.ts +1 -0
- package/ecosystem/shared/index.d.ts.map +1 -1
- package/ecosystem/shared/list-filters/list-filters.component.d.ts +14 -4
- package/ecosystem/shared/list-filters/list-filters.component.d.ts.map +1 -1
- package/ecosystem/shared/list-filters/list-filters.model.d.ts +8 -2
- package/ecosystem/shared/list-filters/list-filters.model.d.ts.map +1 -1
- package/ecosystem/shared/shared-ecosystem.module.d.ts +9 -8
- package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
- package/ecosystem/shared/translate-package-label.pipe.d.ts +1 -1
- package/ecosystem/shared/translate-package-label.pipe.d.ts.map +1 -1
- package/esm2022/alarms/alarm-info.component.mjs +1 -1
- package/esm2022/api/services.mjs +2 -2
- package/esm2022/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.mjs +10 -5
- package/esm2022/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.mjs +4 -4
- package/esm2022/branding/shared/lazy/branding-form/branding-form.component.mjs +3 -3
- package/esm2022/context-dashboard/add-dashboard.component.mjs +4 -2
- package/esm2022/context-dashboard/context-dashboard.model.mjs +3 -2
- package/esm2022/context-dashboard/context-dashboard.service.mjs +2 -2
- package/esm2022/context-dashboard/dashboard-detail.component.mjs +5 -3
- package/esm2022/context-dashboard/dashboard-manager/dashboard-manager.model.mjs +1 -1
- package/esm2022/context-dashboard/dashboard-manager/dashboard-manager.service.mjs +5 -15
- package/esm2022/context-dashboard/dashboard-manager/type-dashboards-list/type-dashboards-list.component.mjs +2 -2
- package/esm2022/context-dashboard/new-dashboard.guard.mjs +1 -1
- package/esm2022/core/action/action.component.mjs +1 -1
- package/esm2022/core/action/action.model.mjs +1 -1
- package/esm2022/core/bootstrap/bootstrap.component.mjs +1 -1
- package/esm2022/core/breadcrumb/breadcrumb-item.component.mjs +1 -1
- package/esm2022/core/breadcrumb/breadcrumb.model.mjs +1 -1
- package/esm2022/core/common/ApplicationOptions.mjs +1 -1
- package/esm2022/core/common/empty-state/empty-state.component.mjs +1 -1
- package/esm2022/core/common/get-group-icon.pipe.mjs +1 -1
- package/esm2022/core/common/group.service.mjs +2 -2
- package/esm2022/core/common/icon.directive.mjs +1 -1
- package/esm2022/core/common/service-registry.model.mjs +1 -1
- package/esm2022/core/data-grid/data-grid.model.mjs +1 -1
- package/esm2022/core/docs/docs.models.mjs +1 -1
- package/esm2022/core/docs/support-outlet/support-outlet.component.mjs +3 -3
- package/esm2022/core/forms/filter-input.component.mjs +22 -7
- package/esm2022/core/i18n/translate.service.mjs +7 -5
- package/esm2022/core/list-group/list-item-action.component.mjs +1 -1
- package/esm2022/core/list-group/list-item-icon.component.mjs +1 -1
- package/esm2022/core/login/credentials.component.mjs +2 -2
- package/esm2022/core/login/login.service.mjs +18 -7
- package/esm2022/core/navigator/navigator-node-data.mjs +1 -1
- package/esm2022/core/navigator/navigator-node.component.mjs +11 -2
- package/esm2022/core/navigator/navigator-node.mjs +1 -1
- package/esm2022/core/plugins/plugins.model.mjs +5 -1
- package/esm2022/core/plugins/plugins.service.mjs +6 -2
- package/esm2022/core/properties-list/properties-list.component.mjs +1 -1
- package/esm2022/core/provider-configuration/model/dynamic-provider-config.model.mjs +1 -1
- package/esm2022/core/router/context-route.service.mjs +4 -2
- package/esm2022/core/router/router.model.mjs +1 -1
- package/esm2022/core/router/scoped-context-route.service.mjs +4 -2
- package/esm2022/core/search/search.model.mjs +1 -1
- package/esm2022/core/select/select-keyboard.service.mjs +7 -3
- package/esm2022/core/select/select.component.mjs +36 -8
- package/esm2022/core/select-modal/select-modal.component.mjs +2 -2
- package/esm2022/core/shared/core.model.mjs +6 -2
- package/esm2022/core/tabs/conditional-tabs-outlet.component.mjs +4 -2
- package/esm2022/core/tabs/tab.component.mjs +1 -1
- package/esm2022/core/tabs/tab.model.mjs +1 -1
- package/esm2022/core/tabs/tabs-outlet.component.mjs +41 -12
- package/esm2022/core/user/user-menu-item.component.mjs +1 -1
- package/esm2022/core/user/user.model.mjs +1 -1
- package/esm2022/core/wizard/wizard.model.mjs +1 -1
- package/esm2022/data-grid-columns/asset-type/asset-type.cell-renderer.component.mjs +1 -1
- package/esm2022/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.mjs +47 -22
- package/esm2022/datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.mjs +1 -1
- package/esm2022/datapoint-selector/datapoint-selection.model.mjs +1 -1
- package/esm2022/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.mjs +3 -3
- package/esm2022/datapoints-export-selector/datapoints-export-selector.model.mjs +1 -1
- package/esm2022/device-grid/columns/icon.cell-renderer.component.mjs +42 -0
- package/esm2022/device-grid/columns/index.mjs +2 -1
- package/esm2022/device-grid/device-grid.component.mjs +3 -3
- package/esm2022/device-grid/device-grid.service.mjs +7 -25
- package/esm2022/device-provisioned-certificates/c8y-ngx-components-device-provisioned-certificates.mjs +5 -0
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.guard.mjs +28 -0
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.module.mjs +51 -0
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.service.mjs +31 -0
- package/esm2022/device-provisioned-certificates/device-tab-provisioned-certificates.component.mjs +76 -0
- package/esm2022/device-provisioned-certificates/index.mjs +2 -0
- package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +41 -39
- package/esm2022/ecosystem/application-plugins/application-plugins.module.mjs +8 -6
- package/esm2022/ecosystem/application-plugins/apps-to-update-remotes-select.component.mjs +1 -1
- package/esm2022/ecosystem/application-plugins/index.mjs +2 -1
- package/esm2022/ecosystem/application-plugins/install-plugin.component.mjs +18 -21
- package/esm2022/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.mjs +26 -0
- package/esm2022/ecosystem/application-plugins/plugin-list-item.component.mjs +14 -6
- package/esm2022/ecosystem/application-plugins/plugin-list.component.mjs +14 -12
- package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +7 -1
- package/esm2022/ecosystem/applications/application-list/application-list.component.mjs +1 -1
- package/esm2022/ecosystem/applications/install-from-package/install-from-package.component.mjs +6 -1
- package/esm2022/ecosystem/archived-confirm/archived-confirm-modal.component.mjs +22 -0
- package/esm2022/ecosystem/archived-confirm/archived-confirm.module.mjs +32 -0
- package/esm2022/ecosystem/archived-confirm/c8y-ngx-components-ecosystem-archived-confirm.mjs +5 -0
- package/esm2022/ecosystem/archived-confirm/index.mjs +3 -0
- package/esm2022/ecosystem/ecosystem.module.mjs +20 -16
- package/esm2022/ecosystem/features/feature-list.component.mjs +1 -1
- package/esm2022/ecosystem/microservices/microservice-list.component.mjs +1 -1
- package/esm2022/ecosystem/packages/deploy-application/deploy-application.component.mjs +6 -1
- package/esm2022/ecosystem/packages/package-details/package-details.component.mjs +13 -8
- package/esm2022/ecosystem/packages/package-list/packages-list.component.mjs +4 -4
- package/esm2022/ecosystem/shared/add-application.component.mjs +1 -1
- package/esm2022/ecosystem/shared/application-card.component.mjs +3 -3
- package/esm2022/ecosystem/shared/archived-filter/archived-filter.component.mjs +27 -0
- package/esm2022/ecosystem/shared/ecosystem.constants.mjs +5 -1
- package/esm2022/ecosystem/shared/ecosystem.model.mjs +7 -3
- package/esm2022/ecosystem/shared/ecosystem.service.mjs +26 -1
- package/esm2022/ecosystem/shared/index.mjs +2 -1
- package/esm2022/ecosystem/shared/list-filters/list-filters.component.mjs +75 -13
- package/esm2022/ecosystem/shared/list-filters/list-filters.model.mjs +1 -1
- package/esm2022/ecosystem/shared/shared-ecosystem.module.mjs +10 -5
- package/esm2022/ecosystem/shared/translate-package-label.pipe.mjs +3 -3
- package/esm2022/files-repository/files-repository.component.mjs +2 -2
- package/esm2022/files-repository/files-repository.service.mjs +5 -16
- package/esm2022/icon-selector/icon-selector.component.mjs +1 -1
- package/esm2022/icon-selector/icons/index.mjs +1 -1
- package/esm2022/operations/shared/status-option.model.mjs +1 -1
- package/esm2022/protocol-lwm2m/components/configuration/lwm2m-configuration.component.mjs +2 -2
- package/esm2022/protocol-opcua/opcua-auto-apply-settings.component.mjs +1 -1
- package/esm2022/register-device/bulk/bulk-device-registration-modal.component.mjs +17 -9
- package/esm2022/register-device/general/general-device-registration-button.component.mjs +3 -3
- package/esm2022/register-device/general/general-device-registration.component.mjs +109 -33
- package/esm2022/remote-access/configurations/c8y-ngx-components-remote-access-configurations.mjs +5 -0
- package/esm2022/remote-access/configurations/index.mjs +16 -0
- package/esm2022/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.mjs +218 -0
- package/esm2022/remote-access/configurations/remote-access-configuration-list/remote-access-connect-button/remote-access-connect-button.component.mjs +60 -0
- package/esm2022/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.mjs +36 -0
- package/esm2022/remote-access/data/c8y-ngx-components-remote-access-data.mjs +5 -0
- package/esm2022/remote-access/data/index.mjs +3 -0
- package/esm2022/remote-access/data/remote-access-protocol-provider.mjs +2 -0
- package/esm2022/remote-access/data/remote-access.service.mjs +200 -0
- package/esm2022/remote-access/passthrough/c8y-ngx-components-remote-access-passthrough.mjs +5 -0
- package/esm2022/remote-access/passthrough/index.mjs +36 -0
- package/esm2022/remote-access/shared/c8y-ngx-components-remote-access-shared.mjs +5 -0
- package/esm2022/remote-access/shared/index.mjs +3 -0
- package/esm2022/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.mjs +49 -0
- package/esm2022/remote-access/shared/ssh-key-input/ssh-key-input.component.mjs +87 -0
- package/esm2022/remote-access/ssh/c8y-ngx-components-remote-access-ssh.mjs +5 -0
- package/esm2022/remote-access/ssh/index.mjs +73 -0
- package/esm2022/remote-access/ssh/remote-access-ssh-endpoint-modal/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +5 -0
- package/esm2022/remote-access/ssh/remote-access-ssh-endpoint-modal/index.mjs +2 -0
- package/esm2022/remote-access/ssh/remote-access-ssh-endpoint-modal/remote-access-ssh-endpoint-modal.component.mjs +104 -0
- package/esm2022/remote-access/telnet/c8y-ngx-components-remote-access-telnet.mjs +5 -0
- package/esm2022/remote-access/telnet/index.mjs +43 -0
- package/esm2022/remote-access/terminal-viewer/c8y-ngx-components-remote-access-terminal-viewer.mjs +5 -0
- package/esm2022/remote-access/terminal-viewer/index.mjs +2 -0
- package/esm2022/remote-access/terminal-viewer/shell-adapter.mjs +36 -0
- package/esm2022/remote-access/terminal-viewer/telnet-negotiator.mjs +96 -0
- package/esm2022/remote-access/terminal-viewer/terminal-viewer.component.mjs +101 -0
- package/esm2022/remote-access/vnc/c8y-ngx-components-remote-access-vnc.mjs +5 -0
- package/esm2022/remote-access/vnc/index.mjs +73 -0
- package/esm2022/remote-access/vnc/remote-access-vnc-endpoint-modal/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +5 -0
- package/esm2022/remote-access/vnc/remote-access-vnc-endpoint-modal/index.mjs +2 -0
- package/esm2022/remote-access/vnc/remote-access-vnc-endpoint-modal/remote-access-vnc-endpoint-modal.component.mjs +59 -0
- package/esm2022/remote-access/vnc/vnc-viewer/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +5 -0
- package/esm2022/remote-access/vnc/vnc-viewer/index.mjs +2 -0
- package/esm2022/remote-access/vnc/vnc-viewer/vnc-credentials-prompt/vnc-credentials-prompt.component.mjs +57 -0
- package/esm2022/remote-access/vnc/vnc-viewer/vnc-viewer.component.mjs +158 -0
- package/esm2022/replace-device/replace-device-wizard/replace-device-wizard.model.mjs +1 -1
- package/esm2022/report-dashboard/report-dashboard-list.component.mjs +4 -3
- package/esm2022/repository/configuration/device-tab/device-configuration-list.component.mjs +1 -1
- package/esm2022/repository/shared/repository.model.mjs +1 -1
- package/esm2022/repository/shared/repository.service.mjs +3 -3
- package/esm2022/services/status-options/status-options.model.mjs +1 -1
- package/esm2022/sub-assets/group-info.component.mjs +1 -1
- package/esm2022/translation-editor/data/translation-store.service.mjs +4 -3
- package/esm2022/trusted-certificates/list/trusted-certificate-list.component.mjs +35 -9
- package/esm2022/upgrade/bridge.service.mjs +16 -2
- package/esm2022/widgets/implementations/alarms/severity-icon.pipe.mjs +1 -1
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.mjs +3 -2
- package/esm2022/widgets/implementations/kpi/kpi-widget.model.mjs +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-api.mjs +3 -2
- package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +12 -7
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +2 -2
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +15 -20
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +48 -23
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +48 -28
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +174 -0
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +125 -105
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +57 -0
- package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +147 -31
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +1452 -1414
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-files-repository.mjs +5 -16
- package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector-icons.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-register-device.mjs +269 -188
- package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +314 -0
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-data.mjs +206 -0
- package/fesm2022/c8y-ngx-components-remote-access-data.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +42 -0
- package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +138 -0
- package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +111 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +79 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +50 -0
- package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +235 -0
- package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +66 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +211 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +79 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs +3 -2
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -2
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +43 -17
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +16 -2
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +157 -42
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/files-repository/files-repository.component.d.ts.map +1 -1
- package/files-repository/files-repository.service.d.ts +0 -2
- package/files-repository/files-repository.service.d.ts.map +1 -1
- package/icon-selector/icon-selector.component.d.ts +3 -2
- package/icon-selector/icon-selector.component.d.ts.map +1 -1
- package/icon-selector/icons/index.d.ts +1 -0
- package/icon-selector/icons/index.d.ts.map +1 -1
- package/locales/de.po +157 -5
- package/locales/es.po +157 -5
- package/locales/fr.po +157 -5
- package/locales/ja_JP.po +156 -5
- package/locales/ko.po +156 -5
- package/locales/locales.pot +156 -4
- package/locales/nl.po +157 -5
- package/locales/pl.po +157 -5
- package/locales/pt_BR.po +157 -5
- package/locales/zh_CN.po +156 -5
- package/locales/zh_TW.po +156 -5
- package/operations/shared/status-option.model.d.ts +2 -1
- package/operations/shared/status-option.model.d.ts.map +1 -1
- package/package.json +1 -1
- package/register-device/bulk/bulk-device-registration-modal.component.d.ts +6 -2
- package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
- package/register-device/general/general-device-registration-button.component.d.ts +1 -1
- package/register-device/general/general-device-registration-button.component.d.ts.map +1 -1
- package/register-device/general/general-device-registration.component.d.ts +21 -7
- package/register-device/general/general-device-registration.component.d.ts.map +1 -1
- package/remote-access/configurations/c8y-ngx-components-remote-access-configurations.d.ts.map +1 -0
- package/remote-access/configurations/index.d.ts +3 -0
- package/remote-access/configurations/index.d.ts.map +1 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.d.ts +34 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.d.ts.map +1 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-connect-button/remote-access-connect-button.component.d.ts +17 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-connect-button/remote-access-connect-button.component.d.ts.map +1 -0
- package/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.d.ts +18 -0
- package/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.d.ts.map +1 -0
- package/remote-access/data/c8y-ngx-components-remote-access-data.d.ts.map +1 -0
- package/remote-access/data/index.d.ts +3 -0
- package/remote-access/data/index.d.ts.map +1 -0
- package/remote-access/data/remote-access-protocol-provider.d.ts +21 -0
- package/remote-access/data/remote-access-protocol-provider.d.ts.map +1 -0
- package/remote-access/data/remote-access.service.d.ts +94 -0
- package/remote-access/data/remote-access.service.d.ts.map +1 -0
- package/remote-access/passthrough/c8y-ngx-components-remote-access-passthrough.d.ts.map +1 -0
- package/remote-access/passthrough/index.d.ts +17 -0
- package/remote-access/passthrough/index.d.ts.map +1 -0
- package/remote-access/shared/c8y-ngx-components-remote-access-shared.d.ts.map +1 -0
- package/remote-access/shared/index.d.ts +3 -0
- package/remote-access/shared/index.d.ts.map +1 -0
- package/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.d.ts +37 -0
- package/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.d.ts.map +1 -0
- package/remote-access/shared/ssh-key-input/ssh-key-input.component.d.ts +38 -0
- package/remote-access/shared/ssh-key-input/ssh-key-input.component.d.ts.map +1 -0
- package/remote-access/ssh/c8y-ngx-components-remote-access-ssh.d.ts.map +1 -0
- package/remote-access/ssh/index.d.ts +22 -0
- package/remote-access/ssh/index.d.ts.map +1 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.d.ts.map +1 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/index.d.ts +2 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/index.d.ts.map +1 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/remote-access-ssh-endpoint-modal.component.d.ts +64 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/remote-access-ssh-endpoint-modal.component.d.ts.map +1 -0
- package/remote-access/telnet/c8y-ngx-components-remote-access-telnet.d.ts.map +1 -0
- package/remote-access/telnet/index.d.ts +17 -0
- package/remote-access/telnet/index.d.ts.map +1 -0
- package/remote-access/terminal-viewer/c8y-ngx-components-remote-access-terminal-viewer.d.ts.map +1 -0
- package/remote-access/terminal-viewer/index.d.ts +2 -0
- package/remote-access/terminal-viewer/index.d.ts.map +1 -0
- package/remote-access/terminal-viewer/shell-adapter.d.ts +14 -0
- package/remote-access/terminal-viewer/shell-adapter.d.ts.map +1 -0
- package/remote-access/terminal-viewer/telnet-negotiator.d.ts +13 -0
- package/remote-access/terminal-viewer/telnet-negotiator.d.ts.map +1 -0
- package/remote-access/terminal-viewer/terminal-viewer.component.d.ts +25 -0
- package/remote-access/terminal-viewer/terminal-viewer.component.d.ts.map +1 -0
- package/remote-access/vnc/c8y-ngx-components-remote-access-vnc.d.ts.map +1 -0
- package/remote-access/vnc/index.d.ts +22 -0
- package/remote-access/vnc/index.d.ts.map +1 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.d.ts.map +1 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/index.d.ts +2 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/index.d.ts.map +1 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/remote-access-vnc-endpoint-modal.component.d.ts +46 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/remote-access-vnc-endpoint-modal.component.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/c8y-ngx-components-remote-access-vnc-vnc-viewer.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/index.d.ts +2 -0
- package/remote-access/vnc/vnc-viewer/index.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/vnc-credentials-prompt/vnc-credentials-prompt.component.d.ts +32 -0
- package/remote-access/vnc/vnc-viewer/vnc-credentials-prompt/vnc-credentials-prompt.component.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/vnc-viewer.component.d.ts +37 -0
- package/remote-access/vnc/vnc-viewer/vnc-viewer.component.d.ts.map +1 -0
- package/replace-device/replace-device-wizard/replace-device-wizard.model.d.ts +2 -1
- package/replace-device/replace-device-wizard/replace-device-wizard.model.d.ts.map +1 -1
- package/report-dashboard/report-dashboard-list.component.d.ts +29 -0
- package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
- package/repository/shared/repository.model.d.ts +2 -1
- package/repository/shared/repository.model.d.ts.map +1 -1
- package/services/status-options/status-options.model.d.ts +2 -1
- package/services/status-options/status-options.model.d.ts.map +1 -1
- package/sub-assets/group-info.component.d.ts +2 -1
- package/sub-assets/group-info.component.d.ts.map +1 -1
- package/translation-editor/data/translation-store.service.d.ts.map +1 -1
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts +7 -2
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
- package/upgrade/bridge.service.d.ts +5 -0
- package/upgrade/bridge.service.d.ts.map +1 -1
- package/widgets/implementations/alarms/severity-icon.pipe.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts.map +1 -1
- package/widgets/implementations/kpi/kpi-widget.model.d.ts +2 -1
- package/widgets/implementations/kpi/kpi-widget.model.d.ts.map +1 -1
- package/ecosystem/application-plugins/only-latest-plugin-version.pipe.d.ts +0 -10
- package/ecosystem/application-plugins/only-latest-plugin-version.pipe.d.ts.map +0 -1
- package/esm2022/ecosystem/application-plugins/only-latest-plugin-version.pipe.mjs +0 -20
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute } from '@angular/router';
|
|
3
3
|
import { FetchClient } from '@c8y/client';
|
|
4
|
-
import { AppStateService, ContextRouteService, PackageType, PluginsService, WizardModalService } from '@c8y/ngx-components';
|
|
4
|
+
import { AppStateService, ContextRouteService, GainsightService, PackageType, PluginsService, WizardModalService } from '@c8y/ngx-components';
|
|
5
5
|
import { BehaviorSubject } from 'rxjs';
|
|
6
|
-
import { EcosystemService, EcosystemWizards, packageProperties, PACKAGE_TYPE_LABELS, PackageAvailabilityService } from '@c8y/ngx-components/ecosystem/shared';
|
|
6
|
+
import { EcosystemService, EcosystemWizards, packageProperties, PACKAGE_TYPE_LABELS, PackageAvailabilityService, PRODUCT_EXPERIENCE_ECOSYSTEM } from '@c8y/ngx-components/ecosystem/shared';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/router";
|
|
9
9
|
import * as i2 from "@c8y/client";
|
|
@@ -14,7 +14,7 @@ import * as i6 from "@angular/forms";
|
|
|
14
14
|
import * as i7 from "ngx-bootstrap/tooltip";
|
|
15
15
|
import * as i8 from "../../application-plugins/plugin-list.component";
|
|
16
16
|
export class PackageDetailsComponent {
|
|
17
|
-
constructor(activatedRoute, client, wizardModalService, ecosystemService, contextRouteService, pluginsService, packageAvailabilityService, ui, pluginService) {
|
|
17
|
+
constructor(activatedRoute, client, wizardModalService, ecosystemService, contextRouteService, pluginsService, packageAvailabilityService, ui, pluginService, gainsightService) {
|
|
18
18
|
this.activatedRoute = activatedRoute;
|
|
19
19
|
this.client = client;
|
|
20
20
|
this.wizardModalService = wizardModalService;
|
|
@@ -24,6 +24,7 @@ export class PackageDetailsComponent {
|
|
|
24
24
|
this.packageAvailabilityService = packageAvailabilityService;
|
|
25
25
|
this.ui = ui;
|
|
26
26
|
this.pluginService = pluginService;
|
|
27
|
+
this.gainsightService = gainsightService;
|
|
27
28
|
this.package = {};
|
|
28
29
|
this.exportedPlugins$ = new BehaviorSubject([]);
|
|
29
30
|
this.isChangingAvailability = false;
|
|
@@ -40,6 +41,10 @@ export class PackageDetailsComponent {
|
|
|
40
41
|
await this.loadData();
|
|
41
42
|
}
|
|
42
43
|
deploy() {
|
|
44
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_ECOSYSTEM.APPLICATIONS.EVENTS.PACKAGE_PLUGINS, {
|
|
45
|
+
component: PRODUCT_EXPERIENCE_ECOSYSTEM.APPLICATIONS.COMPONENTS.PACKAGE_DETAILS,
|
|
46
|
+
action: PRODUCT_EXPERIENCE_ECOSYSTEM.APPLICATIONS.ACTIONS.DEPLOY_APPLICATION_INITIATED
|
|
47
|
+
});
|
|
43
48
|
const initialState = {
|
|
44
49
|
wizardConfig: {},
|
|
45
50
|
id: EcosystemWizards.BLUEPRINT_DEPLOYMENT,
|
|
@@ -105,11 +110,11 @@ export class PackageDetailsComponent {
|
|
|
105
110
|
getBaseUrl() {
|
|
106
111
|
return `/apps/${this.package.contextPath}/`;
|
|
107
112
|
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PackageDetailsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FetchClient }, { token: i3.WizardModalService }, { token: i4.EcosystemService }, { token: i3.ContextRouteService }, { token: i3.PluginsService }, { token: i4.PackageAvailabilityService }, { token: i3.AppStateService }, { token: i3.PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PackageDetailsComponent, selector: "c8y-package-details", ngImport: i0, template: "<c8y-title>{{ name | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [label]=\"'Extensions' | translate\"\n [path]=\"'ecosystem/extension/extensions'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"name | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Extension package' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n placement=\"right\"\n itemClass=\"navbar-form\"\n *ngIf=\"isOwnedByCurrentTenant && isAllowedToCreateSubtenants\"\n>\n <div class=\"form-horizontal\">\n <div class=\"form-group\">\n <label\n for=\"availability\"\n translate\n >\n Availability`of package based on app state`\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"availability\"\n [(ngModel)]=\"packageAvailability\"\n [disabled]=\"isChangingAvailability\"\n (ngModelChange)=\"togglePackageAvailability(package, $event)\"\n >\n <option\n *ngFor=\"let availability of packageAvailabilityService.availabilities\"\n [ngValue]=\"availability.value\"\n >\n {{ availability.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n</c8y-action-bar-item>\n\n<div class=\"card content-fullpage d-grid grid__col--8-4--md grid__row--fit-auto\">\n <div class=\"bg-level-1 grid__col--fullspan separator-bottom\">\n <div class=\"card-block p-t-24 p-b-24 large-padding\">\n <button\n class=\"card__ribbon btn-clean\"\n [attr.aria-label]=\"\n (package.label || package.manifest.label | translatePackageLabel) +\n ': ' +\n (packageTypeLabels[packageType].tooltip | translate)\n \"\n tooltip=\"{{ packageTypeLabels[packageType].tooltip | translate }}\"\n placement=\"bottom\"\n type=\"button\"\n *ngIf=\"packageType !== PACKAGE_TYPE.CUSTOM\"\n [delay]=\"500\"\n >\n <span\n [ngClass]=\"{\n 'bg-info': packageType === PACKAGE_TYPE.COMMUNITY,\n 'bg-primary': packageType === PACKAGE_TYPE.OFFICIAL\n }\"\n >\n {{ package.label || package.manifest.label | translatePackageLabel }}\n </span>\n </button>\n <div class=\"content-flex-70\">\n <div class=\"text-center\">\n <i\n class=\"c8y-icon-duocolor icon-48\"\n c8yIcon=\"big-parcel\"\n ></i>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (appState?.label | translate) + ': ' + (appState?.tooltip | translate)\n \"\n [tooltip]=\"appState?.tooltip | translate\"\n placement=\"top\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"appState?.class\"\n >\n {{ appState?.label | translate }}\n </span>\n </button>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (packageContentState?.label | translate) +\n ': ' +\n (packageContentState?.tooltip | translate)\n \"\n [tooltip]=\"packageContentState?.tooltip | translate\"\n placement=\"bottom\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState?.class\"\n >\n {{ packageContentState?.label | translate }}\n </span>\n </button>\n </div>\n\n <div class=\"flex-grow col-10\">\n <div class=\"content-flex-80\">\n <div class=\"col-5\">\n <div class=\"card-title text-bold m-b-8\">{{ name | humanizeAppName | async }}</div>\n <p *ngIf=\"description\">{{ description }}</p>\n <p\n class=\"text-muted\"\n *ngIf=\"!description\"\n >\n <em>{{ 'No description available.' | translate }}</em>\n </p>\n </div>\n <div\n class=\"col-3 text-right-md p-r-md-40\"\n *ngIf=\"isPackageBlueprint\"\n >\n <button\n class=\"btn btn-primary btn-sm\"\n (click)=\"deploy()\"\n data-cy=\"c8y-package-details--deploy-application-button\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"output\"\n ></i>\n {{ 'Deploy application' | translate }}\n </button>\n </div>\n <div class=\"flex-grow\">\n <c8y-properties-list\n [data]=\"package.manifest\"\n [properties]=\"packageProperties\"\n ></c8y-properties-list>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Extension package overview' | translate }}</div>\n </div>\n <div class=\"card-block p-l-16 p-r-16\">\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No README.md found' | translate\"\n [subtitle]=\"\n 'To view the contents of "README", add the file "README.md" to the package.'\n | translate\n \"\n *ngIf=\"!markdown\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <div\n class=\"markdown-content\"\n [innerHTML]=\"markdown | markdownToHtml: { baseUrl } | async\"\n ></div>\n </div>\n <div class=\"separator-bottom visible-sm visible-xs\"></div>\n </div>\n\n <div class=\"inner-scroll d-flex d-col\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Package plugins' | translate }}</div>\n </div>\n <div class=\"border-left flex-grow\">\n <!-- empty state -->\n <div\n class=\"p-16\"\n *ngIf=\"(exportedPlugins$ | async).length === 0\"\n >\n <c8y-ui-empty-state\n [icon]=\"'plugin'\"\n [title]=\"'No plugins to display.' | translate\"\n [subtitle]=\"'This package doesn\\'t contain plugins.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </div>\n <c8y-plugin-list\n [plugins$]=\"exportedPlugins$\"\n [selectable]=\"false\"\n [installable]=\"true\"\n [package]=\"package\"\n ></c8y-plugin-list>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i3.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PropertiesListComponent, selector: "c8y-properties-list", inputs: ["properties", "title", "icon", "data", "groups", "noParse", "emptyLabel"] }, { kind: "directive", type: i7.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: i8.PluginListComponent, selector: "c8y-plugin-list", inputs: ["plugins$", "emptyListText", "selectable", "hideSource", "installable", "package"], outputs: ["selectedItems"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.HumanizeAppNamePipe, name: "humanizeAppName" }, { kind: "pipe", type: i3.MarkdownToHtmlPipe, name: "markdownToHtml" }, { kind: "pipe", type: i4.TranslatePackageLabelPipe, name: "translatePackageLabel" }] }); }
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PackageDetailsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FetchClient }, { token: i3.WizardModalService }, { token: i4.EcosystemService }, { token: i3.ContextRouteService }, { token: i3.PluginsService }, { token: i4.PackageAvailabilityService }, { token: i3.AppStateService }, { token: i3.PluginsService }, { token: i3.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PackageDetailsComponent, selector: "c8y-package-details", ngImport: i0, template: "<c8y-title>{{ name | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [label]=\"'Extensions' | translate\"\n [path]=\"'ecosystem/extension/extensions'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"name | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Extension package' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n placement=\"right\"\n itemClass=\"navbar-form\"\n *ngIf=\"isOwnedByCurrentTenant && isAllowedToCreateSubtenants\"\n>\n <div class=\"form-horizontal\">\n <div class=\"form-group\">\n <label\n for=\"availability\"\n translate\n >\n Availability`of package based on app state`\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"availability\"\n [(ngModel)]=\"packageAvailability\"\n [disabled]=\"isChangingAvailability\"\n (ngModelChange)=\"togglePackageAvailability(package, $event)\"\n >\n <option\n *ngFor=\"let availability of packageAvailabilityService.availabilities\"\n [ngValue]=\"availability.value\"\n >\n {{ availability.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n</c8y-action-bar-item>\n\n<div class=\"card content-fullpage d-grid grid__col--8-4--md grid__row--fit-auto\">\n <div class=\"bg-level-1 grid__col--fullspan separator-bottom\">\n <div class=\"card-block p-t-24 p-b-24 large-padding\">\n <button\n class=\"card__ribbon btn-clean\"\n [attr.aria-label]=\"\n (package.label || package.manifest.label | translatePackageLabel) +\n ': ' +\n (packageTypeLabels[packageType].tooltip | translate)\n \"\n tooltip=\"{{ packageTypeLabels[packageType].tooltip | translate }}\"\n placement=\"bottom\"\n type=\"button\"\n *ngIf=\"packageType !== PACKAGE_TYPE.CUSTOM\"\n [delay]=\"500\"\n >\n <span\n [ngClass]=\"{\n 'bg-info': packageType === PACKAGE_TYPE.COMMUNITY,\n 'bg-primary': packageType === PACKAGE_TYPE.OFFICIAL,\n 'bg-warning': packageType === PACKAGE_TYPE.ARCHIVED\n }\"\n >\n {{ package.label || package.manifest.label | translatePackageLabel }}\n </span>\n </button>\n <div class=\"content-flex-70\">\n <div class=\"text-center\">\n <i\n class=\"c8y-icon-duocolor icon-48\"\n c8yIcon=\"big-parcel\"\n ></i>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (appState?.label | translate) + ': ' + (appState?.tooltip | translate)\n \"\n [tooltip]=\"appState?.tooltip | translate\"\n placement=\"top\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"appState?.class\"\n >\n {{ appState?.label | translate }}\n </span>\n </button>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (packageContentState?.label | translate) +\n ': ' +\n (packageContentState?.tooltip | translate)\n \"\n [tooltip]=\"packageContentState?.tooltip | translate\"\n placement=\"bottom\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState?.class\"\n >\n {{ packageContentState?.label | translate }}\n </span>\n </button>\n </div>\n\n <div class=\"flex-grow col-10\">\n <div class=\"content-flex-80\">\n <div class=\"col-5\">\n <div class=\"card-title text-bold m-b-8\">{{ name | humanizeAppName | async }}</div>\n <p *ngIf=\"description\">{{ description }}</p>\n <p\n class=\"text-muted\"\n *ngIf=\"!description\"\n >\n <em>{{ 'No description available.' | translate }}</em>\n </p>\n </div>\n <div\n class=\"col-3 text-right-md p-r-md-40\"\n *ngIf=\"isPackageBlueprint\"\n >\n <button\n class=\"btn btn-primary btn-sm\"\n (click)=\"deploy()\"\n data-cy=\"c8y-package-details--deploy-application-button\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"output\"\n ></i>\n {{ 'Deploy application' | translate }}\n </button>\n </div>\n <div class=\"flex-grow\">\n <c8y-properties-list\n [data]=\"package.manifest\"\n [properties]=\"packageProperties\"\n ></c8y-properties-list>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Extension package overview' | translate }}</div>\n </div>\n <div class=\"card-block p-l-16 p-r-16\">\n <div\n class=\"alert alert-warning m-b-16\"\n style=\"margin: auto\"\n *ngIf=\"packageType === PACKAGE_TYPE.ARCHIVED\"\n translate\n >\n The package was archived by the owner marking it as out of maintenance. It is not\n recommended to install the package.\n </div>\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No README.md found' | translate\"\n [subtitle]=\"\n 'To view the contents of "README", add the file "README.md" to the package.'\n | translate\n \"\n *ngIf=\"!markdown\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <div\n class=\"markdown-content\"\n [innerHTML]=\"markdown | markdownToHtml: { baseUrl } | async\"\n ></div>\n </div>\n <div class=\"separator-bottom visible-sm visible-xs\"></div>\n </div>\n\n <div class=\"inner-scroll d-flex d-col\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Package plugins' | translate }}</div>\n </div>\n <div class=\"border-left flex-grow\">\n <!-- empty state -->\n <div\n class=\"p-16\"\n *ngIf=\"(exportedPlugins$ | async).length === 0\"\n >\n <c8y-ui-empty-state\n [icon]=\"'plugin'\"\n [title]=\"'No plugins to display.' | translate\"\n [subtitle]=\"'This package doesn\\'t contain plugins.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </div>\n <c8y-plugin-list\n [plugins$]=\"exportedPlugins$\"\n [selectable]=\"false\"\n [installable]=\"true\"\n [package]=\"package\"\n ></c8y-plugin-list>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i3.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PropertiesListComponent, selector: "c8y-properties-list", inputs: ["properties", "title", "icon", "data", "groups", "noParse", "emptyLabel"] }, { kind: "directive", type: i7.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: i8.PluginListComponent, selector: "c8y-plugin-list", inputs: ["plugins$", "emptyListText", "selectable", "hideSource", "installable", "package"], outputs: ["selectedItems"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.HumanizeAppNamePipe, name: "humanizeAppName" }, { kind: "pipe", type: i3.MarkdownToHtmlPipe, name: "markdownToHtml" }, { kind: "pipe", type: i4.TranslatePackageLabelPipe, name: "translatePackageLabel" }] }); }
|
|
110
115
|
}
|
|
111
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PackageDetailsComponent, decorators: [{
|
|
112
117
|
type: Component,
|
|
113
|
-
args: [{ selector: 'c8y-package-details', template: "<c8y-title>{{ name | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [label]=\"'Extensions' | translate\"\n [path]=\"'ecosystem/extension/extensions'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"name | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Extension package' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n placement=\"right\"\n itemClass=\"navbar-form\"\n *ngIf=\"isOwnedByCurrentTenant && isAllowedToCreateSubtenants\"\n>\n <div class=\"form-horizontal\">\n <div class=\"form-group\">\n <label\n for=\"availability\"\n translate\n >\n Availability`of package based on app state`\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"availability\"\n [(ngModel)]=\"packageAvailability\"\n [disabled]=\"isChangingAvailability\"\n (ngModelChange)=\"togglePackageAvailability(package, $event)\"\n >\n <option\n *ngFor=\"let availability of packageAvailabilityService.availabilities\"\n [ngValue]=\"availability.value\"\n >\n {{ availability.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n</c8y-action-bar-item>\n\n<div class=\"card content-fullpage d-grid grid__col--8-4--md grid__row--fit-auto\">\n <div class=\"bg-level-1 grid__col--fullspan separator-bottom\">\n <div class=\"card-block p-t-24 p-b-24 large-padding\">\n <button\n class=\"card__ribbon btn-clean\"\n [attr.aria-label]=\"\n (package.label || package.manifest.label | translatePackageLabel) +\n ': ' +\n (packageTypeLabels[packageType].tooltip | translate)\n \"\n tooltip=\"{{ packageTypeLabels[packageType].tooltip | translate }}\"\n placement=\"bottom\"\n type=\"button\"\n *ngIf=\"packageType !== PACKAGE_TYPE.CUSTOM\"\n [delay]=\"500\"\n >\n <span\n [ngClass]=\"{\n 'bg-info': packageType === PACKAGE_TYPE.COMMUNITY,\n 'bg-primary': packageType === PACKAGE_TYPE.OFFICIAL\n }\"\n >\n {{ package.label || package.manifest.label | translatePackageLabel }}\n </span>\n </button>\n <div class=\"content-flex-70\">\n <div class=\"text-center\">\n <i\n class=\"c8y-icon-duocolor icon-48\"\n c8yIcon=\"big-parcel\"\n ></i>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (appState?.label | translate) + ': ' + (appState?.tooltip | translate)\n \"\n [tooltip]=\"appState?.tooltip | translate\"\n placement=\"top\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"appState?.class\"\n >\n {{ appState?.label | translate }}\n </span>\n </button>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (packageContentState?.label | translate) +\n ': ' +\n (packageContentState?.tooltip | translate)\n \"\n [tooltip]=\"packageContentState?.tooltip | translate\"\n placement=\"bottom\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState?.class\"\n >\n {{ packageContentState?.label | translate }}\n </span>\n </button>\n </div>\n\n <div class=\"flex-grow col-10\">\n <div class=\"content-flex-80\">\n <div class=\"col-5\">\n <div class=\"card-title text-bold m-b-8\">{{ name | humanizeAppName | async }}</div>\n <p *ngIf=\"description\">{{ description }}</p>\n <p\n class=\"text-muted\"\n *ngIf=\"!description\"\n >\n <em>{{ 'No description available.' | translate }}</em>\n </p>\n </div>\n <div\n class=\"col-3 text-right-md p-r-md-40\"\n *ngIf=\"isPackageBlueprint\"\n >\n <button\n class=\"btn btn-primary btn-sm\"\n (click)=\"deploy()\"\n data-cy=\"c8y-package-details--deploy-application-button\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"output\"\n ></i>\n {{ 'Deploy application' | translate }}\n </button>\n </div>\n <div class=\"flex-grow\">\n <c8y-properties-list\n [data]=\"package.manifest\"\n [properties]=\"packageProperties\"\n ></c8y-properties-list>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Extension package overview' | translate }}</div>\n </div>\n <div class=\"card-block p-l-16 p-r-16\">\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No README.md found' | translate\"\n [subtitle]=\"\n 'To view the contents of "README", add the file "README.md" to the package.'\n | translate\n \"\n *ngIf=\"!markdown\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <div\n class=\"markdown-content\"\n [innerHTML]=\"markdown | markdownToHtml: { baseUrl } | async\"\n ></div>\n </div>\n <div class=\"separator-bottom visible-sm visible-xs\"></div>\n </div>\n\n <div class=\"inner-scroll d-flex d-col\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Package plugins' | translate }}</div>\n </div>\n <div class=\"border-left flex-grow\">\n <!-- empty state -->\n <div\n class=\"p-16\"\n *ngIf=\"(exportedPlugins$ | async).length === 0\"\n >\n <c8y-ui-empty-state\n [icon]=\"'plugin'\"\n [title]=\"'No plugins to display.' | translate\"\n [subtitle]=\"'This package doesn\\'t contain plugins.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </div>\n <c8y-plugin-list\n [plugins$]=\"exportedPlugins$\"\n [selectable]=\"false\"\n [installable]=\"true\"\n [package]=\"package\"\n ></c8y-plugin-list>\n </div>\n </div>\n</div>\n" }]
|
|
114
|
-
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.FetchClient }, { type: i3.WizardModalService }, { type: i4.EcosystemService }, { type: i3.ContextRouteService }, { type: i3.PluginsService }, { type: i4.PackageAvailabilityService }, { type: i3.AppStateService }, { type: i3.PluginsService }] });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9wYWNrYWdlLWRldGFpbHMvcGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9wYWNrYWdlLWRldGFpbHMvcGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFFTCxXQUFXLEVBSVosTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUVMLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLGNBQWMsRUFFZCxrQkFBa0IsRUFDbkIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzNCLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFNOUMsTUFBTSxPQUFPLHVCQUF1QjtJQXNCbEMsWUFDVSxjQUE4QixFQUM5QixNQUFtQixFQUNuQixrQkFBc0MsRUFDdEMsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QiwwQkFBc0QsRUFDdEQsRUFBbUIsRUFDbkIsYUFBNkI7UUFSN0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBNUJ2QyxZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUszQixxQkFBZ0IsR0FBeUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakYsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUMvQixnQ0FBMkIsR0FBRyxLQUFLLENBQUM7UUFLM0Isc0JBQWlCLEdBQUcsbUJBQW1CLENBQUM7UUFDeEMsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0Isc0JBQWlCLEdBQXlCLGlCQUFpQixDQUFDO1FBQ3BELFlBQU8sR0FBUSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2xGLHlCQUFvQixHQUFHLEdBQUcsQ0FBQztJQVloQyxDQUFDO0lBRUosS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQztRQUNyRixNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sWUFBWSxHQUFRO1lBQ3hCLFlBQVksRUFBRSxFQUFFO1lBQ2hCLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxvQkFBb0I7WUFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFDRixNQUFNLFlBQVksR0FBaUIsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMsSUFBa0IsRUFBRSxlQUF3QztRQUMxRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyw4QkFBOEIsQ0FDekUsSUFBSSxFQUNKLGVBQWUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxlQUFlLENBQUM7UUFDckUsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBbUI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJO1lBQ2pCLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFdBQVcsQ0FBQztRQUM5RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsc0JBQXNCO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztRQUN4RSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxLQUFLLENBQUMsb0JBQW9CO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTlDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUM5QixPQUFPLE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYTtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsSUFBSSxNQUFzQixDQUFDO1FBQzNCLE1BQU0sT0FBTyxHQUFrQjtZQUM3QixNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDO1FBQ0YsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVqRSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFELE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDO0lBQzlDLENBQUM7OEdBbEhVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJEQ2pDcEMsdTJOQStNQTs7MkZEOUthLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25BdmFpbGFiaWxpdHksXG4gIEZldGNoQ2xpZW50LFxuICBJQXBwbGljYXRpb24sXG4gIElGZXRjaE9wdGlvbnMsXG4gIElGZXRjaFJlc3BvbnNlXG59IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUGx1Z2luLFxuICBBcHBTdGF0ZVNlcnZpY2UsXG4gIENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gIFBhY2thZ2VUeXBlLFxuICBQbHVnaW5zU2VydmljZSxcbiAgUHJvcGVydGllc0xpc3RJdGVtLFxuICBXaXphcmRNb2RhbFNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNb2RhbE9wdGlvbnMgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25TdGF0ZSxcbiAgRWNvc3lzdGVtU2VydmljZSxcbiAgRWNvc3lzdGVtV2l6YXJkcyxcbiAgcGFja2FnZVByb3BlcnRpZXMsXG4gIFBBQ0tBR0VfVFlQRV9MQUJFTFMsXG4gIFBhY2thZ2VBdmFpbGFiaWxpdHlTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWNvc3lzdGVtL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1wYWNrYWdlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWNrYWdlRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1hcmtkb3duOiBzdHJpbmc7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgcGFja2FnZTogSUFwcGxpY2F0aW9uID0ge307XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYXBwU3RhdGU6IEFwcGxpY2F0aW9uU3RhdGU7XG4gIGlzUGFja2FnZUJsdWVwcmludDogYm9vbGVhbjtcbiAgZXhwb3J0ZWRQbHVnaW5zJDogQmVoYXZpb3JTdWJqZWN0PEFwcGxpY2F0aW9uUGx1Z2luW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gIGlzQ2hhbmdpbmdBdmFpbGFiaWxpdHkgPSBmYWxzZTtcbiAgaXNPd25lZEJ5Q3VycmVudFRlbmFudCA9IGZhbHNlO1xuICBpc0FsbG93ZWRUb0NyZWF0ZVN1YnRlbmFudHMgPSBmYWxzZTtcbiAgcGFja2FnZUNvbnRlbnRTdGF0ZTogQXBwbGljYXRpb25TdGF0ZTtcbiAgcGFja2FnZVR5cGU6IFBhY2thZ2VUeXBlO1xuICBwYWNrYWdlQXZhaWxhYmlsaXR5OiBBcHBsaWNhdGlvbkF2YWlsYWJpbGl0eTtcblxuICByZWFkb25seSBwYWNrYWdlVHlwZUxhYmVscyA9IFBBQ0tBR0VfVFlQRV9MQUJFTFM7XG4gIHJlYWRvbmx5IFBBQ0tBR0VfVFlQRSA9IFBhY2thZ2VUeXBlO1xuICByZWFkb25seSBwYWNrYWdlUHJvcGVydGllczogUHJvcGVydGllc0xpc3RJdGVtW10gPSBwYWNrYWdlUHJvcGVydGllcztcbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJzOiBhbnkgPSB7ICdDb250ZW50LVR5cGUnOiAndGV4dC9tYXJrZG93bicsIHJlc3BvbnNlVHlwZTogJ2Jsb2InIH07XG4gIHByaXZhdGUgTk9UX0ZPVU5EX0VSUk9SX0NPREUgPSA0MDQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBjbGllbnQ6IEZldGNoQ2xpZW50LFxuICAgIHByaXZhdGUgd2l6YXJkTW9kYWxTZXJ2aWNlOiBXaXphcmRNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlY29zeXN0ZW1TZXJ2aWNlOiBFY29zeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFJvdXRlU2VydmljZTogQ29udGV4dFJvdXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBsdWdpbnNTZXJ2aWNlOiBQbHVnaW5zU2VydmljZSxcbiAgICBwcml2YXRlIHBhY2thZ2VBdmFpbGFiaWxpdHlTZXJ2aWNlOiBQYWNrYWdlQXZhaWxhYmlsaXR5U2VydmljZSxcbiAgICBwcml2YXRlIHVpOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbHVnaW5TZXJ2aWNlOiBQbHVnaW5zU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc0FsbG93ZWRUb0NyZWF0ZVN1YnRlbmFudHMgPSAhIXRoaXMudWkuY3VycmVudFRlbmFudC52YWx1ZT8uYWxsb3dDcmVhdGVUZW5hbnRzO1xuICAgIGF3YWl0IHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIGRlcGxveSgpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGU6IGFueSA9IHtcbiAgICAgIHdpemFyZENvbmZpZzoge30sXG4gICAgICBpZDogRWNvc3lzdGVtV2l6YXJkcy5CTFVFUFJJTlRfREVQTE9ZTUVOVCxcbiAgICAgIHBhY2thZ2U6IHRoaXMucGFja2FnZVxuICAgIH07XG4gICAgY29uc3QgbW9kYWxPcHRpb25zOiBNb2RhbE9wdGlvbnMgPSB7IGluaXRpYWxTdGF0ZSB9O1xuICAgIHRoaXMud2l6YXJkTW9kYWxTZXJ2aWNlLnNob3cobW9kYWxPcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIHRvZ2dsZVBhY2thZ2VBdmFpbGFiaWxpdHkocGNrZzogSUFwcGxpY2F0aW9uLCBuZXdBdmFpbGFiaWxpdHk6IEFwcGxpY2F0aW9uQXZhaWxhYmlsaXR5KSB7XG4gICAgdGhpcy5pc0NoYW5naW5nQXZhaWxhYmlsaXR5ID0gdHJ1ZTtcbiAgICBwY2tnID0gYXdhaXQgdGhpcy5wYWNrYWdlQXZhaWxhYmlsaXR5U2VydmljZS5hc2tJZkF2YWlsYWJpbGl0eVNob3VsZEJlU2V0VG8oXG4gICAgICBwY2tnLFxuICAgICAgbmV3QXZhaWxhYmlsaXR5XG4gICAgKTtcbiAgICBjb25zdCBhdmFpbGFiaWxpdHlIYXNDaGFuZ2VkID0gcGNrZy5hdmFpbGFiaWxpdHkgPT09IG5ld0F2YWlsYWJpbGl0eTtcbiAgICBpZiAoYXZhaWxhYmlsaXR5SGFzQ2hhbmdlZCkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRGF0YShwY2tnKTtcbiAgICAgIHRoaXMuY29udGV4dFJvdXRlU2VydmljZS5zZXRDb250ZXh0KHRoaXMuYWN0aXZhdGVkUm91dGUsIHBja2cpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhY2thZ2VBdmFpbGFiaWxpdHkgPSB0aGlzLnBhY2thZ2UuYXZhaWxhYmlsaXR5O1xuICAgIH1cbiAgICB0aGlzLmlzQ2hhbmdpbmdBdmFpbGFiaWxpdHkgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERhdGEocGNrZz86IElBcHBsaWNhdGlvbikge1xuICAgIHRoaXMucGFja2FnZSA9IHBja2dcbiAgICAgID8gcGNrZ1xuICAgICAgOiB0aGlzLmNvbnRleHRSb3V0ZVNlcnZpY2UuZ2V0Q29udGV4dERhdGEodGhpcy5hY3RpdmF0ZWRSb3V0ZSk/LmNvbnRleHREYXRhO1xuICAgIHRoaXMucGFja2FnZUF2YWlsYWJpbGl0eSA9IHRoaXMucGFja2FnZS5hdmFpbGFiaWxpdHk7XG4gICAgdGhpcy5wYWNrYWdlQ29udGVudFN0YXRlID0gdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldFBhY2thZ2VDb250ZW50U3RhdGUodGhpcy5wYWNrYWdlKTtcbiAgICB0aGlzLnBhY2thZ2VUeXBlID0gdGhpcy5wbHVnaW5TZXJ2aWNlLmdldFBhY2thZ2VUeXBlKHRoaXMucGFja2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5wYWNrYWdlPy5uYW1lO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLnBhY2thZ2U/Lm1hbmlmZXN0Py5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLm1hcmtkb3duID0gYXdhaXQgdGhpcy5nZXRSZWFkbWVGaWxlQ29udGVudCgpO1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuZ2V0QmFzZVVybCgpO1xuICAgIHRoaXMuYXBwU3RhdGUgPSB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0QXBwU3RhdGUodGhpcy5wYWNrYWdlKTtcbiAgICB0aGlzLmlzUGFja2FnZUJsdWVwcmludCA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5pc1BhY2thZ2VCbHVlcHJpbnQodGhpcy5wYWNrYWdlKTtcbiAgICB0aGlzLmlzT3duZWRCeUN1cnJlbnRUZW5hbnQgPVxuICAgICAgdGhpcy5wYWNrYWdlPy5vd25lcj8udGVuYW50Py5pZCA9PT0gdGhpcy51aS5jdXJyZW50VGVuYW50LnZhbHVlPy5uYW1lO1xuICAgIHRoaXMuZXh0cmFjdFBhY2thZ2VNRkV4cG9ydHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFBhY2thZ2VNRkV4cG9ydHMoKSB7XG4gICAgY29uc3QgZXhwb3J0cyA9IHRoaXMucGx1Z2luc1NlcnZpY2UuZ2V0TUZFeHBvcnRzKHRoaXMucGFja2FnZSk7XG4gICAgdGhpcy5leHBvcnRlZFBsdWdpbnMkLm5leHQoZXhwb3J0cyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFJlYWRtZUZpbGVDb250ZW50KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVhZG1lRmlsZSA9IGF3YWl0IHRoaXMuZ2V0UmVhZG1lRmlsZSgpO1xuXG4gICAgaWYgKHJlYWRtZUZpbGUuc3RhdHVzID09PSAyMDApIHtcbiAgICAgIHJldHVybiBhd2FpdCByZWFkbWVGaWxlLnRleHQoKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRSZWFkbWVGaWxlKCk6IFByb21pc2U8SUZldGNoUmVzcG9uc2U+IHtcbiAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5nZXRCYXNlVXJsKCk7XG4gICAgbGV0IHJlc3VsdDogSUZldGNoUmVzcG9uc2U7XG4gICAgY29uc3Qgb3B0aW9uczogSUZldGNoT3B0aW9ucyA9IHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnNcbiAgICB9O1xuICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKGAke2Jhc2VVcmx9UkVBRE1FLm1kYCwgb3B0aW9ucyk7XG5cbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5zdGF0dXMgPT09IHRoaXMuTk9UX0ZPVU5EX0VSUk9SX0NPREUpIHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKGAke2Jhc2VVcmx9cmVhZG1lLm1kYCwgb3B0aW9ucyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldEJhc2VVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC9hcHBzLyR7dGhpcy5wYWNrYWdlLmNvbnRleHRQYXRofS9gO1xuICB9XG59XG4iLCI8Yzh5LXRpdGxlPnt7IG5hbWUgfCBodW1hbml6ZUFwcE5hbWUgfCBhc3luYyB9fTwvYzh5LXRpdGxlPlxuXG48Yzh5LWJyZWFkY3J1bWI+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtXG4gICAgW2ljb25dPVwiJ2M4eS1hdG9tJ1wiXG4gICAgW2xhYmVsXT1cIidFY29zeXN0ZW0nIHwgdHJhbnNsYXRlXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW1cbiAgICBbaWNvbl09XCInYmlnLXBhcmNlbCdcIlxuICAgIFtsYWJlbF09XCInRXh0ZW5zaW9ucycgfCB0cmFuc2xhdGVcIlxuICAgIFtwYXRoXT1cIidlY29zeXN0ZW0vZXh0ZW5zaW9uL2V4dGVuc2lvbnMnXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW0gW2xhYmVsXT1cIm5hbWUgfCBodW1hbml6ZUFwcE5hbWUgfCBhc3luY1wiPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW0gW2xhYmVsXT1cIidFeHRlbnNpb24gcGFja2FnZScgfCB0cmFuc2xhdGVcIj48L2M4eS1icmVhZGNydW1iLWl0ZW0+XG48L2M4eS1icmVhZGNydW1iPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gIGl0ZW1DbGFzcz1cIm5hdmJhci1mb3JtXCJcbiAgKm5nSWY9XCJpc093bmVkQnlDdXJyZW50VGVuYW50ICYmIGlzQWxsb3dlZFRvQ3JlYXRlU3VidGVuYW50c1wiXG4+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWhvcml6b250YWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGZvcj1cImF2YWlsYWJpbGl0eVwiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgPlxuICAgICAgICBBdmFpbGFiaWxpdHlgb2YgcGFja2FnZSBiYXNlZCBvbiBhcHAgc3RhdGVgXG4gICAgICA8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImM4eS1zZWxlY3Qtd3JhcHBlclwiPlxuICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIGlkPVwiYXZhaWxhYmlsaXR5XCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInBhY2thZ2VBdmFpbGFiaWxpdHlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0NoYW5naW5nQXZhaWxhYmlsaXR5XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGVQYWNrYWdlQXZhaWxhYmlsaXR5KHBhY2thZ2UsICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGF2YWlsYWJpbGl0eSBvZiBwYWNrYWdlQXZhaWxhYmlsaXR5U2VydmljZS5hdmFpbGFiaWxpdGllc1wiXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJhdmFpbGFiaWxpdHkudmFsdWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGF2YWlsYWJpbGl0eS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48ZGl2IGNsYXNzPVwiY2FyZCBjb250ZW50LWZ1bGxwYWdlIGQtZ3JpZCBncmlkX19jb2wtLTgtNC0tbWQgZ3JpZF9fcm93LS1maXQtYXV0b1wiPlxuICA8ZGl2IGNsYXNzPVwiYmctbGV2ZWwtMSBncmlkX19jb2wtLWZ1bGxzcGFuIHNlcGFyYXRvci1ib3R0b21cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBwLXQtMjQgcC1iLTI0IGxhcmdlLXBhZGRpbmdcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJjYXJkX19yaWJib24gYnRuLWNsZWFuXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAocGFja2FnZS5sYWJlbCB8fCBwYWNrYWdlLm1hbmlmZXN0LmxhYmVsIHwgdHJhbnNsYXRlUGFja2FnZUxhYmVsKSArXG4gICAgICAgICAgJzogJyArXG4gICAgICAgICAgKHBhY2thZ2VUeXBlTGFiZWxzW3BhY2thZ2VUeXBlXS50b29sdGlwIHwgdHJhbnNsYXRlKVxuICAgICAgICBcIlxuICAgICAgICB0b29sdGlwPVwie3sgcGFja2FnZVR5cGVMYWJlbHNbcGFja2FnZVR5cGVdLnRvb2x0aXAgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJwYWNrYWdlVHlwZSAhPT0gUEFDS0FHRV9UWVBFLkNVU1RPTVwiXG4gICAgICAgIFtkZWxheV09XCI1MDBcIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdiZy1pbmZvJzogcGFja2FnZVR5cGUgPT09IFBBQ0tBR0VfVFlQRS5DT01NVU5JVFksXG4gICAgICAgICAgICAnYmctcHJpbWFyeSc6IHBhY2thZ2VUeXBlID09PSBQQUNLQUdFX1RZUEUuT0ZGSUNJQUxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHBhY2thZ2UubGFiZWwgfHwgcGFja2FnZS5tYW5pZmVzdC5sYWJlbCB8IHRyYW5zbGF0ZVBhY2thZ2VMYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWZsZXgtNzBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPGlcbiAgICAgICAgICAgIGNsYXNzPVwiYzh5LWljb24tZHVvY29sb3IgaWNvbi00OFwiXG4gICAgICAgICAgICBjOHlJY29uPVwiYmlnLXBhcmNlbFwiXG4gICAgICAgICAgPjwvaT5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImJ0bi1jbGVhblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAoYXBwU3RhdGU/LmxhYmVsIHwgdHJhbnNsYXRlKSArICc6ICcgKyAoYXBwU3RhdGU/LnRvb2x0aXAgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiYXBwU3RhdGU/LnRvb2x0aXAgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImFwcFN0YXRlPy5jbGFzc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGFwcFN0YXRlPy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYnRuLWNsZWFuXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgIChwYWNrYWdlQ29udGVudFN0YXRlPy5sYWJlbCB8IHRyYW5zbGF0ZSkgK1xuICAgICAgICAgICAgICAnOiAnICtcbiAgICAgICAgICAgICAgKHBhY2thZ2VDb250ZW50U3RhdGU/LnRvb2x0aXAgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwicGFja2FnZUNvbnRlbnRTdGF0ZT8udG9vbHRpcCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGVsYXldPVwiNTAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGFja2FnZUNvbnRlbnRTdGF0ZT8uY2xhc3NcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBwYWNrYWdlQ29udGVudFN0YXRlPy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93IGNvbC0xMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWZsZXgtODBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSB0ZXh0LWJvbGQgbS1iLThcIj57eyBuYW1lIHwgaHVtYW5pemVBcHBOYW1lIHwgYXN5bmMgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1tdXRlZFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGVtPnt7ICdObyBkZXNjcmlwdGlvbiBhdmFpbGFibGUuJyB8IHRyYW5zbGF0ZSB9fTwvZW0+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImNvbC0zIHRleHQtcmlnaHQtbWQgcC1yLW1kLTQwXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc1BhY2thZ2VCbHVlcHJpbnRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVwbG95KClcIlxuICAgICAgICAgICAgICAgIGRhdGEtY3k9XCJjOHktcGFja2FnZS1kZXRhaWxzLS1kZXBsb3ktYXBwbGljYXRpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tci00XCJcbiAgICAgICAgICAgICAgICAgIGM4eUljb249XCJvdXRwdXRcIlxuICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAge3sgJ0RlcGxveSBhcHBsaWNhdGlvbicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3dcIj5cbiAgICAgICAgICAgICAgPGM4eS1wcm9wZXJ0aWVzLWxpc3RcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJwYWNrYWdlLm1hbmlmZXN0XCJcbiAgICAgICAgICAgICAgICBbcHJvcGVydGllc109XCJwYWNrYWdlUHJvcGVydGllc1wiXG4gICAgICAgICAgICAgID48L2M4eS1wcm9wZXJ0aWVzLWxpc3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgc2VwYXJhdG9yIHN0aWNreS10b3BcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgJ0V4dGVuc2lvbiBwYWNrYWdlIG92ZXJ2aWV3JyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHAtbC0xNiBwLXItMTZcIj5cbiAgICAgIDxjOHktdWktZW1wdHktc3RhdGVcbiAgICAgICAgW2ljb25dPVwiJ3VzZXItbWFudWFsJ1wiXG4gICAgICAgIFt0aXRsZV09XCInTm8gUkVBRE1FLm1kIGZvdW5kJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtzdWJ0aXRsZV09XCJcbiAgICAgICAgICAnVG8gdmlldyB0aGUgY29udGVudHMgb2YgJnF1b3Q7UkVBRE1FJnF1b3Q7LCBhZGQgdGhlIGZpbGUgJnF1b3Q7UkVBRE1FLm1kJnF1b3Q7IHRvIHRoZSBwYWNrYWdlLidcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgIFwiXG4gICAgICAgICpuZ0lmPVwiIW1hcmtkb3duXCJcbiAgICAgICAgW2hvcml6b250YWxdPVwidHJ1ZVwiXG4gICAgICA+PC9jOHktdWktZW1wdHktc3RhdGU+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWFya2Rvd24tY29udGVudFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwibWFya2Rvd24gfCBtYXJrZG93blRvSHRtbDogeyBiYXNlVXJsIH0gfCBhc3luY1wiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvci1ib3R0b20gdmlzaWJsZS1zbSB2aXNpYmxlLXhzXCI+PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgZC1mbGV4IGQtY29sXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvciBzdGlja3ktdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7ICdQYWNrYWdlIHBsdWdpbnMnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvcmRlci1sZWZ0IGZsZXgtZ3Jvd1wiPlxuICAgICAgPCEtLSBlbXB0eSBzdGF0ZSAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJwLTE2XCJcbiAgICAgICAgKm5nSWY9XCIoZXhwb3J0ZWRQbHVnaW5zJCB8IGFzeW5jKS5sZW5ndGggPT09IDBcIlxuICAgICAgPlxuICAgICAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICAgICAgW2ljb25dPVwiJ3BsdWdpbidcIlxuICAgICAgICAgIFt0aXRsZV09XCInTm8gcGx1Z2lucyB0byBkaXNwbGF5LicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtzdWJ0aXRsZV09XCInVGhpcyBwYWNrYWdlIGRvZXNuXFwndCBjb250YWluIHBsdWdpbnMuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2hvcml6b250YWxdPVwidHJ1ZVwiXG4gICAgICAgID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGM4eS1wbHVnaW4tbGlzdFxuICAgICAgICBbcGx1Z2lucyRdPVwiZXhwb3J0ZWRQbHVnaW5zJFwiXG4gICAgICAgIFtzZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2luc3RhbGxhYmxlXT1cInRydWVcIlxuICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgID48L2M4eS1wbHVnaW4tbGlzdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
118
|
+
args: [{ selector: 'c8y-package-details', template: "<c8y-title>{{ name | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [label]=\"'Extensions' | translate\"\n [path]=\"'ecosystem/extension/extensions'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"name | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Extension package' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n placement=\"right\"\n itemClass=\"navbar-form\"\n *ngIf=\"isOwnedByCurrentTenant && isAllowedToCreateSubtenants\"\n>\n <div class=\"form-horizontal\">\n <div class=\"form-group\">\n <label\n for=\"availability\"\n translate\n >\n Availability`of package based on app state`\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"availability\"\n [(ngModel)]=\"packageAvailability\"\n [disabled]=\"isChangingAvailability\"\n (ngModelChange)=\"togglePackageAvailability(package, $event)\"\n >\n <option\n *ngFor=\"let availability of packageAvailabilityService.availabilities\"\n [ngValue]=\"availability.value\"\n >\n {{ availability.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n</c8y-action-bar-item>\n\n<div class=\"card content-fullpage d-grid grid__col--8-4--md grid__row--fit-auto\">\n <div class=\"bg-level-1 grid__col--fullspan separator-bottom\">\n <div class=\"card-block p-t-24 p-b-24 large-padding\">\n <button\n class=\"card__ribbon btn-clean\"\n [attr.aria-label]=\"\n (package.label || package.manifest.label | translatePackageLabel) +\n ': ' +\n (packageTypeLabels[packageType].tooltip | translate)\n \"\n tooltip=\"{{ packageTypeLabels[packageType].tooltip | translate }}\"\n placement=\"bottom\"\n type=\"button\"\n *ngIf=\"packageType !== PACKAGE_TYPE.CUSTOM\"\n [delay]=\"500\"\n >\n <span\n [ngClass]=\"{\n 'bg-info': packageType === PACKAGE_TYPE.COMMUNITY,\n 'bg-primary': packageType === PACKAGE_TYPE.OFFICIAL,\n 'bg-warning': packageType === PACKAGE_TYPE.ARCHIVED\n }\"\n >\n {{ package.label || package.manifest.label | translatePackageLabel }}\n </span>\n </button>\n <div class=\"content-flex-70\">\n <div class=\"text-center\">\n <i\n class=\"c8y-icon-duocolor icon-48\"\n c8yIcon=\"big-parcel\"\n ></i>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (appState?.label | translate) + ': ' + (appState?.tooltip | translate)\n \"\n [tooltip]=\"appState?.tooltip | translate\"\n placement=\"top\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"appState?.class\"\n >\n {{ appState?.label | translate }}\n </span>\n </button>\n <button\n class=\"btn-clean\"\n [attr.aria-label]=\"\n (packageContentState?.label | translate) +\n ': ' +\n (packageContentState?.tooltip | translate)\n \"\n [tooltip]=\"packageContentState?.tooltip | translate\"\n placement=\"bottom\"\n type=\"button\"\n [delay]=\"500\"\n >\n <span\n class=\"label\"\n [ngClass]=\"packageContentState?.class\"\n >\n {{ packageContentState?.label | translate }}\n </span>\n </button>\n </div>\n\n <div class=\"flex-grow col-10\">\n <div class=\"content-flex-80\">\n <div class=\"col-5\">\n <div class=\"card-title text-bold m-b-8\">{{ name | humanizeAppName | async }}</div>\n <p *ngIf=\"description\">{{ description }}</p>\n <p\n class=\"text-muted\"\n *ngIf=\"!description\"\n >\n <em>{{ 'No description available.' | translate }}</em>\n </p>\n </div>\n <div\n class=\"col-3 text-right-md p-r-md-40\"\n *ngIf=\"isPackageBlueprint\"\n >\n <button\n class=\"btn btn-primary btn-sm\"\n (click)=\"deploy()\"\n data-cy=\"c8y-package-details--deploy-application-button\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"output\"\n ></i>\n {{ 'Deploy application' | translate }}\n </button>\n </div>\n <div class=\"flex-grow\">\n <c8y-properties-list\n [data]=\"package.manifest\"\n [properties]=\"packageProperties\"\n ></c8y-properties-list>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Extension package overview' | translate }}</div>\n </div>\n <div class=\"card-block p-l-16 p-r-16\">\n <div\n class=\"alert alert-warning m-b-16\"\n style=\"margin: auto\"\n *ngIf=\"packageType === PACKAGE_TYPE.ARCHIVED\"\n translate\n >\n The package was archived by the owner marking it as out of maintenance. It is not\n recommended to install the package.\n </div>\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No README.md found' | translate\"\n [subtitle]=\"\n 'To view the contents of "README", add the file "README.md" to the package.'\n | translate\n \"\n *ngIf=\"!markdown\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <div\n class=\"markdown-content\"\n [innerHTML]=\"markdown | markdownToHtml: { baseUrl } | async\"\n ></div>\n </div>\n <div class=\"separator-bottom visible-sm visible-xs\"></div>\n </div>\n\n <div class=\"inner-scroll d-flex d-col\">\n <div class=\"card-header separator sticky-top\">\n <div class=\"card-title\">{{ 'Package plugins' | translate }}</div>\n </div>\n <div class=\"border-left flex-grow\">\n <!-- empty state -->\n <div\n class=\"p-16\"\n *ngIf=\"(exportedPlugins$ | async).length === 0\"\n >\n <c8y-ui-empty-state\n [icon]=\"'plugin'\"\n [title]=\"'No plugins to display.' | translate\"\n [subtitle]=\"'This package doesn\\'t contain plugins.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </div>\n <c8y-plugin-list\n [plugins$]=\"exportedPlugins$\"\n [selectable]=\"false\"\n [installable]=\"true\"\n [package]=\"package\"\n ></c8y-plugin-list>\n </div>\n </div>\n</div>\n" }]
|
|
119
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.FetchClient }, { type: i3.WizardModalService }, { type: i4.EcosystemService }, { type: i3.ContextRouteService }, { type: i3.PluginsService }, { type: i4.PackageAvailabilityService }, { type: i3.AppStateService }, { type: i3.PluginsService }, { type: i3.GainsightService }] });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9wYWNrYWdlLWRldGFpbHMvcGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9wYWNrYWdlLWRldGFpbHMvcGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFFTCxXQUFXLEVBSVosTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUVMLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxjQUFjLEVBRWQsa0JBQWtCLEVBQ25CLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDN0IsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7OztBQU05QyxNQUFNLE9BQU8sdUJBQXVCO0lBc0JsQyxZQUNVLGNBQThCLEVBQzlCLE1BQW1CLEVBQ25CLGtCQUFzQyxFQUN0QyxnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLDBCQUFzRCxFQUN0RCxFQUFtQixFQUNuQixhQUE2QixFQUM3QixnQkFBa0M7UUFUbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE3QjVDLFlBQU8sR0FBaUIsRUFBRSxDQUFDO1FBSzNCLHFCQUFnQixHQUF5QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDL0IsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLGdDQUEyQixHQUFHLEtBQUssQ0FBQztRQUszQixzQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztRQUN4QyxpQkFBWSxHQUFHLFdBQVcsQ0FBQztRQUMzQixzQkFBaUIsR0FBeUIsaUJBQWlCLENBQUM7UUFDcEQsWUFBTyxHQUFRLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDbEYseUJBQW9CLEdBQUcsR0FBRyxDQUFDO0lBYWhDLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQywyQkFBMkIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDO1FBQ3JGLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FDaEMsNEJBQTRCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQ2hFO1lBQ0UsU0FBUyxFQUFFLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsZUFBZTtZQUMvRSxNQUFNLEVBQUUsNEJBQTRCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEI7U0FDdkYsQ0FDRixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQVE7WUFDeEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsRUFBRSxFQUFFLGdCQUFnQixDQUFDLG9CQUFvQjtZQUN6QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFpQixFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxJQUFrQixFQUFFLGVBQXdDO1FBQzFGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLDhCQUE4QixDQUN6RSxJQUFJLEVBQ0osZUFBZSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsWUFBWSxLQUFLLGVBQWUsQ0FBQztRQUNyRSxJQUFJLHNCQUFzQixFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN2RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFtQjtRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUk7WUFDakIsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsV0FBVyxDQUFDO1FBQzlFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxzQkFBc0I7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1FBQ3hFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxvQkFBb0I7UUFDaEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUMsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzlCLE9BQU8sTUFBTSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakMsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxJQUFJLE1BQXNCLENBQUM7UUFDM0IsTUFBTSxPQUFPLEdBQWtCO1lBQzdCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFDRixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWpFLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDMUQsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxTQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUM7SUFDOUMsQ0FBQzs4R0EzSFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMkRDbkNwQyw4dU9BeU5BOzsyRkR0TGEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkF2YWlsYWJpbGl0eSxcbiAgRmV0Y2hDbGllbnQsXG4gIElBcHBsaWNhdGlvbixcbiAgSUZldGNoT3B0aW9ucyxcbiAgSUZldGNoUmVzcG9uc2Vcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25QbHVnaW4sXG4gIEFwcFN0YXRlU2VydmljZSxcbiAgQ29udGV4dFJvdXRlU2VydmljZSxcbiAgR2FpbnNpZ2h0U2VydmljZSxcbiAgUGFja2FnZVR5cGUsXG4gIFBsdWdpbnNTZXJ2aWNlLFxuICBQcm9wZXJ0aWVzTGlzdEl0ZW0sXG4gIFdpemFyZE1vZGFsU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IE1vZGFsT3B0aW9ucyB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvblN0YXRlLFxuICBFY29zeXN0ZW1TZXJ2aWNlLFxuICBFY29zeXN0ZW1XaXphcmRzLFxuICBwYWNrYWdlUHJvcGVydGllcyxcbiAgUEFDS0FHRV9UWVBFX0xBQkVMUyxcbiAgUGFja2FnZUF2YWlsYWJpbGl0eVNlcnZpY2UsXG4gIFBST0RVQ1RfRVhQRVJJRU5DRV9FQ09TWVNURU1cbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9lY29zeXN0ZW0vc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXBhY2thZ2UtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWNrYWdlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBhY2thZ2VEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbWFya2Rvd246IHN0cmluZztcbiAgYmFzZVVybDogc3RyaW5nO1xuICBwYWNrYWdlOiBJQXBwbGljYXRpb24gPSB7fTtcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBhcHBTdGF0ZTogQXBwbGljYXRpb25TdGF0ZTtcbiAgaXNQYWNrYWdlQmx1ZXByaW50OiBib29sZWFuO1xuICBleHBvcnRlZFBsdWdpbnMkOiBCZWhhdmlvclN1YmplY3Q8QXBwbGljYXRpb25QbHVnaW5bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgaXNDaGFuZ2luZ0F2YWlsYWJpbGl0eSA9IGZhbHNlO1xuICBpc093bmVkQnlDdXJyZW50VGVuYW50ID0gZmFsc2U7XG4gIGlzQWxsb3dlZFRvQ3JlYXRlU3VidGVuYW50cyA9IGZhbHNlO1xuICBwYWNrYWdlQ29udGVudFN0YXRlOiBBcHBsaWNhdGlvblN0YXRlO1xuICBwYWNrYWdlVHlwZTogUGFja2FnZVR5cGU7XG4gIHBhY2thZ2VBdmFpbGFiaWxpdHk6IEFwcGxpY2F0aW9uQXZhaWxhYmlsaXR5O1xuXG4gIHJlYWRvbmx5IHBhY2thZ2VUeXBlTGFiZWxzID0gUEFDS0FHRV9UWVBFX0xBQkVMUztcbiAgcmVhZG9ubHkgUEFDS0FHRV9UWVBFID0gUGFja2FnZVR5cGU7XG4gIHJlYWRvbmx5IHBhY2thZ2VQcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzTGlzdEl0ZW1bXSA9IHBhY2thZ2VQcm9wZXJ0aWVzO1xuICBwcml2YXRlIHJlYWRvbmx5IGhlYWRlcnM6IGFueSA9IHsgJ0NvbnRlbnQtVHlwZSc6ICd0ZXh0L21hcmtkb3duJywgcmVzcG9uc2VUeXBlOiAnYmxvYicgfTtcbiAgcHJpdmF0ZSBOT1RfRk9VTkRfRVJST1JfQ09ERSA9IDQwNDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnQsXG4gICAgcHJpdmF0ZSB3aXphcmRNb2RhbFNlcnZpY2U6IFdpemFyZE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGVjb3N5c3RlbVNlcnZpY2U6IEVjb3N5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0Um91dGVTZXJ2aWNlOiBDb250ZXh0Um91dGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGx1Z2luc1NlcnZpY2U6IFBsdWdpbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFja2FnZUF2YWlsYWJpbGl0eVNlcnZpY2U6IFBhY2thZ2VBdmFpbGFiaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdWk6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBsdWdpblNlcnZpY2U6IFBsdWdpbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ2FpbnNpZ2h0U2VydmljZTogR2FpbnNpZ2h0U2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc0FsbG93ZWRUb0NyZWF0ZVN1YnRlbmFudHMgPSAhIXRoaXMudWkuY3VycmVudFRlbmFudC52YWx1ZT8uYWxsb3dDcmVhdGVUZW5hbnRzO1xuICAgIGF3YWl0IHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIGRlcGxveSgpIHtcbiAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFxuICAgICAgUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuRVZFTlRTLlBBQ0tBR0VfUExVR0lOUyxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlBBQ0tBR0VfREVUQUlMUyxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5BQ1RJT05TLkRFUExPWV9BUFBMSUNBVElPTl9JTklUSUFURURcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgaW5pdGlhbFN0YXRlOiBhbnkgPSB7XG4gICAgICB3aXphcmRDb25maWc6IHt9LFxuICAgICAgaWQ6IEVjb3N5c3RlbVdpemFyZHMuQkxVRVBSSU5UX0RFUExPWU1FTlQsXG4gICAgICBwYWNrYWdlOiB0aGlzLnBhY2thZ2VcbiAgICB9O1xuICAgIGNvbnN0IG1vZGFsT3B0aW9uczogTW9kYWxPcHRpb25zID0geyBpbml0aWFsU3RhdGUgfTtcbiAgICB0aGlzLndpemFyZE1vZGFsU2VydmljZS5zaG93KG1vZGFsT3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyB0b2dnbGVQYWNrYWdlQXZhaWxhYmlsaXR5KHBja2c6IElBcHBsaWNhdGlvbiwgbmV3QXZhaWxhYmlsaXR5OiBBcHBsaWNhdGlvbkF2YWlsYWJpbGl0eSkge1xuICAgIHRoaXMuaXNDaGFuZ2luZ0F2YWlsYWJpbGl0eSA9IHRydWU7XG4gICAgcGNrZyA9IGF3YWl0IHRoaXMucGFja2FnZUF2YWlsYWJpbGl0eVNlcnZpY2UuYXNrSWZBdmFpbGFiaWxpdHlTaG91bGRCZVNldFRvKFxuICAgICAgcGNrZyxcbiAgICAgIG5ld0F2YWlsYWJpbGl0eVxuICAgICk7XG4gICAgY29uc3QgYXZhaWxhYmlsaXR5SGFzQ2hhbmdlZCA9IHBja2cuYXZhaWxhYmlsaXR5ID09PSBuZXdBdmFpbGFiaWxpdHk7XG4gICAgaWYgKGF2YWlsYWJpbGl0eUhhc0NoYW5nZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZERhdGEocGNrZyk7XG4gICAgICB0aGlzLmNvbnRleHRSb3V0ZVNlcnZpY2Uuc2V0Q29udGV4dCh0aGlzLmFjdGl2YXRlZFJvdXRlLCBwY2tnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYWNrYWdlQXZhaWxhYmlsaXR5ID0gdGhpcy5wYWNrYWdlLmF2YWlsYWJpbGl0eTtcbiAgICB9XG4gICAgdGhpcy5pc0NoYW5naW5nQXZhaWxhYmlsaXR5ID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWREYXRhKHBja2c/OiBJQXBwbGljYXRpb24pIHtcbiAgICB0aGlzLnBhY2thZ2UgPSBwY2tnXG4gICAgICA/IHBja2dcbiAgICAgIDogdGhpcy5jb250ZXh0Um91dGVTZXJ2aWNlLmdldENvbnRleHREYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUpPy5jb250ZXh0RGF0YTtcbiAgICB0aGlzLnBhY2thZ2VBdmFpbGFiaWxpdHkgPSB0aGlzLnBhY2thZ2UuYXZhaWxhYmlsaXR5O1xuICAgIHRoaXMucGFja2FnZUNvbnRlbnRTdGF0ZSA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRQYWNrYWdlQ29udGVudFN0YXRlKHRoaXMucGFja2FnZSk7XG4gICAgdGhpcy5wYWNrYWdlVHlwZSA9IHRoaXMucGx1Z2luU2VydmljZS5nZXRQYWNrYWdlVHlwZSh0aGlzLnBhY2thZ2UpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMucGFja2FnZT8ubmFtZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gdGhpcy5wYWNrYWdlPy5tYW5pZmVzdD8uZGVzY3JpcHRpb247XG4gICAgdGhpcy5tYXJrZG93biA9IGF3YWl0IHRoaXMuZ2V0UmVhZG1lRmlsZUNvbnRlbnQoKTtcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLmdldEJhc2VVcmwoKTtcbiAgICB0aGlzLmFwcFN0YXRlID0gdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldEFwcFN0YXRlKHRoaXMucGFja2FnZSk7XG4gICAgdGhpcy5pc1BhY2thZ2VCbHVlcHJpbnQgPSB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuaXNQYWNrYWdlQmx1ZXByaW50KHRoaXMucGFja2FnZSk7XG4gICAgdGhpcy5pc093bmVkQnlDdXJyZW50VGVuYW50ID1cbiAgICAgIHRoaXMucGFja2FnZT8ub3duZXI/LnRlbmFudD8uaWQgPT09IHRoaXMudWkuY3VycmVudFRlbmFudC52YWx1ZT8ubmFtZTtcbiAgICB0aGlzLmV4dHJhY3RQYWNrYWdlTUZFeHBvcnRzKCk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RQYWNrYWdlTUZFeHBvcnRzKCkge1xuICAgIGNvbnN0IGV4cG9ydHMgPSB0aGlzLnBsdWdpbnNTZXJ2aWNlLmdldE1GRXhwb3J0cyh0aGlzLnBhY2thZ2UpO1xuICAgIHRoaXMuZXhwb3J0ZWRQbHVnaW5zJC5uZXh0KGV4cG9ydHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRSZWFkbWVGaWxlQ29udGVudCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlYWRtZUZpbGUgPSBhd2FpdCB0aGlzLmdldFJlYWRtZUZpbGUoKTtcblxuICAgIGlmIChyZWFkbWVGaWxlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICByZXR1cm4gYXdhaXQgcmVhZG1lRmlsZS50ZXh0KCk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UmVhZG1lRmlsZSgpOiBQcm9taXNlPElGZXRjaFJlc3BvbnNlPiB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuZ2V0QmFzZVVybCgpO1xuICAgIGxldCByZXN1bHQ6IElGZXRjaFJlc3BvbnNlO1xuICAgIGNvbnN0IG9wdGlvbnM6IElGZXRjaE9wdGlvbnMgPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzXG4gICAgfTtcbiAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5mZXRjaChgJHtiYXNlVXJsfVJFQURNRS5tZGAsIG9wdGlvbnMpO1xuXG4gICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuc3RhdHVzID09PSB0aGlzLk5PVF9GT1VORF9FUlJPUl9DT0RFKSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5mZXRjaChgJHtiYXNlVXJsfXJlYWRtZS5tZGAsIG9wdGlvbnMpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAvYXBwcy8ke3RoaXMucGFja2FnZS5jb250ZXh0UGF0aH0vYDtcbiAgfVxufVxuIiwiPGM4eS10aXRsZT57eyBuYW1lIHwgaHVtYW5pemVBcHBOYW1lIHwgYXN5bmMgfX08L2M4eS10aXRsZT5cblxuPGM4eS1icmVhZGNydW1iPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbVxuICAgIFtpY29uXT1cIidjOHktYXRvbSdcIlxuICAgIFtsYWJlbF09XCInRWNvc3lzdGVtJyB8IHRyYW5zbGF0ZVwiXG4gID48L2M4eS1icmVhZGNydW1iLWl0ZW0+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtXG4gICAgW2ljb25dPVwiJ2JpZy1wYXJjZWwnXCJcbiAgICBbbGFiZWxdPVwiJ0V4dGVuc2lvbnMnIHwgdHJhbnNsYXRlXCJcbiAgICBbcGF0aF09XCInZWNvc3lzdGVtL2V4dGVuc2lvbi9leHRlbnNpb25zJ1wiXG4gID48L2M4eS1icmVhZGNydW1iLWl0ZW0+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtIFtsYWJlbF09XCJuYW1lIHwgaHVtYW5pemVBcHBOYW1lIHwgYXN5bmNcIj48L2M4eS1icmVhZGNydW1iLWl0ZW0+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtIFtsYWJlbF09XCInRXh0ZW5zaW9uIHBhY2thZ2UnIHwgdHJhbnNsYXRlXCI+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuPC9jOHktYnJlYWRjcnVtYj5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgcGxhY2VtZW50PVwicmlnaHRcIlxuICBpdGVtQ2xhc3M9XCJuYXZiYXItZm9ybVwiXG4gICpuZ0lmPVwiaXNPd25lZEJ5Q3VycmVudFRlbmFudCAmJiBpc0FsbG93ZWRUb0NyZWF0ZVN1YnRlbmFudHNcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgIDxsYWJlbFxuICAgICAgICBmb3I9XCJhdmFpbGFiaWxpdHlcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgQXZhaWxhYmlsaXR5YG9mIHBhY2thZ2UgYmFzZWQgb24gYXBwIHN0YXRlYFxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJjOHktc2VsZWN0LXdyYXBwZXJcIj5cbiAgICAgICAgPHNlbGVjdFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBpZD1cImF2YWlsYWJpbGl0eVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJwYWNrYWdlQXZhaWxhYmlsaXR5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDaGFuZ2luZ0F2YWlsYWJpbGl0eVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlUGFja2FnZUF2YWlsYWJpbGl0eShwYWNrYWdlLCAkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhdmFpbGFiaWxpdHkgb2YgcGFja2FnZUF2YWlsYWJpbGl0eVNlcnZpY2UuYXZhaWxhYmlsaXRpZXNcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwiYXZhaWxhYmlsaXR5LnZhbHVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBhdmFpbGFiaWxpdHkubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGRpdiBjbGFzcz1cImNhcmQgY29udGVudC1mdWxscGFnZSBkLWdyaWQgZ3JpZF9fY29sLS04LTQtLW1kIGdyaWRfX3Jvdy0tZml0LWF1dG9cIj5cbiAgPGRpdiBjbGFzcz1cImJnLWxldmVsLTEgZ3JpZF9fY29sLS1mdWxsc3BhbiBzZXBhcmF0b3ItYm90dG9tXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgcC10LTI0IHAtYi0yNCBsYXJnZS1wYWRkaW5nXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiY2FyZF9fcmliYm9uIGJ0bi1jbGVhblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgKHBhY2thZ2UubGFiZWwgfHwgcGFja2FnZS5tYW5pZmVzdC5sYWJlbCB8IHRyYW5zbGF0ZVBhY2thZ2VMYWJlbCkgK1xuICAgICAgICAgICc6ICcgK1xuICAgICAgICAgIChwYWNrYWdlVHlwZUxhYmVsc1twYWNrYWdlVHlwZV0udG9vbHRpcCB8IHRyYW5zbGF0ZSlcbiAgICAgICAgXCJcbiAgICAgICAgdG9vbHRpcD1cInt7IHBhY2thZ2VUeXBlTGFiZWxzW3BhY2thZ2VUeXBlXS50b29sdGlwIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICpuZ0lmPVwicGFja2FnZVR5cGUgIT09IFBBQ0tBR0VfVFlQRS5DVVNUT01cIlxuICAgICAgICBbZGVsYXldPVwiNTAwXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnYmctaW5mbyc6IHBhY2thZ2VUeXBlID09PSBQQUNLQUdFX1RZUEUuQ09NTVVOSVRZLFxuICAgICAgICAgICAgJ2JnLXByaW1hcnknOiBwYWNrYWdlVHlwZSA9PT0gUEFDS0FHRV9UWVBFLk9GRklDSUFMLFxuICAgICAgICAgICAgJ2JnLXdhcm5pbmcnOiBwYWNrYWdlVHlwZSA9PT0gUEFDS0FHRV9UWVBFLkFSQ0hJVkVEXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBwYWNrYWdlLmxhYmVsIHx8IHBhY2thZ2UubWFuaWZlc3QubGFiZWwgfCB0cmFuc2xhdGVQYWNrYWdlTGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1mbGV4LTcwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICBjbGFzcz1cImM4eS1pY29uLWR1b2NvbG9yIGljb24tNDhcIlxuICAgICAgICAgICAgYzh5SWNvbj1cImJpZy1wYXJjZWxcIlxuICAgICAgICAgID48L2k+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4tY2xlYW5cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgKGFwcFN0YXRlPy5sYWJlbCB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgKGFwcFN0YXRlPy50b29sdGlwIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFt0b29sdGlwXT1cImFwcFN0YXRlPy50b29sdGlwIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkZWxheV09XCI1MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJhcHBTdGF0ZT8uY2xhc3NcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBhcHBTdGF0ZT8ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImJ0bi1jbGVhblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAocGFja2FnZUNvbnRlbnRTdGF0ZT8ubGFiZWwgfCB0cmFuc2xhdGUpICtcbiAgICAgICAgICAgICAgJzogJyArXG4gICAgICAgICAgICAgIChwYWNrYWdlQ29udGVudFN0YXRlPy50b29sdGlwIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFt0b29sdGlwXT1cInBhY2thZ2VDb250ZW50U3RhdGU/LnRvb2x0aXAgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInBhY2thZ2VDb250ZW50U3RhdGU/LmNsYXNzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcGFja2FnZUNvbnRlbnRTdGF0ZT8ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3JvdyBjb2wtMTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1mbGV4LTgwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgdGV4dC1ib2xkIG0tYi04XCI+e3sgbmFtZSB8IGh1bWFuaXplQXBwTmFtZSB8IGFzeW5jIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtbXV0ZWRcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxlbT57eyAnTm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlLicgfCB0cmFuc2xhdGUgfX08L2VtPlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtMyB0ZXh0LXJpZ2h0LW1kIHAtci1tZC00MFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNQYWNrYWdlQmx1ZXByaW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlcGxveSgpXCJcbiAgICAgICAgICAgICAgICBkYXRhLWN5PVwiYzh5LXBhY2thZ2UtZGV0YWlscy0tZGVwbG95LWFwcGxpY2F0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICAgICAgICAgICAgICBjOHlJY29uPVwib3V0cHV0XCJcbiAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIHt7ICdEZXBsb3kgYXBwbGljYXRpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93XCI+XG4gICAgICAgICAgICAgIDxjOHktcHJvcGVydGllcy1saXN0XG4gICAgICAgICAgICAgICAgW2RhdGFdPVwicGFja2FnZS5tYW5pZmVzdFwiXG4gICAgICAgICAgICAgICAgW3Byb3BlcnRpZXNdPVwicGFja2FnZVByb3BlcnRpZXNcIlxuICAgICAgICAgICAgICA+PC9jOHktcHJvcGVydGllcy1saXN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW5uZXItc2Nyb2xsXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvciBzdGlja3ktdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7ICdFeHRlbnNpb24gcGFja2FnZSBvdmVydmlldycgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBwLWwtMTYgcC1yLTE2XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtd2FybmluZyBtLWItMTZcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbjogYXV0b1wiXG4gICAgICAgICpuZ0lmPVwicGFja2FnZVR5cGUgPT09IFBBQ0tBR0VfVFlQRS5BUkNISVZFRFwiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgPlxuICAgICAgICBUaGUgcGFja2FnZSB3YXMgYXJjaGl2ZWQgYnkgdGhlIG93bmVyIG1hcmtpbmcgaXQgYXMgb3V0IG9mIG1haW50ZW5hbmNlLiBJdCBpcyBub3RcbiAgICAgICAgcmVjb21tZW5kZWQgdG8gaW5zdGFsbCB0aGUgcGFja2FnZS5cbiAgICAgIDwvZGl2PlxuICAgICAgPGM4eS11aS1lbXB0eS1zdGF0ZVxuICAgICAgICBbaWNvbl09XCIndXNlci1tYW51YWwnXCJcbiAgICAgICAgW3RpdGxlXT1cIidObyBSRUFETUUubWQgZm91bmQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3N1YnRpdGxlXT1cIlxuICAgICAgICAgICdUbyB2aWV3IHRoZSBjb250ZW50cyBvZiAmcXVvdDtSRUFETUUmcXVvdDssIGFkZCB0aGUgZmlsZSAmcXVvdDtSRUFETUUubWQmcXVvdDsgdG8gdGhlIHBhY2thZ2UuJ1xuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgXCJcbiAgICAgICAgKm5nSWY9XCIhbWFya2Rvd25cIlxuICAgICAgICBbaG9yaXpvbnRhbF09XCJ0cnVlXCJcbiAgICAgID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtYXJrZG93bi1jb250ZW50XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJtYXJrZG93biB8IG1hcmtkb3duVG9IdG1sOiB7IGJhc2VVcmwgfSB8IGFzeW5jXCJcbiAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLWJvdHRvbSB2aXNpYmxlLXNtIHZpc2libGUteHNcIj48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbCBkLWZsZXggZC1jb2xcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgc2VwYXJhdG9yIHN0aWNreS10b3BcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgJ1BhY2thZ2UgcGx1Z2lucycgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWxlZnQgZmxleC1ncm93XCI+XG4gICAgICA8IS0tIGVtcHR5IHN0YXRlIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInAtMTZcIlxuICAgICAgICAqbmdJZj1cIihleHBvcnRlZFBsdWdpbnMkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMFwiXG4gICAgICA+XG4gICAgICAgIDxjOHktdWktZW1wdHktc3RhdGVcbiAgICAgICAgICBbaWNvbl09XCIncGx1Z2luJ1wiXG4gICAgICAgICAgW3RpdGxlXT1cIidObyBwbHVnaW5zIHRvIGRpc3BsYXkuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3N1YnRpdGxlXT1cIidUaGlzIHBhY2thZ2UgZG9lc25cXCd0IGNvbnRhaW4gcGx1Z2lucy4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbaG9yaXpvbnRhbF09XCJ0cnVlXCJcbiAgICAgICAgPjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuICAgICAgPC9kaXY+XG4gICAgICA8Yzh5LXBsdWdpbi1saXN0XG4gICAgICAgIFtwbHVnaW5zJF09XCJleHBvcnRlZFBsdWdpbnMkXCJcbiAgICAgICAgW3NlbGVjdGFibGVdPVwiZmFsc2VcIlxuICAgICAgICBbaW5zdGFsbGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtwYWNrYWdlXT1cInBhY2thZ2VcIlxuICAgICAgPjwvYzh5LXBsdWdpbi1saXN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component, ViewChild } from '@angular/core';
|
|
2
2
|
import { gettext, Permissions, WizardModalService } from '@c8y/ngx-components';
|
|
3
|
+
import { APP_STATE, defaultPackageContents, defaultPackageTypes, EcosystemService, EcosystemWizards, ListFiltersComponent } from '@c8y/ngx-components/ecosystem/shared';
|
|
3
4
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
5
|
import { shareReplay, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
5
|
-
import { APP_STATE, EcosystemService, EcosystemWizards, defaultPackageContents, defaultPackageTypes, ListFiltersComponent } from '@c8y/ngx-components/ecosystem/shared';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@c8y/ngx-components/ecosystem/shared";
|
|
8
8
|
import * as i2 from "@c8y/ngx-components";
|
|
@@ -57,13 +57,13 @@ export class PackagesListComponent {
|
|
|
57
57
|
this.filtersComponent?.resetAllFilters();
|
|
58
58
|
}
|
|
59
59
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PackagesListComponent, deps: [{ token: i1.EcosystemService }, { token: i2.WizardModalService }, { token: i2.Permissions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PackagesListComponent, selector: "c8y-packages-list", viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: ListFiltersComponent, descendants: true }], ngImport: i0, template: "<c8y-title>{{ 'Extensions' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [path]=\"'ecosystem/extension/extensions'\"\n [label]=\"'Extensions' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n *ngIf=\"hasAdminPermissions\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n data-cy=\"packages-list--add-extension-package\"\n (click)=\"addPackage()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add extension package' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadPackages()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"p-r-8 p-l-8\"\n>\n <c8y-list-filters\n *ngIf=\"packages$ | async\"\n [packageTypes]=\"packageTypes\"\n [packageAvailabilities]=\"packageAvailabilities\"\n [packageContents]=\"packageContents\"\n (filterPipeChange)=\"setFilterPipe($event)\"\n ></c8y-list-filters>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form hidden-xs\"\n>\n <c8y-list-display-switch\n (onListClassChange)=\"listClass = $event\"\n [listLength]=\"(packages$ | async)?.length\"\n ></c8y-list-display-switch>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/ecosystem/#extensions\"></c8y-help>\n\n<div\n class=\"card-group\"\n [ngClass]=\"listClass\"\n>\n <div\n class=\"page-sticky-header hidden-xs d-flex m-b-8\"\n *ngIf=\"(filteredPackages$ | async)?.length > 0\"\n >\n <div class=\"card-block card-column-40\">\n <div class=\"card-appicon p-l-32 p-r-16 m-r-0 m-l-4\"></div>\n {{ 'Package' | translate }}\n </div>\n <div class=\"card-block p-0 card-column-80 m-r-40\">\n <div class=\"card-block card-column-80\">{{ 'Description' | translate }}</div>\n <div class=\"card-block card-column-20\">{{ 'Type' | translate }}</div>\n <div class=\"card-block card-column-20\"></div>\n </div>\n </div>\n <div\n class=\"col-xs-12 col-sm-4 col-md-3\"\n *ngFor=\"let app of filteredPackages$ | async\"\n >\n <c8y-application-card\n class=\"d-contents\"\n (onAppDeleted)=\"loadPackages()\"\n (onAppCloned)=\"loadPackages()\"\n [app]=\"app\"\n ></c8y-application-card>\n </div>\n</div>\n\n<c8y-ui-empty-state\n [icon]=\"'big-parcel'\"\n [title]=\"'No extensions to display.' | translate\"\n [subtitle]=\"hasAdminPermissions ? (emptyStateSubtitle | translate) : ''\"\n *ngIf=\"(packages$ | async)?.length === 0\"\n>\n <div *ngIf=\"hasAdminPermissions\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n (click)=\"addPackage()\"\n >\n {{ 'Add extension package' | translate }}\n </button>\n </div>\n</c8y-ui-empty-state>\n\n<c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching extensions.' | translate\"\n [subtitle]=\"'Refine your search terms and/or the filters' | translate\"\n *ngIf=\"(packages$ | async)?.length > 0 && (filteredPackages$ | async)?.length === 0\"\n>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Reset filters' | translate }}\"\n type=\"button\"\n (click)=\"resetFilters()\"\n >\n {{ 'Reset filters' | translate }}\n </button>\n</c8y-ui-empty-state>\n", dependencies: [{ kind: "component", type: i2.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i2.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i2.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i2.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: i2.ListDisplaySwitchComponent, selector: "c8y-list-display-switch", inputs: ["listKey", "listLength", "filterPipe"], outputs: ["onListClassChange"] }, { kind: "component", type: i1.ApplicationCardComponent, selector: "c8y-application-card", inputs: ["app", "canEdit"], outputs: ["onAppDeleted", "onAppCloned"] }, { kind: "component", type: i1.ListFiltersComponent, selector: "c8y-list-filters", inputs: ["packageTypes", "packageAvailabilities", "packageContents"], outputs: ["filterPipeChange"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PackagesListComponent, selector: "c8y-packages-list", viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: ListFiltersComponent, descendants: true }], ngImport: i0, template: "<c8y-title>{{ 'Extensions' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [path]=\"'ecosystem/extension/extensions'\"\n [label]=\"'Extensions' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n *ngIf=\"hasAdminPermissions\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n data-cy=\"packages-list--add-extension-package\"\n (click)=\"addPackage()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add extension package' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadPackages()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"p-r-8 p-l-8\"\n>\n <c8y-list-filters\n *ngIf=\"packages$ | async\"\n [packageTypes]=\"packageTypes\"\n [packageAvailabilities]=\"packageAvailabilities\"\n [packageContents]=\"packageContents\"\n (filterPipeChange)=\"setFilterPipe($event)\"\n >\n <c8y-archived-filter></c8y-archived-filter>\n </c8y-list-filters>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form hidden-xs\"\n>\n <c8y-list-display-switch\n (onListClassChange)=\"listClass = $event\"\n [listLength]=\"(packages$ | async)?.length\"\n ></c8y-list-display-switch>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/ecosystem/#extensions\"></c8y-help>\n\n<div\n class=\"card-group\"\n [ngClass]=\"listClass\"\n>\n <div\n class=\"page-sticky-header hidden-xs d-flex m-b-8\"\n *ngIf=\"(filteredPackages$ | async)?.length > 0\"\n >\n <div class=\"card-block card-column-40\">\n <div class=\"card-appicon p-l-32 p-r-16 m-r-0 m-l-4\"></div>\n {{ 'Package' | translate }}\n </div>\n <div class=\"card-block p-0 card-column-80 m-r-40\">\n <div class=\"card-block card-column-80\">{{ 'Description' | translate }}</div>\n <div class=\"card-block card-column-20\">{{ 'Type' | translate }}</div>\n <div class=\"card-block card-column-20\"></div>\n </div>\n </div>\n <div\n class=\"col-xs-12 col-sm-4 col-md-3\"\n *ngFor=\"let app of filteredPackages$ | async\"\n >\n <c8y-application-card\n class=\"d-contents\"\n (onAppDeleted)=\"loadPackages()\"\n (onAppCloned)=\"loadPackages()\"\n [app]=\"app\"\n ></c8y-application-card>\n </div>\n</div>\n\n<c8y-ui-empty-state\n [icon]=\"'big-parcel'\"\n [title]=\"'No extensions to display.' | translate\"\n [subtitle]=\"hasAdminPermissions ? (emptyStateSubtitle | translate) : ''\"\n *ngIf=\"(packages$ | async)?.length === 0\"\n>\n <div *ngIf=\"hasAdminPermissions\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n (click)=\"addPackage()\"\n >\n {{ 'Add extension package' | translate }}\n </button>\n </div>\n</c8y-ui-empty-state>\n\n<c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching extensions.' | translate\"\n [subtitle]=\"'Refine your search terms and/or the filters' | translate\"\n *ngIf=\"(packages$ | async)?.length > 0 && (filteredPackages$ | async)?.length === 0\"\n>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Reset filters' | translate }}\"\n type=\"button\"\n (click)=\"resetFilters()\"\n >\n {{ 'Reset filters' | translate }}\n </button>\n</c8y-ui-empty-state>\n", dependencies: [{ kind: "component", type: i2.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i2.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i2.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i2.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: i2.ListDisplaySwitchComponent, selector: "c8y-list-display-switch", inputs: ["listKey", "listLength", "filterPipe"], outputs: ["onListClassChange"] }, { kind: "component", type: i1.ApplicationCardComponent, selector: "c8y-application-card", inputs: ["app", "canEdit"], outputs: ["onAppDeleted", "onAppCloned"] }, { kind: "component", type: i1.ListFiltersComponent, selector: "c8y-list-filters", inputs: ["packageTypes", "packageAvailabilities", "packageContents"], outputs: ["filterPipeChange"] }, { kind: "component", type: i1.ArchivedFilterComponent, selector: "c8y-archived-filter" }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
61
61
|
}
|
|
62
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PackagesListComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
|
-
args: [{ selector: 'c8y-packages-list', template: "<c8y-title>{{ 'Extensions' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [path]=\"'ecosystem/extension/extensions'\"\n [label]=\"'Extensions' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n *ngIf=\"hasAdminPermissions\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n data-cy=\"packages-list--add-extension-package\"\n (click)=\"addPackage()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add extension package' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadPackages()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"p-r-8 p-l-8\"\n>\n <c8y-list-filters\n *ngIf=\"packages$ | async\"\n [packageTypes]=\"packageTypes\"\n [packageAvailabilities]=\"packageAvailabilities\"\n [packageContents]=\"packageContents\"\n (filterPipeChange)=\"setFilterPipe($event)\"\n ></c8y-list-filters>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form hidden-xs\"\n>\n <c8y-list-display-switch\n (onListClassChange)=\"listClass = $event\"\n [listLength]=\"(packages$ | async)?.length\"\n ></c8y-list-display-switch>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/ecosystem/#extensions\"></c8y-help>\n\n<div\n class=\"card-group\"\n [ngClass]=\"listClass\"\n>\n <div\n class=\"page-sticky-header hidden-xs d-flex m-b-8\"\n *ngIf=\"(filteredPackages$ | async)?.length > 0\"\n >\n <div class=\"card-block card-column-40\">\n <div class=\"card-appicon p-l-32 p-r-16 m-r-0 m-l-4\"></div>\n {{ 'Package' | translate }}\n </div>\n <div class=\"card-block p-0 card-column-80 m-r-40\">\n <div class=\"card-block card-column-80\">{{ 'Description' | translate }}</div>\n <div class=\"card-block card-column-20\">{{ 'Type' | translate }}</div>\n <div class=\"card-block card-column-20\"></div>\n </div>\n </div>\n <div\n class=\"col-xs-12 col-sm-4 col-md-3\"\n *ngFor=\"let app of filteredPackages$ | async\"\n >\n <c8y-application-card\n class=\"d-contents\"\n (onAppDeleted)=\"loadPackages()\"\n (onAppCloned)=\"loadPackages()\"\n [app]=\"app\"\n ></c8y-application-card>\n </div>\n</div>\n\n<c8y-ui-empty-state\n [icon]=\"'big-parcel'\"\n [title]=\"'No extensions to display.' | translate\"\n [subtitle]=\"hasAdminPermissions ? (emptyStateSubtitle | translate) : ''\"\n *ngIf=\"(packages$ | async)?.length === 0\"\n>\n <div *ngIf=\"hasAdminPermissions\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n (click)=\"addPackage()\"\n >\n {{ 'Add extension package' | translate }}\n </button>\n </div>\n</c8y-ui-empty-state>\n\n<c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching extensions.' | translate\"\n [subtitle]=\"'Refine your search terms and/or the filters' | translate\"\n *ngIf=\"(packages$ | async)?.length > 0 && (filteredPackages$ | async)?.length === 0\"\n>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Reset filters' | translate }}\"\n type=\"button\"\n (click)=\"resetFilters()\"\n >\n {{ 'Reset filters' | translate }}\n </button>\n</c8y-ui-empty-state>\n" }]
|
|
64
|
+
args: [{ selector: 'c8y-packages-list', template: "<c8y-title>{{ 'Extensions' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [path]=\"'ecosystem/extension/extensions'\"\n [label]=\"'Extensions' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n *ngIf=\"hasAdminPermissions\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n data-cy=\"packages-list--add-extension-package\"\n (click)=\"addPackage()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add extension package' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadPackages()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"p-r-8 p-l-8\"\n>\n <c8y-list-filters\n *ngIf=\"packages$ | async\"\n [packageTypes]=\"packageTypes\"\n [packageAvailabilities]=\"packageAvailabilities\"\n [packageContents]=\"packageContents\"\n (filterPipeChange)=\"setFilterPipe($event)\"\n >\n <c8y-archived-filter></c8y-archived-filter>\n </c8y-list-filters>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form hidden-xs\"\n>\n <c8y-list-display-switch\n (onListClassChange)=\"listClass = $event\"\n [listLength]=\"(packages$ | async)?.length\"\n ></c8y-list-display-switch>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/ecosystem/#extensions\"></c8y-help>\n\n<div\n class=\"card-group\"\n [ngClass]=\"listClass\"\n>\n <div\n class=\"page-sticky-header hidden-xs d-flex m-b-8\"\n *ngIf=\"(filteredPackages$ | async)?.length > 0\"\n >\n <div class=\"card-block card-column-40\">\n <div class=\"card-appicon p-l-32 p-r-16 m-r-0 m-l-4\"></div>\n {{ 'Package' | translate }}\n </div>\n <div class=\"card-block p-0 card-column-80 m-r-40\">\n <div class=\"card-block card-column-80\">{{ 'Description' | translate }}</div>\n <div class=\"card-block card-column-20\">{{ 'Type' | translate }}</div>\n <div class=\"card-block card-column-20\"></div>\n </div>\n </div>\n <div\n class=\"col-xs-12 col-sm-4 col-md-3\"\n *ngFor=\"let app of filteredPackages$ | async\"\n >\n <c8y-application-card\n class=\"d-contents\"\n (onAppDeleted)=\"loadPackages()\"\n (onAppCloned)=\"loadPackages()\"\n [app]=\"app\"\n ></c8y-application-card>\n </div>\n</div>\n\n<c8y-ui-empty-state\n [icon]=\"'big-parcel'\"\n [title]=\"'No extensions to display.' | translate\"\n [subtitle]=\"hasAdminPermissions ? (emptyStateSubtitle | translate) : ''\"\n *ngIf=\"(packages$ | async)?.length === 0\"\n>\n <div *ngIf=\"hasAdminPermissions\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add extension package' | translate }}\"\n type=\"button\"\n (click)=\"addPackage()\"\n >\n {{ 'Add extension package' | translate }}\n </button>\n </div>\n</c8y-ui-empty-state>\n\n<c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching extensions.' | translate\"\n [subtitle]=\"'Refine your search terms and/or the filters' | translate\"\n *ngIf=\"(packages$ | async)?.length > 0 && (filteredPackages$ | async)?.length === 0\"\n>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Reset filters' | translate }}\"\n type=\"button\"\n (click)=\"resetFilters()\"\n >\n {{ 'Reset filters' | translate }}\n </button>\n</c8y-ui-empty-state>\n" }]
|
|
65
65
|
}], ctorParameters: () => [{ type: i1.EcosystemService }, { type: i2.WizardModalService }, { type: i2.Permissions }], propDecorators: { filtersComponent: [{
|
|
66
66
|
type: ViewChild,
|
|
67
67
|
args: [ListFiltersComponent]
|
|
68
68
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9lY29zeXN0ZW0vcGFja2FnZXMvcGFja2FnZS1saXN0L3BhY2thZ2VzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL3BhY2thZ2VzL3BhY2thZ2UtbGlzdC9wYWNrYWdlcy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFL0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBR25CLG9CQUFvQixFQUNyQixNQUFNLHNDQUFzQyxDQUFDOzs7OztBQU05QyxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUNVLGdCQUFrQyxFQUNsQyxrQkFBc0MsRUFDdEMsV0FBd0I7UUFGeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBcEJsQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBMEIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFLM0Qsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLHVCQUFrQixHQUFHLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzFFLGlCQUFZLEdBQUcsbUJBQW1CLENBQUM7UUFDbkMsMEJBQXFCLEdBQTZDO1lBQ2hFLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSztZQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUs7U0FDdkIsQ0FBQztRQUNGLG9CQUFlLEdBQUcsc0JBQXNCLENBQUM7UUFFakMsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTzFELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDbEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEVBQy9ELEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNiLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUNuQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUNqRCxXQUFXLENBQUMsaUNBQWlDLENBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxZQUFZLEdBQTRCO1lBQzVDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxjQUFjO1NBQ3BDLENBQUM7UUFDRixNQUFNLFlBQVksR0FBaUIsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUVwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBZ0I7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQzs4R0F2RVUscUJBQXFCO2tHQUFyQixxQkFBcUIsMkdBZXJCLG9CQUFvQixnRENwQ2pDLHF4SEFzSUE7OzJGRGpIYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1CO2dKQWtCSSxnQkFBZ0I7c0JBQWhELFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0dGV4dCwgUGVybWlzc2lvbnMsIFdpemFyZE1vZGFsU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTW9kYWxPcHRpb25zIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQVBQX1NUQVRFLFxuICBFY29zeXN0ZW1TZXJ2aWNlLFxuICBFY29zeXN0ZW1XaXphcmRzLFxuICBkZWZhdWx0UGFja2FnZUNvbnRlbnRzLFxuICBkZWZhdWx0UGFja2FnZVR5cGVzLFxuICBGaWx0ZXJQaXBlLFxuICBQYWNrYWdlRmlsdGVycyxcbiAgTGlzdEZpbHRlcnNDb21wb25lbnRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9lY29zeXN0ZW0vc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXBhY2thZ2VzLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnZXMtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUGFja2FnZXNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVsb2FkaW5nID0gZmFsc2U7XG4gIHJlbG9hZCQ6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgcGFja2FnZXMkOiBPYnNlcnZhYmxlPElBcHBsaWNhdGlvbltdPjtcbiAgZmlsdGVyZWRQYWNrYWdlcyQ6IE9ic2VydmFibGU8SUFwcGxpY2F0aW9uW10+O1xuICBsaXN0Q2xhc3M6IHN0cmluZztcbiAgaGFzQWRtaW5QZXJtaXNzaW9ucyA9IGZhbHNlO1xuICBlbXB0eVN0YXRlU3VidGl0bGUgPSBnZXR0ZXh0KCdBZGQgeW91ciBmaXJzdCBwYWNrYWdlIGJ5IGNsaWNraW5nIGJlbG93LicpO1xuICBwYWNrYWdlVHlwZXMgPSBkZWZhdWx0UGFja2FnZVR5cGVzO1xuICBwYWNrYWdlQXZhaWxhYmlsaXRpZXM6IChrZXlvZiBQYWNrYWdlRmlsdGVyc1snYXZhaWxhYmlsaXR5J10pW10gPSBbXG4gICAgQVBQX1NUQVRFLlNVQlNDUklCRUQubGFiZWwsXG4gICAgQVBQX1NUQVRFLkNVU1RPTS5sYWJlbFxuICBdO1xuICBwYWNrYWdlQ29udGVudHMgPSBkZWZhdWx0UGFja2FnZUNvbnRlbnRzO1xuICBAVmlld0NoaWxkKExpc3RGaWx0ZXJzQ29tcG9uZW50KSBmaWx0ZXJzQ29tcG9uZW50OiBMaXN0RmlsdGVyc0NvbXBvbmVudDtcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlY29zeXN0ZW1TZXJ2aWNlOiBFY29zeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgd2l6YXJkTW9kYWxTZXJ2aWNlOiBXaXphcmRNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uczogUGVybWlzc2lvbnNcbiAgKSB7XG4gICAgdGhpcy5wYWNrYWdlcyQgPSB0aGlzLnJlbG9hZCQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5yZWxvYWRpbmcgPSB0cnVlKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldFBhY2thZ2VBcHBsaWNhdGlvbnMoKSksXG4gICAgICB0YXAocGFja2FnZXMgPT4ge1xuICAgICAgICBwYWNrYWdlcy5mb3JFYWNoKHBja2cgPT4ge1xuICAgICAgICAgIHBja2cuZmlsdGVyUHJvcHMgPSB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0QXBwRmlsdGVyUHJvcHMocGNrZyk7XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4gKHRoaXMucmVsb2FkaW5nID0gZmFsc2UpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaGFzQWRtaW5QZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuaGFzUm9sZShcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9BRE1JTlxuICAgICk7XG4gICAgdGhpcy5sb2FkUGFja2FnZXMoKTtcbiAgfVxuXG4gIGxvYWRQYWNrYWdlcygpIHtcbiAgICB0aGlzLnJlbG9hZCQubmV4dCgpO1xuICB9XG5cbiAgYWRkUGFja2FnZSgpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgaWQ6IEVjb3N5c3RlbVdpemFyZHMuUEFDS0FHRV9VUExPQURcbiAgICB9O1xuICAgIGNvbnN0IG1vZGFsT3B0aW9uczogTW9kYWxPcHRpb25zID0geyBpbml0aWFsU3RhdGUgfTtcblxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy53aXphcmRNb2RhbFNlcnZpY2Uuc2hvdyhtb2RhbE9wdGlvbnMpO1xuICAgIG1vZGFsUmVmLmNvbnRlbnQub25DbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkUGFja2FnZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRGaWx0ZXJQaXBlKHBpcGU6IEZpbHRlclBpcGUpIHtcbiAgICB0aGlzLmZpbHRlcmVkUGFja2FnZXMkID0gdGhpcy5wYWNrYWdlcyQucGlwZShzcmMgPT4gcGlwZShzcmMpKTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLmZpbHRlcnNDb21wb25lbnQ/LnJlc2V0QWxsRmlsdGVycygpO1xuICB9XG59XG4iLCI8Yzh5LXRpdGxlPnt7ICdFeHRlbnNpb25zJyB8IHRyYW5zbGF0ZSB9fTwvYzh5LXRpdGxlPlxuXG48Yzh5LWJyZWFkY3J1bWI+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtXG4gICAgW2ljb25dPVwiJ2M4eS1hdG9tJ1wiXG4gICAgW2xhYmVsXT1cIidFY29zeXN0ZW0nIHwgdHJhbnNsYXRlXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW1cbiAgICBbaWNvbl09XCInYmlnLXBhcmNlbCdcIlxuICAgIFtwYXRoXT1cIidlY29zeXN0ZW0vZXh0ZW5zaW9uL2V4dGVuc2lvbnMnXCJcbiAgICBbbGFiZWxdPVwiJ0V4dGVuc2lvbnMnIHwgdHJhbnNsYXRlXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbjwvYzh5LWJyZWFkY3J1bWI+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICpuZ0lmPVwiaGFzQWRtaW5QZXJtaXNzaW9uc1wiXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tbGlua1wiXG4gICAgdGl0bGU9XCJ7eyAnQWRkIGV4dGVuc2lvbiBwYWNrYWdlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgZGF0YS1jeT1cInBhY2thZ2VzLWxpc3QtLWFkZC1leHRlbnNpb24tcGFja2FnZVwiXG4gICAgKGNsaWNrKT1cImFkZFBhY2thZ2UoKVwiXG4gID5cbiAgICA8aSBjOHlJY29uPVwicGx1cy1jaXJjbGVcIj48L2k+XG4gICAge3sgJ0FkZCBleHRlbnNpb24gcGFja2FnZScgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHRpdGxlPVwie3sgJ1JlbG9hZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJsb2FkUGFja2FnZXMoKVwiXG4gID5cbiAgICA8aVxuICAgICAgYzh5SWNvbj1cInJlZnJlc2hcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnaWNvbi1zcGluJzogcmVsb2FkaW5nIH1cIlxuICAgID48L2k+XG4gICAge3sgJ1JlbG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgaXRlbUNsYXNzPVwicC1yLTggcC1sLThcIlxuPlxuICA8Yzh5LWxpc3QtZmlsdGVyc1xuICAgICpuZ0lmPVwicGFja2FnZXMkIHwgYXN5bmNcIlxuICAgIFtwYWNrYWdlVHlwZXNdPVwicGFja2FnZVR5cGVzXCJcbiAgICBbcGFja2FnZUF2YWlsYWJpbGl0aWVzXT1cInBhY2thZ2VBdmFpbGFiaWxpdGllc1wiXG4gICAgW3BhY2thZ2VDb250ZW50c109XCJwYWNrYWdlQ29udGVudHNcIlxuICAgIChmaWx0ZXJQaXBlQ2hhbmdlKT1cInNldEZpbHRlclBpcGUoJGV2ZW50KVwiXG4gID48L2M4eS1saXN0LWZpbHRlcnM+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgaXRlbUNsYXNzPVwibmF2YmFyLWZvcm0gaGlkZGVuLXhzXCJcbj5cbiAgPGM4eS1saXN0LWRpc3BsYXktc3dpdGNoXG4gICAgKG9uTGlzdENsYXNzQ2hhbmdlKT1cImxpc3RDbGFzcyA9ICRldmVudFwiXG4gICAgW2xpc3RMZW5ndGhdPVwiKHBhY2thZ2VzJCB8IGFzeW5jKT8ubGVuZ3RoXCJcbiAgPjwvYzh5LWxpc3QtZGlzcGxheS1zd2l0Y2g+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktaGVscCBzcmM9XCIvZG9jcy9zdGFuZGFyZC10ZW5hbnQvZWNvc3lzdGVtLyNleHRlbnNpb25zXCI+PC9jOHktaGVscD5cblxuPGRpdlxuICBjbGFzcz1cImNhcmQtZ3JvdXBcIlxuICBbbmdDbGFzc109XCJsaXN0Q2xhc3NcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJwYWdlLXN0aWNreS1oZWFkZXIgaGlkZGVuLXhzIGQtZmxleCBtLWItOFwiXG4gICAgKm5nSWY9XCIoZmlsdGVyZWRQYWNrYWdlcyQgfCBhc3luYyk/Lmxlbmd0aCA+IDBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgY2FyZC1jb2x1bW4tNDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWFwcGljb24gcC1sLTMyIHAtci0xNiBtLXItMCBtLWwtNFwiPjwvZGl2PlxuICAgICAge3sgJ1BhY2thZ2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgcC0wIGNhcmQtY29sdW1uLTgwIG0tci00MFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgY2FyZC1jb2x1bW4tODBcIj57eyAnRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBjYXJkLWNvbHVtbi0yMFwiPnt7ICdUeXBlJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgY2FyZC1jb2x1bW4tMjBcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBjb2wtbWQtM1wiXG4gICAgKm5nRm9yPVwibGV0IGFwcCBvZiBmaWx0ZXJlZFBhY2thZ2VzJCB8IGFzeW5jXCJcbiAgPlxuICAgIDxjOHktYXBwbGljYXRpb24tY2FyZFxuICAgICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICAgIChvbkFwcERlbGV0ZWQpPVwibG9hZFBhY2thZ2VzKClcIlxuICAgICAgKG9uQXBwQ2xvbmVkKT1cImxvYWRQYWNrYWdlcygpXCJcbiAgICAgIFthcHBdPVwiYXBwXCJcbiAgICA+PC9jOHktYXBwbGljYXRpb24tY2FyZD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGM4eS11aS1lbXB0eS1zdGF0ZVxuICBbaWNvbl09XCInYmlnLXBhcmNlbCdcIlxuICBbdGl0bGVdPVwiJ05vIGV4dGVuc2lvbnMgdG8gZGlzcGxheS4nIHwgdHJhbnNsYXRlXCJcbiAgW3N1YnRpdGxlXT1cImhhc0FkbWluUGVybWlzc2lvbnMgPyAoZW1wdHlTdGF0ZVN1YnRpdGxlIHwgdHJhbnNsYXRlKSA6ICcnXCJcbiAgKm5nSWY9XCIocGFja2FnZXMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDBcIlxuPlxuICA8ZGl2ICpuZ0lmPVwiaGFzQWRtaW5QZXJtaXNzaW9uc1wiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ0FkZCBleHRlbnNpb24gcGFja2FnZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiYWRkUGFja2FnZSgpXCJcbiAgICA+XG4gICAgICB7eyAnQWRkIGV4dGVuc2lvbiBwYWNrYWdlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuXG48Yzh5LXVpLWVtcHR5LXN0YXRlXG4gIFtpY29uXT1cIidzZWFyY2gnXCJcbiAgW3RpdGxlXT1cIidObyBtYXRjaGluZyBleHRlbnNpb25zLicgfCB0cmFuc2xhdGVcIlxuICBbc3VidGl0bGVdPVwiJ1JlZmluZSB5b3VyIHNlYXJjaCB0ZXJtcyBhbmQvb3IgdGhlIGZpbHRlcnMnIHwgdHJhbnNsYXRlXCJcbiAgKm5nSWY9XCIocGFja2FnZXMkIHwgYXN5bmMpPy5sZW5ndGggPiAwICYmIChmaWx0ZXJlZFBhY2thZ2VzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICB0aXRsZT1cInt7ICdSZXNldCBmaWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCJcbiAgPlxuICAgIHt7ICdSZXNldCBmaWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuIl19
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9lY29zeXN0ZW0vcGFja2FnZXMvcGFja2FnZS1saXN0L3BhY2thZ2VzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL3BhY2thZ2VzL3BhY2thZ2UtbGlzdC9wYWNrYWdlcy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFHaEIsb0JBQW9CLEVBRXJCLE1BQU0sc0NBQXNDLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU14RSxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUNVLGdCQUFrQyxFQUNsQyxrQkFBc0MsRUFDdEMsV0FBd0I7UUFGeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBcEJsQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBMEIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFLM0Qsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLHVCQUFrQixHQUFHLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzFFLGlCQUFZLEdBQUcsbUJBQW1CLENBQUM7UUFDbkMsMEJBQXFCLEdBQTZDO1lBQ2hFLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSztZQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUs7U0FDdkIsQ0FBQztRQUNGLG9CQUFlLEdBQUcsc0JBQXNCLENBQUM7UUFFakMsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTzFELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDbEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEVBQy9ELEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNiLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUNuQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUNqRCxXQUFXLENBQUMsaUNBQWlDLENBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxZQUFZLEdBQTRCO1lBQzVDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxjQUFjO1NBQ3BDLENBQUM7UUFDRixNQUFNLFlBQVksR0FBaUIsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUVwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBZ0I7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQzs4R0F2RVUscUJBQXFCO2tHQUFyQixxQkFBcUIsMkdBZXJCLG9CQUFvQixnRENyQ2pDLDAwSEF3SUE7OzJGRGxIYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1CO2dKQWtCSSxnQkFBZ0I7c0JBQWhELFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0dGV4dCwgUGVybWlzc2lvbnMsIFdpemFyZE1vZGFsU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgQVBQX1NUQVRFLFxuICBkZWZhdWx0UGFja2FnZUNvbnRlbnRzLFxuICBkZWZhdWx0UGFja2FnZVR5cGVzLFxuICBFY29zeXN0ZW1TZXJ2aWNlLFxuICBFY29zeXN0ZW1XaXphcmRzLFxuICBGaWx0ZXJhYmxlQXBwT3JQbHVnaW4sXG4gIEZpbHRlclBpcGUsXG4gIExpc3RGaWx0ZXJzQ29tcG9uZW50LFxuICBQYWNrYWdlRmlsdGVyc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9zaGFyZWQnO1xuaW1wb3J0IHsgTW9kYWxPcHRpb25zIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktcGFja2FnZXMtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWNrYWdlcy1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWNrYWdlc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWxvYWRpbmcgPSBmYWxzZTtcbiAgcmVsb2FkJDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwYWNrYWdlcyQ6IE9ic2VydmFibGU8SUFwcGxpY2F0aW9uW10+O1xuICBmaWx0ZXJlZFBhY2thZ2VzJDogT2JzZXJ2YWJsZTxGaWx0ZXJhYmxlQXBwT3JQbHVnaW5bXT47XG4gIGxpc3RDbGFzczogc3RyaW5nO1xuICBoYXNBZG1pblBlcm1pc3Npb25zID0gZmFsc2U7XG4gIGVtcHR5U3RhdGVTdWJ0aXRsZSA9IGdldHRleHQoJ0FkZCB5b3VyIGZpcnN0IHBhY2thZ2UgYnkgY2xpY2tpbmcgYmVsb3cuJyk7XG4gIHBhY2thZ2VUeXBlcyA9IGRlZmF1bHRQYWNrYWdlVHlwZXM7XG4gIHBhY2thZ2VBdmFpbGFiaWxpdGllczogKGtleW9mIFBhY2thZ2VGaWx0ZXJzWydhdmFpbGFiaWxpdHknXSlbXSA9IFtcbiAgICBBUFBfU1RBVEUuU1VCU0NSSUJFRC5sYWJlbCxcbiAgICBBUFBfU1RBVEUuQ1VTVE9NLmxhYmVsXG4gIF07XG4gIHBhY2thZ2VDb250ZW50cyA9IGRlZmF1bHRQYWNrYWdlQ29udGVudHM7XG4gIEBWaWV3Q2hpbGQoTGlzdEZpbHRlcnNDb21wb25lbnQpIGZpbHRlcnNDb21wb25lbnQ6IExpc3RGaWx0ZXJzQ29tcG9uZW50O1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVjb3N5c3RlbVNlcnZpY2U6IEVjb3N5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aXphcmRNb2RhbFNlcnZpY2U6IFdpemFyZE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uc1xuICApIHtcbiAgICB0aGlzLnBhY2thZ2VzJCA9IHRoaXMucmVsb2FkJC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgdGFwKCgpID0+ICh0aGlzLnJlbG9hZGluZyA9IHRydWUpKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0UGFja2FnZUFwcGxpY2F0aW9ucygpKSxcbiAgICAgIHRhcChwYWNrYWdlcyA9PiB7XG4gICAgICAgIHBhY2thZ2VzLmZvckVhY2gocGNrZyA9PiB7XG4gICAgICAgICAgcGNrZy5maWx0ZXJQcm9wcyA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRBcHBGaWx0ZXJQcm9wcyhwY2tnKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5yZWxvYWRpbmcgPSBmYWxzZSkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5oYXNBZG1pblBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9ucy5oYXNSb2xlKFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9BUFBMSUNBVElPTl9NQU5BR0VNRU5UX0FETUlOXG4gICAgKTtcbiAgICB0aGlzLmxvYWRQYWNrYWdlcygpO1xuICB9XG5cbiAgbG9hZFBhY2thZ2VzKCkge1xuICAgIHRoaXMucmVsb2FkJC5uZXh0KCk7XG4gIH1cblxuICBhZGRQYWNrYWdlKCkge1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgICBpZDogRWNvc3lzdGVtV2l6YXJkcy5QQUNLQUdFX1VQTE9BRFxuICAgIH07XG4gICAgY29uc3QgbW9kYWxPcHRpb25zOiBNb2RhbE9wdGlvbnMgPSB7IGluaXRpYWxTdGF0ZSB9O1xuXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLndpemFyZE1vZGFsU2VydmljZS5zaG93KG1vZGFsT3B0aW9ucyk7XG4gICAgbW9kYWxSZWYuY29udGVudC5vbkNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRQYWNrYWdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldEZpbHRlclBpcGUocGlwZTogRmlsdGVyUGlwZSkge1xuICAgIHRoaXMuZmlsdGVyZWRQYWNrYWdlcyQgPSB0aGlzLnBhY2thZ2VzJC5waXBlKHNyYyA9PiBwaXBlKHNyYykpO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmlsdGVyc0NvbXBvbmVudD8ucmVzZXRBbGxGaWx0ZXJzKCk7XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+e3sgJ0V4dGVuc2lvbnMnIHwgdHJhbnNsYXRlIH19PC9jOHktdGl0bGU+XG5cbjxjOHktYnJlYWRjcnVtYj5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW1cbiAgICBbaWNvbl09XCInYzh5LWF0b20nXCJcbiAgICBbbGFiZWxdPVwiJ0Vjb3N5c3RlbScgfCB0cmFuc2xhdGVcIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbVxuICAgIFtpY29uXT1cIidiaWctcGFyY2VsJ1wiXG4gICAgW3BhdGhdPVwiJ2Vjb3N5c3RlbS9leHRlbnNpb24vZXh0ZW5zaW9ucydcIlxuICAgIFtsYWJlbF09XCInRXh0ZW5zaW9ucycgfCB0cmFuc2xhdGVcIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuPC9jOHktYnJlYWRjcnVtYj5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCIncmlnaHQnXCJcbiAgKm5nSWY9XCJoYXNBZG1pblBlcm1pc3Npb25zXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBZGQgZXh0ZW5zaW9uIHBhY2thZ2UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBkYXRhLWN5PVwicGFja2FnZXMtbGlzdC0tYWRkLWV4dGVuc2lvbi1wYWNrYWdlXCJcbiAgICAoY2xpY2spPVwiYWRkUGFja2FnZSgpXCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiPjwvaT5cbiAgICB7eyAnQWRkIGV4dGVuc2lvbiBwYWNrYWdlJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW0gW3BsYWNlbWVudF09XCIncmlnaHQnXCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tbGlua1wiXG4gICAgdGl0bGU9XCJ7eyAnUmVsb2FkJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImxvYWRQYWNrYWdlcygpXCJcbiAgPlxuICAgIDxpXG4gICAgICBjOHlJY29uPVwicmVmcmVzaFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdpY29uLXNwaW4nOiByZWxvYWRpbmcgfVwiXG4gICAgPjwvaT5cbiAgICB7eyAnUmVsb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCInbGVmdCdcIlxuICBpdGVtQ2xhc3M9XCJwLXItOCBwLWwtOFwiXG4+XG4gIDxjOHktbGlzdC1maWx0ZXJzXG4gICAgKm5nSWY9XCJwYWNrYWdlcyQgfCBhc3luY1wiXG4gICAgW3BhY2thZ2VUeXBlc109XCJwYWNrYWdlVHlwZXNcIlxuICAgIFtwYWNrYWdlQXZhaWxhYmlsaXRpZXNdPVwicGFja2FnZUF2YWlsYWJpbGl0aWVzXCJcbiAgICBbcGFja2FnZUNvbnRlbnRzXT1cInBhY2thZ2VDb250ZW50c1wiXG4gICAgKGZpbHRlclBpcGVDaGFuZ2UpPVwic2V0RmlsdGVyUGlwZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxjOHktYXJjaGl2ZWQtZmlsdGVyPjwvYzh5LWFyY2hpdmVkLWZpbHRlcj5cbiAgPC9jOHktbGlzdC1maWx0ZXJzPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBbcGxhY2VtZW50XT1cIidsZWZ0J1wiXG4gIGl0ZW1DbGFzcz1cIm5hdmJhci1mb3JtIGhpZGRlbi14c1wiXG4+XG4gIDxjOHktbGlzdC1kaXNwbGF5LXN3aXRjaFxuICAgIChvbkxpc3RDbGFzc0NoYW5nZSk9XCJsaXN0Q2xhc3MgPSAkZXZlbnRcIlxuICAgIFtsaXN0TGVuZ3RoXT1cIihwYWNrYWdlcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gID48L2M4eS1saXN0LWRpc3BsYXktc3dpdGNoPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWhlbHAgc3JjPVwiL2RvY3Mvc3RhbmRhcmQtdGVuYW50L2Vjb3N5c3RlbS8jZXh0ZW5zaW9uc1wiPjwvYzh5LWhlbHA+XG5cbjxkaXZcbiAgY2xhc3M9XCJjYXJkLWdyb3VwXCJcbiAgW25nQ2xhc3NdPVwibGlzdENsYXNzXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicGFnZS1zdGlja3ktaGVhZGVyIGhpZGRlbi14cyBkLWZsZXggbS1iLThcIlxuICAgICpuZ0lmPVwiKGZpbHRlcmVkUGFja2FnZXMkIHwgYXN5bmMpPy5sZW5ndGggPiAwXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIGNhcmQtY29sdW1uLTQwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1hcHBpY29uIHAtbC0zMiBwLXItMTYgbS1yLTAgbS1sLTRcIj48L2Rpdj5cbiAgICAgIHt7ICdQYWNrYWdlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHAtMCBjYXJkLWNvbHVtbi04MCBtLXItNDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIGNhcmQtY29sdW1uLTgwXCI+e3sgJ0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgY2FyZC1jb2x1bW4tMjBcIj57eyAnVHlwZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIGNhcmQtY29sdW1uLTIwXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTQgY29sLW1kLTNcIlxuICAgICpuZ0Zvcj1cImxldCBhcHAgb2YgZmlsdGVyZWRQYWNrYWdlcyQgfCBhc3luY1wiXG4gID5cbiAgICA8Yzh5LWFwcGxpY2F0aW9uLWNhcmRcbiAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICAob25BcHBEZWxldGVkKT1cImxvYWRQYWNrYWdlcygpXCJcbiAgICAgIChvbkFwcENsb25lZCk9XCJsb2FkUGFja2FnZXMoKVwiXG4gICAgICBbYXBwXT1cImFwcFwiXG4gICAgPjwvYzh5LWFwcGxpY2F0aW9uLWNhcmQ+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxjOHktdWktZW1wdHktc3RhdGVcbiAgW2ljb25dPVwiJ2JpZy1wYXJjZWwnXCJcbiAgW3RpdGxlXT1cIidObyBleHRlbnNpb25zIHRvIGRpc3BsYXkuJyB8IHRyYW5zbGF0ZVwiXG4gIFtzdWJ0aXRsZV09XCJoYXNBZG1pblBlcm1pc3Npb25zID8gKGVtcHR5U3RhdGVTdWJ0aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gICpuZ0lmPVwiKHBhY2thZ2VzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCJcbj5cbiAgPGRpdiAqbmdJZj1cImhhc0FkbWluUGVybWlzc2lvbnNcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICB0aXRsZT1cInt7ICdBZGQgZXh0ZW5zaW9uIHBhY2thZ2UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cImFkZFBhY2thZ2UoKVwiXG4gICAgPlxuICAgICAge3sgJ0FkZCBleHRlbnNpb24gcGFja2FnZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2M4eS11aS1lbXB0eS1zdGF0ZT5cblxuPGM4eS11aS1lbXB0eS1zdGF0ZVxuICBbaWNvbl09XCInc2VhcmNoJ1wiXG4gIFt0aXRsZV09XCInTm8gbWF0Y2hpbmcgZXh0ZW5zaW9ucy4nIHwgdHJhbnNsYXRlXCJcbiAgW3N1YnRpdGxlXT1cIidSZWZpbmUgeW91ciBzZWFyY2ggdGVybXMgYW5kL29yIHRoZSBmaWx0ZXJzJyB8IHRyYW5zbGF0ZVwiXG4gICpuZ0lmPVwiKHBhY2thZ2VzJCB8IGFzeW5jKT8ubGVuZ3RoID4gMCAmJiAoZmlsdGVyZWRQYWNrYWdlcyQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMFwiXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgdGl0bGU9XCJ7eyAnUmVzZXQgZmlsdGVycycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJyZXNldEZpbHRlcnMoKVwiXG4gID5cbiAgICB7eyAnUmVzZXQgZmlsdGVycycgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiJdfQ==
|
|
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
112
112
|
type: ViewChild,
|
|
113
113
|
args: [DropAreaComponent]
|
|
114
114
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFwcGxpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9zaGFyZWQvYWRkLWFwcGxpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9zaGFyZWQvYWRkLWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztBQU01RSxNQUFNLE9BQU8sdUJBQXVCO0lBd0JsQyxZQUNVLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLG1CQUErQztRQUwvQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQXhCaEQsY0FB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QUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OEdBbEdVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtYQVN2QixpQkFBaUIsZ0RDdEI5Qix5K0dBa0lBOzsyRkRySGEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQjt1UEFJdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRXdCLGlCQUFpQjtzQkFBOUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uU2VydmljZSwgSUFwcGxpY2F0aW9uLCBBcHBsaWNhdGlvbkF2YWlsYWJpbGl0eSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgRHJvcEFyZWFDb21wb25lbnQsIFdpemFyZENvbXBvbmVudCwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY29zeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9lY29zeXN0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBFUlJPUl9NRVNTQUdFUyB9IGZyb20gJy4vZWNvc3lzdGVtLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBQYWNrYWdlQXZhaWxhYmlsaXR5U2VydmljZSB9IGZyb20gJy4vcGFja2FnZS1hdmFpbGFiaWxpdHkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hZGQtYXBwbGljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRBcHBsaWNhdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGhlYWRlclRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgaGVhZGVySWNvbjogc3RyaW5nO1xuICBASW5wdXQoKSBzdWNjZXNzVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBjcmVhdGVBcHBsaWNhdGlvbkhhbmRsZXI6IGFueTtcbiAgQElucHV0KCkgdXBsb2FkQXBwbGljYXRpb25IYW5kbGVyOiBhbnk7XG4gIEBJbnB1dCgpIGNhbkdvQmFjayA9IGZhbHNlO1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblR5cGU6ICdhcHBsaWNhdGlvbicgfCAncGFja2FnZScgPSAnYXBwbGljYXRpb24nO1xuXG4gIEBWaWV3Q2hpbGQoRHJvcEFyZWFDb21wb25lbnQpIGRyb3BBcmVhQ29tcG9uZW50O1xuXG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaXNBcHBDcmVhdGVkOiBib29sZWFuO1xuICBjcmVhdGVkQXBwOiBJQXBwbGljYXRpb247XG4gIGNhbk9wZW5JbkJyb3dzZXIgPSBmYWxzZTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHNlbGVjdGVkQXZhaWxhYmlsaXR5ID0gQXBwbGljYXRpb25BdmFpbGFiaWxpdHkuUFJJVkFURTtcbiAgYXZhaWxhYmlsaXR5SGVscFBvcG92ZXJUZXh0ID0gZ2V0dGV4dChgXG4gICAgICA8cCBjbGFzcz1cIm0tYi04XCI+PGI+U2hhcmVkPC9iPiBhdmFpbGFiaWxpdHkgd2lsbCBtYWtlIHRoZSBwYWNrYWdlIGF2YWlsYWJsZSB0byBhbGwgc3VidGVuYW50cyB3aXRob3V0IGV4cGxpY2l0bHkgc3Vic2NyaWJpbmcgdGhlIHBhY2thZ2UuPC9wPlxuICAgICAgPHAgY2xhc3M9XCJtLWItOFwiPjxiPk1hcmtldDwvYj4gYXZhaWxhYmlsaXR5IHdpbGwgbWFrZSB0aGUgcGFja2FnZSBhdmFpbGFibGUgdG8geW91ciBvd24gdGVuYW50IGFuZCBuZWVkcyB0byBiZSBzdWJzY3JpYmVkIHRvIHN1YnRlbmFudHMgaW5kaXZpZHVhbGx5LjwvcD5cbiAgICAgIDxwIGNsYXNzPVwibS1iLThcIj48Yj5Qcml2YXRlPC9iPiBhdmFpbGFiaWxpdHkgd2lsbCBtYWtlIHRoZSBwYWNrYWdlIG9ubHkgYXZhaWxhYmxlIHRvIHlvdXIgb3duIHRlbmFudC48L3A+XG4gIGApO1xuICBwcml2YXRlIHVwbG9hZENhbmNlbGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlY29zeXN0ZW1TZXJ2aWNlOiBFY29zeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHdpemFyZENvbXBvbmVudDogV2l6YXJkQ29tcG9uZW50LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBhY2thZ2VBdmFpbGFiaWxpdHk6IFBhY2thZ2VBdmFpbGFiaWxpdHlTZXJ2aWNlXG4gICkge31cblxuICBnZXQgcHJvZ3Jlc3MoKTogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmVjb3N5c3RlbVNlcnZpY2UucHJvZ3Jlc3M7XG4gIH1cblxuICBvbkZpbGVEcm9wcGVkRXZlbnQoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlsZSA9IGV2ZW50WzBdLmZpbGU7XG4gICAgICB0aGlzLm9uRmlsZShmaWxlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBvbkZpbGUoZmlsZTogRmlsZSkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5wcm9ncmVzcy5uZXh0KDApO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY3JlYXRlZEFwcCA9IGF3YWl0IHRoaXMuY3JlYXRlQXBwbGljYXRpb25IYW5kbGVyKGZpbGUpO1xuICAgICAgaWYgKHRoaXMuYXBwbGljYXRpb25UeXBlID09PSAncGFja2FnZScpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVkQXBwID0gYXdhaXQgdGhpcy5wYWNrYWdlQXZhaWxhYmlsaXR5LnNldEF2YWlsYWJpbGl0eShcbiAgICAgICAgICB0aGlzLmNyZWF0ZWRBcHAsXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEF2YWlsYWJpbGl0eVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy51cGxvYWRBcHBsaWNhdGlvbkhhbmRsZXIoZmlsZSwgdGhpcy5jcmVhdGVkQXBwKTtcbiAgICAgIHRoaXMuY2FuT3BlbkluQnJvd3NlciA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5jYW5PcGVuQXBwSW5Ccm93c2VyKHRoaXMuY3JlYXRlZEFwcCk7XG4gICAgICB0aGlzLmlzQXBwQ3JlYXRlZCA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHRoaXMuZWNvc3lzdGVtU2VydmljZS5jYW5jZWxBcHBDcmVhdGlvbih0aGlzLmNyZWF0ZWRBcHApO1xuICAgICAgdGhpcy5jcmVhdGVkQXBwID0gbnVsbDtcbiAgICAgIHRoaXMuZHJvcEFyZWFDb21wb25lbnQub25EZWxldGUoKTtcbiAgICAgIC8vIHByZXBhcmUgdHJhbnNsYXRpb24gb2Ygc3RhdGljIG1lc3NhZ2UgaWYgaXQgZXhpc3RzXG4gICAgICBjb25zdCBzdGF0aWNFcnJvck1lc3NhZ2UgPVxuICAgICAgICBFUlJPUl9NRVNTQUdFU1tleC5tZXNzYWdlXSAmJiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChFUlJPUl9NRVNTQUdFU1tleC5tZXNzYWdlXSk7XG4gICAgICAvLyBpZiB0aGVyZSBpcyBubyBzdGF0aWMgbWVzc2FnZSwgdXNlIGR5bmFtaWMgb25lIGZyb20gdGhlIGV4Y2VwdGlvblxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBzdGF0aWNFcnJvck1lc3NhZ2UgPz8gZXgubWVzc2FnZTtcbiAgICAgIGlmICghdGhpcy5lcnJvck1lc3NhZ2UgJiYgIXRoaXMudXBsb2FkQ2FuY2VsZWQpIHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShleCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucHJvZ3Jlc3MubmV4dCgxMDApO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBnZXRIcmVmKGFwcDogSUFwcGxpY2F0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZ2V0SHJlZihhcHApO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsRmlsZVVwbG9hZCgpO1xuICAgIHRoaXMud2l6YXJkQ29tcG9uZW50LmNsb3NlKCk7XG4gIH1cblxuICBkb25lKCkge1xuICAgIHRoaXMud2l6YXJkQ29tcG9uZW50LmNsb3NlKCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMud2l6YXJkQ29tcG9uZW50LnJlc2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEZpbGVVcGxvYWQoKSB7XG4gICAgdGhpcy51cGxvYWRDYW5jZWxlZCA9IHRydWU7XG4gICAgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmNhbmNlbEFwcENyZWF0aW9uKHRoaXMuY3JlYXRlZEFwcCk7XG4gICAgdGhpcy5jcmVhdGVkQXBwID0gbnVsbDtcbiAgfVxufVxuIiwiPGM4eS13aXphcmQtaGVhZGVyPlxuICA8aSBbYzh5SWNvbl09XCJoZWFkZXJJY29uXCI+PC9pPlxuICA8aDQgaWQ9XCJtb2RhbC10aXRsZVwiPnt7IGhlYWRlclRleHQgfCB0cmFuc2xhdGUgfX08L2g0PlxuPC9jOHktd2l6YXJkLWhlYWRlcj5cblxuPGM4eS13aXphcmQtYm9keT5cbiAgPHAgY2xhc3M9XCJwLTE2IHRleHQtY2VudGVyIHRleHQtbWVkaXVtIHNlcGFyYXRvci1ib3R0b20gc3RpY2t5LXRvcCBiZy1jb21wb25lbnRcIj5cbiAgICB7eyAnVXBsb2FkIGEgKi56aXAgZmlsZScgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICBjbGFzcz1cIm0tdC0xNiBtLWwtYXV0byBtLXItYXV0b1wiXG4gICAgc3R5bGU9XCJtYXgtd2lkdGg6IDI2NXB4XCJcbiAgICBpZD1cIm1vZGFsLWJvZHlcIlxuICAgICpuZ0lmPVwiIWlzQXBwQ3JlYXRlZDsgZWxzZSBhcHBDcmVhdGVkXCJcbiAgICBbaGFzRXJyb3JdPVwiISFlcnJvck1lc3NhZ2VcIlxuICA+XG4gICAgPGM4eS1kcm9wLWFyZWFcbiAgICAgIGNsYXNzPVwiZHJvcC1hcmVhXCJcbiAgICAgIChkcm9wcGVkKT1cIm9uRmlsZURyb3BwZWRFdmVudCgkZXZlbnQpXCJcbiAgICAgIFthY2NlcHRdPVwiJy56aXAnXCJcbiAgICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgICBbbWF4QWxsb3dlZEZpbGVzXT1cIjFcIlxuICAgICAgW3Byb2dyZXNzXT1cInByb2dyZXNzIHwgYXN5bmNcIlxuICAgID48L2M4eS1kcm9wLWFyZWE+XG4gICAgPGM4eS1tZXNzYWdlcz5cbiAgICAgIDxjOHktbWVzc2FnZSAqbmdJZj1cImVycm9yTWVzc2FnZVwiPlxuICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYzh5LW1lc3NhZ2U+XG4gICAgPC9jOHktbWVzc2FnZXM+XG4gIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrXCIgKm5nSWY9XCJhcHBsaWNhdGlvblR5cGUgPT09ICdwYWNrYWdlJ1wiPlxuICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cIm0tci04IGQtaW5saW5lLWJsb2NrXCJcbiAgICAgICAgaWQ9XCJhdmFpbGFiaWxpdHlTZWxlY3RvckxhYmVsXCJcbiAgICAgICAgZm9yPVwiYXZhaWxhYmlsaXR5U2VsZWN0b3JcIlxuICAgICAgPlxuICAgICAgICB7eyAnU2VsZWN0IGV4dGVuc2lvbiBhdmFpbGFiaWxpdHknIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ0bi1oZWxwIGJ0bi1oZWxwLS1zbVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3BvcG92ZXJdPVwiYXZhaWxhYmlsaXR5SGVscFBvcG92ZXJcIlxuICAgICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICB0cmlnZ2Vycz1cImZvY3VzXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8ZGl2IGNsYXNzPVwiYzh5LXNlbGVjdC13cmFwcGVyXCI+XG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgaWQ9XCJhdmFpbGFiaWxpdHlTZWxlY3RvclwiXG4gICAgICAgICAgbmFtZT1cImF2YWlsYWJpbGl0eVNlbGVjdG9yXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQXZhaWxhYmlsaXR5XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhdmFpbGFiaWxpdHkgb2YgcGFja2FnZUF2YWlsYWJpbGl0eS5hdmFpbGFiaWxpdGllc1wiXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJhdmFpbGFiaWxpdHkudmFsdWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGF2YWlsYWJpbGl0eS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2FwcENyZWF0ZWQ+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlciBqLWMtY2VudGVyXCJcbiAgICAgIHN0eWxlPVwibWluLWhlaWdodDogMjg1cHhcIlxuICAgID5cbiAgICAgIDxjOHktb3BlcmF0aW9uLXJlc3VsdFxuICAgICAgICBjbGFzcz1cImxlYWRcIlxuICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXG4gICAgICAgIHRleHQ9XCJ7eyBzdWNjZXNzVGV4dCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIFt2ZXJ0aWNhbF09XCJ0cnVlXCJcbiAgICAgICAgW3NpemVdPVwiODRcIlxuICAgICAgPjwvYzh5LW9wZXJhdGlvbi1yZXN1bHQ+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjYXZhaWxhYmlsaXR5SGVscFBvcG92ZXI+XG4gICAgPGRpdiBbaW5uZXJIdG1sXT1cImF2YWlsYWJpbGl0eUhlbHBQb3BvdmVyVGV4dCB8IHRyYW5zbGF0ZVwiPjwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9jOHktd2l6YXJkLWJvZHk+XG5cbjxjOHktd2l6YXJkLWZvb3Rlcj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICB0aXRsZT1cInt7ICdCYWNrJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgKm5nSWY9XCIhaXNBcHBDcmVhdGVkICYmIGNhbkdvQmFja1wiXG4gICAgdHJhbnNsYXRlXG4gID5cbiAgICBCYWNrXG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgIHRpdGxlPVwie3sgJ0NhbmNlbCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgKm5nSWY9XCIhaXNBcHBDcmVhdGVkXCJcbiAgICB0cmFuc2xhdGVcbiAgPlxuICAgIENhbmNlbFxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICB0aXRsZT1cInt7ICdEb25lJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImRvbmUoKVwiXG4gICAgKm5nSWY9XCJpc0FwcENyZWF0ZWRcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgRG9uZVxuICA8L2J1dHRvbj5cbiAgPGFcbiAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgdGl0bGU9XCJ7eyAnT3BlbicgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgKm5nSWY9XCJpc0FwcENyZWF0ZWQgJiYgY2FuT3BlbkluQnJvd3NlclwiXG4gICAgW2hyZWZdPVwiZ2V0SHJlZihjcmVhdGVkQXBwKVwiXG4gICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gID5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICBjOHlJY29uPVwiZXh0ZXJuYWwtbGlua1wiXG4gICAgPjwvaT5cbiAgICB7eyAnT3BlbicgfCB0cmFuc2xhdGUgfX1cbiAgPC9hPlxuPC9jOHktd2l6YXJkLWZvb3Rlcj5cbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFwcGxpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9zaGFyZWQvYWRkLWFwcGxpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9zaGFyZWQvYWRkLWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztBQU81RSxNQUFNLE9BQU8sdUJBQXVCO0lBd0JsQyxZQUNVLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLG1CQUErQztRQUwvQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQXhCaEQsY0FB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QUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OEdBbEdVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtYQVN2QixpQkFBaUIsZ0RDdkI5Qix5K0dBa0lBOzsyRkRwSGEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQjt1UEFJdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRXdCLGlCQUFpQjtzQkFBOUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uU2VydmljZSwgSUFwcGxpY2F0aW9uLCBBcHBsaWNhdGlvbkF2YWlsYWJpbGl0eSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgRHJvcEFyZWFDb21wb25lbnQsIFdpemFyZENvbXBvbmVudCwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY29zeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9lY29zeXN0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBFUlJPUl9NRVNTQUdFUyB9IGZyb20gJy4vZWNvc3lzdGVtLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBQYWNrYWdlQXZhaWxhYmlsaXR5U2VydmljZSB9IGZyb20gJy4vcGFja2FnZS1hdmFpbGFiaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBTdXBwb3J0ZWRJY29uc1N1Z2dlc3Rpb25zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pY29uLXNlbGVjdG9yL2ljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFkZC1hcHBsaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtYXBwbGljYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkZEFwcGxpY2F0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGVyVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBoZWFkZXJJY29uOiBTdXBwb3J0ZWRJY29uc1N1Z2dlc3Rpb25zO1xuICBASW5wdXQoKSBzdWNjZXNzVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBjcmVhdGVBcHBsaWNhdGlvbkhhbmRsZXI6IGFueTtcbiAgQElucHV0KCkgdXBsb2FkQXBwbGljYXRpb25IYW5kbGVyOiBhbnk7XG4gIEBJbnB1dCgpIGNhbkdvQmFjayA9IGZhbHNlO1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblR5cGU6ICdhcHBsaWNhdGlvbicgfCAncGFja2FnZScgPSAnYXBwbGljYXRpb24nO1xuXG4gIEBWaWV3Q2hpbGQoRHJvcEFyZWFDb21wb25lbnQpIGRyb3BBcmVhQ29tcG9uZW50O1xuXG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaXNBcHBDcmVhdGVkOiBib29sZWFuO1xuICBjcmVhdGVkQXBwOiBJQXBwbGljYXRpb247XG4gIGNhbk9wZW5JbkJyb3dzZXIgPSBmYWxzZTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHNlbGVjdGVkQXZhaWxhYmlsaXR5ID0gQXBwbGljYXRpb25BdmFpbGFiaWxpdHkuUFJJVkFURTtcbiAgYXZhaWxhYmlsaXR5SGVscFBvcG92ZXJUZXh0ID0gZ2V0dGV4dChgXG4gICAgICA8cCBjbGFzcz1cIm0tYi04XCI+PGI+U2hhcmVkPC9iPiBhdmFpbGFiaWxpdHkgd2lsbCBtYWtlIHRoZSBwYWNrYWdlIGF2YWlsYWJsZSB0byBhbGwgc3VidGVuYW50cyB3aXRob3V0IGV4cGxpY2l0bHkgc3Vic2NyaWJpbmcgdGhlIHBhY2thZ2UuPC9wPlxuICAgICAgPHAgY2xhc3M9XCJtLWItOFwiPjxiPk1hcmtldDwvYj4gYXZhaWxhYmlsaXR5IHdpbGwgbWFrZSB0aGUgcGFja2FnZSBhdmFpbGFibGUgdG8geW91ciBvd24gdGVuYW50IGFuZCBuZWVkcyB0byBiZSBzdWJzY3JpYmVkIHRvIHN1YnRlbmFudHMgaW5kaXZpZHVhbGx5LjwvcD5cbiAgICAgIDxwIGNsYXNzPVwibS1iLThcIj48Yj5Qcml2YXRlPC9iPiBhdmFpbGFiaWxpdHkgd2lsbCBtYWtlIHRoZSBwYWNrYWdlIG9ubHkgYXZhaWxhYmxlIHRvIHlvdXIgb3duIHRlbmFudC48L3A+XG4gIGApO1xuICBwcml2YXRlIHVwbG9hZENhbmNlbGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlY29zeXN0ZW1TZXJ2aWNlOiBFY29zeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHdpemFyZENvbXBvbmVudDogV2l6YXJkQ29tcG9uZW50LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBhY2thZ2VBdmFpbGFiaWxpdHk6IFBhY2thZ2VBdmFpbGFiaWxpdHlTZXJ2aWNlXG4gICkge31cblxuICBnZXQgcHJvZ3Jlc3MoKTogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmVjb3N5c3RlbVNlcnZpY2UucHJvZ3Jlc3M7XG4gIH1cblxuICBvbkZpbGVEcm9wcGVkRXZlbnQoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlsZSA9IGV2ZW50WzBdLmZpbGU7XG4gICAgICB0aGlzLm9uRmlsZShmaWxlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBvbkZpbGUoZmlsZTogRmlsZSkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5wcm9ncmVzcy5uZXh0KDApO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY3JlYXRlZEFwcCA9IGF3YWl0IHRoaXMuY3JlYXRlQXBwbGljYXRpb25IYW5kbGVyKGZpbGUpO1xuICAgICAgaWYgKHRoaXMuYXBwbGljYXRpb25UeXBlID09PSAncGFja2FnZScpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVkQXBwID0gYXdhaXQgdGhpcy5wYWNrYWdlQXZhaWxhYmlsaXR5LnNldEF2YWlsYWJpbGl0eShcbiAgICAgICAgICB0aGlzLmNyZWF0ZWRBcHAsXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEF2YWlsYWJpbGl0eVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy51cGxvYWRBcHBsaWNhdGlvbkhhbmRsZXIoZmlsZSwgdGhpcy5jcmVhdGVkQXBwKTtcbiAgICAgIHRoaXMuY2FuT3BlbkluQnJvd3NlciA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5jYW5PcGVuQXBwSW5Ccm93c2VyKHRoaXMuY3JlYXRlZEFwcCk7XG4gICAgICB0aGlzLmlzQXBwQ3JlYXRlZCA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHRoaXMuZWNvc3lzdGVtU2VydmljZS5jYW5jZWxBcHBDcmVhdGlvbih0aGlzLmNyZWF0ZWRBcHApO1xuICAgICAgdGhpcy5jcmVhdGVkQXBwID0gbnVsbDtcbiAgICAgIHRoaXMuZHJvcEFyZWFDb21wb25lbnQub25EZWxldGUoKTtcbiAgICAgIC8vIHByZXBhcmUgdHJhbnNsYXRpb24gb2Ygc3RhdGljIG1lc3NhZ2UgaWYgaXQgZXhpc3RzXG4gICAgICBjb25zdCBzdGF0aWNFcnJvck1lc3NhZ2UgPVxuICAgICAgICBFUlJPUl9NRVNTQUdFU1tleC5tZXNzYWdlXSAmJiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChFUlJPUl9NRVNTQUdFU1tleC5tZXNzYWdlXSk7XG4gICAgICAvLyBpZiB0aGVyZSBpcyBubyBzdGF0aWMgbWVzc2FnZSwgdXNlIGR5bmFtaWMgb25lIGZyb20gdGhlIGV4Y2VwdGlvblxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBzdGF0aWNFcnJvck1lc3NhZ2UgPz8gZXgubWVzc2FnZTtcbiAgICAgIGlmICghdGhpcy5lcnJvck1lc3NhZ2UgJiYgIXRoaXMudXBsb2FkQ2FuY2VsZWQpIHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShleCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucHJvZ3Jlc3MubmV4dCgxMDApO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBnZXRIcmVmKGFwcDogSUFwcGxpY2F0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZ2V0SHJlZihhcHApO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsRmlsZVVwbG9hZCgpO1xuICAgIHRoaXMud2l6YXJkQ29tcG9uZW50LmNsb3NlKCk7XG4gIH1cblxuICBkb25lKCkge1xuICAgIHRoaXMud2l6YXJkQ29tcG9uZW50LmNsb3NlKCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMud2l6YXJkQ29tcG9uZW50LnJlc2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEZpbGVVcGxvYWQoKSB7XG4gICAgdGhpcy51cGxvYWRDYW5jZWxlZCA9IHRydWU7XG4gICAgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmNhbmNlbEFwcENyZWF0aW9uKHRoaXMuY3JlYXRlZEFwcCk7XG4gICAgdGhpcy5jcmVhdGVkQXBwID0gbnVsbDtcbiAgfVxufVxuIiwiPGM4eS13aXphcmQtaGVhZGVyPlxuICA8aSBbYzh5SWNvbl09XCJoZWFkZXJJY29uXCI+PC9pPlxuICA8aDQgaWQ9XCJtb2RhbC10aXRsZVwiPnt7IGhlYWRlclRleHQgfCB0cmFuc2xhdGUgfX08L2g0PlxuPC9jOHktd2l6YXJkLWhlYWRlcj5cblxuPGM4eS13aXphcmQtYm9keT5cbiAgPHAgY2xhc3M9XCJwLTE2IHRleHQtY2VudGVyIHRleHQtbWVkaXVtIHNlcGFyYXRvci1ib3R0b20gc3RpY2t5LXRvcCBiZy1jb21wb25lbnRcIj5cbiAgICB7eyAnVXBsb2FkIGEgKi56aXAgZmlsZScgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICBjbGFzcz1cIm0tdC0xNiBtLWwtYXV0byBtLXItYXV0b1wiXG4gICAgc3R5bGU9XCJtYXgtd2lkdGg6IDI2NXB4XCJcbiAgICBpZD1cIm1vZGFsLWJvZHlcIlxuICAgICpuZ0lmPVwiIWlzQXBwQ3JlYXRlZDsgZWxzZSBhcHBDcmVhdGVkXCJcbiAgICBbaGFzRXJyb3JdPVwiISFlcnJvck1lc3NhZ2VcIlxuICA+XG4gICAgPGM4eS1kcm9wLWFyZWFcbiAgICAgIGNsYXNzPVwiZHJvcC1hcmVhXCJcbiAgICAgIChkcm9wcGVkKT1cIm9uRmlsZURyb3BwZWRFdmVudCgkZXZlbnQpXCJcbiAgICAgIFthY2NlcHRdPVwiJy56aXAnXCJcbiAgICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgICBbbWF4QWxsb3dlZEZpbGVzXT1cIjFcIlxuICAgICAgW3Byb2dyZXNzXT1cInByb2dyZXNzIHwgYXN5bmNcIlxuICAgID48L2M4eS1kcm9wLWFyZWE+XG4gICAgPGM4eS1tZXNzYWdlcz5cbiAgICAgIDxjOHktbWVzc2FnZSAqbmdJZj1cImVycm9yTWVzc2FnZVwiPlxuICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYzh5LW1lc3NhZ2U+XG4gICAgPC9jOHktbWVzc2FnZXM+XG4gIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrXCIgKm5nSWY9XCJhcHBsaWNhdGlvblR5cGUgPT09ICdwYWNrYWdlJ1wiPlxuICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cIm0tci04IGQtaW5saW5lLWJsb2NrXCJcbiAgICAgICAgaWQ9XCJhdmFpbGFiaWxpdHlTZWxlY3RvckxhYmVsXCJcbiAgICAgICAgZm9yPVwiYXZhaWxhYmlsaXR5U2VsZWN0b3JcIlxuICAgICAgPlxuICAgICAgICB7eyAnU2VsZWN0IGV4dGVuc2lvbiBhdmFpbGFiaWxpdHknIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ0bi1oZWxwIGJ0bi1oZWxwLS1zbVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3BvcG92ZXJdPVwiYXZhaWxhYmlsaXR5SGVscFBvcG92ZXJcIlxuICAgICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICB0cmlnZ2Vycz1cImZvY3VzXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8ZGl2IGNsYXNzPVwiYzh5LXNlbGVjdC13cmFwcGVyXCI+XG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgaWQ9XCJhdmFpbGFiaWxpdHlTZWxlY3RvclwiXG4gICAgICAgICAgbmFtZT1cImF2YWlsYWJpbGl0eVNlbGVjdG9yXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQXZhaWxhYmlsaXR5XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhdmFpbGFiaWxpdHkgb2YgcGFja2FnZUF2YWlsYWJpbGl0eS5hdmFpbGFiaWxpdGllc1wiXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJhdmFpbGFiaWxpdHkudmFsdWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGF2YWlsYWJpbGl0eS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2FwcENyZWF0ZWQ+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlciBqLWMtY2VudGVyXCJcbiAgICAgIHN0eWxlPVwibWluLWhlaWdodDogMjg1cHhcIlxuICAgID5cbiAgICAgIDxjOHktb3BlcmF0aW9uLXJlc3VsdFxuICAgICAgICBjbGFzcz1cImxlYWRcIlxuICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXG4gICAgICAgIHRleHQ9XCJ7eyBzdWNjZXNzVGV4dCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIFt2ZXJ0aWNhbF09XCJ0cnVlXCJcbiAgICAgICAgW3NpemVdPVwiODRcIlxuICAgICAgPjwvYzh5LW9wZXJhdGlvbi1yZXN1bHQ+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjYXZhaWxhYmlsaXR5SGVscFBvcG92ZXI+XG4gICAgPGRpdiBbaW5uZXJIdG1sXT1cImF2YWlsYWJpbGl0eUhlbHBQb3BvdmVyVGV4dCB8IHRyYW5zbGF0ZVwiPjwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9jOHktd2l6YXJkLWJvZHk+XG5cbjxjOHktd2l6YXJkLWZvb3Rlcj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICB0aXRsZT1cInt7ICdCYWNrJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgKm5nSWY9XCIhaXNBcHBDcmVhdGVkICYmIGNhbkdvQmFja1wiXG4gICAgdHJhbnNsYXRlXG4gID5cbiAgICBCYWNrXG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgIHRpdGxlPVwie3sgJ0NhbmNlbCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgKm5nSWY9XCIhaXNBcHBDcmVhdGVkXCJcbiAgICB0cmFuc2xhdGVcbiAgPlxuICAgIENhbmNlbFxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICB0aXRsZT1cInt7ICdEb25lJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImRvbmUoKVwiXG4gICAgKm5nSWY9XCJpc0FwcENyZWF0ZWRcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgRG9uZVxuICA8L2J1dHRvbj5cbiAgPGFcbiAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgdGl0bGU9XCJ7eyAnT3BlbicgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgKm5nSWY9XCJpc0FwcENyZWF0ZWQgJiYgY2FuT3BlbkluQnJvd3NlclwiXG4gICAgW2hyZWZdPVwiZ2V0SHJlZihjcmVhdGVkQXBwKVwiXG4gICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gID5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICBjOHlJY29uPVwiZXh0ZXJuYWwtbGlua1wiXG4gICAgPjwvaT5cbiAgICB7eyAnT3BlbicgfCB0cmFuc2xhdGUgfX1cbiAgPC9hPlxuPC9jOHktd2l6YXJkLWZvb3Rlcj5cbiJdfQ==
|