@alauda-fe/common 1.4.31-beta.2 → 1.4.31-prod.1
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/abnormal-page/abnormal-page.component.d.ts.map +1 -0
- package/abnormal-page/abnormal-page.module.d.ts.map +1 -0
- package/abnormal-page/public-api.d.ts.map +1 -0
- package/alauda-fe-common.d.ts.map +1 -0
- package/api/acp-common-api.service.d.ts.map +1 -0
- package/api/api-compatible.interceptor.d.ts.map +1 -0
- package/api/api-gateway.interceptor.d.ts.map +1 -0
- package/api/api-gateway.service.d.ts.map +1 -0
- package/api/auth-api.service.d.ts.map +1 -0
- package/api/cluster-version.service.d.ts.map +1 -0
- package/api/crypto.interceptor.d.ts.map +1 -0
- package/api/helpers.d.ts.map +1 -0
- package/api/k8s-api-resource.service.d.ts.map +1 -0
- package/api/k8s-api.service.d.ts.map +1 -0
- package/api/page-visibility.service.d.ts.map +1 -0
- package/api/platform-ui.service.d.ts.map +1 -0
- package/api/product.service.d.ts.map +1 -0
- package/api/project-api.service.d.ts.map +1 -0
- package/api/public-api.d.ts.map +1 -0
- package/api/resource-update.service.d.ts.map +1 -0
- package/api/types.d.ts.map +1 -0
- package/array-form-table/base-string-map-form.component.d.ts.map +1 -0
- package/array-form-table/form/component.d.ts +1 -1
- package/array-form-table/form/component.d.ts.map +1 -0
- package/array-form-table/form/module.d.ts.map +1 -0
- package/array-form-table/key-value-form/component.d.ts.map +1 -0
- package/array-form-table/key-value-table/component.d.ts.map +1 -0
- package/array-form-table/public-api.d.ts.map +1 -0
- package/array-form-table/string-array-form/component.d.ts.map +1 -0
- package/async-data/async-data-loader.d.ts.map +1 -0
- package/async-data/async-data.module.d.ts.map +1 -0
- package/async-data/error-page/component.d.ts.map +1 -0
- package/async-data/page-state/component.d.ts.map +1 -0
- package/async-data/public-api.d.ts.map +1 -0
- package/async-data/types.d.ts.map +1 -0
- package/authorization/app-init-url.d.ts.map +1 -0
- package/authorization/authorization.d.ts +3 -12
- package/authorization/authorization.d.ts.map +1 -0
- package/authorization/constants.d.ts +2 -0
- package/authorization/constants.d.ts.map +1 -0
- package/authorization/guard.service.d.ts.map +1 -0
- package/authorization/interceptor.service.d.ts +5 -3
- package/authorization/interceptor.service.d.ts.map +1 -0
- package/authorization/public-api.d.ts +1 -0
- package/authorization/public-api.d.ts.map +1 -0
- package/authorization/runtime.d.ts +33 -0
- package/authorization/runtime.d.ts.map +1 -0
- package/authorization/session-manage.service.d.ts +0 -2
- package/authorization/session-manage.service.d.ts.map +1 -0
- package/authorization/state.service.d.ts +7 -12
- package/authorization/state.service.d.ts.map +1 -0
- package/authorization/storage-token.d.ts.map +1 -0
- package/authorization/token-client.d.ts +48 -0
- package/business/notification-disabled-container/component.d.ts.map +1 -0
- package/business/notification-disabled-container/public-api.d.ts.map +1 -0
- package/business/public-api.d.ts.map +1 -0
- package/business/resource-select/base-list.d.ts.map +1 -0
- package/business/resource-select/context.service.d.ts.map +1 -0
- package/business/resource-select/exports/cluster-list/component.d.ts +1 -1
- package/business/resource-select/exports/cluster-list/component.d.ts.map +1 -0
- package/business/resource-select/exports/cluster-selector/component.d.ts.map +1 -0
- package/business/resource-select/exports/icon/component.d.ts.map +1 -0
- package/business/resource-select/exports/mesh-group-selector/component.d.ts.map +1 -0
- package/business/resource-select/exports/namespace-list/component.d.ts.map +1 -0
- package/business/resource-select/exports/namespace-page/component.d.ts.map +1 -0
- package/business/resource-select/exports/namespace-selector/component.d.ts.map +1 -0
- package/business/resource-select/exports/project-list/component.d.ts.map +1 -0
- package/business/resource-select/exports/project-page/component.d.ts.map +1 -0
- package/business/resource-select/exports/project-selector/component.d.ts.map +1 -0
- package/business/resource-select/helpers.directive.d.ts.map +1 -0
- package/business/resource-select/internals/data-grid/component.d.ts.map +1 -0
- package/business/resource-select/internals/meshgroup-list/component.d.ts.map +1 -0
- package/business/resource-select/internals/no-data/component.d.ts.map +1 -0
- package/business/resource-select/internals/resource-dashboard/component.d.ts.map +1 -0
- package/business/resource-select/internals/selector-popup/component.d.ts.map +1 -0
- package/business/resource-select/internals/selector-popup/ref.d.ts.map +1 -0
- package/business/resource-select/internals/selector-popup/service.d.ts.map +1 -0
- package/business/resource-select/module.d.ts.map +1 -0
- package/business/resource-select/project.service.d.ts.map +1 -0
- package/business/resource-select/public-api.d.ts.map +1 -0
- package/business/resource-select/types.d.ts.map +1 -0
- package/business/resource-select/utils.d.ts.map +1 -0
- package/chart/chart.module.d.ts.map +1 -0
- package/chart/chart.service.d.ts.map +1 -0
- package/chart/common/axis/axis-label.component.d.ts.map +1 -0
- package/chart/common/axis/x-axis-ticks.component.d.ts.map +1 -0
- package/chart/common/axis/x-axis.component.d.ts.map +1 -0
- package/chart/common/axis/x-plot-lines.component.d.ts.map +1 -0
- package/chart/common/axis/y-axis-ticks.component.d.ts.map +1 -0
- package/chart/common/axis/y-axis.component.d.ts.map +1 -0
- package/chart/common/axis/y-plot-lines.component.d.ts.map +1 -0
- package/chart/common/chart/chart.component.d.ts.map +1 -0
- package/chart/common/legend/legend.component.d.ts.map +1 -0
- package/chart/common/public-api.d.ts.map +1 -0
- package/chart/common/range-area/range-area.component.d.ts.map +1 -0
- package/chart/common/reference-area/reference-area.component.d.ts.map +1 -0
- package/chart/common/series/area-series.component.d.ts.map +1 -0
- package/chart/common/series/bar-path.component.d.ts.map +1 -0
- package/chart/common/series/bar-series.component.d.ts.map +1 -0
- package/chart/common/series/line-series.component.d.ts.map +1 -0
- package/chart/common/series/series.component.d.ts.map +1 -0
- package/chart/common/tooltip/tooltip.component.d.ts.map +1 -0
- package/chart/constants.d.ts.map +1 -0
- package/chart/custom-template/dropdown-legend.d.ts.map +1 -0
- package/chart/public-api.d.ts.map +1 -0
- package/chart/types.d.ts.map +1 -0
- package/chart/utils.d.ts.map +1 -0
- package/code/code-display-dialog/component.d.ts.map +1 -0
- package/code/code-editor-configs.d.ts.map +1 -0
- package/code/code.module.d.ts.map +1 -0
- package/code/k8s-yaml-display-dialog/component.d.ts.map +1 -0
- package/code/managed-fields-folder.util.d.ts.map +1 -0
- package/code/public-api.d.ts.map +1 -0
- package/code/resource-yaml-display/component.d.ts.map +1 -0
- package/code/resource-yaml-editor/component.d.ts.map +1 -0
- package/code/yaml-examples.d.ts.map +1 -0
- package/code/yaml-sidebar/component.d.ts.map +1 -0
- package/code/yaml-sidebar/types.d.ts.map +1 -0
- package/core/abstract/base-form-container.d.ts.map +1 -0
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/abstract/base-nested-form-control.d.ts.map +1 -0
- package/core/abstract/public-api.d.ts.map +1 -0
- package/core/components/public-api.d.ts.map +1 -0
- package/core/components/tree/module.d.ts.map +1 -0
- package/core/components/tree/node/component.d.ts.map +1 -0
- package/core/components/tree/outlet.d.ts.map +1 -0
- package/core/components/tree/padding.d.ts.map +1 -0
- package/core/components/tree/toggle.d.ts.map +1 -0
- package/core/components/tree/tree/component.d.ts.map +1 -0
- package/core/constants/constants.d.ts.map +1 -0
- package/core/constants/patterns.d.ts.map +1 -0
- package/core/constants/public-api.d.ts.map +1 -0
- package/core/constants/status-icons.d.ts.map +1 -0
- package/core/constants/timezones.d.ts.map +1 -0
- package/core/constants/tokens.d.ts.map +1 -0
- package/core/directives/aui-code-editor.directive.d.ts.map +1 -0
- package/core/directives/click-outside.directive.d.ts.map +1 -0
- package/core/directives/declare.directive.d.ts.map +1 -0
- package/core/directives/disabled.directive.d.ts.map +1 -0
- package/core/directives/feature-gate.directive.d.ts.map +1 -0
- package/core/directives/intercept-deactivate.directive.d.ts.map +1 -0
- package/core/directives/last-form-item.directive.d.ts.map +1 -0
- package/core/directives/page-header-content.directive.d.ts.map +1 -0
- package/core/directives/public-api.d.ts.map +1 -0
- package/core/directives/readonly-field.directive.d.ts.map +1 -0
- package/core/directives/resize.directive.d.ts.map +1 -0
- package/core/directives/scroll-border-observer.directive.d.ts.map +1 -0
- package/core/directives/scroll-to-first-invalid.directive.d.ts.map +1 -0
- package/core/guards/feature.guard.d.ts.map +1 -0
- package/core/guards/intercept-deactivate.guard.d.ts.map +1 -0
- package/core/guards/leave-edit-page.guard.d.ts.map +1 -0
- package/core/guards/project-namespace.guard.d.ts.map +1 -0
- package/core/guards/public-api.d.ts.map +1 -0
- package/core/module.d.ts.map +1 -0
- package/core/pipes/calc.pipe.d.ts.map +1 -0
- package/core/pipes/cron-human-readable.pipe.d.ts.map +1 -0
- package/core/pipes/crontab-next.pipe.d.ts.map +1 -0
- package/core/pipes/duration.pipe.d.ts.map +1 -0
- package/core/pipes/field-not-available.pipe.d.ts.map +1 -0
- package/core/pipes/img-header.pipe.d.ts.map +1 -0
- package/core/pipes/img-theme.pipe.d.ts.map +1 -0
- package/core/pipes/k8s-util.pipe.d.ts.map +1 -0
- package/core/pipes/k8s-util.pipe.module.d.ts.map +1 -0
- package/core/pipes/keyvalue.pipe.d.ts.map +1 -0
- package/core/pipes/marked.pipe.d.ts.map +1 -0
- package/core/pipes/minimum-format.pipe.d.ts.map +1 -0
- package/core/pipes/page-env.pipe.d.ts.map +1 -0
- package/core/pipes/parse-json-translate.pipe.d.ts.map +1 -0
- package/core/pipes/parse-json.pipe.d.ts.map +1 -0
- package/core/pipes/public-api.d.ts.map +1 -0
- package/core/pipes/pure.pipe.d.ts.map +1 -0
- package/core/pipes/pure.pipe.module.d.ts.map +1 -0
- package/core/pipes/safe.pipe.d.ts.map +1 -0
- package/core/pipes/sanitize.pipe.d.ts.map +1 -0
- package/core/pipes/time.pipe.d.ts.map +1 -0
- package/core/pipes/timezone-display.pipe.d.ts.map +1 -0
- package/core/public-api.d.ts.map +1 -0
- package/core/services/aui-paginator-intl.service.d.ts.map +1 -0
- package/core/services/aui-tooltip-copy-intl.service.d.ts.map +1 -0
- package/core/services/context.service.d.ts.map +1 -0
- package/core/services/custom-code-editor-intl.service.d.ts.map +1 -0
- package/core/services/disaster-recovery.service.d.ts.map +1 -0
- package/core/services/encode-url-param.interceptor.d.ts.map +1 -0
- package/core/services/feature-gate.service.d.ts.map +1 -0
- package/core/services/form-row-duplicate/form-row-duplicate.service.d.ts.map +1 -0
- package/core/services/intercept-deactivate.service.d.ts.map +1 -0
- package/core/services/k8s-util.service.d.ts.map +1 -0
- package/core/services/kubernetes-schema.service.d.ts.map +1 -0
- package/core/services/on-resize.service.d.ts.map +1 -0
- package/core/services/plugin-util.service.d.ts.map +1 -0
- package/core/services/public-api.d.ts.map +1 -0
- package/core/services/silently-navigate.service.d.ts.map +1 -0
- package/core/services/time.service.d.ts.map +1 -0
- package/core/services/ui-state.service.d.ts.map +1 -0
- package/core/services/workspace-helper.service.d.ts.map +1 -0
- package/core/services/yaml-util.service.d.ts.map +1 -0
- package/core/types/commons.d.ts.map +1 -0
- package/core/types/helpers.d.ts.map +1 -0
- package/core/types/k8s/core.d.ts.map +1 -0
- package/core/types/k8s/crd.d.ts.map +1 -0
- package/core/types/k8s/public-api.d.ts.map +1 -0
- package/core/types/k8s/raw.d.ts.map +1 -0
- package/core/types/openapi.d.ts.map +1 -0
- package/core/types/public-api.d.ts.map +1 -0
- package/core/types/resource-definitions.d.ts.map +1 -0
- package/core/types/schema.d.ts.map +1 -0
- package/core/utils/browser.d.ts.map +1 -0
- package/core/utils/cache-store.d.ts.map +1 -0
- package/core/utils/color-helpers.d.ts.map +1 -0
- package/core/utils/common.d.ts.map +1 -0
- package/core/utils/create-recursive-filter.d.ts.map +1 -0
- package/core/utils/cron-util.d.ts.map +1 -0
- package/core/utils/decorators.d.ts.map +1 -0
- package/core/utils/dev-helpers.d.ts.map +1 -0
- package/core/utils/disabled-state.d.ts.map +1 -0
- package/core/utils/format-number.d.ts.map +1 -0
- package/core/utils/k8s-util.d.ts.map +1 -0
- package/core/utils/local-storage-constants.d.ts.map +1 -0
- package/core/utils/node.d.ts.map +1 -0
- package/core/utils/observable.d.ts.map +1 -0
- package/core/utils/operators.d.ts.map +1 -0
- package/core/utils/public-api.d.ts.map +1 -0
- package/core/utils/request-pool.d.ts.map +1 -0
- package/core/utils/resources.d.ts.map +1 -0
- package/core/utils/router.d.ts.map +1 -0
- package/core/utils/sort-fn.d.ts.map +1 -0
- package/core/utils/tree.d.ts.map +1 -0
- package/core/utils/unit.d.ts.map +1 -0
- package/core/utils/version.d.ts +1 -1
- package/core/utils/version.d.ts.map +1 -0
- package/core/utils/with-load-state.d.ts.map +1 -0
- package/core/utils/workload.d.ts.map +1 -0
- package/core/utils/workspace.d.ts.map +1 -0
- package/core/utils/yaml.d.ts.map +1 -0
- package/custom-columns-setting/component.d.ts.map +1 -0
- package/custom-columns-setting/public-api.d.ts.map +1 -0
- package/disabled-container/disabled-container.component.d.ts.map +1 -0
- package/disabled-container/disabled-container.module.d.ts.map +1 -0
- package/disabled-container/public-api.d.ts.map +1 -0
- package/editable/editable.component.d.ts.map +1 -0
- package/editable/editable.directive.d.ts.map +1 -0
- package/editable/editable.type.d.ts.map +1 -0
- package/editable/public-api.d.ts.map +1 -0
- package/editable-text/component.d.ts.map +1 -0
- package/editable-text/module.d.ts.map +1 -0
- package/editable-text/public-api.d.ts.map +1 -0
- package/effect-directive/coerce-number.directive.d.ts.map +1 -0
- package/effect-directive/e2e-attribute-binding.directive.d.ts.map +1 -0
- package/effect-directive/event.directive.d.ts.map +1 -0
- package/effect-directive/min-max.directive.d.ts.map +1 -0
- package/effect-directive/module.d.ts.map +1 -0
- package/effect-directive/public-api.d.ts.map +1 -0
- package/effect-directive/trim.directive.d.ts.map +1 -0
- package/effect-directive/validators.directive.d.ts.map +1 -0
- package/esm2022/abnormal-page/abnormal-page.component.mjs +6 -2
- package/esm2022/abnormal-page/abnormal-page.module.mjs +1 -6
- package/esm2022/authorization/authorization.mjs +82 -51
- package/esm2022/authorization/constants.mjs +3 -1
- package/esm2022/authorization/interceptor.service.mjs +67 -45
- package/esm2022/authorization/public-api.mjs +2 -1
- package/esm2022/authorization/runtime.mjs +96 -0
- package/esm2022/authorization/session-manage.service.mjs +3 -5
- package/esm2022/authorization/state.service.mjs +23 -64
- package/esm2022/authorization/token-client.mjs +101 -0
- package/esm2022/business/resource-select/exports/cluster-list/component.mjs +3 -2
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +7 -2
- package/esm2022/business/resource-select/exports/icon/component.mjs +4 -2
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +8 -2
- package/esm2022/business/resource-select/exports/namespace-list/component.mjs +12 -2
- package/esm2022/business/resource-select/exports/project-list/component.mjs +3 -2
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +12 -2
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +3 -2
- package/esm2022/business/resource-select/internals/no-data/component.mjs +6 -2
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +6 -2
- package/esm2022/business/resource-select/module.mjs +6 -26
- package/esm2022/chart/chart.module.mjs +6 -13
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +4 -2
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +4 -2
- package/esm2022/chart/common/series/area-series.component.mjs +4 -2
- package/esm2022/chart/common/series/bar-path.component.mjs +4 -2
- package/esm2022/chart/common/series/line-series.component.mjs +4 -2
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +7 -2
- package/esm2022/chart/custom-template/dropdown-legend.mjs +6 -2
- package/esm2022/core/constants/tokens.mjs +12 -12
- package/esm2022/editable-text/component.mjs +6 -2
- package/esm2022/editable-text/module.mjs +1 -6
- package/esm2022/exec/module.mjs +1 -9
- package/esm2022/exec/placeholder/component.mjs +4 -2
- package/esm2022/exec/terminal/component.mjs +6 -2
- package/esm2022/exec/terminal-group/component.mjs +7 -2
- package/esm2022/feature-gate-forbidden/component/component.mjs +7 -2
- package/esm2022/feature-gate-forbidden/module.mjs +1 -7
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +5 -2
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +1 -5
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +5 -2
- package/esm2022/graph-canvas/graph-canvas.module.mjs +1 -5
- package/esm2022/help-document/component.mjs +9 -2
- package/esm2022/help-document/module.mjs +1 -9
- package/esm2022/iframe-config/config.service.mjs +8 -2
- package/esm2022/k8s-resource-list/footer/component.mjs +5 -2
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +1 -5
- package/esm2022/license/license-error/component.mjs +11 -2
- package/esm2022/license/license-error/module.mjs +1 -11
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +11 -2
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +8 -2
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +1 -12
- package/esm2022/page-scaffold/page/page.component.mjs +5 -2
- package/esm2022/page-scaffold/page/page.module.mjs +1 -4
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +4 -2
- package/esm2022/page-scaffold/page-header/account-menu/module.mjs +1 -5
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +1 -11
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +7 -2
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +9 -2
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +5 -2
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +7 -2
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +9 -2
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +1 -12
- package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +1 -1
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +7 -2
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +1 -7
- package/esm2022/page-scaffold/page-header/module.mjs +1 -4
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +6 -9
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +9 -2
- package/esm2022/searchable-selector/component.mjs +8 -2
- package/esm2022/searchable-selector/module.mjs +1 -9
- package/esm2022/skeleton/item/component.mjs +4 -2
- package/esm2022/skeleton/module.mjs +1 -5
- package/esm2022/skeleton/nav-skeleton/component.mjs +4 -2
- package/esm2022/table/component.mjs +13 -2
- package/esm2022/table/module.mjs +1 -10
- package/esm2022/translate/i18n-assets-loader.mjs +12 -4
- package/esm2022/translate/i18n-config.mjs +2 -2
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +6 -2
- package/esm2022/view-chart/view-chart.component.mjs +6 -2
- package/esm2022/view-chart/view-chart.module.mjs +6 -8
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +6 -2
- package/esm2022/view-zchart/view-zchart.component.mjs +5 -2
- package/esm2022/view-zchart/view-zchart.module.mjs +6 -8
- package/exec/constants.d.ts.map +1 -0
- package/exec/module.d.ts +1 -1
- package/exec/module.d.ts.map +1 -0
- package/exec/placeholder/component.d.ts.map +1 -0
- package/exec/public-api.d.ts.map +1 -0
- package/exec/service.d.ts.map +1 -0
- package/exec/terminal/component.d.ts.map +1 -0
- package/exec/terminal-group/component.d.ts.map +1 -0
- package/exec/types.d.ts.map +1 -0
- package/feature-gate-forbidden/component/component.d.ts.map +1 -0
- package/feature-gate-forbidden/module.d.ts.map +1 -0
- package/feature-gate-forbidden/public-api.d.ts.map +1 -0
- package/form/directives/value-trace.directive.d.ts.map +1 -0
- package/form/errors-mapper/base-errors-mapper.d.ts.map +1 -0
- package/form/errors-mapper/default-errors-mapper.service.d.ts.map +1 -0
- package/form/errors-mapper/errors-mapper-component/component.d.ts.map +1 -0
- package/form/errors-mapper/errors-mapper.directive.d.ts.map +1 -0
- package/form/errors-mapper/errors-mapper.module.d.ts.map +1 -0
- package/form/errors-mapper/public-api.d.ts.map +1 -0
- package/form/errors-mapper/types.d.ts.map +1 -0
- package/form/labels-editor/component.d.ts.map +1 -0
- package/form/public-api.d.ts.map +1 -0
- package/form/taints-editor/component.d.ts.map +1 -0
- package/form/upload-file/component.d.ts.map +1 -0
- package/form/utils.d.ts.map +1 -0
- package/form/validators/async-function-validator.directive.d.ts +1 -1
- package/form/validators/async-function-validator.directive.d.ts.map +1 -0
- package/form/validators/dns1123-subdomain.d.ts.map +1 -0
- package/form/validators/function-validator.directive.d.ts.map +1 -0
- package/form/validators/maxlength-minlength-validator.directive.d.ts.map +1 -0
- package/form/validators/module.d.ts.map +1 -0
- package/form/validators/not-be-validator.directive.d.ts.map +1 -0
- package/form/validators/one-of-validator.directive.d.ts.map +1 -0
- package/form/validators/public-api.d.ts.map +1 -0
- package/form/validators/resource-limit.d.ts.map +1 -0
- package/form/validators/strong-password/public-api.d.ts.map +1 -0
- package/form/validators/strong-password/strong-password-tooltip/component.d.ts.map +1 -0
- package/form/validators/strong-password/strong-password-validator.directive.d.ts.map +1 -0
- package/form/validators/strong-password/strong-password-validator.module.d.ts.map +1 -0
- package/form/validators/utils.d.ts.map +1 -0
- package/graph-canvas/components/graph-actions.component.d.ts.map +1 -0
- package/graph-canvas/components/graph-canvas.component.d.ts.map +1 -0
- package/graph-canvas/components/graph-link.component.d.ts.map +1 -0
- package/graph-canvas/components/graph-links.component.d.ts.map +1 -0
- package/graph-canvas/components/graph-node.directive.d.ts.map +1 -0
- package/graph-canvas/graph-canvas.module.d.ts.map +1 -0
- package/graph-canvas/graph-store.service.d.ts.map +1 -0
- package/graph-canvas/public-api.d.ts.map +1 -0
- package/graph-canvas/types.d.ts.map +1 -0
- package/graph-canvas/utils.d.ts.map +1 -0
- package/grid-layout/components/grid/component.d.ts.map +1 -0
- package/grid-layout/components/grid-items/component.d.ts.map +1 -0
- package/grid-layout/constant.d.ts.map +1 -0
- package/grid-layout/directives/drag-handler.directive.d.ts.map +1 -0
- package/grid-layout/directives/placeholder.directive.d.ts.map +1 -0
- package/grid-layout/directives/remove-handler.directive.d.ts.map +1 -0
- package/grid-layout/directives/resize-handler.directive.d.ts.map +1 -0
- package/grid-layout/grid-layout.service.d.ts.map +1 -0
- package/grid-layout/grid-placeholder.service.d.ts.map +1 -0
- package/grid-layout/module.d.ts.map +1 -0
- package/grid-layout/public-api.d.ts.map +1 -0
- package/grid-layout/type.d.ts.map +1 -0
- package/grid-layout/utils/client-rect.utils.d.ts.map +1 -0
- package/grid-layout/utils/grid.utils.d.ts.map +1 -0
- package/grid-layout/utils/mouse.utils.d.ts.map +1 -0
- package/grid-layout/utils/operator.d.ts.map +1 -0
- package/grid-layout/utils/react-grid-layout.utils.d.ts.map +1 -0
- package/grid-layout/utils/scroll.utils.d.ts.map +1 -0
- package/help-document/component.d.ts.map +1 -0
- package/help-document/directive.d.ts.map +1 -0
- package/help-document/module.d.ts.map +1 -0
- package/help-document/public-api.d.ts.map +1 -0
- package/help-document/service.d.ts.map +1 -0
- package/iframe-config/config.service.d.ts.map +1 -0
- package/iframe-config/constants.d.ts.map +1 -0
- package/iframe-config/public-api.d.ts.map +1 -0
- package/k8s-resource-list/footer/component.d.ts.map +1 -0
- package/k8s-resource-list/k8s-resource-list.d.ts.map +1 -0
- package/k8s-resource-list/k8s-resource-list.module.d.ts.map +1 -0
- package/k8s-resource-list/k8s-resource-paged-list.d.ts.map +1 -0
- package/k8s-resource-list/public-api.d.ts.map +1 -0
- package/k8s-resource-list/types.d.ts.map +1 -0
- package/k8s-resource-list/utils.d.ts.map +1 -0
- package/k8s-shared/constants.d.ts.map +1 -0
- package/k8s-shared/k8s-resource-translate-key.pipe.d.ts.map +1 -0
- package/k8s-shared/k8s-shared-util.service.d.ts.map +1 -0
- package/k8s-shared/public-api.d.ts.map +1 -0
- package/k8s-shared/resource-mark/k8s-resource-mark.component.d.ts.map +1 -0
- package/k8s-shared/resource-mark/util.d.ts.map +1 -0
- package/k8s-shared/update-description-dialog/component.d.ts.map +1 -0
- package/k8s-shared/update-display-name-dialog/component.d.ts.map +1 -0
- package/k8s-shared/update-key-value-dialog/component.d.ts.map +1 -0
- package/lazy-component/lazy-load-component.d.ts.map +1 -0
- package/lazy-component/public-api.d.ts.map +1 -0
- package/lazy-component/visibility.service.d.ts.map +1 -0
- package/license/license-api.d.ts.map +1 -0
- package/license/license-error/component.d.ts.map +1 -0
- package/license/license-error/module.d.ts.map +1 -0
- package/license/license.guard.d.ts.map +1 -0
- package/license/license.service.d.ts.map +1 -0
- package/license/license.type.d.ts.map +1 -0
- package/license/public-api.d.ts.map +1 -0
- package/list-display/component.d.ts.map +1 -0
- package/list-display/public-api.d.ts.map +1 -0
- package/metric-chart/common-chart.service.d.ts.map +1 -0
- package/metric-chart/helpers.d.ts.map +1 -0
- package/metric-chart/metric-chart.component.d.ts.map +1 -0
- package/metric-chart/metric-chart.module.d.ts.map +1 -0
- package/metric-chart/metric-time-pick.d.ts.map +1 -0
- package/metric-chart/public-api.d.ts.map +1 -0
- package/metric-chart/types.d.ts.map +1 -0
- package/metric-chart/utils.d.ts.map +1 -0
- package/multi-search/action-input/component.d.ts.map +1 -0
- package/multi-search/form/component.d.ts.map +1 -0
- package/multi-search/multi-search-tags/component.d.ts.map +1 -0
- package/multi-search/public-api.d.ts.map +1 -0
- package/multi-search/types.d.ts.map +1 -0
- package/multi-search/utils.d.ts.map +1 -0
- package/mutable/element.d.ts.map +1 -0
- package/mutable/mosaic/mosaic.component.d.ts.map +1 -0
- package/mutable/mosaic/mosaic.directive.d.ts.map +1 -0
- package/mutable/mutable.directive.d.ts.map +1 -0
- package/mutable/mutable.module.d.ts.map +1 -0
- package/mutable/public-api.d.ts.map +1 -0
- package/mutable/util.d.ts.map +1 -0
- package/notification/errors-mapper.d.ts.map +1 -0
- package/notification/feedback-notification/component.d.ts.map +1 -0
- package/notification/helpers.d.ts.map +1 -0
- package/notification/notification-util.service.d.ts.map +1 -0
- package/notification/public-api.d.ts.map +1 -0
- package/notification/resource-error.interceptor.d.ts.map +1 -0
- package/overview-banner/overview-banner.component.d.ts.map +1 -0
- package/overview-banner/overview-banner.module.d.ts.map +1 -0
- package/overview-banner/overview-banner.types.d.ts.map +1 -0
- package/overview-banner/public-api.d.ts.map +1 -0
- package/package.json +1 -1
- package/page-guard/component/component.d.ts.map +1 -0
- package/page-guard/component/helper-directives.d.ts.map +1 -0
- package/page-guard/component/page-guard.type.d.ts.map +1 -0
- package/page-guard/module.d.ts.map +1 -0
- package/page-guard/public-api.d.ts.map +1 -0
- package/page-scaffold/module.d.ts.map +1 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts.map +1 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts.map +1 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb.service.d.ts.map +1 -0
- package/page-scaffold/navigation/breadcrumb/module.d.ts.map +1 -0
- package/page-scaffold/navigation/breadcrumb/public-api.d.ts.map +1 -0
- package/page-scaffold/navigation/lottie-icons/animation-data.d.ts.map +1 -0
- package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts.map +1 -0
- package/page-scaffold/navigation/lottie-icons/module.d.ts.map +1 -0
- package/page-scaffold/navigation/lottie-icons/public-api.d.ts.map +1 -0
- package/page-scaffold/navigation/lottie-icons/replace-lottie-colors.d.ts.map +1 -0
- package/page-scaffold/navigation/module.d.ts.map +1 -0
- package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts.map +1 -0
- package/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.d.ts.map +1 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.component.d.ts.map +1 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.module.d.ts.map +1 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts.map +1 -0
- package/page-scaffold/navigation/nav-menu/public-api.d.ts.map +1 -0
- package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts.map +1 -0
- package/page-scaffold/navigation/navconfig-loader/public-api.d.ts.map +1 -0
- package/page-scaffold/navigation/public-api.d.ts.map +1 -0
- package/page-scaffold/navigation/utils.d.ts.map +1 -0
- package/page-scaffold/page/context.service.d.ts.map +1 -0
- package/page-scaffold/page/helper-directives.d.ts.map +1 -0
- package/page-scaffold/page/notices/maintenance.component.d.ts.map +1 -0
- package/page-scaffold/page/notices/notice.component.d.ts.map +1 -0
- package/page-scaffold/page/page.component.d.ts.map +1 -0
- package/page-scaffold/page/page.module.d.ts.map +1 -0
- package/page-scaffold/page/public-api.d.ts.map +1 -0
- package/page-scaffold/page-header/account-menu/component/component.d.ts +0 -17
- package/page-scaffold/page-header/account-menu/component/component.d.ts.map +1 -0
- package/page-scaffold/page-header/account-menu/module.d.ts.map +1 -0
- package/page-scaffold/page-header/account-menu/public-api.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/common-layout.module.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/context.service.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/namespace-select/component.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/product-select/service.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/project-select/base-selection.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/public-api.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/store.service.d.ts.map +1 -0
- package/page-scaffold/page-header/common-layout/utils.d.ts.map +1 -0
- package/page-scaffold/page-header/component.d.ts.map +1 -0
- package/page-scaffold/page-header/enterprise-support-status/component.d.ts.map +1 -0
- package/page-scaffold/page-header/header-notify/component/header-notify.component.d.ts.map +1 -0
- package/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.d.ts.map +1 -0
- package/page-scaffold/page-header/header-notify/header-notify.module.d.ts.map +1 -0
- package/page-scaffold/page-header/header-notify/notify.service.d.ts.map +1 -0
- package/page-scaffold/page-header/header-notify/public-api.d.ts.map +1 -0
- package/page-scaffold/page-header/header-notify/utils.d.ts.map +1 -0
- package/page-scaffold/page-header/help-menu/component/component.d.ts.map +1 -0
- package/page-scaffold/page-header/help-menu/module.d.ts.map +1 -0
- package/page-scaffold/page-header/help-menu/public-api.d.ts.map +1 -0
- package/page-scaffold/page-header/module.d.ts.map +1 -0
- package/page-scaffold/page-header/public-api.d.ts.map +1 -0
- package/page-scaffold/public-api.d.ts.map +1 -0
- package/permission/constants.d.ts.map +1 -0
- package/permission/helpers.d.ts.map +1 -0
- package/permission/k8s-permission.service.d.ts.map +1 -0
- package/permission/permission.guard.d.ts.map +1 -0
- package/permission/public-api.d.ts.map +1 -0
- package/permission/types.d.ts.map +1 -0
- package/pie-derivative-chart/donut-status/component.d.ts.map +1 -0
- package/pie-derivative-chart/indicator-color.directive.d.ts.map +1 -0
- package/pie-derivative-chart/numerical-limit.pipe.d.ts.map +1 -0
- package/pie-derivative-chart/pie-derivative-chart.module.d.ts.map +1 -0
- package/pie-derivative-chart/public-api.d.ts.map +1 -0
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts.map +1 -0
- package/pie-derivative-chart/units.d.ts.map +1 -0
- package/pod-status/component.d.ts.map +1 -0
- package/pod-status/public-api.d.ts.map +1 -0
- package/pod-status/status.d.ts.map +1 -0
- package/pod-status/typings.d.ts.map +1 -0
- package/public-api.d.ts.map +1 -0
- package/searchable-selector/component.d.ts.map +1 -0
- package/searchable-selector/module.d.ts.map +1 -0
- package/searchable-selector/public-api.d.ts.map +1 -0
- package/skeleton/item/component.d.ts.map +1 -0
- package/skeleton/module.d.ts.map +1 -0
- package/skeleton/nav-skeleton/component.d.ts.map +1 -0
- package/skeleton/public-api.d.ts.map +1 -0
- package/table/component.d.ts.map +1 -0
- package/table/constants.d.ts.map +1 -0
- package/table/helper.d.ts +1 -1
- package/table/helper.d.ts.map +1 -0
- package/table/helpers.directive.d.ts.map +1 -0
- package/table/module.d.ts +1 -1
- package/table/module.d.ts.map +1 -0
- package/table/public-api.d.ts.map +1 -0
- package/table/types.d.ts.map +1 -0
- package/table/util.service.d.ts.map +1 -0
- package/translate/constants.d.ts.map +1 -0
- package/translate/helpers.d.ts.map +1 -0
- package/translate/i18n-assets-loader.d.ts.map +1 -0
- package/translate/i18n-config.d.ts.map +1 -0
- package/translate/intl-format.pipes.d.ts.map +1 -0
- package/translate/public-api.d.ts.map +1 -0
- package/translate/relative-time-manager.service.d.ts.map +1 -0
- package/translate/tokens.d.ts.map +1 -0
- package/translate/translate.directive.d.ts.map +1 -0
- package/translate/translate.module.d.ts.map +1 -0
- package/translate/translate.pipe.d.ts.map +1 -0
- package/translate/translate.service.d.ts.map +1 -0
- package/translate/types.d.ts.map +1 -0
- package/view-chart/custom-template/dropdown-legend.d.ts.map +1 -0
- package/view-chart/legend/legend.component.d.ts.map +1 -0
- package/view-chart/public-api.d.ts.map +1 -0
- package/view-chart/types.d.ts.map +1 -0
- package/view-chart/view-chart.component.d.ts +1 -1
- package/view-chart/view-chart.component.d.ts.map +1 -0
- package/view-chart/view-chart.module.d.ts.map +1 -0
- package/view-zchart/custom-template/dropdown-legend.d.ts.map +1 -0
- package/view-zchart/legend/legend.component.d.ts.map +1 -0
- package/view-zchart/public-api.d.ts.map +1 -0
- package/view-zchart/types.d.ts.map +1 -0
- package/view-zchart/units.d.ts.map +1 -0
- package/view-zchart/view-zchart.component.d.ts.map +1 -0
- package/view-zchart/view-zchart.module.d.ts.map +1 -0
- package/widget/card-section/card-section.component.d.ts.map +1 -0
- package/widget/confirm-delete/confirm-delete.component.d.ts.map +1 -0
- package/widget/confirm-delete/utils.d.ts.map +1 -0
- package/widget/current-time/component.d.ts.map +1 -0
- package/widget/date-range-picker/component.d.ts.map +1 -0
- package/widget/date-range-picker/public-api.d.ts.map +1 -0
- package/widget/date-range-picker/type.d.ts.map +1 -0
- package/widget/date-range-picker/util.d.ts.map +1 -0
- package/widget/field-set/column/component.d.ts.map +1 -0
- package/widget/field-set/group/component.d.ts.map +1 -0
- package/widget/field-set/index.d.ts.map +1 -0
- package/widget/field-set/item/component.d.ts.map +1 -0
- package/widget/foldable-block/component.d.ts.map +1 -0
- package/widget/foldable-item-in-table/component.d.ts.map +1 -0
- package/widget/loading-mask/loading-mask.component.d.ts.map +1 -0
- package/widget/password-input/component.d.ts.map +1 -0
- package/widget/public-api.d.ts.map +1 -0
- package/widget/relative-time/component.d.ts.map +1 -0
- package/widget/resource-label/component.d.ts.map +1 -0
- package/widget/resource-multi-select/component.d.ts.map +1 -0
- package/widget/resource-multi-select/util.d.ts.map +1 -0
- package/widget/search-panel/component.d.ts.map +1 -0
- package/widget/search-panel/helper.directive.d.ts.map +1 -0
- package/widget/search-panel/search-item/component.d.ts.map +1 -0
- package/widget/select-prefix-label/directive.d.ts.map +1 -0
- package/widget/status-icon/status-icon.component.d.ts.map +1 -0
- package/widget/tags-label/component.d.ts.map +1 -0
- package/widget/terminating-tag/component.d.ts.map +1 -0
- package/widget/text-ellipsis/component.d.ts.map +1 -0
- package/widget/text-tooltip/directive.d.ts.map +1 -0
- package/widget/text-with-url/component.d.ts.map +1 -0
- package/widget/widget.module.d.ts.map +1 -0
- package/widget/zero-state/zero-state.component.d.ts.map +1 -0
- package/window-channel/base-window-channel.d.ts.map +1 -0
- package/window-channel/directives/host-link.directive.d.ts.map +1 -0
- package/window-channel/host-window-channel.service.d.ts.map +1 -0
- package/window-channel/plugin-window-channel.service.d.ts.map +1 -0
- package/window-channel/public-api.d.ts.map +1 -0
- package/window-channel/utils.d.ts.map +1 -0
- package/workload-status-icon/component.d.ts.map +1 -0
- package/workload-status-icon/public-api.d.ts.map +1 -0
- package/xterm/public-api.d.ts.map +1 -0
- package/xterm/xterm-terminal/xterm-terminal.component.d.ts.map +1 -0
- package/xterm/xterm-terminal/xterm-terminal.directive.d.ts.map +1 -0
- package/xterm/xterm.component.d.ts.map +1 -0
|
@@ -2,17 +2,21 @@ import { getTopWindow, NOT_NOTIFY_ON_ERROR_HEADERS, } from '../core/public-api';
|
|
|
2
2
|
import { getInitUrl, recordInitUrl } from './app-init-url';
|
|
3
3
|
import { CALLBACK_API, CODE_KEY, EXTERNAL_REDIRECT_API, ID_TOKEN_KEY, LOGIN_API, LOGOUT_API, REDIRECT_URIS, } from './constants';
|
|
4
4
|
import { cleanStorageToken, readStorageToken, refreshStorageAliveRecord, writeStorageToken, } from './storage-token';
|
|
5
|
+
import { fetchTokenApi, requestTokenInfo, requestTokenRefresh, resolveTokenInfoWithRefresh, resetAuthRuntimeCache, setCachedAccountInfo, } from './token-client';
|
|
5
6
|
let AUTHORIZATION_STATE;
|
|
7
|
+
let checkTokenPromise = null;
|
|
8
|
+
let refreshTokenPromise = null;
|
|
6
9
|
export async function fetchAuthorizationState() {
|
|
7
|
-
if (AUTHORIZATION_STATE !== undefined) {
|
|
8
|
-
return AUTHORIZATION_STATE;
|
|
9
|
-
}
|
|
10
10
|
recordInitUrl();
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const { authUrl, state: csrfState } = await getAuthConfiguration();
|
|
12
|
+
initAuthorizationState({ authUrl });
|
|
13
|
+
await getExistingToken(csrfState);
|
|
14
|
+
const info = await resolveTokenInfoWithRefresh();
|
|
15
|
+
if (!info) {
|
|
16
|
+
return redirectToLogin();
|
|
17
|
+
}
|
|
18
|
+
AUTHORIZATION_STATE.info = info;
|
|
19
|
+
return AUTHORIZATION_STATE;
|
|
16
20
|
}
|
|
17
21
|
export function getAuthorizationState() {
|
|
18
22
|
if (AUTHORIZATION_STATE === undefined) {
|
|
@@ -30,23 +34,52 @@ export function initAuthorizationState(state) {
|
|
|
30
34
|
}
|
|
31
35
|
export function attachAuthorizationHeader() {
|
|
32
36
|
const idToken = readStorageToken();
|
|
33
|
-
return idToken
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
return idToken ? { Authorization: `Bearer ${idToken}` } : {};
|
|
38
|
+
}
|
|
39
|
+
export async function checkAuthorizationToken() {
|
|
40
|
+
if (checkTokenPromise) {
|
|
41
|
+
return checkTokenPromise;
|
|
42
|
+
}
|
|
43
|
+
checkTokenPromise = requestTokenInfo(true)
|
|
44
|
+
.then(info => {
|
|
45
|
+
if (!info) {
|
|
46
|
+
throw new Error('Authorization token is invalid');
|
|
36
47
|
}
|
|
37
|
-
|
|
48
|
+
getAuthorizationState().info = info;
|
|
49
|
+
return info;
|
|
50
|
+
})
|
|
51
|
+
.finally(() => {
|
|
52
|
+
checkTokenPromise = null;
|
|
53
|
+
});
|
|
54
|
+
return checkTokenPromise;
|
|
55
|
+
}
|
|
56
|
+
export async function refreshAuthorizationToken() {
|
|
57
|
+
if (refreshTokenPromise) {
|
|
58
|
+
return refreshTokenPromise;
|
|
59
|
+
}
|
|
60
|
+
refreshTokenPromise = requestTokenRefresh()
|
|
61
|
+
.then(tokenResponse => {
|
|
62
|
+
if (!tokenResponse) {
|
|
63
|
+
throw new Error('Failed to refresh token');
|
|
64
|
+
}
|
|
65
|
+
return tokenResponse;
|
|
66
|
+
})
|
|
67
|
+
.finally(() => {
|
|
68
|
+
refreshTokenPromise = null;
|
|
69
|
+
});
|
|
70
|
+
return refreshTokenPromise;
|
|
38
71
|
}
|
|
39
72
|
export async function logoutAudit() {
|
|
40
|
-
return
|
|
41
|
-
headers:
|
|
42
|
-
...attachAuthorizationHeader(),
|
|
43
|
-
...NOT_NOTIFY_ON_ERROR_HEADERS,
|
|
44
|
-
},
|
|
73
|
+
return fetchTokenApi(LOGOUT_API, {
|
|
74
|
+
headers: NOT_NOTIFY_ON_ERROR_HEADERS,
|
|
45
75
|
})
|
|
46
76
|
.then(res => res?.json())
|
|
47
77
|
.catch(() => null); // logout API 未指定 logout_redirect_url 时 res?.json() 会失败
|
|
48
78
|
}
|
|
49
79
|
export function logout(returnCurrentPage = false) {
|
|
80
|
+
checkTokenPromise = null;
|
|
81
|
+
refreshTokenPromise = null;
|
|
82
|
+
resetAuthRuntimeCache();
|
|
50
83
|
cleanStorageToken();
|
|
51
84
|
const logoutUrl = typeof returnCurrentPage === 'string' && returnCurrentPage !== ''
|
|
52
85
|
? returnCurrentPage
|
|
@@ -89,51 +122,39 @@ function replaceRedirectUrl(dexUrl, redirectUrl) {
|
|
|
89
122
|
return `${path}?${replacedQueryParams}`;
|
|
90
123
|
}
|
|
91
124
|
async function getAuthConfiguration() {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
.then(({ auth_url: authUrl, state, logout_url: logoutUrl, }) => ({
|
|
95
|
-
authUrl,
|
|
96
|
-
state,
|
|
97
|
-
logoutUrl,
|
|
98
|
-
}));
|
|
99
|
-
}
|
|
100
|
-
async function getExistedToken(config) {
|
|
101
|
-
try {
|
|
102
|
-
return getTokenFromLocal(config);
|
|
103
|
-
}
|
|
104
|
-
catch {
|
|
105
|
-
return {};
|
|
106
|
-
}
|
|
125
|
+
const { auth_url: authUrl, state } = await fetch(LOGIN_API).then(res => res.json());
|
|
126
|
+
return { authUrl, state };
|
|
107
127
|
}
|
|
108
|
-
async function
|
|
128
|
+
async function getExistingToken(csrfState) {
|
|
109
129
|
const { queryParams, hashParams } = getParams();
|
|
110
130
|
const code = queryParams[CODE_KEY] || hashParams[CODE_KEY];
|
|
111
131
|
const idToken = queryParams[ID_TOKEN_KEY] || hashParams[ID_TOKEN_KEY];
|
|
112
132
|
if (!code && !idToken) {
|
|
113
|
-
return
|
|
133
|
+
return;
|
|
114
134
|
}
|
|
115
135
|
refreshStorageAliveRecord();
|
|
116
|
-
|
|
136
|
+
if (code) {
|
|
137
|
+
await setCookieByCode(code, csrfState);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
await setCookieByToken(idToken);
|
|
141
|
+
}
|
|
117
142
|
}
|
|
118
143
|
async function setCookieByCode(code, state) {
|
|
119
144
|
const queryParams = new URLSearchParams({ code, state });
|
|
120
145
|
const tokenResponse = await fetch(`${CALLBACK_API}?${queryParams.toString()}`).then(res => res.json());
|
|
121
|
-
|
|
146
|
+
mapTokenResponse(tokenResponse);
|
|
122
147
|
}
|
|
123
148
|
async function setCookieByToken(idToken) {
|
|
124
149
|
const queryParams = new URLSearchParams({ id_token: idToken });
|
|
125
150
|
const tokenResponse = await fetch(`${CALLBACK_API}?${queryParams.toString()}`).then(res => res.json());
|
|
126
|
-
|
|
151
|
+
mapTokenResponse(tokenResponse);
|
|
127
152
|
}
|
|
128
153
|
function mapTokenResponse(response) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
tokenType: token_type,
|
|
134
|
-
expireAt: expire_at,
|
|
135
|
-
issuedAt: issued_at,
|
|
136
|
-
};
|
|
154
|
+
if (response.id_token) {
|
|
155
|
+
writeStorageToken(response.id_token);
|
|
156
|
+
}
|
|
157
|
+
setCachedAccountInfo(undefined);
|
|
137
158
|
}
|
|
138
159
|
function getParams() {
|
|
139
160
|
const initUrl = getInitUrl();
|
|
@@ -147,11 +168,21 @@ function parseParams(query) {
|
|
|
147
168
|
return {};
|
|
148
169
|
}
|
|
149
170
|
return query.split('&').reduce((acc, param) => {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
171
|
+
if (!param) {
|
|
172
|
+
return acc;
|
|
173
|
+
}
|
|
174
|
+
const separatorIndex = param.indexOf('=');
|
|
175
|
+
const key = separatorIndex === -1 ? param : param.slice(0, separatorIndex);
|
|
176
|
+
const value = separatorIndex === -1 ? '' : param.slice(separatorIndex + 1);
|
|
177
|
+
if (!key) {
|
|
178
|
+
return acc;
|
|
179
|
+
}
|
|
180
|
+
acc[key] = value;
|
|
181
|
+
return acc;
|
|
155
182
|
}, {});
|
|
156
183
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL2F1dGhvcml6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWiwyQkFBMkIsR0FFNUIsTUFBTSxvQkFBb0IsQ0FBQztBQUc1QixPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEdBQ2QsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLGlCQUFpQixHQUNsQixNQUFNLGlCQUFpQixDQUFDO0FBbUJ6QixJQUFJLG1CQUF1QyxDQUFDO0FBRTVDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCO0lBQzNDLElBQUksbUJBQW1CLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxFQUFFLENBQUM7SUFFaEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO0lBRTVDLE1BQU0sS0FBSyxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBRW5ELHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFM0MsT0FBTyxrQkFBa0IsQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxJQUFJLG1CQUFtQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFB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LENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdEMsT0FBTztZQUNMLEdBQUcsR0FBRztZQUNOLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0VG9wV2luZG93LFxuICBOT1RfTk9USUZZX09OX0VSUk9SX0hFQURFUlMsXG4gIFN0cmluZ01hcCxcbn0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEFjY291bnRJbmZvIH0gZnJvbSAnLi4vcGFnZS1zY2FmZm9sZC9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgZ2V0SW5pdFVybCwgcmVjb3JkSW5pdFVybCB9IGZyb20gJy4vYXBwLWluaXQtdXJsJztcbmltcG9ydCB7XG4gIENBTExCQUNLX0FQSSxcbiAgQ09ERV9LRVksXG4gIEVYVEVSTkFMX1JFRElSRUNUX0FQSSxcbiAgSURfVE9LRU5fS0VZLFxuICBMT0dJTl9BUEksXG4gIExPR09VVF9BUEksXG4gIFJFRElSRUNUX1VSSVMsXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIGNsZWFuU3RvcmFnZVRva2VuLFxuICByZWFkU3RvcmFnZVRva2VuLFxuICByZWZyZXNoU3RvcmFnZUFsaXZlUmVjb3JkLFxuICB3cml0ZVN0b3JhZ2VUb2tlbixcbn0gZnJvbSAnLi9zdG9yYWdlLXRva2VuJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uU3RhdGUge1xuICBleHBpcmVBdD86IHN0cmluZztcbiAgaXNzdWVkQXQ/OiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICBhdXRoVXJsPzogc3RyaW5nO1xuICBsb2dvdXRVcmw/OiBzdHJpbmc7XG4gIGluZm8/OiBBY2NvdW50SW5mbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblJlc3BvbnNlIHtcbiAgdG9rZW5fc3RvcmFnZTogc3RyaW5nO1xuICB0b2tlbl90eXBlOiBzdHJpbmc7XG4gIGV4cGlyZV9hdDogc3RyaW5nO1xuICBpc3N1ZWRfYXQ6IHN0cmluZztcbiAgaWRfdG9rZW4/OiBzdHJpbmc7XG59XG5cbmxldCBBVVRIT1JJWkFUSU9OX1NUQVRFOiBBdXRob3JpemF0aW9uU3RhdGU7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEF1dGhvcml6YXRpb25TdGF0ZSgpIHtcbiAgaWYgKEFVVEhPUklaQVRJT05fU1RBVEUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBBVVRIT1JJWkFUSU9OX1NUQVRFO1xuICB9XG5cbiAgcmVjb3JkSW5pdFVybCgpO1xuXG4gIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGdldEF1dGhDb25maWd1cmF0aW9uKCk7XG5cbiAgY29uc3Qgc3RhdGUgPSBhd2FpdCBnZXRFeGlzdGVkVG9rZW4oY29uZmlnKTtcblxuICBjb25zdCBhdXRob3JpemF0aW9uU3RhdGUgPSB7IC4uLmNvbmZpZywgLi4uc3RhdGUgfTtcblxuICBpbml0QXV0aG9yaXphdGlvblN0YXRlKGF1dGhvcml6YXRpb25TdGF0ZSk7XG5cbiAgcmV0dXJuIGF1dGhvcml6YXRpb25TdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF1dGhvcml6YXRpb25TdGF0ZSgpIHtcbiAgaWYgKEFVVEhPUklaQVRJT05fU1RBVEUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQXV0aG9yaXphdGlvblN0YXRlIGhhdmUgbm90IGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHJldHVybiBBVVRIT1JJWkFUSU9OX1NUQVRFO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEF1dGhvcml6YXRpb25TdGF0ZShzdGF0ZTogQXV0aG9yaXphdGlvblN0YXRlKTogdm9pZCB7XG4gIGlmIChcbiAgICBBVVRIT1JJWkFUSU9OX1NUQVRFICE9PSB1bmRlZmluZWQgJiZcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0tIHdlYnBhY2sgc3BlY2lmaWNcbiAgICAhbW9kdWxlLmhvdFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhvcml6YXRpb25TdGF0ZSBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIEFVVEhPUklaQVRJT05fU1RBVEUgPSBzdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIoKTogeyBBdXRob3JpemF0aW9uPzogc3RyaW5nIH0ge1xuICBjb25zdCBpZFRva2VuID0gcmVhZFN0b3JhZ2VUb2tlbigpO1xuICByZXR1cm4gaWRUb2tlblxuICAgID8ge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7aWRUb2tlbn1gLFxuICAgICAgfVxuICAgIDoge307XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2dvdXRBdWRpdCgpOiBQcm9taXNlPHsgbG9nb3V0X3JlZGlyZWN0X3VybD86IHN0cmluZyB9PiB7XG4gIHJldHVybiBmZXRjaChMT0dPVVRfQVBJLCB7XG4gICAgaGVhZGVyczoge1xuICAgICAgLi4uYXR0YWNoQXV0aG9yaXphdGlvbkhlYWRlcigpLFxuICAgICAgLi4uTk9UX05PVElGWV9PTl9FUlJPUl9IRUFERVJTLFxuICAgIH0sXG4gIH0pXG4gICAgLnRoZW4ocmVzID0+IHJlcz8uanNvbigpKVxuICAgIC5jYXRjaCgoKSA9PiBudWxsKTsgLy8gbG9nb3V0IEFQSSDmnKrmjIflrpogbG9nb3V0X3JlZGlyZWN0X3VybCDml7YgcmVzPy5qc29uKCkg5Lya5aSx6LSlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQocmV0dXJuQ3VycmVudFBhZ2U6IGJvb2xlYW4gfCBzdHJpbmcgPSBmYWxzZSkge1xuICBjbGVhblN0b3JhZ2VUb2tlbigpO1xuXG4gIGNvbnN0IGxvZ291dFVybCA9XG4gICAgdHlwZW9mIHJldHVybkN1cnJlbnRQYWdlID09PSAnc3RyaW5nJyAmJiByZXR1cm5DdXJyZW50UGFnZSAhPT0gJydcbiAgICAgID8gcmV0dXJuQ3VycmVudFBhZ2VcbiAgICAgIDogZGV4TG9nb3V0VXJsKCEhcmV0dXJuQ3VycmVudFBhZ2UpO1xuXG4gIHRyeSB7XG4gICAgZ2V0VG9wV2luZG93KCkubG9jYXRpb24uaHJlZiA9IGxvZ291dFVybDtcbiAgfSBjYXRjaCB7XG4gICAgLy8gc2hvdWxkIG5ldmVyIGhhcHBlbiwganVzdCBmb3Igcm9idXN0bmVzcyBpbiBjYXNlIG9mIGNyb3NzLW9yaWdpbiBpZnJhbWVcbiAgICBsb2NhdGlvbi5ocmVmID0gbG9nb3V0VXJsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWRpcmVjdFNTT0VudHJ5KGVudHJ5OiBzdHJpbmcpIHtcbiAgY29uc3QgaGFzUXVlcnkgPSBlbnRyeS5pbmNsdWRlcygnPycpO1xuXG4gIGlmIChoYXNRdWVyeSkge1xuICAgIGNvbnN0IFt1cmwsIHF1ZXJ5XSA9IGVudHJ5LnNwbGl0KCc/Jyk7XG4gICAgcmV0dXJuIGAke0VYVEVSTkFMX1JFRElSRUNUX0FQSX0/cmVkaXJlY3RfdXJsPSR7dXJsfSYke3F1ZXJ5fWA7XG4gIH1cblxuICByZXR1cm4gYCR7RVhURVJOQUxfUkVESVJFQ1RfQVBJfT9yZWRpcmVjdF91cmw9JHtlbnRyeX1gO1xufVxuXG5mdW5jdGlvbiBkZXhMb2dvdXRVcmwocmV0dXJuQ3VycmVudFBhZ2UgPSBmYWxzZSkge1xuICBjb25zdCB7IGF1dGhVcmwgfSA9IGdldEF1dGhvcml6YXRpb25TdGF0ZSgpO1xuICByZXR1cm4gcmVwbGFjZVJlZGlyZWN0VXJsKFxuICAgIGF1dGhVcmwsXG4gICAgLy8gYXV0aFVybCDkuK3nmoQgcmVkaXJlY3RVcmwg5piv5qC56Lev55Sx77yM5qC56Lev55Sx5LqM5qyh6YeN5a6a5ZCR5ZueIHBvcnRhbCDml7bkvJrkuKLlpLEgY29kZSDlr7zoh7TnmbvlvZXlpLHotKVcbiAgICAvLyDlpoLmnpzlkI7mnJ/mnInlrprliLbljJbopoHmsYLpu5jorqTpppbpobXkuI3mmK8gcG9ydGFs77yM5Y+v5Lul5pS55Zue5LmL5YmN55qE5pa55qGI77yM5L2/55So5rWP6KeI5Zmo5a+86Iiq5omT5byAIGxvZ291dFVybO+8jOeEtuWQjiBkZXgg6YeN5a6a5ZCR5Yiw5qC56Lev55Sx77yM5qC56Lev55Sx6YeN5a6a5ZCR5Yiw6buY6K6k6aaW6aG177yM6aaW6aG15YaN5bCGIGF1dGhVcmwg5Lit55qEIHJlZGlyZWN0VXJsIOabv+aNouS4uuW9k+WJjSB1cmwg6Lez6L2s5YiwIGRleCDov5vooYznmbvlvZXvvJtcbiAgICAvLyDmnIDlpb3njq/looPlj5jph4/lop7liqDpu5jorqTpppbpobXlnLDlnYDmiJbogIUgZGV4IHJlZGlyZWN0VXJsIOebtOaOpeaYr+ato+ehruWcsOWdgFxuICAgIHJldHVybkN1cnJlbnRQYWdlID8gbG9jYXRpb24uaHJlZiA6IGxvY2F0aW9uLm9yaWdpbiArICcvY29uc29sZS1wb3J0YWwnLFxuICApO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlUmVkaXJlY3RVcmwoZGV4VXJsOiBzdHJpbmcsIHJlZGlyZWN0VXJsOiBzdHJpbmcpIHtcbiAgY29uc3QgW3BhdGgsIHF1ZXJ5UGFyYW1zXSA9IGRleFVybC5zcGxpdCgnPycpO1xuXG4gIGNvbnN0IHJlcGxhY2VkUXVlcnlQYXJhbXMgPSBxdWVyeVBhcmFtc1xuICAgIC5zcGxpdCgnJicpXG4gICAgLm1hcChwYWlyID0+IHtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IHBhaXIuc3BsaXQoJz0nKTtcbiAgICAgIHJldHVybiBSRURJUkVDVF9VUklTLmhhcyhrZXkpXG4gICAgICAgID8gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdFVybCl9YFxuICAgICAgICA6IGAke2tleX09JHt2YWx1ZX1gO1xuICAgIH0pXG4gICAgLmpvaW4oJyYnKTtcblxuICByZXR1cm4gYCR7cGF0aH0/JHtyZXBsYWNlZFF1ZXJ5UGFyYW1zfWA7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEF1dGhDb25maWd1cmF0aW9uKCkge1xuICByZXR1cm4gZmV0Y2goTE9HSU5fQVBJKVxuICAgIC50aGVuKHJlcyA9PiByZXMuanNvbigpKVxuICAgIC50aGVuKFxuICAgICAgKHtcbiAgICAgICAgYXV0aF91cmw6IGF1dGhVcmwsXG4gICAgICAgIHN0YXRlLFxuICAgICAgICBsb2dvdXRfdXJsOiBsb2dvdXRVcmwsXG4gICAgICB9OiB7XG4gICAgICAgIGF1dGhfdXJsOiBzdHJpbmc7XG4gICAgICAgIHN0YXRlOiBzdHJpbmc7XG4gICAgICAgIGxvZ291dF91cmw6IHN0cmluZztcbiAgICAgIH0pID0+ICh7XG4gICAgICAgIGF1dGhVcmwsXG4gICAgICAgIHN0YXRlLFxuICAgICAgICBsb2dvdXRVcmwsXG4gICAgICB9KSxcbiAgICApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRFeGlzdGVkVG9rZW4oY29uZmlnOiBBdXRob3JpemF0aW9uU3RhdGUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZ2V0VG9rZW5Gcm9tTG9jYWwoY29uZmlnKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHt9IGFzIEF1dGhvcml6YXRpb25TdGF0ZTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRUb2tlbkZyb21Mb2NhbChcbiAgY29uZmlnOiBBdXRob3JpemF0aW9uU3RhdGUsXG4pOiBQcm9taXNlPEF1dGhvcml6YXRpb25TdGF0ZT4ge1xuICBjb25zdCB7IHF1ZXJ5UGFyYW1zLCBoYXNoUGFyYW1zIH0gPSBnZXRQYXJhbXMoKTtcblxuICBjb25zdCBjb2RlID0gcXVlcnlQYXJhbXNbQ09ERV9LRVldIHx8IGhhc2hQYXJhbXNbQ09ERV9LRVldO1xuICBjb25zdCBpZFRva2VuID0gcXVlcnlQYXJhbXNbSURfVE9LRU5fS0VZXSB8fCBoYXNoUGFyYW1zW0lEX1RPS0VOX0tFWV07XG5cbiAgaWYgKCFjb2RlICYmICFpZFRva2VuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZWZyZXNoU3RvcmFnZUFsaXZlUmVjb3JkKCk7XG5cbiAgcmV0dXJuIGNvZGUgPyBzZXRDb29raWVCeUNvZGUoY29kZSwgY29uZmlnLnN0YXRlKSA6IHNldENvb2tpZUJ5VG9rZW4oaWRUb2tlbik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldENvb2tpZUJ5Q29kZShjb2RlOiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcpIHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgY29kZSwgc3RhdGUgfSk7XG5cbiAgY29uc3QgdG9rZW5SZXNwb25zZTogVG9rZW5SZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NBTExCQUNLX0FQSX0/JHtxdWVyeVBhcmFtcy50b1N0cmluZygpfWAsXG4gICkudGhlbihyZXMgPT4gcmVzLmpzb24oKSk7XG5cbiAgcmV0dXJuIG1hcFRva2VuUmVzcG9uc2UodG9rZW5SZXNwb25zZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldENvb2tpZUJ5VG9rZW4oaWRUb2tlbjogc3RyaW5nKSB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGlkX3Rva2VuOiBpZFRva2VuIH0pO1xuXG4gIGNvbnN0IHRva2VuUmVzcG9uc2U6IFRva2VuUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICBgJHtDQUxMQkFDS19BUEl9PyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gLFxuICApLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpO1xuXG4gIHJldHVybiBtYXBUb2tlblJlc3BvbnNlKHRva2VuUmVzcG9uc2UpO1xufVxuXG5mdW5jdGlvbiBtYXBUb2tlblJlc3BvbnNlKHJlc3BvbnNlOiBUb2tlblJlc3BvbnNlKSB7XG4gIGNvbnN0IHtcbiAgICBpZF90b2tlbjogaWRUb2tlbixcbiAgICB0b2tlbl90eXBlLFxuICAgIHRva2VuX3N0b3JhZ2UsXG4gICAgZXhwaXJlX2F0LFxuICAgIGlzc3VlZF9hdCxcbiAgfSA9IHJlc3BvbnNlO1xuXG4gIHdyaXRlU3RvcmFnZVRva2VuKGlkVG9rZW4pO1xuXG4gIHJldHVybiB7XG4gICAgc3RvcmFnZVR5cGU6IHRva2VuX3N0b3JhZ2UsXG4gICAgdG9rZW5UeXBlOiB0b2tlbl90eXBlLFxuICAgIGV4cGlyZUF0OiBleHBpcmVfYXQsXG4gICAgaXNzdWVkQXQ6IGlzc3VlZF9hdCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UGFyYW1zKCkge1xuICBjb25zdCBpbml0VXJsID0gZ2V0SW5pdFVybCgpO1xuXG4gIGNvbnN0IGluaXRMb2NhdGlvbiA9IG5ldyBVUkwoaW5pdFVybCk7XG5cbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBwYXJzZVBhcmFtcyhcbiAgICBpbml0TG9jYXRpb24uc2VhcmNoID8gaW5pdExvY2F0aW9uLnNlYXJjaC5zbGljZSgxKSA6ICcnLFxuICApO1xuXG4gIGNvbnN0IGhhc2hQYXJhbXMgPSBwYXJzZVBhcmFtcyhcbiAgICBpbml0TG9jYXRpb24uaGFzaCA/IGluaXRMb2NhdGlvbi5oYXNoLnNsaWNlKDEpIDogJycsXG4gICk7XG5cbiAgcmV0dXJuIHsgcXVlcnlQYXJhbXMsIGhhc2hQYXJhbXMgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VQYXJhbXMocXVlcnk6IHN0cmluZyk6IFN0cmluZ01hcCB7XG4gIGlmICghcXVlcnkpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4gcXVlcnkuc3BsaXQoJyYnKS5yZWR1Y2UoKGFjYywgcGFyYW0pID0+IHtcbiAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBwYXJhbS5zcGxpdCgnPScpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmFjYyxcbiAgICAgIFtrZXldOiB2YWx1ZSxcbiAgICB9O1xuICB9LCB7fSk7XG59XG4iXX0=
|
|
184
|
+
function redirectToLogin() {
|
|
185
|
+
logout(true);
|
|
186
|
+
return new Promise(() => undefined);
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL2F1dGhvcml6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWiwyQkFBMkIsR0FFNUIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEdBQ2QsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLGlCQUFpQixHQUNsQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUNyQixNQUFNLGdCQUFnQixDQUFDO0FBUXhCLElBQUksbUJBQXVDLENBQUM7QUFDNUMsSUFBSSxpQkFBaUIsR0FBZ0MsSUFBSSxDQUFDO0FBQzFELElBQUksbUJBQW1CLEdBQWtDLElBQUksQ0FBQztBQUU5RCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QjtJQUMzQyxhQUFhLEVBQUUsQ0FBQztJQUVoQixNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7SUFFbkUsc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXBDLE1BQU0sZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFbEMsTUFBTSxJQUFJLEdBQUcsTUFBTSwyQkFBMkIsRUFBRSxDQUFD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QUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMzRSxNQUFNLEtBQUssR0FBRyxjQUFjLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUVqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUFlLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBRUQsU0FBUyxlQUFlO0lBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNiLE9BQU8sSUFBSSxPQUFPLENBQVEsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGdldFRvcFdpbmRvdyxcbiAgTk9UX05PVElGWV9PTl9FUlJPUl9IRUFERVJTLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IGdldEluaXRVcmwsIHJlY29yZEluaXRVcmwgfSBmcm9tICcuL2FwcC1pbml0LXVybCc7XG5pbXBvcnQge1xuICBDQUxMQkFDS19BUEksXG4gIENPREVfS0VZLFxuICBFWFRFUk5BTF9SRURJUkVDVF9BUEksXG4gIElEX1RPS0VOX0tFWSxcbiAgTE9HSU5fQVBJLFxuICBMT0dPVVRfQVBJLFxuICBSRURJUkVDVF9VUklTLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBjbGVhblN0b3JhZ2VUb2tlbixcbiAgcmVhZFN0b3JhZ2VUb2tlbixcbiAgcmVmcmVzaFN0b3JhZ2VBbGl2ZVJlY29yZCxcbiAgd3JpdGVTdG9yYWdlVG9rZW4sXG59IGZyb20gJy4vc3RvcmFnZS10b2tlbic7XG5pbXBvcnQge1xuICBmZXRjaFRva2VuQXBpLFxuICByZXF1ZXN0VG9rZW5JbmZvLFxuICByZXF1ZXN0VG9rZW5SZWZyZXNoLFxuICByZXNvbHZlVG9rZW5JbmZvV2l0aFJlZnJlc2gsXG4gIHJlc2V0QXV0aFJ1bnRpbWVDYWNoZSxcbiAgc2V0Q2FjaGVkQWNjb3VudEluZm8sXG59IGZyb20gJy4vdG9rZW4tY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQWNjb3VudEluZm8sIFRva2VuUmVzcG9uc2UgfSBmcm9tICcuL3Rva2VuLWNsaWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aG9yaXphdGlvblN0YXRlIHtcbiAgYXV0aFVybD86IHN0cmluZztcbiAgaW5mbz86IEFjY291bnRJbmZvO1xufVxuXG5sZXQgQVVUSE9SSVpBVElPTl9TVEFURTogQXV0aG9yaXphdGlvblN0YXRlO1xubGV0IGNoZWNrVG9rZW5Qcm9taXNlOiBQcm9taXNlPEFjY291bnRJbmZvPiB8IG51bGwgPSBudWxsO1xubGV0IHJlZnJlc2hUb2tlblByb21pc2U6IFByb21pc2U8VG9rZW5SZXNwb25zZT4gfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoQXV0aG9yaXphdGlvblN0YXRlKCkge1xuICByZWNvcmRJbml0VXJsKCk7XG5cbiAgY29uc3QgeyBhdXRoVXJsLCBzdGF0ZTogY3NyZlN0YXRlIH0gPSBhd2FpdCBnZXRBdXRoQ29uZmlndXJhdGlvbigpO1xuXG4gIGluaXRBdXRob3JpemF0aW9uU3RhdGUoeyBhdXRoVXJsIH0pO1xuXG4gIGF3YWl0IGdldEV4aXN0aW5nVG9rZW4oY3NyZlN0YXRlKTtcblxuICBjb25zdCBpbmZvID0gYXdhaXQgcmVzb2x2ZVRva2VuSW5mb1dpdGhSZWZyZXNoKCk7XG5cbiAgaWYgKCFpbmZvKSB7XG4gICAgcmV0dXJuIHJlZGlyZWN0VG9Mb2dpbigpO1xuICB9XG5cbiAgQVVUSE9SSVpBVElPTl9TVEFURS5pbmZvID0gaW5mbztcblxuICByZXR1cm4gQVVUSE9SSVpBVElPTl9TVEFURTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF1dGhvcml6YXRpb25TdGF0ZSgpIHtcbiAgaWYgKEFVVEhPUklaQVRJT05fU1RBVEUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQXV0aG9yaXphdGlvblN0YXRlIGhhdmUgbm90IGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHJldHVybiBBVVRIT1JJWkFUSU9OX1NUQVRFO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEF1dGhvcml6YXRpb25TdGF0ZShzdGF0ZTogQXV0aG9yaXphdGlvblN0YXRlKTogdm9pZCB7XG4gIGlmIChcbiAgICBBVVRIT1JJWkFUSU9OX1NUQVRFICE9PSB1bmRlZmluZWQgJiZcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0tIHdlYnBhY2sgc3BlY2lmaWNcbiAgICAhbW9kdWxlLmhvdFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhvcml6YXRpb25TdGF0ZSBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIEFVVEhPUklaQVRJT05fU1RBVEUgPSBzdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIoKTogeyBBdXRob3JpemF0aW9uPzogc3RyaW5nIH0ge1xuICBjb25zdCBpZFRva2VuID0gcmVhZFN0b3JhZ2VUb2tlbigpO1xuICByZXR1cm4gaWRUb2tlbiA/IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2lkVG9rZW59YCB9IDoge307XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaGVja0F1dGhvcml6YXRpb25Ub2tlbigpOiBQcm9taXNlPEFjY291bnRJbmZvPiB7XG4gIGlmIChjaGVja1Rva2VuUHJvbWlzZSkge1xuICAgIHJldHVybiBjaGVja1Rva2VuUHJvbWlzZTtcbiAgfVxuXG4gIGNoZWNrVG9rZW5Qcm9taXNlID0gcmVxdWVzdFRva2VuSW5mbyh0cnVlKVxuICAgIC50aGVuKGluZm8gPT4ge1xuICAgICAgaWYgKCFpbmZvKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQXV0aG9yaXphdGlvbiB0b2tlbiBpcyBpbnZhbGlkJyk7XG4gICAgICB9XG5cbiAgICAgIGdldEF1dGhvcml6YXRpb25TdGF0ZSgpLmluZm8gPSBpbmZvO1xuXG4gICAgICByZXR1cm4gaW5mbztcbiAgICB9KVxuICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgIGNoZWNrVG9rZW5Qcm9taXNlID0gbnVsbDtcbiAgICB9KTtcblxuICByZXR1cm4gY2hlY2tUb2tlblByb21pc2U7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWZyZXNoQXV0aG9yaXphdGlvblRva2VuKCk6IFByb21pc2U8VG9rZW5SZXNwb25zZT4ge1xuICBpZiAocmVmcmVzaFRva2VuUHJvbWlzZSkge1xuICAgIHJldHVybiByZWZyZXNoVG9rZW5Qcm9taXNlO1xuICB9XG5cbiAgcmVmcmVzaFRva2VuUHJvbWlzZSA9IHJlcXVlc3RUb2tlblJlZnJlc2goKVxuICAgIC50aGVuKHRva2VuUmVzcG9uc2UgPT4ge1xuICAgICAgaWYgKCF0b2tlblJlc3BvbnNlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHJlZnJlc2ggdG9rZW4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRva2VuUmVzcG9uc2U7XG4gICAgfSlcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICByZWZyZXNoVG9rZW5Qcm9taXNlID0gbnVsbDtcbiAgICB9KTtcblxuICByZXR1cm4gcmVmcmVzaFRva2VuUHJvbWlzZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvZ291dEF1ZGl0KCk6IFByb21pc2U8eyBsb2dvdXRfcmVkaXJlY3RfdXJsPzogc3RyaW5nIH0+IHtcbiAgcmV0dXJuIGZldGNoVG9rZW5BcGkoTE9HT1VUX0FQSSwge1xuICAgIGhlYWRlcnM6IE5PVF9OT1RJRllfT05fRVJST1JfSEVBREVSUyxcbiAgfSlcbiAgICAudGhlbihyZXMgPT4gcmVzPy5qc29uKCkpXG4gICAgLmNhdGNoKCgpID0+IG51bGwpOyAvLyBsb2dvdXQgQVBJIOacquaMh+WumiBsb2dvdXRfcmVkaXJlY3RfdXJsIOaXtiByZXM/Lmpzb24oKSDkvJrlpLHotKVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ291dChyZXR1cm5DdXJyZW50UGFnZTogYm9vbGVhbiB8IHN0cmluZyA9IGZhbHNlKSB7XG4gIGNoZWNrVG9rZW5Qcm9taXNlID0gbnVsbDtcbiAgcmVmcmVzaFRva2VuUHJvbWlzZSA9IG51bGw7XG4gIHJlc2V0QXV0aFJ1bnRpbWVDYWNoZSgpO1xuICBjbGVhblN0b3JhZ2VUb2tlbigpO1xuXG4gIGNvbnN0IGxvZ291dFVybCA9XG4gICAgdHlwZW9mIHJldHVybkN1cnJlbnRQYWdlID09PSAnc3RyaW5nJyAmJiByZXR1cm5DdXJyZW50UGFnZSAhPT0gJydcbiAgICAgID8gcmV0dXJuQ3VycmVudFBhZ2VcbiAgICAgIDogZGV4TG9nb3V0VXJsKCEhcmV0dXJuQ3VycmVudFBhZ2UpO1xuXG4gIHRyeSB7XG4gICAgZ2V0VG9wV2luZG93KCkubG9jYXRpb24uaHJlZiA9IGxvZ291dFVybDtcbiAgfSBjYXRjaCB7XG4gICAgLy8gc2hvdWxkIG5ldmVyIGhhcHBlbiwganVzdCBmb3Igcm9idXN0bmVzcyBpbiBjYXNlIG9mIGNyb3NzLW9yaWdpbiBpZnJhbWVcbiAgICBsb2NhdGlvbi5ocmVmID0gbG9nb3V0VXJsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWRpcmVjdFNTT0VudHJ5KGVudHJ5OiBzdHJpbmcpIHtcbiAgY29uc3QgaGFzUXVlcnkgPSBlbnRyeS5pbmNsdWRlcygnPycpO1xuXG4gIGlmIChoYXNRdWVyeSkge1xuICAgIGNvbnN0IFt1cmwsIHF1ZXJ5XSA9IGVudHJ5LnNwbGl0KCc/Jyk7XG4gICAgcmV0dXJuIGAke0VYVEVSTkFMX1JFRElSRUNUX0FQSX0/cmVkaXJlY3RfdXJsPSR7dXJsfSYke3F1ZXJ5fWA7XG4gIH1cblxuICByZXR1cm4gYCR7RVhURVJOQUxfUkVESVJFQ1RfQVBJfT9yZWRpcmVjdF91cmw9JHtlbnRyeX1gO1xufVxuXG5mdW5jdGlvbiBkZXhMb2dvdXRVcmwocmV0dXJuQ3VycmVudFBhZ2UgPSBmYWxzZSkge1xuICBjb25zdCB7IGF1dGhVcmwgfSA9IGdldEF1dGhvcml6YXRpb25TdGF0ZSgpO1xuICByZXR1cm4gcmVwbGFjZVJlZGlyZWN0VXJsKFxuICAgIGF1dGhVcmwsXG4gICAgLy8gYXV0aFVybCDkuK3nmoQgcmVkaXJlY3RVcmwg5piv5qC56Lev55Sx77yM5qC56Lev55Sx5LqM5qyh6YeN5a6a5ZCR5ZueIHBvcnRhbCDml7bkvJrkuKLlpLEgY29kZSDlr7zoh7TnmbvlvZXlpLHotKVcbiAgICAvLyDlpoLmnpzlkI7mnJ/mnInlrprliLbljJbopoHmsYLpu5jorqTpppbpobXkuI3mmK8gcG9ydGFs77yM5Y+v5Lul5pS55Zue5LmL5YmN55qE5pa55qGI77yM5L2/55So5rWP6KeI5Zmo5a+86Iiq5omT5byAIGxvZ291dFVybO+8jOeEtuWQjiBkZXgg6YeN5a6a5ZCR5Yiw5qC56Lev55Sx77yM5qC56Lev55Sx6YeN5a6a5ZCR5Yiw6buY6K6k6aaW6aG177yM6aaW6aG15YaN5bCGIGF1dGhVcmwg5Lit55qEIHJlZGlyZWN0VXJsIOabv+aNouS4uuW9k+WJjSB1cmwg6Lez6L2s5YiwIGRleCDov5vooYznmbvlvZXvvJtcbiAgICAvLyDmnIDlpb3njq/looPlj5jph4/lop7liqDpu5jorqTpppbpobXlnLDlnYDmiJbogIUgZGV4IHJlZGlyZWN0VXJsIOebtOaOpeaYr+ato+ehruWcsOWdgFxuICAgIHJldHVybkN1cnJlbnRQYWdlID8gbG9jYXRpb24uaHJlZiA6IGxvY2F0aW9uLm9yaWdpbiArICcvY29uc29sZS1wb3J0YWwnLFxuICApO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlUmVkaXJlY3RVcmwoZGV4VXJsOiBzdHJpbmcsIHJlZGlyZWN0VXJsOiBzdHJpbmcpIHtcbiAgY29uc3QgW3BhdGgsIHF1ZXJ5UGFyYW1zXSA9IGRleFVybC5zcGxpdCgnPycpO1xuXG4gIGNvbnN0IHJlcGxhY2VkUXVlcnlQYXJhbXMgPSBxdWVyeVBhcmFtc1xuICAgIC5zcGxpdCgnJicpXG4gICAgLm1hcChwYWlyID0+IHtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IHBhaXIuc3BsaXQoJz0nKTtcbiAgICAgIHJldHVybiBSRURJUkVDVF9VUklTLmhhcyhrZXkpXG4gICAgICAgID8gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdFVybCl9YFxuICAgICAgICA6IGAke2tleX09JHt2YWx1ZX1gO1xuICAgIH0pXG4gICAgLmpvaW4oJyYnKTtcblxuICByZXR1cm4gYCR7cGF0aH0/JHtyZXBsYWNlZFF1ZXJ5UGFyYW1zfWA7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEF1dGhDb25maWd1cmF0aW9uKCk6IFByb21pc2U8e1xuICBhdXRoVXJsOiBzdHJpbmc7XG4gIHN0YXRlOiBzdHJpbmc7XG59PiB7XG4gIGNvbnN0IHsgYXV0aF91cmw6IGF1dGhVcmwsIHN0YXRlIH0gPSBhd2FpdCBmZXRjaChMT0dJTl9BUEkpLnRoZW4ocmVzID0+XG4gICAgcmVzLmpzb24oKSxcbiAgKTtcbiAgcmV0dXJuIHsgYXV0aFVybCwgc3RhdGUgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RXhpc3RpbmdUb2tlbihjc3JmU3RhdGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHF1ZXJ5UGFyYW1zLCBoYXNoUGFyYW1zIH0gPSBnZXRQYXJhbXMoKTtcblxuICBjb25zdCBjb2RlID0gcXVlcnlQYXJhbXNbQ09ERV9LRVldIHx8IGhhc2hQYXJhbXNbQ09ERV9LRVldO1xuICBjb25zdCBpZFRva2VuID0gcXVlcnlQYXJhbXNbSURfVE9LRU5fS0VZXSB8fCBoYXNoUGFyYW1zW0lEX1RPS0VOX0tFWV07XG5cbiAgaWYgKCFjb2RlICYmICFpZFRva2VuKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVmcmVzaFN0b3JhZ2VBbGl2ZVJlY29yZCgpO1xuXG4gIGlmIChjb2RlKSB7XG4gICAgYXdhaXQgc2V0Q29va2llQnlDb2RlKGNvZGUsIGNzcmZTdGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgc2V0Q29va2llQnlUb2tlbihpZFRva2VuKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBzZXRDb29raWVCeUNvZGUoY29kZTogc3RyaW5nLCBzdGF0ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGNvZGUsIHN0YXRlIH0pO1xuXG4gIGNvbnN0IHRva2VuUmVzcG9uc2U6IFRva2VuUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICBgJHtDQUxMQkFDS19BUEl9PyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gLFxuICApLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpO1xuXG4gIG1hcFRva2VuUmVzcG9uc2UodG9rZW5SZXNwb25zZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldENvb2tpZUJ5VG9rZW4oaWRUb2tlbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGlkX3Rva2VuOiBpZFRva2VuIH0pO1xuXG4gIGNvbnN0IHRva2VuUmVzcG9uc2U6IFRva2VuUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICBgJHtDQUxMQkFDS19BUEl9PyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gLFxuICApLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpO1xuXG4gIG1hcFRva2VuUmVzcG9uc2UodG9rZW5SZXNwb25zZSk7XG59XG5cbmZ1bmN0aW9uIG1hcFRva2VuUmVzcG9uc2UocmVzcG9uc2U6IFRva2VuUmVzcG9uc2UpIHtcbiAgaWYgKHJlc3BvbnNlLmlkX3Rva2VuKSB7XG4gICAgd3JpdGVTdG9yYWdlVG9rZW4ocmVzcG9uc2UuaWRfdG9rZW4pO1xuICB9XG4gIHNldENhY2hlZEFjY291bnRJbmZvKHVuZGVmaW5lZCk7XG59XG5cbmZ1bmN0aW9uIGdldFBhcmFtcygpIHtcbiAgY29uc3QgaW5pdFVybCA9IGdldEluaXRVcmwoKTtcblxuICBjb25zdCBpbml0TG9jYXRpb24gPSBuZXcgVVJMKGluaXRVcmwpO1xuXG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gcGFyc2VQYXJhbXMoXG4gICAgaW5pdExvY2F0aW9uLnNlYXJjaCA/IGluaXRMb2NhdGlvbi5zZWFyY2guc2xpY2UoMSkgOiAnJyxcbiAgKTtcblxuICBjb25zdCBoYXNoUGFyYW1zID0gcGFyc2VQYXJhbXMoXG4gICAgaW5pdExvY2F0aW9uLmhhc2ggPyBpbml0TG9jYXRpb24uaGFzaC5zbGljZSgxKSA6ICcnLFxuICApO1xuXG4gIHJldHVybiB7IHF1ZXJ5UGFyYW1zLCBoYXNoUGFyYW1zIH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlUGFyYW1zKHF1ZXJ5OiBzdHJpbmcpOiBTdHJpbmdNYXAge1xuICBpZiAoIXF1ZXJ5KSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcmV0dXJuIHF1ZXJ5LnNwbGl0KCcmJykucmVkdWNlKChhY2MsIHBhcmFtKSA9PiB7XG4gICAgaWYgKCFwYXJhbSkge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG5cbiAgICBjb25zdCBzZXBhcmF0b3JJbmRleCA9IHBhcmFtLmluZGV4T2YoJz0nKTtcbiAgICBjb25zdCBrZXkgPSBzZXBhcmF0b3JJbmRleCA9PT0gLTEgPyBwYXJhbSA6IHBhcmFtLnNsaWNlKDAsIHNlcGFyYXRvckluZGV4KTtcbiAgICBjb25zdCB2YWx1ZSA9IHNlcGFyYXRvckluZGV4ID09PSAtMSA/ICcnIDogcGFyYW0uc2xpY2Uoc2VwYXJhdG9ySW5kZXggKyAxKTtcblxuICAgIGlmICgha2V5KSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cblxuICAgIGFjY1trZXldID0gdmFsdWU7XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBTdHJpbmdNYXApO1xufVxuXG5mdW5jdGlvbiByZWRpcmVjdFRvTG9naW4oKSB7XG4gIGxvZ291dCh0cnVlKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPG5ldmVyPigoKSA9PiB1bmRlZmluZWQpO1xufVxuIl19
|
|
@@ -2,6 +2,8 @@ export const STORAGE_TYPE_KEY = 'token_storage';
|
|
|
2
2
|
export const CODE_KEY = 'code';
|
|
3
3
|
export const ID_TOKEN_KEY = 'id_token';
|
|
4
4
|
export const LOADING_CACHE = 15_000;
|
|
5
|
+
export const HEARTBEAT_POLLING = 15_000;
|
|
6
|
+
export const SESSION_MANAGE_KEY = 'session-manage-construct-time';
|
|
5
7
|
export const LOGIN_API = '/console/api/v2/token/login';
|
|
6
8
|
export const LOGOUT_API = '/console/api/v2/token/logout';
|
|
7
9
|
export const CALLBACK_API = '/console/api/v2/token/callback';
|
|
@@ -12,4 +14,4 @@ export const REDIRECT_URIS = new Set([
|
|
|
12
14
|
'redirect_uri',
|
|
13
15
|
'post_logout_redirect_uri',
|
|
14
16
|
]);
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2F1dGhvcml6YXRpb24vY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsK0JBQStCLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLDZCQUE2QixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyw4QkFBOEIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsZ0NBQWdDLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsK0JBQStCLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLDRCQUE0QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGdDQUFnQyxDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxjQUFjO0lBQ2QsMEJBQTBCO0NBQzNCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTVE9SQUdFX1RZUEVfS0VZID0gJ3Rva2VuX3N0b3JhZ2UnO1xuZXhwb3J0IGNvbnN0IENPREVfS0VZID0gJ2NvZGUnO1xuZXhwb3J0IGNvbnN0IElEX1RPS0VOX0tFWSA9ICdpZF90b2tlbic7XG5cbmV4cG9ydCBjb25zdCBMT0FESU5HX0NBQ0hFID0gMTVfMDAwO1xuZXhwb3J0IGNvbnN0IEhFQVJUQkVBVF9QT0xMSU5HID0gMTVfMDAwO1xuZXhwb3J0IGNvbnN0IFNFU1NJT05fTUFOQUdFX0tFWSA9ICdzZXNzaW9uLW1hbmFnZS1jb25zdHJ1Y3QtdGltZSc7XG5cbmV4cG9ydCBjb25zdCBMT0dJTl9BUEkgPSAnL2NvbnNvbGUvYXBpL3YyL3Rva2VuL2xvZ2luJztcbmV4cG9ydCBjb25zdCBMT0dPVVRfQVBJID0gJy9jb25zb2xlL2FwaS92Mi90b2tlbi9sb2dvdXQnO1xuZXhwb3J0IGNvbnN0IENBTExCQUNLX0FQSSA9ICcvY29uc29sZS9hcGkvdjIvdG9rZW4vY2FsbGJhY2snO1xuZXhwb3J0IGNvbnN0IFRPS0VOX1JFRlJFU0hfQVBJID0gJy9jb25zb2xlL2FwaS92Mi90b2tlbi9yZWZyZXNoJztcbmV4cG9ydCBjb25zdCBUT0tFTl9JTkZPX0FQSSA9ICcvY29uc29sZS9hcGkvdjIvdG9rZW4vaW5mbyc7XG5leHBvcnQgY29uc3QgRVhURVJOQUxfUkVESVJFQ1RfQVBJID0gJy9jb25zb2xlL2FwaS92Mi90b2tlbi9yZWRpcmVjdCc7XG5cbmV4cG9ydCBjb25zdCBSRURJUkVDVF9VUklTID0gbmV3IFNldChbXG4gICdyZWRpcmVjdF91cmknLFxuICAncG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpJyxcbl0pO1xuIl19
|
|
@@ -4,16 +4,19 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { DialogService } from '@alauda/ui';
|
|
6
6
|
import { Inject, Injectable, Injector } from '@angular/core';
|
|
7
|
-
import { NEVER, throwError, catchError, concatMap, take, map, of, switchMap, } from 'rxjs';
|
|
7
|
+
import { EMPTY, NEVER, from, throwError, catchError, concatMap, take, map, of, switchMap, } from 'rxjs';
|
|
8
8
|
import { ApiGatewayService } from '../api/public-api';
|
|
9
9
|
import { ANONYMOUS_APIS, catchPromise } from '../core/public-api';
|
|
10
|
-
import { TranslateService } from '../public-api';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
10
|
+
import { TranslateService } from '../translate/public-api';
|
|
11
|
+
import { checkAuthorizationToken, logout, refreshAuthorizationToken, } from './authorization';
|
|
12
|
+
import { SESSION_MANAGE_KEY } from './constants';
|
|
13
|
+
import { SessionManageService } from './session-manage.service';
|
|
14
|
+
import { readStorageToken } from './storage-token';
|
|
13
15
|
import * as i0 from "@angular/core";
|
|
14
16
|
import * as i1 from "../api/public-api";
|
|
15
17
|
import * as i2 from "@alauda/ui";
|
|
16
18
|
import * as i3 from "./session-manage.service";
|
|
19
|
+
const AUTHORIZATION_API_PREFIX = '/console/api/v2/token/';
|
|
17
20
|
// Interceptor must provide with correct order, not provide in root here
|
|
18
21
|
// https://angular.cn/guide/http#interceptor-order
|
|
19
22
|
export class AuthorizationInterceptorService {
|
|
@@ -26,47 +29,34 @@ export class AuthorizationInterceptorService {
|
|
|
26
29
|
this.sessionInvalidConfirm = false;
|
|
27
30
|
}
|
|
28
31
|
intercept(req, next) {
|
|
29
|
-
if (this.
|
|
30
|
-
|
|
32
|
+
if (this.isRelativeUrl(req.url)) {
|
|
33
|
+
if (!this.isConsoleApi(req.url) || !this.needConsoleAuthorization(req)) {
|
|
34
|
+
return next.handle(req);
|
|
35
|
+
}
|
|
36
|
+
return this.handleAuthorizedRequest(next, req, null);
|
|
31
37
|
}
|
|
32
|
-
|
|
33
|
-
return auth.getTokenPayload().pipe(switchMap(() => this.apiGateway.getApiAddress()), take(1), concatMap(apiAddress => {
|
|
38
|
+
return this.apiGateway.getApiAddress().pipe(take(1), concatMap(apiAddress => {
|
|
34
39
|
if (!this.needAuthorization(apiAddress, req)) {
|
|
35
40
|
return next.handle(req);
|
|
36
41
|
}
|
|
37
|
-
|
|
38
|
-
const authReq = this.cloneReq(req, idToken);
|
|
39
|
-
return next.handle(authReq).pipe(catchError((error) => {
|
|
40
|
-
if (this.isSessionInvalid(error)) {
|
|
41
|
-
this.handleSessionInvalid();
|
|
42
|
-
return NEVER;
|
|
43
|
-
}
|
|
44
|
-
// 当用户被禁用自动登出
|
|
45
|
-
if (this.isInvalidUser(error)) {
|
|
46
|
-
auth.logout(true);
|
|
47
|
-
return NEVER;
|
|
48
|
-
}
|
|
49
|
-
if (!this.isUnauthorized(error)) {
|
|
50
|
-
return throwError(() => error);
|
|
51
|
-
}
|
|
52
|
-
if (this.isWatchReq(apiAddress, authReq)) {
|
|
53
|
-
return NEVER;
|
|
54
|
-
}
|
|
55
|
-
return auth.checkToken().pipe(map(() => false), catchError(() => of(true)), switchMap(expired => expired
|
|
56
|
-
? this.retryAuth(next, authReq)
|
|
57
|
-
: throwError(() => error)));
|
|
58
|
-
}));
|
|
42
|
+
return this.handleAuthorizedRequest(next, req, apiAddress);
|
|
59
43
|
}));
|
|
60
44
|
}
|
|
61
|
-
//
|
|
62
|
-
|
|
45
|
+
// A relative URL shares the same origin as the console (no http(s):// or // prefix)
|
|
46
|
+
isRelativeUrl(url) {
|
|
63
47
|
const lowerCaseUrl = (url || '').toLowerCase();
|
|
64
48
|
return (!lowerCaseUrl.startsWith('http://') &&
|
|
65
49
|
!lowerCaseUrl.startsWith('https://') &&
|
|
66
50
|
!lowerCaseUrl.startsWith('//'));
|
|
67
51
|
}
|
|
52
|
+
isConsoleApi(url) {
|
|
53
|
+
return this.isRelativeUrl(url) && url.startsWith('/console/api/');
|
|
54
|
+
}
|
|
55
|
+
isAuthorizationApi(url) {
|
|
56
|
+
return url.startsWith(AUTHORIZATION_API_PREFIX);
|
|
57
|
+
}
|
|
68
58
|
cloneReq(req, idToken) {
|
|
69
|
-
return idToken
|
|
59
|
+
return idToken && !req.headers.get('Authorization')
|
|
70
60
|
? req.clone({
|
|
71
61
|
setHeaders: {
|
|
72
62
|
Authorization: `Bearer ${idToken}`,
|
|
@@ -74,26 +64,58 @@ export class AuthorizationInterceptorService {
|
|
|
74
64
|
})
|
|
75
65
|
: req;
|
|
76
66
|
}
|
|
67
|
+
handleAuthorizedRequest(next, req, apiAddress) {
|
|
68
|
+
const isConsoleApi = this.isConsoleApi(req.url);
|
|
69
|
+
const isAuthorizationApi = this.isAuthorizationApi(req.url);
|
|
70
|
+
const idToken = readStorageToken();
|
|
71
|
+
const authReq = this.cloneReq(req, idToken);
|
|
72
|
+
return next.handle(authReq).pipe(catchError((error) => {
|
|
73
|
+
if (this.isSessionInvalid(error)) {
|
|
74
|
+
this.handleSessionInvalid();
|
|
75
|
+
return NEVER;
|
|
76
|
+
}
|
|
77
|
+
// 当用户被禁用自动登出
|
|
78
|
+
if (this.isInvalidUser(error)) {
|
|
79
|
+
logout(true);
|
|
80
|
+
return NEVER;
|
|
81
|
+
}
|
|
82
|
+
if (!this.isUnauthorized(error)) {
|
|
83
|
+
return throwError(() => error);
|
|
84
|
+
}
|
|
85
|
+
if (isAuthorizationApi) {
|
|
86
|
+
return throwError(() => error);
|
|
87
|
+
}
|
|
88
|
+
if (!isConsoleApi && this.isWatchReq(apiAddress, authReq)) {
|
|
89
|
+
return NEVER;
|
|
90
|
+
}
|
|
91
|
+
return from(checkAuthorizationToken()).pipe(map(() => false), catchError(() => of(true)), switchMap(expired => expired || (isConsoleApi && !idToken)
|
|
92
|
+
? this.retryAuth(next, authReq)
|
|
93
|
+
: throwError(() => error)));
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
77
96
|
retryAuth(next, req) {
|
|
78
|
-
|
|
79
|
-
|
|
97
|
+
return from(refreshAuthorizationToken()).pipe(catchError(() => {
|
|
98
|
+
logout(true);
|
|
99
|
+
return EMPTY;
|
|
100
|
+
}), concatMap(({ id_token: idToken }) => {
|
|
80
101
|
const authReq = this.cloneReq(req, idToken);
|
|
81
102
|
return next.handle(authReq).pipe(catchError((error) => {
|
|
82
103
|
if (this.isUnauthorized(error)) {
|
|
83
|
-
|
|
104
|
+
logout(true);
|
|
84
105
|
}
|
|
85
106
|
return throwError(() => error);
|
|
86
107
|
}));
|
|
87
108
|
}));
|
|
88
109
|
}
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
this.
|
|
110
|
+
needAuthorization(apiAddress, req) {
|
|
111
|
+
if (req.headers.get('Authorization') ||
|
|
112
|
+
(!this.isConsoleApi(req.url) && !req.url.startsWith(apiAddress))) {
|
|
113
|
+
return false;
|
|
92
114
|
}
|
|
93
|
-
return this.
|
|
115
|
+
return !this.anonymousApis.some(api => api instanceof RegExp ? api.test(req.url) : req.url.includes(api));
|
|
94
116
|
}
|
|
95
|
-
|
|
96
|
-
if (
|
|
117
|
+
needConsoleAuthorization(req) {
|
|
118
|
+
if (req.headers.get('Authorization')) {
|
|
97
119
|
return false;
|
|
98
120
|
}
|
|
99
121
|
return !this.anonymousApis.some(api => api instanceof RegExp ? api.test(req.url) : req.url.includes(api));
|
|
@@ -110,7 +132,7 @@ export class AuthorizationInterceptorService {
|
|
|
110
132
|
if (Date.now() - parseInt(sessionStorage.getItem(SESSION_MANAGE_KEY)) <
|
|
111
133
|
5000) {
|
|
112
134
|
sessionStorage.removeItem(SESSION_MANAGE_KEY);
|
|
113
|
-
|
|
135
|
+
logout(true);
|
|
114
136
|
return;
|
|
115
137
|
}
|
|
116
138
|
if (this.sessionInvalidConfirm) {
|
|
@@ -125,7 +147,7 @@ export class AuthorizationInterceptorService {
|
|
|
125
147
|
cancelButton: false,
|
|
126
148
|
})).subscribe(() => {
|
|
127
149
|
this.sessionInvalidConfirm = false;
|
|
128
|
-
|
|
150
|
+
logout(true);
|
|
129
151
|
});
|
|
130
152
|
}
|
|
131
153
|
isUnauthorized(errorRes) {
|
|
@@ -153,4 +175,4 @@ export class AuthorizationInterceptorService {
|
|
|
153
175
|
type: Inject,
|
|
154
176
|
args: [ANONYMOUS_APIS]
|
|
155
177
|
}] }, { type: i1.ApiGatewayService }, { type: i0.Injector }, { type: i2.DialogService }, { type: i3.SessionManageService }], null); })();
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL2ludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8zQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxFQUNILEVBQUUsRUFDRixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBVSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUU1RCx3RUFBd0U7QUFDeEUsa0RBQWtEO0FBRWxELE1BQU0sT0FBTywrQkFBK0I7SUFLMUMsWUFFbUIsYUFBcUMsRUFDckMsVUFBNkIsRUFDN0IsUUFBa0IsRUFDbEIsTUFBcUIsRUFDckIsYUFBbUM7UUFKbkMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFSOUMsMEJBQXFC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QUUsR0FBRyxFQUFFLE1BQU0sRUFBd0I7UUFFckMsTUFBTSxhQUFhLEdBQ2pCLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztZQUNwQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDckMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLENBQUM7UUFDOUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxNQUFNLENBQUM7UUFDaEUsT0FBTyxhQUFhLElBQUksU0FBUyxDQUFDO0lBQ3BDLENBQUM7Z0dBN0xVLCtCQUErQixjQU1oQyxjQUFjO3VFQU5iLCtCQUErQixXQUEvQiwrQkFBK0I7O2lGQUEvQiwrQkFBK0I7Y0FEM0MsVUFBVTs7c0JBT04sTUFBTTt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgYXV0aG9yaXphdGlvblxuICovXG5cbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTkVWRVIsXG4gIHRocm93RXJyb3IsXG4gIGNhdGNoRXJyb3IsXG4gIGNvbmNhdE1hcCxcbiAgdGFrZSxcbiAgbWFwLFxuICBvZixcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpR2F0ZXdheVNlcnZpY2UgfSBmcm9tICcuLi9hcGkvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBTk9OWU1PVVNfQVBJUywgY2F0Y2hQcm9taXNlIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFN0YXR1cywgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQge1xuICBTRVNTSU9OX01BTkFHRV9LRVksXG4gIFNlc3Npb25NYW5hZ2VTZXJ2aWNlLFxufSBmcm9tICcuL3Nlc3Npb24tbWFuYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aG9yaXphdGlvblN0YXRlU2VydmljZSB9IGZyb20gJy4vc3RhdGUuc2VydmljZSc7XG5cbi8vIEludGVyY2VwdG9yIG11c3QgcHJvdmlkZSB3aXRoIGNvcnJlY3Qgb3JkZXIsIG5vdCBwcm92aWRlIGluIHJvb3QgaGVyZVxuLy8gaHR0cHM6Ly9hbmd1bGFyLmNuL2d1aWRlL2h0dHAjaW50ZXJjZXB0b3Itb3JkZXJcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRob3JpemF0aW9uSW50ZXJjZXB0b3JTZXJ2aWNlIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgcHJpdmF0ZSBhdXRoOiBBdXRob3JpemF0aW9uU3RhdGVTZXJ2aWNlO1xuXG4gIHByaXZhdGUgc2Vzc2lvbkludmFsaWRDb25maXJtID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBTk9OWU1PVVNfQVBJUylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFub255bW91c0FwaXM6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGlHYXRld2F5OiBBcGlHYXRld2F5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25NYW5hZ2U6IFNlc3Npb25NYW5hZ2VTZXJ2aWNlLFxuICApIHt9XG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgaWYgKHRoaXMuaXNDb25zb2xlUmVsYXRpdmUocmVxLnVybCkpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cblxuICAgIGNvbnN0IGF1dGggPSB0aGlzLmdldEF1dGgoKTtcblxuICAgIHJldHVybiBhdXRoLmdldFRva2VuUGF5bG9hZCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hcGlHYXRld2F5LmdldEFwaUFkZHJlc3MoKSksXG4gICAgICB0YWtlKDEpLFxuICAgICAgY29uY2F0TWFwKGFwaUFkZHJlc3MgPT4ge1xuICAgICAgICBpZiAoIXRoaXMubmVlZEF1dGhvcml6YXRpb24oYXBpQWRkcmVzcywgcmVxKSkge1xuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWRUb2tlbiA9IGF1dGguZ2V0VG9rZW5CeVN0b3JhZ2UoKTtcblxuICAgICAgICBjb25zdCBhdXRoUmVxID0gdGhpcy5jbG9uZVJlcShyZXEsIGlkVG9rZW4pO1xuXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShhdXRoUmVxKS5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXNzaW9uSW52YWxpZChlcnJvcikpIHtcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZXNzaW9uSW52YWxpZCgpO1xuICAgICAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIOW9k+eUqOaIt+iiq+emgeeUqOiHquWKqOeZu+WHulxuICAgICAgICAgICAgaWYgKHRoaXMuaXNJbnZhbGlkVXNlcihlcnJvcikpIHtcbiAgICAgICAgICAgICAgYXV0aC5sb2dvdXQodHJ1ZSk7XG4gICAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzVW5hdXRob3JpemVkKGVycm9yKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzV2F0Y2hSZXEoYXBpQWRkcmVzcywgYXV0aFJlcSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYXV0aC5jaGVja1Rva2VuKCkucGlwZShcbiAgICAgICAgICAgICAgbWFwKCgpID0+IGZhbHNlKSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih0cnVlKSksXG4gICAgICAgICAgICAgIHN3aXRjaE1hcChleHBpcmVkID0+XG4gICAgICAgICAgICAgICAgZXhwaXJlZFxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnJldHJ5QXV0aChuZXh0LCBhdXRoUmVxKVxuICAgICAgICAgICAgICAgICAgOiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLy8gY29uc29sZSByZWxhdGl2ZSBtZWFucyB1cmwgcHJvdG9jb2wraG9zdG5hbWUrcG9ydCBzYW1lIHdpdGggY29uc29sZSwgZm9yIHRoaXMgY2FzZSwganVzdCBjaGVjayB1cmwgc3RhcnQgd2l0aCBgYGBodHRwKHMpOi8vYGBgIG9yIGBgYC8vYGBgXG4gIGlzQ29uc29sZVJlbGF0aXZlKHVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgbG93ZXJDYXNlVXJsID0gKHVybCB8fCAnJykudG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAhbG93ZXJDYXNlVXJsLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSAmJlxuICAgICAgIWxvd2VyQ2FzZVVybC5zdGFydHNXaXRoKCdodHRwczovLycpICYmXG4gICAgICAhbG93ZXJDYXNlVXJsLnN0YXJ0c1dpdGgoJy8vJylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9uZVJlcShyZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBpZFRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaWRUb2tlblxuICAgICAgPyByZXEuY2xvbmUoe1xuICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtpZFRva2VufWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIDogcmVxO1xuICB9XG5cbiAgcHJpdmF0ZSByZXRyeUF1dGgobmV4dDogSHR0cEhhbmRsZXIsIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4pIHtcbiAgICBjb25zdCBhdXRoID0gdGhpcy5nZXRBdXRoKCk7XG4gICAgcmV0dXJuIGF1dGgucmVmcmVzaFRva2VuKCkucGlwZShcbiAgICAgIGNvbmNhdE1hcCgoeyBpZF90b2tlbjogaWRUb2tlbiB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGF1dGhSZXEgPSB0aGlzLmNsb25lUmVxKHJlcSwgaWRUb2tlbik7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShhdXRoUmVxKS5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNVbmF1dGhvcml6ZWQoZXJyb3IpKSB7XG4gICAgICAgICAgICAgIGF1dGgubG9nb3V0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBdXRoKCkge1xuICAgIGlmICghdGhpcy5hdXRoKSB7XG4gICAgICB0aGlzLmF1dGggPSB0aGlzLmluamVjdG9yLmdldChBdXRob3JpemF0aW9uU3RhdGVTZXJ2aWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXV0aDtcbiAgfVxuXG4gIHByaXZhdGUgbmVlZEF1dGhvcml6YXRpb24oXG4gICAgYXBpQWRkcmVzczogc3RyaW5nLFxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghcmVxLnVybC5zdGFydHNXaXRoKGFwaUFkZHJlc3MpIHx8IHJlcS5oZWFkZXJzLmdldCgnQXV0aG9yaXphdGlvbicpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuICF0aGlzLmFub255bW91c0FwaXMuc29tZShhcGkgPT5cbiAgICAgIGFwaSBpbnN0YW5jZW9mIFJlZ0V4cCA/IGFwaS50ZXN0KHJlcS51cmwpIDogcmVxLnVybC5pbmNsdWRlcyhhcGkpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzNDAxKHsgZXJyb3IgfTogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICByZXR1cm4gdGhpcy5pc1N0YXR1cyhlcnJvcikgJiYgZXJyb3IuY29kZSA9PT0gNDAxO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25JbnZhbGlkKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGNvbnN0IHsgZXJyb3IgfSA9IGVycm9yUmVzO1xuICAgIHJldHVybiB0aGlzLmlzNDAxKGVycm9yUmVzKSAmJiBlcnJvci5yZWFzb24gPT09ICdTZXNzaW9uSW52YWxpZCc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNlc3Npb25JbnZhbGlkKCkge1xuICAgIHRoaXMuc2Vzc2lvbk1hbmFnZS5jb21wbGV0ZSgpO1xuICAgIGlmIChcbiAgICAgIERhdGUubm93KCkgLSBwYXJzZUludChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFNFU1NJT05fTUFOQUdFX0tFWSkpIDxcbiAgICAgIDUwMDBcbiAgICApIHtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oU0VTU0lPTl9NQU5BR0VfS0VZKTtcbiAgICAgIHRoaXMuYXV0aC5sb2dvdXQodHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2Vzc2lvbkludmFsaWRDb25maXJtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXNzaW9uSW52YWxpZENvbmZpcm0gPSB0cnVlO1xuICAgIC8vIGZpeCBjaXJjbGUgZGVwZW5kZW5jeSBlcnJvclxuICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIGNhdGNoUHJvbWlzZShcbiAgICAgIHRoaXMuZGlhbG9nLmNvbmZpcm0oe1xuICAgICAgICB0aXRsZTogdHJhbnNsYXRlLmdldCgnc2Vzc2lvbl9pbnZhbGlkX2hpbnQnKSxcbiAgICAgICAgY29uZmlybVRleHQ6IHRyYW5zbGF0ZS5nZXQoJ2lfa25vdycpLFxuICAgICAgICBjYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgfSksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXNzaW9uSW52YWxpZENvbmZpcm0gPSBmYWxzZTtcbiAgICAgIHRoaXMuYXV0aC5sb2dvdXQodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzVW5hdXRob3JpemVkKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIHJldHVybiB0aGlzLmlzNDAxKGVycm9yUmVzKSAmJiBlcnJvclJlcy5lcnJvci5yZWFzb24gPT09ICdVbmF1dGhvcml6ZWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0ludmFsaWRVc2VyKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIHJldHVybiB0aGlzLmlzNDAxKGVycm9yUmVzKSAmJiBlcnJvclJlcy5lcnJvci5yZWFzb24gPT09ICdJbnZhbGlkVXNlcic7XG4gIH1cblxuICBwcml2YXRlIGlzU3RhdHVzKGVycm9yOiBzdHJpbmcgfCBTdGF0dXMpOiBlcnJvciBpcyBTdGF0dXMge1xuICAgIHJldHVybiBlcnJvciAmJiB0eXBlb2YgZXJyb3IgIT09ICdzdHJpbmcnICYmICdjb2RlJyBpbiBlcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgaXNXYXRjaFJlcShcbiAgICBhcGlBZGRyZXNzOiBzdHJpbmcsXG4gICAgeyB1cmwsIHBhcmFtcyB9OiBIdHRwUmVxdWVzdDx1bmtub3duPixcbiAgKSB7XG4gICAgY29uc3QgaXNTdGFuZGFyZEFwaSA9XG4gICAgICB1cmwuc3RhcnRzV2l0aChhcGlBZGRyZXNzICsgJy9hcGkvJykgfHxcbiAgICAgIHVybC5zdGFydHNXaXRoKGFwaUFkZHJlc3MgKyAnL2FwaXMvJykgfHxcbiAgICAgIHVybC5zdGFydHNXaXRoKGFwaUFkZHJlc3MgKyAnL2t1YmVybmV0ZXMvJyk7XG4gICAgY29uc3QgaXNXYXRjaE9uID0gcGFyYW1zLmdldCgnd2F0Y2gnKT8udG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xuICAgIHJldHVybiBpc1N0YW5kYXJkQXBpICYmIGlzV2F0Y2hPbjtcbiAgfVxufVxuIl19
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL2ludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8zQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsSUFBSSxFQUNKLFVBQVUsRUFDVixVQUFVLEVBQ1YsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEVBQ0gsRUFBRSxFQUNGLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixNQUFNLEVBQ04seUJBQXlCLEdBQzFCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUVuRCxNQUFNLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDO0FBRTFELHdFQUF3RTtBQUN4RSxrREFBa0Q7QUFFbEQsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxZQUVtQixhQUFxQyxFQUNyQyxVQUE2QixFQUM3QixRQUFrQixFQUNsQixNQUFxQixFQUNy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QUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUM7SUFDekUsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFzQjtRQUNyQyxPQUFPLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQztJQUMvRCxDQUFDO0lBRU8sVUFBVSxDQUNoQixVQUFrQixFQUNsQixFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQXdCO1FBRXJDLE1BQU0sYUFBYSxHQUNqQixHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7WUFDcEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDO1FBQ2hFLE9BQU8sYUFBYSxJQUFJLFNBQVMsQ0FBQztJQUNwQyxDQUFDO2dHQTFOVSwrQkFBK0IsY0FJaEMsY0FBYzt1RUFKYiwrQkFBK0IsV0FBL0IsK0JBQStCOztpRkFBL0IsK0JBQStCO2NBRDNDLFVBQVU7O3NCQUtOLE1BQU07dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGF1dGhvcml6YXRpb25cbiAqL1xuXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEVNUFRZLFxuICBORVZFUixcbiAgZnJvbSxcbiAgdGhyb3dFcnJvcixcbiAgY2F0Y2hFcnJvcixcbiAgY29uY2F0TWFwLFxuICB0YWtlLFxuICBtYXAsXG4gIG9mLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlHYXRld2F5U2VydmljZSB9IGZyb20gJy4uL2FwaS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEFOT05ZTU9VU19BUElTLCBjYXRjaFByb21pc2UsIFN0YXR1cyB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQge1xuICBjaGVja0F1dGhvcml6YXRpb25Ub2tlbixcbiAgbG9nb3V0LFxuICByZWZyZXNoQXV0aG9yaXphdGlvblRva2VuLFxufSBmcm9tICcuL2F1dGhvcml6YXRpb24nO1xuaW1wb3J0IHsgU0VTU0lPTl9NQU5BR0VfS0VZIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgU2Vzc2lvbk1hbmFnZVNlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24tbWFuYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVhZFN0b3JhZ2VUb2tlbiB9IGZyb20gJy4vc3RvcmFnZS10b2tlbic7XG5cbmNvbnN0IEFVVEhPUklaQVRJT05fQVBJX1BSRUZJWCA9ICcvY29uc29sZS9hcGkvdjIvdG9rZW4vJztcblxuLy8gSW50ZXJjZXB0b3IgbXVzdCBwcm92aWRlIHdpdGggY29ycmVjdCBvcmRlciwgbm90IHByb3ZpZGUgaW4gcm9vdCBoZXJlXG4vLyBodHRwczovL2FuZ3VsYXIuY24vZ3VpZGUvaHR0cCNpbnRlcmNlcHRvci1vcmRlclxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhvcml6YXRpb25JbnRlcmNlcHRvclNlcnZpY2UgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBwcml2YXRlIHNlc3Npb25JbnZhbGlkQ29uZmlybSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQU5PTllNT1VTX0FQSVMpXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbm9ueW1vdXNBcGlzOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpR2F0ZXdheTogQXBpR2F0ZXdheVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uTWFuYWdlOiBTZXNzaW9uTWFuYWdlU2VydmljZSxcbiAgKSB7fVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICh0aGlzLmlzUmVsYXRpdmVVcmwocmVxLnVybCkpIHtcbiAgICAgIGlmICghdGhpcy5pc0NvbnNvbGVBcGkocmVxLnVybCkgfHwgIXRoaXMubmVlZENvbnNvbGVBdXRob3JpemF0aW9uKHJlcSkpIHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUF1dGhvcml6ZWRSZXF1ZXN0KG5leHQsIHJlcSwgbnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpR2F0ZXdheS5nZXRBcGlBZGRyZXNzKCkucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBjb25jYXRNYXAoYXBpQWRkcmVzcyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5uZWVkQXV0aG9yaXphdGlvbihhcGlBZGRyZXNzLCByZXEpKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVBdXRob3JpemVkUmVxdWVzdChuZXh0LCByZXEsIGFwaUFkZHJlc3MpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8vIEEgcmVsYXRpdmUgVVJMIHNoYXJlcyB0aGUgc2FtZSBvcmlnaW4gYXMgdGhlIGNvbnNvbGUgKG5vIGh0dHAocyk6Ly8gb3IgLy8gcHJlZml4KVxuICBwcml2YXRlIGlzUmVsYXRpdmVVcmwodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsb3dlckNhc2VVcmwgPSAodXJsIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICFsb3dlckNhc2VVcmwuc3RhcnRzV2l0aCgnaHR0cDovLycpICYmXG4gICAgICAhbG93ZXJDYXNlVXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgJiZcbiAgICAgICFsb3dlckNhc2VVcmwuc3RhcnRzV2l0aCgnLy8nKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzQ29uc29sZUFwaSh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlzUmVsYXRpdmVVcmwodXJsKSAmJiB1cmwuc3RhcnRzV2l0aCgnL2NvbnNvbGUvYXBpLycpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0F1dGhvcml6YXRpb25BcGkodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgoQVVUSE9SSVpBVElPTl9BUElfUFJFRklYKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVSZXEocmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPiwgaWRUb2tlbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGlkVG9rZW4gJiYgIXJlcS5oZWFkZXJzLmdldCgnQXV0aG9yaXphdGlvbicpXG4gICAgICA/IHJlcS5jbG9uZSh7XG4gICAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2lkVG9rZW59YCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgOiByZXE7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUF1dGhvcml6ZWRSZXF1ZXN0KFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyLFxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICAgYXBpQWRkcmVzczogc3RyaW5nIHwgbnVsbCxcbiAgKSB7XG4gICAgY29uc3QgaXNDb25zb2xlQXBpID0gdGhpcy5pc0NvbnNvbGVBcGkocmVxLnVybCk7XG4gICAgY29uc3QgaXNBdXRob3JpemF0aW9uQXBpID0gdGhpcy5pc0F1dGhvcml6YXRpb25BcGkocmVxLnVybCk7XG4gICAgY29uc3QgaWRUb2tlbiA9IHJlYWRTdG9yYWdlVG9rZW4oKTtcbiAgICBjb25zdCBhdXRoUmVxID0gdGhpcy5jbG9uZVJlcShyZXEsIGlkVG9rZW4pO1xuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNTZXNzaW9uSW52YWxpZChlcnJvcikpIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVNlc3Npb25JbnZhbGlkKCk7XG4gICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g5b2T55So5oi36KKr56aB55So6Ieq5Yqo55m75Ye6XG4gICAgICAgIGlmICh0aGlzLmlzSW52YWxpZFVzZXIoZXJyb3IpKSB7XG4gICAgICAgICAgbG9nb3V0KHRydWUpO1xuICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc1VuYXV0aG9yaXplZChlcnJvcikpIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNBdXRob3JpemF0aW9uQXBpKSB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0NvbnNvbGVBcGkgJiYgdGhpcy5pc1dhdGNoUmVxKGFwaUFkZHJlc3MsIGF1dGhSZXEpKSB7XG4gICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZyb20oY2hlY2tBdXRob3JpemF0aW9uVG9rZW4oKSkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YodHJ1ZSkpLFxuICAgICAgICAgIHN3aXRjaE1hcChleHBpcmVkID0+XG4gICAgICAgICAgICBleHBpcmVkIHx8IChpc0NvbnNvbGVBcGkgJiYgIWlkVG9rZW4pXG4gICAgICAgICAgICAgID8gdGhpcy5yZXRyeUF1dGgobmV4dCwgYXV0aFJlcSlcbiAgICAgICAgICAgICAgOiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0cnlBdXRoKG5leHQ6IEh0dHBIYW5kbGVyLCByZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+KSB7XG4gICAgcmV0dXJuIGZyb20ocmVmcmVzaEF1dGhvcml6YXRpb25Ub2tlbigpKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgIGxvZ291dCh0cnVlKTtcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgfSksXG4gICAgICBjb25jYXRNYXAoKHsgaWRfdG9rZW46IGlkVG9rZW4gfSkgPT4ge1xuICAgICAgICBjb25zdCBhdXRoUmVxID0gdGhpcy5jbG9uZVJlcShyZXEsIGlkVG9rZW4pO1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aFJlcSkucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVW5hdXRob3JpemVkKGVycm9yKSkge1xuICAgICAgICAgICAgICBsb2dvdXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5lZWRBdXRob3JpemF0aW9uKFxuICAgIGFwaUFkZHJlc3M6IHN0cmluZyxcbiAgICByZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICByZXEuaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKSB8fFxuICAgICAgKCF0aGlzLmlzQ29uc29sZUFwaShyZXEudXJsKSAmJiAhcmVxLnVybC5zdGFydHNXaXRoKGFwaUFkZHJlc3MpKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiAhdGhpcy5hbm9ueW1vdXNBcGlzLnNvbWUoYXBpID0+XG4gICAgICBhcGkgaW5zdGFuY2VvZiBSZWdFeHAgPyBhcGkudGVzdChyZXEudXJsKSA6IHJlcS51cmwuaW5jbHVkZXMoYXBpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBuZWVkQ29uc29sZUF1dGhvcml6YXRpb24ocmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPikge1xuICAgIGlmIChyZXEuaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiAhdGhpcy5hbm9ueW1vdXNBcGlzLnNvbWUoYXBpID0+XG4gICAgICBhcGkgaW5zdGFuY2VvZiBSZWdFeHAgPyBhcGkudGVzdChyZXEudXJsKSA6IHJlcS51cmwuaW5jbHVkZXMoYXBpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpczQwMSh7IGVycm9yIH06IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNTdGF0dXMoZXJyb3IpICYmIGVycm9yLmNvZGUgPT09IDQwMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZXNzaW9uSW52YWxpZChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBjb25zdCB7IGVycm9yIH0gPSBlcnJvclJlcztcbiAgICByZXR1cm4gdGhpcy5pczQwMShlcnJvclJlcykgJiYgZXJyb3IucmVhc29uID09PSAnU2Vzc2lvbkludmFsaWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTZXNzaW9uSW52YWxpZCgpIHtcbiAgICB0aGlzLnNlc3Npb25NYW5hZ2UuY29tcGxldGUoKTtcbiAgICBpZiAoXG4gICAgICBEYXRlLm5vdygpIC0gcGFyc2VJbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShTRVNTSU9OX01BTkFHRV9LRVkpKSA8XG4gICAgICA1MDAwXG4gICAgKSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFNFU1NJT05fTUFOQUdFX0tFWSk7XG4gICAgICBsb2dvdXQodHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2Vzc2lvbkludmFsaWRDb25maXJtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXNzaW9uSW52YWxpZENvbmZpcm0gPSB0cnVlO1xuICAgIC8vIGZpeCBjaXJjbGUgZGVwZW5kZW5jeSBlcnJvclxuICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIGNhdGNoUHJvbWlzZShcbiAgICAgIHRoaXMuZGlhbG9nLmNvbmZpcm0oe1xuICAgICAgICB0aXRsZTogdHJhbnNsYXRlLmdldCgnc2Vzc2lvbl9pbnZhbGlkX2hpbnQnKSxcbiAgICAgICAgY29uZmlybVRleHQ6IHRyYW5zbGF0ZS5nZXQoJ2lfa25vdycpLFxuICAgICAgICBjYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgfSksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXNzaW9uSW52YWxpZENvbmZpcm0gPSBmYWxzZTtcbiAgICAgIGxvZ291dCh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNVbmF1dGhvcml6ZWQoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIHRoaXMuaXM0MDEoZXJyb3JSZXMpICYmIGVycm9yUmVzLmVycm9yLnJlYXNvbiA9PT0gJ1VuYXV0aG9yaXplZCc7XG4gIH1cblxuICBwcml2YXRlIGlzSW52YWxpZFVzZXIoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIHRoaXMuaXM0MDEoZXJyb3JSZXMpICYmIGVycm9yUmVzLmVycm9yLnJlYXNvbiA9PT0gJ0ludmFsaWRVc2VyJztcbiAgfVxuXG4gIHByaXZhdGUgaXNTdGF0dXMoZXJyb3I6IHN0cmluZyB8IFN0YXR1cyk6IGVycm9yIGlzIFN0YXR1cyB7XG4gICAgcmV0dXJuIGVycm9yICYmIHR5cGVvZiBlcnJvciAhPT0gJ3N0cmluZycgJiYgJ2NvZGUnIGluIGVycm9yO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1dhdGNoUmVxKFxuICAgIGFwaUFkZHJlc3M6IHN0cmluZyxcbiAgICB7IHVybCwgcGFyYW1zIH06IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICApIHtcbiAgICBjb25zdCBpc1N0YW5kYXJkQXBpID1cbiAgICAgIHVybC5zdGFydHNXaXRoKGFwaUFkZHJlc3MgKyAnL2FwaS8nKSB8fFxuICAgICAgdXJsLnN0YXJ0c1dpdGgoYXBpQWRkcmVzcyArICcvYXBpcy8nKSB8fFxuICAgICAgdXJsLnN0YXJ0c1dpdGgoYXBpQWRkcmVzcyArICcva3ViZXJuZXRlcy8nKTtcbiAgICBjb25zdCBpc1dhdGNoT24gPSBwYXJhbXMuZ2V0KCd3YXRjaCcpPy50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZSc7XG4gICAgcmV0dXJuIGlzU3RhbmRhcmRBcGkgJiYgaXNXYXRjaE9uO1xuICB9XG59XG4iXX0=
|
|
@@ -12,4 +12,5 @@ export * from './state.service';
|
|
|
12
12
|
export * from './storage-token';
|
|
13
13
|
export * from './authorization';
|
|
14
14
|
export * from './constants';
|
|
15
|
-
|
|
15
|
+
export * from './token-client';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWM7QUFDZCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFtbaW5jbHVkZTphdXRob3JpemF0aW9uL1JFQURNRS5tZF1dXG4gKiBAbW9kdWxlIGF1dGhvcml6YXRpb25cbiAqIEBwcmVmZXJyZWRcbiAqL1xuXG4vKiogaW1wb3J0cyAqL1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJjZXB0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwcC1pbml0LXVybCc7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb24tbWFuYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhvcml6YXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbi1jbGllbnQnO1xuIl19
|