@tuki-io/tuki-widgets 0.0.77 → 0.0.78
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/package.json +1 -1
- package/di2mt/api/api.endpoints.d.ts +0 -26
- package/di2mt/index.d.ts +0 -5
- package/di2mt/public-api.d.ts +0 -13
- package/di2mt/shared/components/card/card.component.d.ts +0 -6
- package/di2mt/shared/components/chart-card/chart-card.component.d.ts +0 -22
- package/di2mt/shared/components/stat-card/stat-card.component.d.ts +0 -14
- package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +0 -7
- package/di2mt/shared/components/summary-card/summary-card.component.d.ts +0 -9
- package/di2mt/shared/components/table-filters/table-filters.component.d.ts +0 -14
- package/di2mt/shared/constants/app.constants.d.ts +0 -74
- package/di2mt/shared/material.module.d.ts +0 -15
- package/di2mt/shared/services/api.service.d.ts +0 -20
- package/di2mt/shared/shared.module.d.ts +0 -16
- package/di2mt/shared/types/constants.d.ts +0 -8
- package/di2mt/shared/types/data-table.d.ts +0 -5
- package/di2mt/shared/types/table/filter.d.ts +0 -16
- package/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.d.ts +0 -13
- package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +0 -62
- package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +0 -15
- package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +0 -34
- package/di2mt/widgets/site-upgrade/types/user-upgrade.d.ts +0 -21
- package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +0 -18
- package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +0 -15
- package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +0 -18
- package/di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts +0 -56
- package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +0 -15
- package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +0 -17
- package/di2mt/widgets/user-upgrade/types/user-upgrade.d.ts +0 -17
- package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +0 -71
- package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +0 -16
- package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +0 -25
- package/esm2020/di2mt/api/api.endpoints.mjs +0 -27
- package/esm2020/di2mt/public-api.mjs +0 -24
- package/esm2020/di2mt/shared/components/card/card.component.mjs +0 -13
- package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +0 -62
- package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +0 -47
- package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +0 -17
- package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +0 -36
- package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +0 -37
- package/esm2020/di2mt/shared/constants/app.constants.mjs +0 -95
- package/esm2020/di2mt/shared/material.module.mjs +0 -76
- package/esm2020/di2mt/shared/services/api.service.mjs +0 -86
- package/esm2020/di2mt/shared/shared.module.mjs +0 -61
- package/esm2020/di2mt/shared/types/constants.mjs +0 -12
- package/esm2020/di2mt/shared/types/data-table.mjs +0 -2
- package/esm2020/di2mt/shared/types/table/filter.mjs +0 -2
- package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +0 -5
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +0 -44
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +0 -317
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +0 -53
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +0 -78
- package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +0 -3
- package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +0 -64
- package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +0 -64
- package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +0 -68
- package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +0 -45
- package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +0 -45
- package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +0 -64
- package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +0 -74
- package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +0 -2
- package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +0 -59
- package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +0 -82
- package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +0 -3
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +0 -272
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +0 -59
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +0 -50
- package/esm2020/user-device-manage/public-api.mjs +0 -9
- package/esm2020/user-device-manage/src/app.constants.mjs +0 -95
- package/esm2020/user-device-manage/src/classes/device.mjs +0 -85
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +0 -2
- package/esm2020/user-device-manage/src/classes/line-association.mjs +0 -121
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +0 -10
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +0 -27
- package/esm2020/user-device-manage/src/classes/line.mjs +0 -18
- package/esm2020/user-device-manage/src/classes/notification.mjs +0 -32
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +0 -7
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +0 -111
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +0 -21
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +0 -32
- package/esm2020/user-device-manage/src/classes/types.mjs +0 -24
- package/esm2020/user-device-manage/src/common-functions.mjs +0 -19
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +0 -34
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +0 -31
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +0 -16
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +0 -64
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +0 -179
- package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +0 -24
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +0 -335
- package/esm2020/user-device-manage/src/environments/environment.mjs +0 -11
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +0 -36
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
- package/esm2020/user-device-manage/src/material.module.mjs +0 -192
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +0 -35
- package/esm2020/user-device-manage/src/services/api.service.mjs +0 -79
- package/esm2020/user-device-manage/src/services/device.service.mjs +0 -83
- package/esm2020/user-device-manage/src/services/dns.service.mjs +0 -104
- package/esm2020/user-device-manage/src/services/line.service.mjs +0 -76
- package/esm2020/user-device-manage/src/services/notification.service.mjs +0 -62
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +0 -70
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +0 -197
- package/esm2020/user-device-manage/src/services/user.service.mjs +0 -243
- package/esm2020/user-device-manage/src/services/utils.service.mjs +0 -87
- package/esm2020/user-device-manage/src/services/validation.service.mjs +0 -760
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +0 -107
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +0 -5
- package/esm2020/user-manage/public-api.mjs +0 -7
- package/esm2020/user-manage/src/app.constants.mjs +0 -50
- package/esm2020/user-manage/src/classes/device.mjs +0 -37
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
- package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
- package/esm2020/user-manage/src/classes/line-directory.mjs +0 -27
- package/esm2020/user-manage/src/classes/line.mjs +0 -18
- package/esm2020/user-manage/src/classes/notification.mjs +0 -32
- package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
- package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
- package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
- package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
- package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
- package/esm2020/user-manage/src/common-functions.mjs +0 -19
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +0 -24
- package/esm2020/user-manage/src/environments/environment.mjs +0 -11
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
- package/esm2020/user-manage/src/material.module.mjs +0 -188
- package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/user-manage/src/services/api.service.mjs +0 -79
- package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
- package/esm2020/user-manage/src/services/line.service.mjs +0 -34
- package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
- package/esm2020/user-manage/src/services/user.service.mjs +0 -207
- package/esm2020/user-manage/src/services/users-search.service.mjs +0 -50
- package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
- package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -78
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -208
- package/esm2020/user-manage/src/user-manage.module.mjs +0 -99
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
- package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
- package/esm2020/users-list/public-api.mjs +0 -9
- package/esm2020/users-list/src/app.constants.mjs +0 -54
- package/esm2020/users-list/src/classes/app-location.mjs +0 -32
- package/esm2020/users-list/src/classes/device.mjs +0 -7
- package/esm2020/users-list/src/classes/line.mjs +0 -18
- package/esm2020/users-list/src/classes/move-user.mjs +0 -178
- package/esm2020/users-list/src/classes/notification.mjs +0 -31
- package/esm2020/users-list/src/classes/pagination.mjs +0 -8
- package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
- package/esm2020/users-list/src/classes/table-data.mjs +0 -2
- package/esm2020/users-list/src/classes/user-list.mjs +0 -14
- package/esm2020/users-list/src/material.module.mjs +0 -209
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +0 -38
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +0 -23
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +0 -189
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +0 -38
- package/esm2020/users-list/src/services/api-webex.service.mjs +0 -18
- package/esm2020/users-list/src/services/api.service.mjs +0 -78
- package/esm2020/users-list/src/services/dns.service.mjs +0 -120
- package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
- package/esm2020/users-list/src/services/move-user.service.mjs +0 -53
- package/esm2020/users-list/src/services/notification.service.mjs +0 -62
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/users-list/src/services/site-settings.service.mjs +0 -27
- package/esm2020/users-list/src/services/user.service.mjs +0 -142
- package/esm2020/users-list/src/services/users-search.service.mjs +0 -124
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +0 -34
- package/esm2020/users-list/src/users-list.component.mjs +0 -287
- package/esm2020/users-list/src/users-list.module.mjs +0 -92
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/users-list/src/utils/common-functions.mjs +0 -32
- package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
- package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
- package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +0 -1874
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3402
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2124
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -1996
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +0 -1865
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3364
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2107
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -1975
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
- package/user-device-manage/index.d.ts +0 -5
- package/user-device-manage/public-api.d.ts +0 -8
- package/user-device-manage/src/app.constants.d.ts +0 -74
- package/user-device-manage/src/classes/device.d.ts +0 -233
- package/user-device-manage/src/classes/line-association-interface.d.ts +0 -45
- package/user-device-manage/src/classes/line-association.d.ts +0 -62
- package/user-device-manage/src/classes/line-call-info-display.d.ts +0 -11
- package/user-device-manage/src/classes/line-directory.d.ts +0 -15
- package/user-device-manage/src/classes/line.d.ts +0 -140
- package/user-device-manage/src/classes/notification.d.ts +0 -18
- package/user-device-manage/src/classes/recording-options.d.ts +0 -5
- package/user-device-manage/src/classes/simplified-user.d.ts +0 -52
- package/user-device-manage/src/classes/site-defaults.d.ts +0 -146
- package/user-device-manage/src/classes/translation-pattern.d.ts +0 -19
- package/user-device-manage/src/classes/types.d.ts +0 -19
- package/user-device-manage/src/common-functions.d.ts +0 -1
- package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +0 -20
- package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +0 -15
- package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +0 -7
- package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +0 -24
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +0 -89
- package/user-device-manage/src/device-list/device-list.component.d.ts +0 -11
- package/user-device-manage/src/device-manage-widget.component.d.ts +0 -71
- package/user-device-manage/src/environments/environment.d.ts +0 -9
- package/user-device-manage/src/interseptors/auth.interceptor.d.ts +0 -9
- package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
- package/user-device-manage/src/material.module.d.ts +0 -29
- package/user-device-manage/src/notifications/notification.component.d.ts +0 -19
- package/user-device-manage/src/services/api.service.d.ts +0 -20
- package/user-device-manage/src/services/device.service.d.ts +0 -21
- package/user-device-manage/src/services/dns.service.d.ts +0 -14
- package/user-device-manage/src/services/line.service.d.ts +0 -33
- package/user-device-manage/src/services/notification.service.d.ts +0 -18
- package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
- package/user-device-manage/src/services/site-settings.service.d.ts +0 -25
- package/user-device-manage/src/services/sorting-utils.service.d.ts +0 -26
- package/user-device-manage/src/services/user.service.d.ts +0 -51
- package/user-device-manage/src/services/utils.service.d.ts +0 -10
- package/user-device-manage/src/services/validation.service.d.ts +0 -165
- package/user-device-manage/src/user-device-manage.module.d.ts +0 -22
- package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-manage/index.d.ts +0 -5
- package/user-manage/public-api.d.ts +0 -6
- package/user-manage/src/app.constants.d.ts +0 -29
- package/user-manage/src/classes/device.d.ts +0 -203
- package/user-manage/src/classes/line-association-interface.d.ts +0 -40
- package/user-manage/src/classes/line-association.d.ts +0 -55
- package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
- package/user-manage/src/classes/line-directory.d.ts +0 -16
- package/user-manage/src/classes/line.d.ts +0 -140
- package/user-manage/src/classes/notification.d.ts +0 -18
- package/user-manage/src/classes/pagination.d.ts +0 -13
- package/user-manage/src/classes/recording-options.d.ts +0 -5
- package/user-manage/src/classes/simplified-user.d.ts +0 -50
- package/user-manage/src/classes/table-data.d.ts +0 -5
- package/user-manage/src/classes/translation-pattern.d.ts +0 -18
- package/user-manage/src/classes/user-list.d.ts +0 -34
- package/user-manage/src/common-functions.d.ts +0 -1
- package/user-manage/src/device-list/device-list.component.d.ts +0 -11
- package/user-manage/src/environments/environment.d.ts +0 -9
- package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
- package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
- package/user-manage/src/material.module.d.ts +0 -28
- package/user-manage/src/notifications/notification.component.d.ts +0 -19
- package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
- package/user-manage/src/services/api.service.d.ts +0 -21
- package/user-manage/src/services/dns.service.d.ts +0 -14
- package/user-manage/src/services/line.service.d.ts +0 -17
- package/user-manage/src/services/notification.service.d.ts +0 -18
- package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
- package/user-manage/src/services/site-settings.service.d.ts +0 -9
- package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
- package/user-manage/src/services/user.service.d.ts +0 -43
- package/user-manage/src/services/users-search.service.d.ts +0 -25
- package/user-manage/src/services/utils.service.d.ts +0 -9
- package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
- package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
- package/user-manage/src/user-info/user-info.component.d.ts +0 -9
- package/user-manage/src/user-manage-widget.component.d.ts +0 -44
- package/user-manage/src/user-manage.module.d.ts +0 -21
- package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
- package/users-list/index.d.ts +0 -5
- package/users-list/public-api.d.ts +0 -8
- package/users-list/src/app.constants.d.ts +0 -36
- package/users-list/src/classes/app-location.d.ts +0 -17
- package/users-list/src/classes/device.d.ts +0 -224
- package/users-list/src/classes/line.d.ts +0 -140
- package/users-list/src/classes/move-user.d.ts +0 -85
- package/users-list/src/classes/notification.d.ts +0 -18
- package/users-list/src/classes/pagination.d.ts +0 -13
- package/users-list/src/classes/simlified-user.d.ts +0 -25
- package/users-list/src/classes/table-data.d.ts +0 -5
- package/users-list/src/classes/user-list.d.ts +0 -36
- package/users-list/src/material.module.d.ts +0 -31
- package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +0 -21
- package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +0 -12
- package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +0 -55
- package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +0 -17
- package/users-list/src/services/api-webex.service.d.ts +0 -8
- package/users-list/src/services/api.service.d.ts +0 -21
- package/users-list/src/services/dns.service.d.ts +0 -18
- package/users-list/src/services/events-communication.service.d.ts +0 -8
- package/users-list/src/services/move-user.service.d.ts +0 -17
- package/users-list/src/services/notification.service.d.ts +0 -18
- package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
- package/users-list/src/services/site-settings.service.d.ts +0 -11
- package/users-list/src/services/user.service.d.ts +0 -35
- package/users-list/src/services/users-search.service.d.ts +0 -34
- package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +0 -20
- package/users-list/src/users-list.component.d.ts +0 -60
- package/users-list/src/users-list.module.d.ts +0 -18
- package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
- package/users-list/src/utils/common-functions.d.ts +0 -2
- package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
- package/users-list/src/utils/utils.service.d.ts +0 -9
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { map } from "rxjs";
|
|
3
|
-
import { API } from "../../api/api.endpoints";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../shared/services/api.service";
|
|
6
|
-
export class UpgradeOverviewService {
|
|
7
|
-
constructor(apiService) {
|
|
8
|
-
this.apiService = apiService;
|
|
9
|
-
}
|
|
10
|
-
getUpgradePreconditions() {
|
|
11
|
-
return this.apiService.fetch(API.OVERVIEW.GET_UPGRADE_PRECONDITIONS.replace(':customerId', this.customerId)).pipe(map((resp) => {
|
|
12
|
-
return {
|
|
13
|
-
id: resp.id,
|
|
14
|
-
customerId: resp.customerId,
|
|
15
|
-
controlHubIntegration: resp.controlHubIntegration,
|
|
16
|
-
numberOfAvailableLicences: resp.availableLicences
|
|
17
|
-
};
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
getSiteInfrastructureSummary() {
|
|
21
|
-
return this.apiService.fetch(API.OVERVIEW.GET_SITE_INFRASTRUCTURE.replace(':customerId', this.customerId)).pipe(map((resp) => {
|
|
22
|
-
return {
|
|
23
|
-
id: resp.id,
|
|
24
|
-
customerId: resp.customerId,
|
|
25
|
-
totalSites: resp.totalSites,
|
|
26
|
-
totalLocations: resp.totalLocations,
|
|
27
|
-
totalPSTNs: resp.totalPSTNS
|
|
28
|
-
};
|
|
29
|
-
}));
|
|
30
|
-
}
|
|
31
|
-
getUsersUpgradeSummary() {
|
|
32
|
-
return this.apiService.fetch(API.OVERVIEW.GET_USERS_UPGRADE_SUMMARY.replace(':customerId', this.customerId)).pipe(map((resp) => {
|
|
33
|
-
return {
|
|
34
|
-
id: resp.id,
|
|
35
|
-
customerId: resp.customerId,
|
|
36
|
-
totalUsers: resp.totalUsers,
|
|
37
|
-
totalReadyUsers: resp.totalUsersReady,
|
|
38
|
-
totalUpgradedUsers: resp.totalUsersUpgraded
|
|
39
|
-
};
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
getSitesUpgradeSummary() {
|
|
43
|
-
return this.apiService.fetch(API.OVERVIEW.GET_SITES_UPGRADE_SUMMARY.replace(':customerId', this.customerId)).pipe(map((resp) => {
|
|
44
|
-
return {
|
|
45
|
-
id: resp.id,
|
|
46
|
-
customerId: resp.customerId,
|
|
47
|
-
totalSites: resp.totalSites,
|
|
48
|
-
totalReadySites: resp.totalSitesReady,
|
|
49
|
-
totalUpgradedSites: resp.totalSitesUpgraded
|
|
50
|
-
};
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
getUsersUpgradeReadiness() {
|
|
54
|
-
return this.apiService.fetch(API.OVERVIEW.GET_USERS_UPGRADE_READINESS.replace(':customerId', this.customerId)).pipe(map((resp) => {
|
|
55
|
-
return {
|
|
56
|
-
id: resp.id,
|
|
57
|
-
customerId: resp.customerId,
|
|
58
|
-
totalUsers: resp.totalUsers,
|
|
59
|
-
totalReadyUsers: resp.totalUsersReady
|
|
60
|
-
};
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
getSitesUpgradeReadiness() {
|
|
64
|
-
return this.apiService.fetch(API.OVERVIEW.GET_SITES_UPGRADE_READINESS.replace(':customerId', this.customerId)).pipe(map((resp) => {
|
|
65
|
-
return {
|
|
66
|
-
id: resp.id,
|
|
67
|
-
customerId: resp.customerId,
|
|
68
|
-
totalSites: resp.totalSites,
|
|
69
|
-
totalReadySites: resp.totalSitesReady
|
|
70
|
-
};
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
UpgradeOverviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UpgradeOverviewService, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
UpgradeOverviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UpgradeOverviewService, providedIn: 'root' });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UpgradeOverviewService, decorators: [{
|
|
77
|
-
type: Injectable,
|
|
78
|
-
args: [{
|
|
79
|
-
providedIn: 'root'
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: function () { return [{ type: i1.APIService }]; } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1vdmVydmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2RpMm10L3dpZGdldHMvdXBncmFkZS1vdmVydmlldy91cGdyYWRlLW92ZXJ2aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFJLENBQUM7SUFFL0MsdUJBQXVCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3hCLEdBQUcsQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ2pGLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLE9BQU87Z0JBQ0gsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtnQkFDakQseUJBQXlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjthQUNwRCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCw0QkFBNEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDeEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLENB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dEIsc0JBQXNCLGNBRm5CLE1BQU07NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTaXRlSW5mcmFzdHJ1Y3R1cmVTdW1tYXJ5LCBTaXRlc1VwZ3JhZGVSZWFkaW5lc3MsIFNpdGVzVXBncmFkZVN1bW1hcnksIFVwZ3JhZGVQcmVjb25kaXRpb25zLCBVc2Vyc1VwZ3JhZGVSZWFkaW5lc3MsIFVzZXJzVXBncmFkZVN1bW1hcnkgfSBmcm9tIFwiLi90eXBlcy91cGdyYWRlLW92ZXJ2aWV3XCI7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gXCIuLi8uLi9hcGkvYXBpLmVuZHBvaW50c1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGdyYWRlT3ZlcnZpZXdTZXJ2aWNlIHtcclxuICAgIGN1c3RvbWVySWQhOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBnZXRVcGdyYWRlUHJlY29uZGl0aW9ucygpOiBPYnNlcnZhYmxlPFVwZ3JhZGVQcmVjb25kaXRpb25zPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChcclxuICAgICAgICAgICAgQVBJLk9WRVJWSUVXLkdFVF9VUEdSQURFX1BSRUNPTkRJVElPTlMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCB0aGlzLmN1c3RvbWVySWQpXHJcbiAgICAgICAgKS5waXBlKG1hcCgocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IHJlc3AuaWQsXHJcbiAgICAgICAgICAgICAgICBjdXN0b21lcklkOiByZXNwLmN1c3RvbWVySWQsXHJcbiAgICAgICAgICAgICAgICBjb250cm9sSHViSW50ZWdyYXRpb246IHJlc3AuY29udHJvbEh1YkludGVncmF0aW9uLFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyT2ZBdmFpbGFibGVMaWNlbmNlczogcmVzcC5hdmFpbGFibGVMaWNlbmNlc1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTaXRlSW5mcmFzdHJ1Y3R1cmVTdW1tYXJ5KCk6IE9ic2VydmFibGU8U2l0ZUluZnJhc3RydWN0dXJlU3VtbWFyeT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goXHJcbiAgICAgICAgICAgIEFQSS5PVkVSVklFVy5HRVRfU0lURV9JTkZSQVNUUlVDVFVSRS5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgICApLnBpcGUobWFwKChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpZDogcmVzcC5pZCxcclxuICAgICAgICAgICAgICAgIGN1c3RvbWVySWQ6IHJlc3AuY3VzdG9tZXJJZCxcclxuICAgICAgICAgICAgICAgIHRvdGFsU2l0ZXM6IHJlc3AudG90YWxTaXRlcyxcclxuICAgICAgICAgICAgICAgIHRvdGFsTG9jYXRpb25zOiByZXNwLnRvdGFsTG9jYXRpb25zLFxyXG4gICAgICAgICAgICAgICAgdG90YWxQU1ROczogcmVzcC50b3RhbFBTVE5TXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFVzZXJzVXBncmFkZVN1bW1hcnkoKTogT2JzZXJ2YWJsZTxVc2Vyc1VwZ3JhZGVTdW1tYXJ5PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChcclxuICAgICAgICAgICAgQVBJLk9WRVJWSUVXLkdFVF9VU0VSU19VUEdSQURFX1NVTU1BUlkucmVwbGFjZSgnOmN1c3RvbWVySWQnLCB0aGlzLmN1c3RvbWVySWQpXHJcbiAgICAgICAgKS5waXBlKG1hcCgocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IHJlc3AuaWQsXHJcbiAgICAgICAgICAgICAgICBjdXN0b21lcklkOiByZXNwLmN1c3RvbWVySWQsXHJcbiAgICAgICAgICAgICAgICB0b3RhbFVzZXJzOiByZXNwLnRvdGFsVXNlcnMsXHJcbiAgICAgICAgICAgICAgICB0b3RhbFJlYWR5VXNlcnM6IHJlc3AudG90YWxVc2Vyc1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgdG90YWxVcGdyYWRlZFVzZXJzOiByZXNwLnRvdGFsVXNlcnNVcGdyYWRlZFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTaXRlc1VwZ3JhZGVTdW1tYXJ5KCk6IE9ic2VydmFibGU8U2l0ZXNVcGdyYWRlU3VtbWFyeT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goXHJcbiAgICAgICAgICAgIEFQSS5PVkVSVklFVy5HRVRfU0lURVNfVVBHUkFERV9TVU1NQVJZLnJlcGxhY2UoJzpjdXN0b21lcklkJywgdGhpcy5jdXN0b21lcklkKVxyXG4gICAgICAgICkucGlwZShtYXAoKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlkOiByZXNwLmlkLFxyXG4gICAgICAgICAgICAgICAgY3VzdG9tZXJJZDogcmVzcC5jdXN0b21lcklkLFxyXG4gICAgICAgICAgICAgICAgdG90YWxTaXRlczogcmVzcC50b3RhbFNpdGVzLFxyXG4gICAgICAgICAgICAgICAgdG90YWxSZWFkeVNpdGVzOiByZXNwLnRvdGFsU2l0ZXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHRvdGFsVXBncmFkZWRTaXRlczogcmVzcC50b3RhbFNpdGVzVXBncmFkZWRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VXNlcnNVcGdyYWRlUmVhZGluZXNzKCk6IE9ic2VydmFibGU8VXNlcnNVcGdyYWRlUmVhZGluZXNzPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChcclxuICAgICAgICAgICAgQVBJLk9WRVJWSUVXLkdFVF9VU0VSU19VUEdSQURFX1JFQURJTkVTUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgICApLnBpcGUobWFwKChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpZDogcmVzcC5pZCxcclxuICAgICAgICAgICAgICAgIGN1c3RvbWVySWQ6IHJlc3AuY3VzdG9tZXJJZCxcclxuICAgICAgICAgICAgICAgIHRvdGFsVXNlcnM6IHJlc3AudG90YWxVc2VycyxcclxuICAgICAgICAgICAgICAgIHRvdGFsUmVhZHlVc2VyczogcmVzcC50b3RhbFVzZXJzUmVhZHlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2l0ZXNVcGdyYWRlUmVhZGluZXNzKCk6IE9ic2VydmFibGU8U2l0ZXNVcGdyYWRlUmVhZGluZXNzPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChcclxuICAgICAgICAgICAgQVBJLk9WRVJWSUVXLkdFVF9TSVRFU19VUEdSQURFX1JFQURJTkVTUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgICApLnBpcGUobWFwKChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpZDogcmVzcC5pZCxcclxuICAgICAgICAgICAgICAgIGN1c3RvbWVySWQ6IHJlc3AuY3VzdG9tZXJJZCxcclxuICAgICAgICAgICAgICAgIHRvdGFsU2l0ZXM6IHJlc3AudG90YWxTaXRlcyxcclxuICAgICAgICAgICAgICAgIHRvdGFsUmVhZHlTaXRlczogcmVzcC50b3RhbFNpdGVzUmVhZHlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
;
|
|
2
|
-
export {};
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci11cGdyYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2RpMm10L3dpZGdldHMvdXNlci11cGdyYWRlL3R5cGVzL3VzZXItdXBncmFkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFUEVOREVOQ0lFU19TVEFUVVMsIFN0YXR1cyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdHlwZXMvY29uc3RhbnRzXCI7XHJcblxyXG5leHBvcnQgdHlwZSBEZXBlbmRlbmNpZXNTdGF0dXMgPSB0eXBlb2YgREVQRU5ERU5DSUVTX1NUQVRVU1trZXlvZiB0eXBlb2YgREVQRU5ERU5DSUVTX1NUQVRVU107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJVcGdyYWRlUmVjb3JkIHtcclxuICAgIHVzZXJJZDogc3RyaW5nO1xyXG4gICAgdXNlck5hbWU6IHN0cmluZztcclxuICAgIGN1c3RvbWVySWQ6IHN0cmluZztcclxuICAgIHNpdGVJZDogc3RyaW5nO1xyXG4gICAgY3VjbUlkOiBzdHJpbmc7XHJcbiAgICBzaXRlTmFtZTogc3RyaW5nO1xyXG4gICAgZGV2aWNlczogc3RyaW5nW107XHJcbiAgICBwcmltYXJ5RXh0ZW5zaW9uPzogc3RyaW5nO1xyXG4gICAgZGV2aWNlU3RhdHVzOiBTdGF0dXM7XHJcbiAgICBkaWFsUGxhblN0YXR1czogU3RhdHVzO1xyXG4gICAgZGVwZW5kZW5jaWVzU3RhdHVzOiBEZXBlbmRlbmNpZXNTdGF0dXM7XHJcbiAgICB1cGdyYWRlU3RhdHVzOiBTdGF0dXM7XHJcbiAgICBwZW5kaW5nPzogYm9vbGVhbjtcclxufTtcclxuIl19
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { SelectionModel } from "@angular/cdk/collections";
|
|
2
|
-
import { Component, inject, Input } from "@angular/core";
|
|
3
|
-
import { MatTableDataSource } from "@angular/material/table";
|
|
4
|
-
import { Subject, Subscription } from "rxjs";
|
|
5
|
-
import { takeUntil } from "rxjs";
|
|
6
|
-
import { UserUpgradeService } from "../user-upgrade.service";
|
|
7
|
-
import { DEPENDENCIES_STATUS, STATUS_ENTRIES } from "../../../shared/types/constants";
|
|
8
|
-
import { APIService } from "../../../shared/services/api.service";
|
|
9
|
-
import { PAGINATION_SIZE_OPTIONS } from "../../../shared/constants/app.constants";
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common";
|
|
12
|
-
import * as i2 from "../../../shared/components/summary-card/summary-card.component";
|
|
13
|
-
import * as i3 from "../../../shared/components/table-filters/table-filters.component";
|
|
14
|
-
import * as i4 from "@angular/material/table";
|
|
15
|
-
import * as i5 from "@angular/material/button";
|
|
16
|
-
import * as i6 from "@angular/material/checkbox";
|
|
17
|
-
import * as i7 from "@angular/material/progress-spinner";
|
|
18
|
-
import * as i8 from "@angular/material/paginator";
|
|
19
|
-
export class UserUpgradeDataTableComponent {
|
|
20
|
-
constructor() {
|
|
21
|
-
this.destroy$ = new Subject();
|
|
22
|
-
this.userUpgradeService = inject(UserUpgradeService);
|
|
23
|
-
this.apiService = inject(APIService);
|
|
24
|
-
this.STATUS_ENTRIES = STATUS_ENTRIES;
|
|
25
|
-
this.DEPENDENCIES_STATUS = DEPENDENCIES_STATUS;
|
|
26
|
-
this.dataPending = false;
|
|
27
|
-
this.displayedColumns = ['select', 'user', 'site', 'device', 'dialPlanStatus', 'dependencies', 'userUpgradeStatus', 'userUpgradeLoader'];
|
|
28
|
-
this.selection = new SelectionModel(true, []);
|
|
29
|
-
this.filters = [];
|
|
30
|
-
this.pagination = new PaginationDataDto();
|
|
31
|
-
this.subscriptions = new Subscription();
|
|
32
|
-
this.statusCounts = {};
|
|
33
|
-
this.activeFilters = {};
|
|
34
|
-
this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.dataPending = true;
|
|
38
|
-
this.apiService.token = this.token;
|
|
39
|
-
this.userUpgradeService.customerId = this.customerId;
|
|
40
|
-
const subsc1 = this.userUpgradeService.getUserUpgradeRecords(this.pagination.pageSize, this.pagination.pageIndex)
|
|
41
|
-
.pipe(takeUntil(this.destroy$))
|
|
42
|
-
.subscribe((results) => {
|
|
43
|
-
const records = results.content;
|
|
44
|
-
this.data = new MatTableDataSource(records);
|
|
45
|
-
this.pagination.total = results.totalElements;
|
|
46
|
-
this.dataPending = false;
|
|
47
|
-
this.setupCustomFilter();
|
|
48
|
-
this.initializeFilters(records);
|
|
49
|
-
});
|
|
50
|
-
this.subscriptions.add(subsc1);
|
|
51
|
-
const subsc2 = this.userUpgradeService.getUserUpgradeStatusCounts()
|
|
52
|
-
.pipe(takeUntil(this.destroy$))
|
|
53
|
-
.subscribe((statusCounts) => {
|
|
54
|
-
this.statusCounts['Ready'] = statusCounts['READY'] || 0;
|
|
55
|
-
this.statusCounts['Not Ready'] = statusCounts['NOT_READY'] || 0;
|
|
56
|
-
this.statusCounts['Completed'] = statusCounts['COMPLETED'] || 0;
|
|
57
|
-
this.statusCounts['Failed'] = statusCounts['FAILED'] || 0;
|
|
58
|
-
});
|
|
59
|
-
this.subscriptions.add(subsc2);
|
|
60
|
-
}
|
|
61
|
-
ngOnDestroy() {
|
|
62
|
-
this.destroy$.next();
|
|
63
|
-
this.destroy$.complete();
|
|
64
|
-
this.dataPending = false;
|
|
65
|
-
if (this.subscriptions) {
|
|
66
|
-
this.subscriptions.unsubscribe();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
pageEvent(event) {
|
|
70
|
-
this.pagination.pageIndex = event.pageIndex;
|
|
71
|
-
this.pagination.pageSize = event.pageSize;
|
|
72
|
-
this.getData();
|
|
73
|
-
}
|
|
74
|
-
changePerPageNumber(pageSizeEvent) {
|
|
75
|
-
this.pagination.pageSize = pageSizeEvent.value;
|
|
76
|
-
this.pagination.pageIndex = 0;
|
|
77
|
-
this.getData();
|
|
78
|
-
}
|
|
79
|
-
getData() {
|
|
80
|
-
this.dataPending = true;
|
|
81
|
-
const subsc1 = this.userUpgradeService.getUserUpgradeRecords(this.pagination.pageSize, this.pagination.pageIndex)
|
|
82
|
-
.pipe(takeUntil(this.destroy$))
|
|
83
|
-
.subscribe((result) => {
|
|
84
|
-
this.data = new MatTableDataSource(result.content);
|
|
85
|
-
this.pagination.total = result.totalElements;
|
|
86
|
-
this.dataPending = false;
|
|
87
|
-
});
|
|
88
|
-
this.subscriptions.add(subsc1);
|
|
89
|
-
}
|
|
90
|
-
initializeFilters(records) {
|
|
91
|
-
if (records?.length) {
|
|
92
|
-
// Extract unique sites from actual data
|
|
93
|
-
const uniqueSites = [...new Set(records.map(record => record.siteName))];
|
|
94
|
-
const siteOptions = uniqueSites.map(site => ({
|
|
95
|
-
label: site,
|
|
96
|
-
value: site.toLowerCase().replace(/\s+/g, '-')
|
|
97
|
-
}));
|
|
98
|
-
// Extract unique statuses from actual data
|
|
99
|
-
const uniqueStatuses = [...new Set(records.map(record => record.upgradeStatus))];
|
|
100
|
-
const statusOptions = uniqueStatuses.map(status => ({
|
|
101
|
-
label: STATUS_ENTRIES[status],
|
|
102
|
-
value: status.toLowerCase().replace(/\s+/g, '-')
|
|
103
|
-
}));
|
|
104
|
-
this.filters = [
|
|
105
|
-
{
|
|
106
|
-
id: 'userName',
|
|
107
|
-
type: 'search',
|
|
108
|
-
columnKey: 'User',
|
|
109
|
-
placeholder: 'Search users...',
|
|
110
|
-
options: []
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
id: 'sites',
|
|
114
|
-
type: 'select',
|
|
115
|
-
columnKey: 'Site',
|
|
116
|
-
placeholder: 'Sites',
|
|
117
|
-
options: siteOptions
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
id: 'status',
|
|
121
|
-
type: 'select',
|
|
122
|
-
columnKey: 'User Upgrade Status',
|
|
123
|
-
placeholder: 'Upgrade Status',
|
|
124
|
-
options: statusOptions
|
|
125
|
-
}
|
|
126
|
-
];
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
/** Whether the number of selected elements matches the total number of rows. */
|
|
130
|
-
isAllSelected() {
|
|
131
|
-
const numSelected = this.selection.selected.length;
|
|
132
|
-
const numRows = this.data?.data.length ?? 0;
|
|
133
|
-
return numSelected === numRows;
|
|
134
|
-
}
|
|
135
|
-
/** Selects all rows if they are not all selected; otherwise clear selection. */
|
|
136
|
-
masterToggle() {
|
|
137
|
-
this.isAllSelected() ?
|
|
138
|
-
this.selection.clear() :
|
|
139
|
-
this.data?.data.forEach(row => this.selection.select(row));
|
|
140
|
-
}
|
|
141
|
-
upgradeUser(user) {
|
|
142
|
-
if (user && STATUS_ENTRIES[user.upgradeStatus] && STATUS_ENTRIES[user.upgradeStatus] === 'Ready')
|
|
143
|
-
user.pending = true;
|
|
144
|
-
this.userUpgradeService.collectUsers([user])
|
|
145
|
-
.pipe(takeUntil(this.destroy$))
|
|
146
|
-
.subscribe(() => {
|
|
147
|
-
this.userUpgradeService.bulkUpgrade([user])
|
|
148
|
-
.pipe(takeUntil(this.destroy$))
|
|
149
|
-
.subscribe(() => {
|
|
150
|
-
user.pending = false;
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
upgradeSelectedUsers() {
|
|
155
|
-
if (this.selection.selected && this.selection.selected.length) {
|
|
156
|
-
this.dataPending = true;
|
|
157
|
-
this.userUpgradeService.collectUsers(this.selection.selected)
|
|
158
|
-
.pipe(takeUntil(this.destroy$))
|
|
159
|
-
.subscribe(() => {
|
|
160
|
-
this.userUpgradeService.bulkUpgrade(this.selection.selected)
|
|
161
|
-
.pipe(takeUntil(this.destroy$))
|
|
162
|
-
.subscribe(() => {
|
|
163
|
-
this.dataPending = false;
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
this.userUpgradeService.bulkUpgrade(this.selection.selected);
|
|
168
|
-
}
|
|
169
|
-
onFilter(filterEvent) {
|
|
170
|
-
const { key, value } = filterEvent;
|
|
171
|
-
let filterValue;
|
|
172
|
-
if (value && value.value !== undefined) {
|
|
173
|
-
filterValue = value.value;
|
|
174
|
-
}
|
|
175
|
-
else if (value && value.target) {
|
|
176
|
-
filterValue = value.target.value;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
filterValue = value;
|
|
180
|
-
}
|
|
181
|
-
// Handle "All" option or empty values - remove the filter
|
|
182
|
-
if (filterValue === 'all' || !filterValue || filterValue === '') {
|
|
183
|
-
delete this.activeFilters[key];
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
this.activeFilters[key] = filterValue;
|
|
187
|
-
}
|
|
188
|
-
this.applyFilters();
|
|
189
|
-
}
|
|
190
|
-
setupCustomFilter() {
|
|
191
|
-
this.data.filterPredicate = (data, filter) => {
|
|
192
|
-
const filters = JSON.parse(filter || '{}');
|
|
193
|
-
for (const [key, value] of Object.entries(filters)) {
|
|
194
|
-
if (!value)
|
|
195
|
-
continue;
|
|
196
|
-
switch (key) {
|
|
197
|
-
case 'User':
|
|
198
|
-
const searchTerm = value.toLowerCase();
|
|
199
|
-
if (!data.userName.toLowerCase().includes(searchTerm)) {
|
|
200
|
-
return false;
|
|
201
|
-
}
|
|
202
|
-
break;
|
|
203
|
-
case 'Site':
|
|
204
|
-
if (data.siteName !== this.getSiteNameFromValue(value)) {
|
|
205
|
-
return false;
|
|
206
|
-
}
|
|
207
|
-
break;
|
|
208
|
-
case 'User Upgrade Status':
|
|
209
|
-
if (!this.matchesUpgradeStatus(data.upgradeStatus, value)) {
|
|
210
|
-
return false;
|
|
211
|
-
}
|
|
212
|
-
break;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
return true;
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
applyFilters() {
|
|
219
|
-
this.data.filter = JSON.stringify(this.activeFilters);
|
|
220
|
-
}
|
|
221
|
-
get filteredDataCount() {
|
|
222
|
-
return this.data?.filteredData?.length || 0;
|
|
223
|
-
}
|
|
224
|
-
getSiteNameFromValue(value) {
|
|
225
|
-
// Since we're now using actual site names, just convert back from slug format
|
|
226
|
-
return value.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
|
|
227
|
-
}
|
|
228
|
-
matchesUpgradeStatus(status, filterValue) {
|
|
229
|
-
// Handle direct status matching for cleaner implementation
|
|
230
|
-
return status.toLowerCase().replace(/\s+/g, '-') === filterValue.toLowerCase();
|
|
231
|
-
}
|
|
232
|
-
getStatusClass(status) {
|
|
233
|
-
switch (status.toLowerCase()) {
|
|
234
|
-
case 'ready':
|
|
235
|
-
return 'ready';
|
|
236
|
-
case 'not ready':
|
|
237
|
-
return 'not-ready';
|
|
238
|
-
case 'partial ready':
|
|
239
|
-
return 'partial-ready';
|
|
240
|
-
case 'completed':
|
|
241
|
-
return 'completed';
|
|
242
|
-
case 'failed':
|
|
243
|
-
return 'failed';
|
|
244
|
-
default:
|
|
245
|
-
return 'not-ready';
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
UserUpgradeDataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserUpgradeDataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
250
|
-
UserUpgradeDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserUpgradeDataTableComponent, selector: "tk-user-upgrade-data-table", inputs: { token: "token", customerId: "customerId" }, ngImport: i0, template: "<div *ngIf=\"dataPending\" class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"120\"></mat-progress-spinner>\r\n</div>\r\n\r\n<div id=\"userUpgradeDataTable\" class=\"wrapper\">\r\n <div class=\"user-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Users are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Users are not ready'\" [value]=\"statusCounts['Not Ready']\" [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Users failed to upgrade'\" [value]=\"statusCounts['Failed']\" [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\" [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{filteredDataCount}} Users</span>\r\n <button\r\n mat-button\r\n class=\"upgrade-bulk-button\"\r\n color=\"primary\"\r\n [disabled]=\"selection.selected.length === 0\"\r\n (click)=\"upgradeSelectedUsers()\">\r\n Upgrade {{ selection.selected.length === 0 ? '' : '(' + selection.selected.length + ')' }}\r\n </button>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"user-upgrade-table\">\r\n\r\n <!-- Checkbox Column -->\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox\r\n (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\r\n class=\"custom-checkbox\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection.toggle(row) : null\"\r\n [checked]=\"selection.isSelected(row)\"\r\n [disabled]=\"STATUS_ENTRIES[row.upgradeStatus] !== 'Ready' || row.pending\"\r\n class=\"custom-checkbox\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- User Column -->\r\n <ng-container matColumnDef=\"user\">\r\n <th mat-header-cell *matHeaderCellDef>User</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-info\">\r\n <div class=\"user-name\">{{element.userName}}</div>\r\n <div class=\"user-email\">{{element.userName}}</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n <span class=\"site-indicator\"></span>\r\n <span [ngClass]=\"{'status-ready': element.dialPlanStatus === 'READY'}\">{{element.siteName}}</span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Device Column -->\r\n <ng-container matColumnDef=\"device\">\r\n <th mat-header-cell *matHeaderCellDef>Device</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"device-info\">\r\n <div *ngIf=\"element.devices.length > 1\">\r\n <div class=\"device-name-wrapper\">\r\n <span class=\"device-indicator\"></span>\r\n <span class=\"device-name\">Multiple devices</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"element.devices.length === 1\">\r\n <div class=\"device-name-wrapper\">\r\n <span class=\"device-indicator\"></span>\r\n <span class=\"device-name\">{{element.devices[0]}}</span>\r\n </div>\r\n <span class=\"device-model\">{{ element.primaryExtension || 'No Extension' }}</span>\r\n </div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Dial Plan Status Column -->\r\n <ng-container matColumnDef=\"dialPlanStatus\">\r\n <th mat-header-cell *matHeaderCellDef>Dial Plan Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getStatusClass(element.dialPlanStatus)\"></span>\r\n <span [ngClass]=\"{'status-ready': element.dialPlanStatus === 'READY'}\">{{STATUS_ENTRIES[element.dialPlanStatus]}}</span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Dependencies Column -->\r\n <ng-container matColumnDef=\"dependencies\">\r\n <th mat-header-cell *matHeaderCellDef>Dependencies</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <span *ngIf=\"DEPENDENCIES_STATUS[element.dependenciesStatus] === 'Dependencies found'\" class=\"dependencies-text\">{{DEPENDENCIES_STATUS[element.dependenciesStatus]}}</span>\r\n <span *ngIf=\"DEPENDENCIES_STATUS[element.dependenciesStatus] === 'No dependencies'\">\u2014</span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- User Upgrade Status Column -->\r\n <ng-container matColumnDef=\"userUpgradeStatus\">\r\n <th mat-header-cell *matHeaderCellDef>User Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"STATUS_ENTRIES[element.upgradeStatus] === 'Ready'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"upgradeUser(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{STATUS_ENTRIES[element.upgradeStatus]}}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"userUpgradeLoader\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td class=\"mat-progress-spinner-td\" mat-cell *matCellDef=\"let element\">\r\n\r\n <mat-progress-spinner\r\n *ngIf=\"element.pending\"\r\n class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\r\n [class.selected-row]=\"selection.isSelected(row)\"></tr>\r\n </table>\r\n</div>\r\n\r\n<div class=\"app-pagination\">\r\n <mat-paginator\r\n [length]=\"pagination.total\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n (page)=\"pageEvent($event)\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n\r\n <!--<div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n </div>\r\n\r\n <div class=\"per-page-block\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>-->\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\";.app-pagination{display:flex;flex-direction:column;align-items:stretch}.app-pagination .page-indexes-box,.app-pagination .per-page-block{justify-self:center}.app-pagination mat-select{width:100px}.overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff6;z-index:200}.mat-progress-spinner{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-25px;width:50px;height:40px;text-align:center;font-size:10px}.mat-progress-spinner-td{position:relative}.status-ready{color:#1170cf}::ng-deep .mat-cell{border-bottom:1px solid #d6d6d6;font-family:Inter,sans-serif!important}::ng-deep .mat-header-cell{border-bottom:1px solid #afafaf;font-family:Inter,sans-serif!important}::ng-deep .progress-spinner-td{position:relative}::ng-deep #userUpgradeDataTable .mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0}.wrapper{display:flex;flex-direction:column;gap:1rem}.user-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.user-upgrade-table{width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.user-upgrade-table .mat-header-row{font-size:12px;height:35px}.user-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6}.user-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf}.user-upgrade-table .mat-row{transition:background-color .2s ease}.user-upgrade-table .mat-row:hover{background-color:#f8f9fa}.user-upgrade-table .mat-row.selected-row{background-color:#08599c1a}.user-upgrade-table .user-info .user-name{font-weight:500;color:#212121}.user-upgrade-table .user-info .user-email{font-size:12px;color:#757575}.user-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.user-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.user-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.user-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:8px}.user-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.user-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.user-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.user-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.user-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.user-upgrade-table .status-info .status-indicator.ready{background-color:#1d805f}.user-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.user-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.user-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.user-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.user-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.user-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.user-upgrade-table .upgrade-button{border:1px solid #08599c!important;color:#08599c!important;background:white!important;border-radius:20px!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.user-upgrade-table .upgrade-button:hover{background-color:#e3f2fd!important}.user-upgrade-table .custom-checkbox .mdc-checkbox{padding:8px}.table-action-panel{width:100%;display:flex;justify-content:flex-start;gap:1rem}::ng-deep .action-wrapper{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;color:#555}.upgrade-bulk-button{border:1px solid #000!important;color:#fff!important;background:#000!important;border-radius:20px!important;padding:0 1rem!important;font-size:14px!important;font-style:normal!important;font-weight:400!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important}.upgrade-bulk-button:hover{background-color:#212121!important}.upgrade-bulk-button:disabled{background-color:#888!important;color:#fff!important;cursor:not-allowed!important;border-color:#888!important;opacity:.25!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#08599c!important;border-color:#08599c!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#08599c!important;border-color:#08599c!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent .mat-checkbox-background{border-color:#08599c99!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent .mat-ripple-element{background-color:#08599c1a!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent:focus .mat-checkbox-background{background-color:#08599c1a!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#08599c99!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-checkmark{color:#fff!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-checkmark-path{stroke:#fff!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-mixedmark{border-color:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SummaryCardComponent, selector: "tk-summary-card", inputs: ["value", "status", "description"] }, { kind: "component", type: i3.TableFiltersComponent, selector: "tk-table-filters", inputs: ["filters"], outputs: ["filter"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }] });
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserUpgradeDataTableComponent, decorators: [{
|
|
252
|
-
type: Component,
|
|
253
|
-
args: [{ selector: 'tk-user-upgrade-data-table', template: "<div *ngIf=\"dataPending\" class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"120\"></mat-progress-spinner>\r\n</div>\r\n\r\n<div id=\"userUpgradeDataTable\" class=\"wrapper\">\r\n <div class=\"user-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Users are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Users are not ready'\" [value]=\"statusCounts['Not Ready']\" [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Users failed to upgrade'\" [value]=\"statusCounts['Failed']\" [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\" [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{filteredDataCount}} Users</span>\r\n <button\r\n mat-button\r\n class=\"upgrade-bulk-button\"\r\n color=\"primary\"\r\n [disabled]=\"selection.selected.length === 0\"\r\n (click)=\"upgradeSelectedUsers()\">\r\n Upgrade {{ selection.selected.length === 0 ? '' : '(' + selection.selected.length + ')' }}\r\n </button>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"user-upgrade-table\">\r\n\r\n <!-- Checkbox Column -->\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox\r\n (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\r\n class=\"custom-checkbox\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection.toggle(row) : null\"\r\n [checked]=\"selection.isSelected(row)\"\r\n [disabled]=\"STATUS_ENTRIES[row.upgradeStatus] !== 'Ready' || row.pending\"\r\n class=\"custom-checkbox\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- User Column -->\r\n <ng-container matColumnDef=\"user\">\r\n <th mat-header-cell *matHeaderCellDef>User</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-info\">\r\n <div class=\"user-name\">{{element.userName}}</div>\r\n <div class=\"user-email\">{{element.userName}}</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n <span class=\"site-indicator\"></span>\r\n <span [ngClass]=\"{'status-ready': element.dialPlanStatus === 'READY'}\">{{element.siteName}}</span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Device Column -->\r\n <ng-container matColumnDef=\"device\">\r\n <th mat-header-cell *matHeaderCellDef>Device</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"device-info\">\r\n <div *ngIf=\"element.devices.length > 1\">\r\n <div class=\"device-name-wrapper\">\r\n <span class=\"device-indicator\"></span>\r\n <span class=\"device-name\">Multiple devices</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"element.devices.length === 1\">\r\n <div class=\"device-name-wrapper\">\r\n <span class=\"device-indicator\"></span>\r\n <span class=\"device-name\">{{element.devices[0]}}</span>\r\n </div>\r\n <span class=\"device-model\">{{ element.primaryExtension || 'No Extension' }}</span>\r\n </div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Dial Plan Status Column -->\r\n <ng-container matColumnDef=\"dialPlanStatus\">\r\n <th mat-header-cell *matHeaderCellDef>Dial Plan Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getStatusClass(element.dialPlanStatus)\"></span>\r\n <span [ngClass]=\"{'status-ready': element.dialPlanStatus === 'READY'}\">{{STATUS_ENTRIES[element.dialPlanStatus]}}</span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Dependencies Column -->\r\n <ng-container matColumnDef=\"dependencies\">\r\n <th mat-header-cell *matHeaderCellDef>Dependencies</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <span *ngIf=\"DEPENDENCIES_STATUS[element.dependenciesStatus] === 'Dependencies found'\" class=\"dependencies-text\">{{DEPENDENCIES_STATUS[element.dependenciesStatus]}}</span>\r\n <span *ngIf=\"DEPENDENCIES_STATUS[element.dependenciesStatus] === 'No dependencies'\">\u2014</span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- User Upgrade Status Column -->\r\n <ng-container matColumnDef=\"userUpgradeStatus\">\r\n <th mat-header-cell *matHeaderCellDef>User Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"STATUS_ENTRIES[element.upgradeStatus] === 'Ready'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"upgradeUser(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{STATUS_ENTRIES[element.upgradeStatus]}}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"userUpgradeLoader\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td class=\"mat-progress-spinner-td\" mat-cell *matCellDef=\"let element\">\r\n\r\n <mat-progress-spinner\r\n *ngIf=\"element.pending\"\r\n class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\r\n [class.selected-row]=\"selection.isSelected(row)\"></tr>\r\n </table>\r\n</div>\r\n\r\n<div class=\"app-pagination\">\r\n <mat-paginator\r\n [length]=\"pagination.total\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n (page)=\"pageEvent($event)\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n\r\n <!--<div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n </div>\r\n\r\n <div class=\"per-page-block\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>-->\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\";.app-pagination{display:flex;flex-direction:column;align-items:stretch}.app-pagination .page-indexes-box,.app-pagination .per-page-block{justify-self:center}.app-pagination mat-select{width:100px}.overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff6;z-index:200}.mat-progress-spinner{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-25px;width:50px;height:40px;text-align:center;font-size:10px}.mat-progress-spinner-td{position:relative}.status-ready{color:#1170cf}::ng-deep .mat-cell{border-bottom:1px solid #d6d6d6;font-family:Inter,sans-serif!important}::ng-deep .mat-header-cell{border-bottom:1px solid #afafaf;font-family:Inter,sans-serif!important}::ng-deep .progress-spinner-td{position:relative}::ng-deep #userUpgradeDataTable .mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0}.wrapper{display:flex;flex-direction:column;gap:1rem}.user-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.user-upgrade-table{width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.user-upgrade-table .mat-header-row{font-size:12px;height:35px}.user-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6}.user-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf}.user-upgrade-table .mat-row{transition:background-color .2s ease}.user-upgrade-table .mat-row:hover{background-color:#f8f9fa}.user-upgrade-table .mat-row.selected-row{background-color:#08599c1a}.user-upgrade-table .user-info .user-name{font-weight:500;color:#212121}.user-upgrade-table .user-info .user-email{font-size:12px;color:#757575}.user-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.user-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.user-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.user-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:8px}.user-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.user-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.user-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.user-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.user-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.user-upgrade-table .status-info .status-indicator.ready{background-color:#1d805f}.user-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.user-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.user-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.user-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.user-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.user-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.user-upgrade-table .upgrade-button{border:1px solid #08599c!important;color:#08599c!important;background:white!important;border-radius:20px!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.user-upgrade-table .upgrade-button:hover{background-color:#e3f2fd!important}.user-upgrade-table .custom-checkbox .mdc-checkbox{padding:8px}.table-action-panel{width:100%;display:flex;justify-content:flex-start;gap:1rem}::ng-deep .action-wrapper{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;color:#555}.upgrade-bulk-button{border:1px solid #000!important;color:#fff!important;background:#000!important;border-radius:20px!important;padding:0 1rem!important;font-size:14px!important;font-style:normal!important;font-weight:400!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important}.upgrade-bulk-button:hover{background-color:#212121!important}.upgrade-bulk-button:disabled{background-color:#888!important;color:#fff!important;cursor:not-allowed!important;border-color:#888!important;opacity:.25!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#08599c!important;border-color:#08599c!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#08599c!important;border-color:#08599c!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent .mat-checkbox-background{border-color:#08599c99!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent .mat-ripple-element{background-color:#08599c1a!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent:focus .mat-checkbox-background{background-color:#08599c1a!important}:host ::ng-deep .user-upgrade-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#08599c99!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-checkmark{color:#fff!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-checkmark-path{stroke:#fff!important}:host ::ng-deep .user-upgrade-table .mat-checkbox-mixedmark{border-color:#fff!important}\n"] }]
|
|
254
|
-
}], propDecorators: { token: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], customerId: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}] } });
|
|
259
|
-
class PaginationDataDto {
|
|
260
|
-
constructor(data) {
|
|
261
|
-
this.pageSizeOptions = data?.pageSizeOptions || PAGINATION_DATA_DEFAULTS.OPTIONS;
|
|
262
|
-
this.pageSize = data?.pageSize || PAGINATION_DATA_DEFAULTS.SIZE;
|
|
263
|
-
this.pageIndex = data?.pageIndex || PAGINATION_DATA_DEFAULTS.PAGE_INDEX;
|
|
264
|
-
this.total = data?.total || 0;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
const PAGINATION_DATA_DEFAULTS = {
|
|
268
|
-
OPTIONS: [10, 20, 50, 100],
|
|
269
|
-
SIZE: 10,
|
|
270
|
-
PAGE_INDEX: 0
|
|
271
|
-
};
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci11cGdyYWRlLWRhdGEtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2RpMm10L3dpZGdldHMvdXNlci11cGdyYWRlL3VzZXItdXBncmFkZS1kYXRhLXRhYmxlL3VzZXItdXBncmFkZS1kYXRhLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3VzZXItdXBncmFkZS91c2VyLXVwZ3JhZGUtZGF0YS10YWJsZS91c2VyLXVwZ3JhZGUtZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHN0QsT0FBTyxFQUFrQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFVLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7OztBQVNsRixNQUFNLE9BQU8sNkJBQTZCO0lBTjFDO1FBT1UsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsdUJBQWtC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QyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7SUFDMUIsSUFBSSxFQUFFLEVBQUU7SUFDUixVQUFVLEVBQUUsQ0FBQztDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgaW5qZWN0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3R5cGVzL2RhdGEtdGFibGVcIjtcclxuaW1wb3J0IHsgVGFibGVGaWx0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3R5cGVzL3RhYmxlL2ZpbHRlclwiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBvZiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVXNlclVwZ3JhZGVTZXJ2aWNlIH0gZnJvbSBcIi4uL3VzZXItdXBncmFkZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERFUEVOREVOQ0lFU19TVEFUVVMsIFN0YXR1cywgU1RBVFVTX0VOVFJJRVMgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3R5cGVzL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBVc2VyVXBncmFkZVJlY29yZCB9IGZyb20gXCIuLi90eXBlcy91c2VyLXVwZ3JhZGVcIjtcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUEFHSU5BVElPTl9TSVpFX09QVElPTlMgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9hcHAuY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RrLXVzZXItdXBncmFkZS1kYXRhLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci11cGdyYWRlLWRhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItdXBncmFkZS1kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyVXBncmFkZURhdGFUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHVzZXJVcGdyYWRlU2VydmljZSA9IGluamVjdChVc2VyVXBncmFkZVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcclxuICByZWFkb25seSBTVEFUVVNfRU5UUklFUyA9IFNUQVRVU19FTlRSSUVTO1xyXG4gIHJlYWRvbmx5IERFUEVOREVOQ0lFU19TVEFUVVMgPSBERVBFTkRFTkNJRVNfU1RBVFVTO1xyXG5cclxuICBASW5wdXQoKSB0b2tlbiE6IHN0cmluZztcclxuICBASW5wdXQoKSBjdXN0b21lcklkITogc3RyaW5nO1xyXG5cclxuICBjb2x1bW5zITogVGFibGVDb2x1bW5bXTtcclxuICBkYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gIGRhdGEhOiBNYXRUYWJsZURhdGFTb3VyY2U8VXNlclVwZ3JhZGVSZWNvcmQ+O1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gWydzZWxlY3QnLCAndXNlcicsICdzaXRlJywgJ2RldmljZScsICdkaWFsUGxhblN0YXR1cycsICdkZXBlbmRlbmNpZXMnLCAndXNlclVwZ3JhZGVTdGF0dXMnLCAndXNlclVwZ3JhZGVMb2FkZXInXTtcclxuICBzZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8VXNlclVwZ3JhZGVSZWNvcmQ+KHRydWUsIFtdKTtcclxuICBmaWx0ZXJzOiBUYWJsZUZpbHRlcltdID0gW107XHJcbiAgcGFnaW5hdGlvbiA9IG5ldyBQYWdpbmF0aW9uRGF0YUR0bygpO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgc3RhdHVzQ291bnRzOiBhbnkgPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmVGaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UudG9rZW4gPSB0aGlzLnRva2VuO1xyXG4gICAgdGhpcy51c2VyVXBncmFkZVNlcnZpY2UuY3VzdG9tZXJJZCA9IHRoaXMuY3VzdG9tZXJJZDtcclxuXHJcbiAgICBjb25zdCBzdWJzYzEgPSB0aGlzLnVzZXJVcGdyYWRlU2VydmljZS5nZXRVc2VyVXBncmFkZVJlY29yZHModGhpcy5wYWdpbmF0aW9uLnBhZ2VTaXplLCB0aGlzLnBhZ2luYXRpb24ucGFnZUluZGV4KVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlY29yZHMgPSByZXN1bHRzLmNvbnRlbnQgYXMgVXNlclVwZ3JhZGVSZWNvcmRbXVxyXG4gICAgICAgIHRoaXMuZGF0YSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UocmVjb3Jkcyk7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uLnRvdGFsID0gcmVzdWx0cy50b3RhbEVsZW1lbnRzO1xyXG4gICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNldHVwQ3VzdG9tRmlsdGVyKCk7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRmlsdGVycyhyZWNvcmRzKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHN1YnNjMSk7XHJcblxyXG4gICAgY29uc3Qgc3Vic2MyID0gdGhpcy51c2VyVXBncmFkZVNlcnZpY2UuZ2V0VXNlclVwZ3JhZGVTdGF0dXNDb3VudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1c0NvdW50cykgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RhdHVzQ291bnRzWydSZWFkeSddID0gc3RhdHVzQ291bnRzWydSRUFEWSddIHx8IDA7XHJcbiAgICAgICAgdGhpcy5zdGF0dXNDb3VudHNbJ05vdCBSZWFkeSddID0gc3RhdHVzQ291bnRzWydOT1RfUkVBRFknXSB8fCAwO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzQ291bnRzWydDb21wbGV0ZWQnXSA9IHN0YXR1c0NvdW50c1snQ09NUExFVEVEJ10gfHwgMDtcclxuICAgICAgICB0aGlzLnN0YXR1c0NvdW50c1snRmFpbGVkJ10gPSBzdGF0dXNDb3VudHNbJ0ZBSUxFRCddIHx8IDA7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChzdWJzYzIpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcGFnZUV2ZW50IChldmVudDogUGFnZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb24ucGFnZUluZGV4ID0gZXZlbnQucGFnZUluZGV4O1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2VTaXplID0gZXZlbnQucGFnZVNpemU7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBlclBhZ2VOdW1iZXIocGFnZVNpemVFdmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb24ucGFnZVNpemUgPSBwYWdlU2l6ZUV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2VJbmRleCA9IDA7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3Qgc3Vic2MxID0gdGhpcy51c2VyVXBncmFkZVNlcnZpY2UuZ2V0VXNlclVwZ3JhZGVSZWNvcmRzKHRoaXMucGFnaW5hdGlvbi5wYWdlU2l6ZSwgdGhpcy5wYWdpbmF0aW9uLnBhZ2VJbmRleClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShyZXN1bHQuY29udGVudCk7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uLnRvdGFsID0gcmVzdWx0LnRvdGFsRWxlbWVudHM7XHJcbiAgICAgICAgdGhpcy5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoc3Vic2MxKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUZpbHRlcnMocmVjb3JkczogYW55W10pOiB2b2lkIHtcclxuICAgIGlmIChyZWNvcmRzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gRXh0cmFjdCB1bmlxdWUgc2l0ZXMgZnJvbSBhY3R1YWwgZGF0YVxyXG4gICAgICBjb25zdCB1bmlxdWVTaXRlcyA9IFsuLi5uZXcgU2V0KHJlY29yZHMubWFwKHJlY29yZCA9PiByZWNvcmQuc2l0ZU5hbWUpKV07XHJcbiAgICAgIGNvbnN0IHNpdGVPcHRpb25zID0gdW5pcXVlU2l0ZXMubWFwKHNpdGUgPT4gKHtcclxuICAgICAgICBsYWJlbDogc2l0ZSxcclxuICAgICAgICB2YWx1ZTogc2l0ZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKVxyXG4gICAgICB9KSk7XHJcblxyXG4gICAgICAvLyBFeHRyYWN0IHVuaXF1ZSBzdGF0dXNlcyBmcm9tIGFjdHVhbCBkYXRhXHJcbiAgICAgIGNvbnN0IHVuaXF1ZVN0YXR1c2VzID0gWy4uLm5ldyBTZXQocmVjb3Jkcy5tYXAocmVjb3JkID0+IHJlY29yZC51cGdyYWRlU3RhdHVzKSldO1xyXG4gICAgICBjb25zdCBzdGF0dXNPcHRpb25zID0gdW5pcXVlU3RhdHVzZXMubWFwKHN0YXR1cyA9PiAoe1xyXG4gICAgICAgIGxhYmVsOiBTVEFUVVNfRU5UUklFU1tzdGF0dXNdLFxyXG4gICAgICAgIHZhbHVlOiBzdGF0dXMudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJylcclxuICAgICAgfSkpO1xyXG5cclxuICAgICAgdGhpcy5maWx0ZXJzID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlkOiAndXNlck5hbWUnLFxyXG4gICAgICAgICAgdHlwZTogJ3NlYXJjaCcsXHJcbiAgICAgICAgICBjb2x1bW5LZXk6ICdVc2VyJyxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnU2VhcmNoIHVzZXJzLi4uJyxcclxuICAgICAgICAgIG9wdGlvbnM6IFtdXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpZDogJ3NpdGVzJyxcclxuICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICAgICAgY29sdW1uS2V5OiAnU2l0ZScsXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcjogJ1NpdGVzJyxcclxuICAgICAgICAgIG9wdGlvbnM6IHNpdGVPcHRpb25zXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpZDogJ3N0YXR1cycsXHJcbiAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgICAgIGNvbHVtbktleTogJ1VzZXIgVXBncmFkZSBTdGF0dXMnLFxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdVcGdyYWRlIFN0YXR1cycsXHJcbiAgICAgICAgICBvcHRpb25zOiBzdGF0dXNPcHRpb25zXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFdoZXRoZXIgdGhlIG51bWJlciBvZiBzZWxlY3RlZCBlbGVtZW50cyBtYXRjaGVzIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cy4gKi9cclxuICBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhPy5kYXRhLmxlbmd0aCA/PyAwO1xyXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNlbGVjdHMgYWxsIHJvd3MgaWYgdGhleSBhcmUgbm90IGFsbCBzZWxlY3RlZDsgb3RoZXJ3aXNlIGNsZWFyIHNlbGVjdGlvbi4gKi9cclxuICBtYXN0ZXJUb2dnbGUoKSB7XHJcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCkgOlxyXG4gICAgICB0aGlzLmRhdGE/LmRhdGEuZm9yRWFjaChyb3cgPT4gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHJvdykpO1xyXG4gIH1cclxuXHJcbiAgdXBncmFkZVVzZXIodXNlcjogVXNlclVwZ3JhZGVSZWNvcmQpOiB2b2lkIHtcclxuICAgIGlmICh1c2VyICYmIFNUQVRVU19FTlRSSUVTW3VzZXIudXBncmFkZVN0YXR1c10gJiYgU1RBVFVTX0VOVFJJRVNbdXNlci51cGdyYWRlU3RhdHVzXSA9PT0gJ1JlYWR5JylcclxuICAgICAgdXNlci5wZW5kaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMudXNlclVwZ3JhZGVTZXJ2aWNlLmNvbGxlY3RVc2VycyhbdXNlcl0pXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy51c2VyVXBncmFkZVNlcnZpY2UuYnVsa1VwZ3JhZGUoW3VzZXJdKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHVzZXIucGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBncmFkZVNlbGVjdGVkVXNlcnMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQgJiYgdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy51c2VyVXBncmFkZVNlcnZpY2UuY29sbGVjdFVzZXJzKHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMudXNlclVwZ3JhZGVTZXJ2aWNlLmJ1bGtVcGdyYWRlKHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcbiAgICB0aGlzLnVzZXJVcGdyYWRlU2VydmljZS5idWxrVXBncmFkZSh0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlcihmaWx0ZXJFdmVudDogeyBrZXk6IHN0cmluZywgdmFsdWU6IGFueSB9KSB7XHJcbiAgICBjb25zdCB7a2V5LCB2YWx1ZX0gPSBmaWx0ZXJFdmVudDtcclxuXHJcbiAgICBsZXQgZmlsdGVyVmFsdWU6IGFueTtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGZpbHRlclZhbHVlID0gdmFsdWUudmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIHZhbHVlLnRhcmdldCkge1xyXG4gICAgICBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRhcmdldC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbHRlclZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGFuZGxlIFwiQWxsXCIgb3B0aW9uIG9yIGVtcHR5IHZhbHVlcyAtIHJlbW92ZSB0aGUgZmlsdGVyXHJcbiAgICBpZiAoZmlsdGVyVmFsdWUgPT09ICdhbGwnIHx8ICFmaWx0ZXJWYWx1ZSB8fCBmaWx0ZXJWYWx1ZSA9PT0gJycpIHtcclxuICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlRmlsdGVyc1trZXldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJzW2tleV0gPSBmaWx0ZXJWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcGx5RmlsdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEN1c3RvbUZpbHRlcigpIHtcclxuICAgIHRoaXMuZGF0YS5maWx0ZXJQcmVkaWNhdGUgPSAoZGF0YTogYW55LCBmaWx0ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShmaWx0ZXIgfHwgJ3t9Jyk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWx0ZXJzKSkge1xyXG4gICAgICAgIGlmICghdmFsdWUpIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKGtleSkge1xyXG4gICAgICAgICAgY2FzZSAnVXNlcic6XHJcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSAodmFsdWUgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICBpZiAoIWRhdGEudXNlck5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ1NpdGUnOlxyXG4gICAgICAgICAgICBpZiAoZGF0YS5zaXRlTmFtZSAhPT0gdGhpcy5nZXRTaXRlTmFtZUZyb21WYWx1ZSh2YWx1ZSBhcyBzdHJpbmcpKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnVXNlciBVcGdyYWRlIFN0YXR1cyc6XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaGVzVXBncmFkZVN0YXR1cyhkYXRhLnVwZ3JhZGVTdGF0dXMsIHZhbHVlIGFzIHN0cmluZykpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5RmlsdGVycygpIHtcclxuICAgIHRoaXMuZGF0YS5maWx0ZXIgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmFjdGl2ZUZpbHRlcnMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpbHRlcmVkRGF0YUNvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5maWx0ZXJlZERhdGE/Lmxlbmd0aCB8fCAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTaXRlTmFtZUZyb21WYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIC8vIFNpbmNlIHdlJ3JlIG5vdyB1c2luZyBhY3R1YWwgc2l0ZSBuYW1lcywganVzdCBjb252ZXJ0IGJhY2sgZnJvbSBzbHVnIGZvcm1hdFxyXG4gICAgcmV0dXJuIHZhbHVlLnNwbGl0KCctJykubWFwKHdvcmQgPT5cclxuICAgICAgd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSlcclxuICAgICkuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYXRjaGVzVXBncmFkZVN0YXR1cyhzdGF0dXM6IHN0cmluZywgZmlsdGVyVmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gSGFuZGxlIGRpcmVjdCBzdGF0dXMgbWF0Y2hpbmcgZm9yIGNsZWFuZXIgaW1wbGVtZW50YXRpb25cclxuICAgIHJldHVybiBzdGF0dXMudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJykgPT09IGZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdGF0dXNDbGFzcyhzdGF0dXM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHN0YXR1cy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIGNhc2UgJ3JlYWR5JzpcclxuICAgICAgICByZXR1cm4gJ3JlYWR5JztcclxuICAgICAgY2FzZSAnbm90IHJlYWR5JzpcclxuICAgICAgICByZXR1cm4gJ25vdC1yZWFkeSc7XHJcbiAgICAgIGNhc2UgJ3BhcnRpYWwgcmVhZHknOlxyXG4gICAgICAgIHJldHVybiAncGFydGlhbC1yZWFkeSc7XHJcbiAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6XHJcbiAgICAgICAgcmV0dXJuICdjb21wbGV0ZWQnO1xyXG4gICAgICBjYXNlICdmYWlsZWQnOlxyXG4gICAgICAgIHJldHVybiAnZmFpbGVkJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ25vdC1yZWFkeSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZVNpemVPcHRpb25zID0gUEFHSU5BVElPTl9TSVpFX09QVElPTlM7XHJcbn1cclxuXHJcbmludGVyZmFjZSBQYWdpbmF0aW9uRGF0YUR0b0ludGVyZmFjZSB7XHJcbiAgdG90YWw6IG51bWJlcjtcclxuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdO1xyXG4gIHBhZ2VTaXplOiBudW1iZXI7XHJcbiAgcGFnZUluZGV4OiBudW1iZXI7XHJcbn1cclxuY2xhc3MgUGFnaW5hdGlvbkRhdGFEdG8ge1xyXG4gIHRvdGFsITogbnVtYmVyO1xyXG4gIHBhZ2VTaXplT3B0aW9ucyE6IG51bWJlcltdO1xyXG4gIHBhZ2VTaXplITogbnVtYmVyO1xyXG4gIHBhZ2VJbmRleCE6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoZGF0YT86IFBhZ2luYXRpb25EYXRhRHRvSW50ZXJmYWNlKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyA9IGRhdGE/LnBhZ2VTaXplT3B0aW9ucyB8fCBQQUdJTkFUSU9OX0RBVEFfREVGQVVMVFMuT1BUSU9OUztcclxuICAgIHRoaXMucGFnZVNpemUgPSBkYXRhPy5wYWdlU2l6ZSB8fCBQQUdJTkFUSU9OX0RBVEFfREVGQVVMVFMuU0laRTtcclxuICAgIHRoaXMucGFnZUluZGV4ID0gZGF0YT8ucGFnZUluZGV4IHx8IFBBR0lOQVRJT05fREFUQV9ERUZBVUxUUy5QQUdFX0lOREVYO1xyXG4gICAgdGhpcy50b3RhbCA9IGRhdGE/LnRvdGFsIHx8IDA7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBQQUdJTkFUSU9OX0RBVEFfREVGQVVMVFMgPSB7XHJcbiAgT1BUSU9OUzogWzEwLCAyMCwgNTAsIDEwMF0sXHJcbiAgU0laRTogMTAsXHJcbiAgUEFHRV9JTkRFWDogMFxyXG59O1xyXG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVBlbmRpbmdcIiBjbGFzcz1cIm92ZXJsYXlcIj5cclxuICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcclxuICAgIGNsYXNzPVwicGFnZS1zcGlubmVyXCJcclxuICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcclxuICAgIFtkaWFtZXRlcl09XCIxMjBcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgaWQ9XCJ1c2VyVXBncmFkZURhdGFUYWJsZVwiIGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInVzZXItdXBncmFkZS1zdGF0dXMtd3JhcHBlclwiPlxyXG4gICAgICAgIDx0ay1zdW1tYXJ5LWNhcmQgW2Rlc2NyaXB0aW9uXT1cIidVc2VycyBhcmUgcmVhZHkgdG8gdXBncmFkZSdcIiBbdmFsdWVdPVwic3RhdHVzQ291bnRzWydSZWFkeSddXCI+PC90ay1zdW1tYXJ5LWNhcmQ+XHJcbiAgICAgICAgPHRrLXN1bW1hcnktY2FyZCBbZGVzY3JpcHRpb25dPVwiJ1VzZXJzIGFyZSBub3QgcmVhZHknXCIgW3ZhbHVlXT1cInN0YXR1c0NvdW50c1snTm90IFJlYWR5J11cIiBbc3RhdHVzXT1cIidOb3QgUmVhZHknXCI+PC90ay1zdW1tYXJ5LWNhcmQ+XHJcbiAgICAgICAgPHRrLXN1bW1hcnktY2FyZCBbZGVzY3JpcHRpb25dPVwiJ1VzZXJzIGZhaWxlZCB0byB1cGdyYWRlJ1wiIFt2YWx1ZV09XCJzdGF0dXNDb3VudHNbJ0ZhaWxlZCddXCIgW3N0YXR1c109XCInRmFpbGVkJ1wiPjwvdGstc3VtbWFyeS1jYXJkPlxyXG4gICAgICAgIDx0ay1zdW1tYXJ5LWNhcmQgW2Rlc2NyaXB0aW9uXT1cIidTdWNjZXNzZnVsbHkgdXBncmFkZWQnXCIgW3ZhbHVlXT1cInN0YXR1c0NvdW50c1snQ29tcGxldGVkJ11cIiBbc3RhdHVzXT1cIidDb21wbGV0ZWQnXCI+PC90ay1zdW1tYXJ5LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1hY3Rpb24tcGFuZWxcIj5cclxuICAgICAgICA8dGstdGFibGUtZmlsdGVycyAqbmdJZj1cImZpbHRlcnMubGVuZ3RoID4gMFwiIFtmaWx0ZXJzXT1cImZpbHRlcnNcIiAoZmlsdGVyKT1cIm9uRmlsdGVyKCRldmVudClcIj48L3RrLXRhYmxlLWZpbHRlcnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7ZmlsdGVyZWREYXRhQ291bnR9fSBVc2Vyczwvc3Bhbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1cGdyYWRlLWJ1bGstYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBncmFkZVNlbGVjdGVkVXNlcnMoKVwiPlxyXG4gICAgICAgICAgICAgICAgVXBncmFkZSB7eyBzZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoID09PSAwID8gJycgOiAnKCcgKyBzZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoICsgJyknIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFcIiBjbGFzcz1cInVzZXItdXBncmFkZS10YWJsZVwiPlxyXG5cclxuICAgICAgICA8IS0tIENoZWNrYm94IENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPlxyXG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gbWFzdGVyVG9nZ2xlKCkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uLnRvZ2dsZShyb3cpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlNUQVRVU19FTlRSSUVTW3Jvdy51cGdyYWRlU3RhdHVzXSAhPT0gJ1JlYWR5JyB8fCByb3cucGVuZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIFVzZXIgQ29sdW1uIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXNlclwiPlxyXG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlVzZXI8L3RoPlxyXG4gICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWVcIj57e2VsZW1lbnQudXNlck5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWVtYWlsXCI+e3tlbGVtZW50LnVzZXJOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIFNpdGUgQ29sdW1uIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2l0ZVwiPlxyXG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlNpdGU8L3RoPlxyXG4gICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpdGUtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2l0ZS1pbmRpY2F0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzdGF0dXMtcmVhZHknOiBlbGVtZW50LmRpYWxQbGFuU3RhdHVzID09PSAnUkVBRFknfVwiPnt7ZWxlbWVudC5zaXRlTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwhLS0gRGV2aWNlIENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRldmljZVwiPlxyXG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkRldmljZTwvdGg+XHJcbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudC5kZXZpY2VzLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldmljZS1uYW1lLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGV2aWNlLWluZGljYXRvclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGV2aWNlLW5hbWVcIj5NdWx0aXBsZSBkZXZpY2VzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudC5kZXZpY2VzLmxlbmd0aCA9PT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlLW5hbWUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXZpY2UtaW5kaWNhdG9yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXZpY2UtbmFtZVwiPnt7ZWxlbWVudC5kZXZpY2VzWzBdfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRldmljZS1tb2RlbFwiPnt7IGVsZW1lbnQucHJpbWFyeUV4dGVuc2lvbiB8fCAnTm8gRXh0ZW5zaW9uJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIERpYWwgUGxhbiBTdGF0dXMgQ29sdW1uIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGlhbFBsYW5TdGF0dXNcIj5cclxuICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5EaWFsIFBsYW4gU3RhdHVzPC90aD5cclxuICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhdHVzLWluZGljYXRvclwiIFtuZ0NsYXNzXT1cImdldFN0YXR1c0NsYXNzKGVsZW1lbnQuZGlhbFBsYW5TdGF0dXMpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3N0YXR1cy1yZWFkeSc6IGVsZW1lbnQuZGlhbFBsYW5TdGF0dXMgPT09ICdSRUFEWSd9XCI+e3tTVEFUVVNfRU5UUklFU1tlbGVtZW50LmRpYWxQbGFuU3RhdHVzXX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwhLS0gRGVwZW5kZW5jaWVzIENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlcGVuZGVuY2llc1wiPlxyXG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkRlcGVuZGVuY2llczwvdGg+XHJcbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIkRFUEVOREVOQ0lFU19TVEFUVVNbZWxlbWVudC5kZXBlbmRlbmNpZXNTdGF0dXNdID09PSAnRGVwZW5kZW5jaWVzIGZvdW5kJ1wiIGNsYXNzPVwiZGVwZW5kZW5jaWVzLXRleHRcIj57e0RFUEVOREVOQ0lFU19TVEFUVVNbZWxlbWVudC5kZXBlbmRlbmNpZXNTdGF0dXNdfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIkRFUEVOREVOQ0lFU19TVEFUVVNbZWxlbWVudC5kZXBlbmRlbmNpZXNTdGF0dXNdID09PSAnTm8gZGVwZW5kZW5jaWVzJ1wiPuKAlDwvc3Bhbj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBVc2VyIFVwZ3JhZGUgU3RhdHVzIENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVzZXJVcGdyYWRlU3RhdHVzXCI+XHJcbiAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+VXNlciBVcGdyYWRlIFN0YXR1czwvdGg+XHJcbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBncmFkZS1zdGF0dXMtY2VsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTVEFUVVNfRU5UUklFU1tlbGVtZW50LnVwZ3JhZGVTdGF0dXNdID09PSAnUmVhZHknOyBlbHNlIHN0YXR1c0Jsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cInVwZ3JhZGUtYnV0dG9uXCIgKGNsaWNrKT1cInVwZ3JhZGVVc2VyKGVsZW1lbnQpXCI+VXBncmFkZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhdHVzQmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGF0dXMtaW5kaWNhdG9yXCIgW25nQ2xhc3NdPVwiZ2V0U3RhdHVzQ2xhc3MoZWxlbWVudC51cGdyYWRlU3RhdHVzKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7U1RBVFVTX0VOVFJJRVNbZWxlbWVudC51cGdyYWRlU3RhdHVzXX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ1c2VyVXBncmFkZUxvYWRlclwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10ZFwiIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuXHJcbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcclxuICAgICAgICAgICAgKm5nSWY9XCJlbGVtZW50LnBlbmRpbmdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZpZWxkLXNwaW5uZXJcIlxyXG4gICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMjBcIlxyXG4gICAgICAgICAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPlxyXG4gICAgICAgICAgPC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIlxyXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtcm93XT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdylcIj48L3RyPlxyXG4gICAgPC90YWJsZT5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiYXBwLXBhZ2luYXRpb25cIj5cclxuICA8bWF0LXBhZ2luYXRvclxyXG4gICAgW2xlbmd0aF09XCJwYWdpbmF0aW9uLnRvdGFsXCJcclxuICAgIFtwYWdlU2l6ZV09XCJwYWdpbmF0aW9uLnBhZ2VTaXplXCJcclxuICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnaW5hdGlvbi5wYWdlU2l6ZU9wdGlvbnNcIlxyXG4gICAgW3BhZ2VJbmRleF09XCJwYWdpbmF0aW9uLnBhZ2VJbmRleFwiXHJcbiAgICAocGFnZSk9XCJwYWdlRXZlbnQoJGV2ZW50KVwiXHJcbiAgICBzaG93Rmlyc3RMYXN0QnV0dG9ucz5cclxuICA8L21hdC1wYWdpbmF0b3I+XHJcblxyXG4gIDwhLS08ZGl2IGNsYXNzPVwicGFnZS1pbmRleGVzLWJveFwiPlxyXG4gICAgPG1hdC1wYWdpbmF0b3JcclxuICAgICAgW2lkXT1cIidjb21tb25QYWdpbmF0aW9uJ1wiXHJcbiAgICAgIFtoaWRlUGFnZVNpemVdPVwidHJ1ZVwiXHJcbiAgICAgIFtsZW5ndGhdPVwicGFnaW5hdGlvbi50b3RhbFwiXHJcbiAgICAgIFtwYWdlSW5kZXhdPVwicGFnaW5hdGlvbi5wYWdlSW5kZXhcIlxyXG4gICAgICBbcGFnZVNpemVdPVwicGFnaW5hdGlvbi5wYWdlU2l6ZVwiXHJcbiAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnaW5hdGlvbi5wYWdlU2l6ZU9wdGlvbnNcIlxyXG4gICAgICAocGFnZSk9XCJwYWdlRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPC9tYXQtcGFnaW5hdG9yPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicGVyLXBhZ2UtYmxvY2tcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtX3Blcl9wYWdlXCI+SXRlbXMgcGVyIHBhZ2U6PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWJveCBzZWxlY3QtcGFnZS1zaXplXCI+XHJcbiAgICAgIDxtYXQtc2VsZWN0IChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlUGVyUGFnZU51bWJlcigkZXZlbnQpXCIgI3BhZ2VcclxuICAgICAgICAgICAgICAgICAgW2lkXT1cIidjb21tb25QYWdpbmF0aW9uU2VsZWN0J1wiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcGFnZVNpemVPcHRpb25zOyBsZXQgaSA9IGluZGV4O1wiIFtpZF09XCIncGFnaW5hdGlvblNlbGVjdE9wdF8nICsgaVwiIFt2YWx1ZV09XCJvcHRpb25cIj57e29wdGlvbn19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+LS0+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { UserUpgradeDataTableComponent } from "./user-upgrade-data-table/user-upgrade-data-table.component";
|
|
3
|
-
import { CommonModule } from "@angular/common";
|
|
4
|
-
import { MatButtonModule } from "@angular/material/button";
|
|
5
|
-
import { MatTableModule } from "@angular/material/table";
|
|
6
|
-
import { SharedModule } from "../../shared/shared.module";
|
|
7
|
-
import { MatCheckboxModule } from "@angular/material/checkbox";
|
|
8
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
9
|
-
import { MatOptionModule } from '@angular/material/core';
|
|
10
|
-
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
11
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export class UserUpgradeModule {
|
|
14
|
-
}
|
|
15
|
-
UserUpgradeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserUpgradeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
-
UserUpgradeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UserUpgradeModule, declarations: [UserUpgradeDataTableComponent], imports: [CommonModule,
|
|
17
|
-
SharedModule,
|
|
18
|
-
MatTableModule,
|
|
19
|
-
MatButtonModule,
|
|
20
|
-
MatCheckboxModule,
|
|
21
|
-
MatSelectModule,
|
|
22
|
-
MatProgressSpinnerModule,
|
|
23
|
-
MatOptionModule,
|
|
24
|
-
MatPaginatorModule,
|
|
25
|
-
MatSelectModule], exports: [UserUpgradeDataTableComponent] });
|
|
26
|
-
UserUpgradeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserUpgradeModule, imports: [CommonModule,
|
|
27
|
-
SharedModule,
|
|
28
|
-
MatTableModule,
|
|
29
|
-
MatButtonModule,
|
|
30
|
-
MatCheckboxModule,
|
|
31
|
-
MatSelectModule,
|
|
32
|
-
MatProgressSpinnerModule,
|
|
33
|
-
MatOptionModule,
|
|
34
|
-
MatPaginatorModule,
|
|
35
|
-
MatSelectModule] });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserUpgradeModule, decorators: [{
|
|
37
|
-
type: NgModule,
|
|
38
|
-
args: [{
|
|
39
|
-
declarations: [
|
|
40
|
-
UserUpgradeDataTableComponent
|
|
41
|
-
],
|
|
42
|
-
imports: [
|
|
43
|
-
CommonModule,
|
|
44
|
-
SharedModule,
|
|
45
|
-
MatTableModule,
|
|
46
|
-
MatButtonModule,
|
|
47
|
-
MatCheckboxModule,
|
|
48
|
-
MatSelectModule,
|
|
49
|
-
MatProgressSpinnerModule,
|
|
50
|
-
MatOptionModule,
|
|
51
|
-
MatPaginatorModule,
|
|
52
|
-
MatSelectModule
|
|
53
|
-
],
|
|
54
|
-
exports: [
|
|
55
|
-
UserUpgradeDataTableComponent
|
|
56
|
-
]
|
|
57
|
-
}]
|
|
58
|
-
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci11cGdyYWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3VzZXItdXBncmFkZS91c2VyLXVwZ3JhZGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBc0IzRCxNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBbEIxQiw2QkFBNkIsYUFHN0IsWUFBWTtRQUNaLFlBQVk7UUFDWixjQUFjO1FBQ2QsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2Ysd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsZUFBZSxhQUdmLDZCQUE2QjtnSEFHcEIsaUJBQWlCLFlBZjFCLFlBQVk7UUFDWixZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLHdCQUF3QjtRQUN4QixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGVBQWU7NEZBTU4saUJBQWlCO2tCQXBCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFVzZXJVcGdyYWRlRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vdXNlci11cGdyYWRlLWRhdGEtdGFibGUvdXNlci11cGdyYWRlLWRhdGEtdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGVcIjtcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFVzZXJVcGdyYWRlRGF0YVRhYmxlQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTaGFyZWRNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBVc2VyVXBncmFkZURhdGFUYWJsZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJVcGdyYWRlTW9kdWxlIHtcclxufVxyXG4iXX0=
|