@hmcts/rpx-xui-common-lib 2.1.7-angular-upgrade-11 → 2.1.7-javascript-void
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/README.md +1 -1
- package/esm2022/hmcts-rpx-xui-common-lib.mjs +5 -0
- package/esm2022/lib/components/accessibility/accessibility.component.mjs +833 -0
- package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +123 -0
- package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
- package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
- package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
- package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
- package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
- package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
- package/esm2022/lib/components/find-task-name/find-task-name.component.mjs +200 -0
- package/esm2022/lib/components/generic-filter/generic-filter-utils.mjs +21 -0
- package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1224 -0
- package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
- package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
- package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
- package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
- package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
- package/esm2022/lib/components/public_api.mjs +39 -0
- package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
- package/esm2022/lib/components/search-location/search-location.component.mjs +240 -0
- package/esm2022/lib/components/search-service/search-service.component.mjs +94 -0
- package/esm2022/lib/components/search-venue/search-venue.component.mjs +188 -0
- package/esm2022/lib/components/selected-case/selected-case.component.mjs +381 -0
- package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
- package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
- package/esm2022/lib/components/service-message/service-message.component.mjs +62 -0
- package/esm2022/lib/components/service-messages/service-messages.component.mjs +167 -0
- package/esm2022/lib/components/share-case/share-case.component.mjs +427 -0
- package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
- package/esm2022/lib/components/tab/tab.component.mjs +40 -0
- package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
- package/esm2022/lib/components/user-details/user-details.component.mjs +276 -0
- package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
- package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
- package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
- package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
- package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
- package/esm2022/lib/directives/let/let.directive.mjs +29 -0
- package/esm2022/lib/exui-common-lib.module.mjs +313 -0
- package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
- package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
- package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +127 -0
- package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
- package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
- package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
- package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
- package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
- package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
- package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
- package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +2 -0
- package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
- package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
- package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
- package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
- package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
- package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
- package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
- package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
- package/esm2022/lib/gov-ui/gov-ui.service.mjs +14 -0
- package/esm2022/lib/gov-ui/models/checkboxes-model.mjs +2 -0
- package/{esm2015/lib/gov-ui/models/gov-ui-config-model.js → esm2022/lib/gov-ui/models/gov-ui-config-model.mjs} +1 -1
- package/{esm2015/lib/gov-ui/models/public_api.js → esm2022/lib/gov-ui/models/public_api.mjs} +1 -2
- package/esm2022/lib/gov-ui/models/radio-buttons.model.mjs +2 -0
- package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
- package/{esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js → esm2022/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs} +1 -1
- package/{esm2015/lib/gov-ui/validators/date.validator.js → esm2022/lib/gov-ui/validators/date.validator.mjs} +1 -1
- package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
- package/esm2022/lib/models/address-message.enum.mjs +11 -0
- package/esm2022/lib/models/address-option.model.mjs +21 -0
- package/esm2022/lib/models/address.model.mjs +4 -0
- package/{esm2015/lib/models/contact-details.model.js → esm2022/lib/models/contact-details.model.mjs} +1 -1
- package/esm2022/lib/models/feature-user.mjs +5 -0
- package/esm2022/lib/models/filter.model.mjs +3 -0
- package/esm2022/lib/models/index.mjs +19 -0
- package/esm2022/lib/models/location.model.mjs +7 -0
- package/esm2022/lib/models/person.model.mjs +21 -0
- package/{esm2015/lib/models/public_api.js → esm2022/lib/models/public_api.mjs} +2 -1
- package/{esm2015/lib/models/search-options.model.js → esm2022/lib/models/search-options.model.mjs} +1 -1
- package/esm2022/lib/models/service-message.model.mjs +2 -0
- package/esm2022/lib/models/task-name.model.mjs +2 -0
- package/esm2022/lib/models/user-access-type.model.mjs +2 -0
- package/esm2022/lib/models/user-details.model.mjs +2 -0
- package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +15 -0
- package/esm2022/lib/pipes/index.mjs +2 -0
- package/esm2022/lib/services/address/address-parser.mjs +76 -0
- package/esm2022/lib/services/address/address-type.enum.mjs +7 -0
- package/esm2022/lib/services/address/address.service.mjs +55 -0
- package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
- package/esm2022/lib/services/cookie/cookie.service.mjs +48 -0
- package/esm2022/lib/services/feature-toggle/feature-toggle.guard.mjs +37 -0
- package/esm2022/lib/services/feature-toggle/feature-toggle.service.mjs +33 -0
- package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +70 -0
- package/esm2022/lib/services/filter/filter.service.mjs +95 -0
- package/esm2022/lib/services/find-person/find-person.service.mjs +92 -0
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +73 -0
- package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +85 -0
- package/{esm2015/lib/services/loading/loading.service.js → esm2022/lib/services/loading/loading.service.mjs} +8 -6
- package/esm2022/lib/services/locations/location.service.mjs +38 -0
- package/{esm2015/lib/services/manage-session/manage-session.services.js → esm2022/lib/services/manage-session/manage-session.services.mjs} +8 -10
- package/esm2022/lib/services/public-api.mjs +18 -0
- package/esm2022/lib/services/ref-data/index.mjs +4 -0
- package/esm2022/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +2 -0
- package/esm2022/lib/services/ref-data/models/ref-data-region.model.mjs +2 -0
- package/esm2022/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +2 -0
- package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
- package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
- package/esm2022/lib/services/role-guard/role.guard.mjs +43 -0
- package/esm2022/lib/services/role-guard/role.service.mjs +22 -0
- package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
- package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
- package/esm2022/lib/services/timeout-notifications/timeout-notifications.service.mjs +103 -0
- package/{esm2015/public-api.js → esm2022/public-api.mjs} +2 -1
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs +10386 -0
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/accessibility/accessibility.component.d.ts +7 -1
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +8 -2
- package/lib/components/contact-details/contact-details.component.d.ts +3 -0
- package/lib/components/cookie-banner/cookie-banner.component.d.ts +5 -1
- package/lib/components/due-date/due-date.component.d.ts +8 -2
- package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +3 -0
- package/lib/components/find-location/find-location.component.d.ts +12 -6
- package/lib/components/find-person/find-person.component.d.ts +5 -2
- package/lib/components/find-service/find-service.component.d.ts +24 -9
- package/lib/components/find-task-name/find-task-name.component.d.ts +44 -0
- package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
- package/lib/components/generic-filter/generic-filter.component.d.ts +25 -6
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +3 -0
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +3 -0
- package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +3 -0
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +8 -1
- package/lib/components/pagination/pagination.component.d.ts +3 -0
- package/lib/components/public_api.d.ts +6 -0
- package/lib/components/search-judicials/search-judicials.component.d.ts +3 -0
- package/lib/components/search-location/search-location.component.d.ts +25 -20
- package/lib/components/search-service/search-service.component.d.ts +16 -9
- package/lib/components/search-venue/search-venue.component.d.ts +3 -1
- package/lib/components/selected-case/selected-case.component.d.ts +3 -0
- package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +3 -0
- package/lib/components/selected-case-list/selected-case-list.component.d.ts +3 -0
- package/lib/components/service-message/service-message.component.d.ts +9 -4
- package/lib/components/service-messages/service-messages.component.d.ts +15 -5
- package/lib/components/share-case/share-case.component.d.ts +4 -0
- package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +3 -0
- package/lib/components/tab/tab.component.d.ts +3 -0
- package/lib/components/tc-confirm/tc-confirm.component.d.ts +3 -0
- package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +3 -0
- package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +3 -0
- package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +3 -0
- package/lib/components/user-details/user-details.component.d.ts +4 -0
- package/lib/components/user-list/user-list.component.d.ts +3 -0
- package/lib/components/user-select/user-select.component.d.ts +5 -3
- package/lib/components/write-address/write-address.component.d.ts +45 -0
- package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +16 -0
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +3 -0
- package/lib/directives/let/let.directive.d.ts +3 -0
- package/lib/exui-common-lib.module.d.ts +83 -4
- package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +17 -5
- package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +4 -2
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +4 -0
- package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +5 -2
- package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +3 -0
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +7 -2
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +3 -0
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +3 -0
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +6 -3
- package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +3 -0
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +3 -0
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +3 -0
- package/lib/gov-ui/directives/remove-host.directive.d.ts +3 -0
- package/lib/gov-ui/gov-ui.service.d.ts +3 -0
- package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
- package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
- package/lib/gov-ui/models/public_api.d.ts +0 -1
- package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
- package/lib/models/address-message.enum.d.ts +9 -0
- package/lib/models/address-option.model.d.ts +9 -0
- package/lib/models/address.model.d.ts +9 -0
- package/lib/models/contact-details.model.d.ts +4 -0
- package/lib/models/feature-user.d.ts +4 -6
- package/lib/models/filter.model.d.ts +42 -9
- package/lib/models/index.d.ts +4 -0
- package/lib/models/location.model.d.ts +12 -12
- package/lib/models/person.model.d.ts +5 -3
- package/lib/models/public_api.d.ts +1 -0
- package/lib/models/search-options.model.d.ts +1 -1
- package/lib/models/service-message.model.d.ts +8 -0
- package/lib/models/task-name.model.d.ts +4 -0
- package/lib/models/user-access-type.model.d.ts +6 -0
- package/lib/models/user-details.model.d.ts +2 -0
- package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/services/address/address-parser.d.ts +17 -0
- package/lib/services/address/address-type.enum.d.ts +5 -0
- package/lib/services/address/address.service.d.ts +15 -0
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +3 -0
- package/lib/services/cookie/cookie.service.d.ts +3 -0
- package/lib/services/feature-toggle/feature-toggle.guard.d.ts +8 -2
- package/lib/services/feature-toggle/feature-toggle.service.d.ts +4 -0
- package/lib/services/feature-toggle/launch-darkly.service.d.ts +14 -10
- package/lib/services/filter/filter.service.d.ts +6 -0
- package/lib/services/find-person/find-person.service.d.ts +5 -2
- package/lib/services/google-analytics/google-analytics.service.d.ts +4 -1
- package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +5 -1
- package/lib/services/loading/loading.service.d.ts +3 -0
- package/lib/services/locations/location.service.d.ts +4 -1
- package/lib/services/manage-session/manage-session.services.d.ts +3 -0
- package/lib/services/public-api.d.ts +2 -0
- package/lib/services/ref-data/index.d.ts +3 -0
- package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
- package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
- package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
- package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +18 -0
- package/lib/services/ref-data/ref-data.service.d.ts +17 -0
- package/lib/services/role-guard/role.guard.d.ts +7 -3
- package/lib/services/role-guard/role.service.d.ts +8 -4
- package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +3 -0
- package/lib/services/task-name/task-name.service.d.ts +17 -0
- package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +8 -2
- package/package.json +21 -11
- package/public-api.d.ts +1 -0
- package/bundles/hmcts-rpx-xui-common-lib.umd.js +0 -5141
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +0 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +0 -2
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +0 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +0 -70
- package/esm2015/lib/components/accessibility/accessibility.component.js +0 -14
- package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +0 -177
- package/esm2015/lib/components/contact-details/contact-details.component.js +0 -17
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +0 -68
- package/esm2015/lib/components/due-date/due-date.component.js +0 -115
- package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -28
- package/esm2015/lib/components/find-location/find-location.component.js +0 -124
- package/esm2015/lib/components/find-person/find-person.component.js +0 -118
- package/esm2015/lib/components/find-service/find-service.component.js +0 -31
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +0 -21
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +0 -387
- package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -27
- package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +0 -25
- package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -25
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +0 -18
- package/esm2015/lib/components/pagination/pagination.component.js +0 -28
- package/esm2015/lib/components/public_api.js +0 -33
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +0 -126
- package/esm2015/lib/components/search-location/search-location.component.js +0 -133
- package/esm2015/lib/components/search-service/search-service.component.js +0 -31
- package/esm2015/lib/components/search-venue/search-venue.component.js +0 -123
- package/esm2015/lib/components/selected-case/selected-case.component.js +0 -158
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -36
- package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +0 -49
- package/esm2015/lib/components/service-message/service-message.component.js +0 -22
- package/esm2015/lib/components/service-messages/service-messages.component.js +0 -48
- package/esm2015/lib/components/share-case/share-case.component.js +0 -205
- package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +0 -34
- package/esm2015/lib/components/tab/tab.component.js +0 -21
- package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +0 -22
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -13
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -13
- package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -16
- package/esm2015/lib/components/user-details/user-details.component.js +0 -41
- package/esm2015/lib/components/user-list/user-list.component.js +0 -33
- package/esm2015/lib/components/user-select/user-select.component.js +0 -58
- package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +0 -42
- package/esm2015/lib/directives/let/let.directive.js +0 -30
- package/esm2015/lib/exui-common-lib.module.js +0 -160
- package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -31
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -21
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -64
- package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -22
- package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -28
- package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -35
- package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -23
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -34
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -21
- package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -33
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -21
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -27
- package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -39
- package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -27
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -23
- package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -48
- package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -19
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -41
- package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -28
- package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -23
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -15
- package/esm2015/lib/gov-ui/directives/remove-host.directive.js +0 -29
- package/esm2015/lib/gov-ui/gov-ui.service.js +0 -13
- package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -2
- package/esm2015/lib/gov-ui/models/checkboxes-model.js +0 -2
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +0 -2
- package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +0 -22
- package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -22
- package/esm2015/lib/gov-ui/validators/radio-group.validator.js +0 -15
- package/esm2015/lib/models/feature-user.js +0 -5
- package/esm2015/lib/models/filter.model.js +0 -3
- package/esm2015/lib/models/index.js +0 -15
- package/esm2015/lib/models/location.model.js +0 -7
- package/esm2015/lib/models/person.model.js +0 -19
- package/esm2015/lib/models/user-details.model.js +0 -2
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +0 -157
- package/esm2015/lib/services/cookie/cookie.service.js +0 -47
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +0 -35
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +0 -27
- package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +0 -59
- package/esm2015/lib/services/filter/filter.service.js +0 -64
- package/esm2015/lib/services/find-person/find-person.service.js +0 -106
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +0 -68
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +0 -71
- package/esm2015/lib/services/locations/location.service.js +0 -39
- package/esm2015/lib/services/public-api.js +0 -16
- package/esm2015/lib/services/role-guard/role.guard.js +0 -37
- package/esm2015/lib/services/role-guard/role.service.js +0 -20
- package/esm2015/lib/services/session-storage/session-storage.service.js +0 -41
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +0 -94
- package/fesm2015/hmcts-rpx-xui-common-lib.js +0 -4174
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +0 -1
- package/hmcts-rpx-xui-common-lib.d.ts +0 -69
- package/hmcts-rpx-xui-common-lib.metadata.json +0 -1
- package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
- package/lib/gov-ui/models/isession-storage.interface.d.ts +0 -4
- package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +0 -6
- /package/{esm2015/lib/components/index.js → esm2022/lib/components/index.mjs} +0 -0
- /package/{esm2015/lib/directives/index.js → esm2022/lib/directives/index.mjs} +0 -0
- /package/{esm2015/lib/directives/public-api.js → esm2022/lib/directives/public-api.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/components/index.js → esm2022/lib/gov-ui/components/index.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/components/public_api.js → esm2022/lib/gov-ui/components/public_api.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/index.js → esm2022/lib/gov-ui/index.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/models/error-messages-model.js → esm2022/lib/gov-ui/models/error-messages-model.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/models/index.js → esm2022/lib/gov-ui/models/index.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/public_api.js → esm2022/lib/gov-ui/public_api.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/validators/index.js → esm2022/lib/gov-ui/validators/index.mjs} +0 -0
- /package/{esm2015/lib/gov-ui/validators/public_api.js → esm2022/lib/gov-ui/validators/public_api.mjs} +0 -0
- /package/{esm2015/lib/models/case-share.model.js → esm2022/lib/models/case-share.model.mjs} +0 -0
- /package/{esm2015/lib/models/due-date.model.js → esm2022/lib/models/due-date.model.mjs} +0 -0
- /package/{esm2015/lib/models/idle-config.model.js → esm2022/lib/models/idle-config.model.mjs} +0 -0
- /package/{esm2015/lib/models/pagination.model.js → esm2022/lib/models/pagination.model.mjs} +0 -0
- /package/{esm2015/lib/models/tcDocument.model.js → esm2022/lib/models/tcDocument.model.mjs} +0 -0
- /package/{esm2015/lib/models/timeout-notification.model.js → esm2022/lib/models/timeout-notification.model.mjs} +0 -0
- /package/{esm2015/lib/models/user.model.js → esm2022/lib/models/user.model.mjs} +0 -0
- /package/{esm2015/lib/services/index.js → esm2022/lib/services/index.mjs} +0 -0
- /package/{esm2015/lib/window.js → esm2022/lib/window.mjs} +0 -0
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/case-sharing-state/case-sharing-state.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "rpx-xui-translation";
|
|
8
|
+
function SelectedCaseComponent_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
10
|
+
i0.ɵɵelementStart(0, "button", 14);
|
|
11
|
+
i0.ɵɵlistener("click", function SelectedCaseComponent_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onDeselect(ctx_r1.sharedCase)); });
|
|
12
|
+
i0.ɵɵtext(1);
|
|
13
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14
|
+
i0.ɵɵelementEnd();
|
|
15
|
+
} if (rf & 2) {
|
|
16
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
17
|
+
i0.ɵɵpropertyInterpolate("id", ctx_r1.buildElementId("btn-deselect-case"));
|
|
18
|
+
i0.ɵɵadvance();
|
|
19
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "Deselect case"), " ");
|
|
20
|
+
} }
|
|
21
|
+
function SelectedCaseComponent_div_17_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "span", 16);
|
|
23
|
+
i0.ɵɵtext(2);
|
|
24
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
25
|
+
i0.ɵɵelementEnd()();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
28
|
+
i0.ɵɵadvance();
|
|
29
|
+
i0.ɵɵpropertyInterpolate("id", ctx_r1.buildElementId("access-info-no-user"));
|
|
30
|
+
i0.ɵɵadvance();
|
|
31
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "No users from your organisation currently have access to this case."), " ");
|
|
32
|
+
} }
|
|
33
|
+
function SelectedCaseComponent_div_18_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "span", 16);
|
|
35
|
+
i0.ɵɵtext(2);
|
|
36
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
37
|
+
i0.ɵɵelementEnd()();
|
|
38
|
+
} if (rf & 2) {
|
|
39
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
40
|
+
i0.ɵɵadvance();
|
|
41
|
+
i0.ɵɵpropertyInterpolate("id", ctx_r1.buildElementId("access-info-has-users"));
|
|
42
|
+
i0.ɵɵadvance();
|
|
43
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Users from your organisation with access to this case."), " ");
|
|
44
|
+
} }
|
|
45
|
+
function SelectedCaseComponent_table_19_tr_16_a_8_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
47
|
+
i0.ɵɵelementStart(0, "a", 30);
|
|
48
|
+
i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_8_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.onRemove(user_r4, ctx_r1.sharedCase); return i0.ɵɵresetView($event.preventDefault()); });
|
|
49
|
+
i0.ɵɵtext(1);
|
|
50
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
51
|
+
i0.ɵɵelementStart(3, "span", 31);
|
|
52
|
+
i0.ɵɵtext(4);
|
|
53
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
54
|
+
i0.ɵɵelementEnd()();
|
|
55
|
+
} if (rf & 2) {
|
|
56
|
+
const user_r4 = i0.ɵɵnextContext().$implicit;
|
|
57
|
+
i0.ɵɵadvance();
|
|
58
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 3, "Remove"), " ");
|
|
59
|
+
i0.ɵɵadvance(3);
|
|
60
|
+
i0.ɵɵtextInterpolate2("", user_r4.firstName + " " + user_r4.lastName, " ", i0.ɵɵpipeBind1(5, 5, "from case"), "");
|
|
61
|
+
} }
|
|
62
|
+
function SelectedCaseComponent_table_19_tr_16_a_10_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
64
|
+
i0.ɵɵelementStart(0, "a", 30);
|
|
65
|
+
i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_10_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.onCancel(user_r4, ctx_r1.sharedCase); return i0.ɵɵresetView($event.preventDefault()); });
|
|
66
|
+
i0.ɵɵtext(1);
|
|
67
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
68
|
+
i0.ɵɵelementStart(3, "span", 31);
|
|
69
|
+
i0.ɵɵtext(4);
|
|
70
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
71
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
72
|
+
i0.ɵɵelementEnd()();
|
|
73
|
+
} if (rf & 2) {
|
|
74
|
+
const user_r4 = i0.ɵɵnextContext().$implicit;
|
|
75
|
+
i0.ɵɵadvance();
|
|
76
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 4, "Cancel"), " ");
|
|
77
|
+
i0.ɵɵadvance(3);
|
|
78
|
+
i0.ɵɵtextInterpolate3("", i0.ɵɵpipeBind1(5, 6, "adding"), " ", user_r4.firstName + " " + user_r4.lastName, " ", i0.ɵɵpipeBind1(6, 8, "to case"), "");
|
|
79
|
+
} }
|
|
80
|
+
function SelectedCaseComponent_table_19_tr_16_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
i0.ɵɵelementStart(0, "span", 32);
|
|
82
|
+
i0.ɵɵtext(1);
|
|
83
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
84
|
+
i0.ɵɵelementEnd();
|
|
85
|
+
} if (rf & 2) {
|
|
86
|
+
i0.ɵɵadvance();
|
|
87
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "To be removed"));
|
|
88
|
+
} }
|
|
89
|
+
function SelectedCaseComponent_table_19_tr_16_span_15_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "span", 33);
|
|
91
|
+
i0.ɵɵtext(1);
|
|
92
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
93
|
+
i0.ɵɵelementEnd();
|
|
94
|
+
} if (rf & 2) {
|
|
95
|
+
i0.ɵɵadvance();
|
|
96
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "To be added"));
|
|
97
|
+
} }
|
|
98
|
+
function SelectedCaseComponent_table_19_tr_16_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵelementStart(0, "tr", 19)(1, "td", 25);
|
|
100
|
+
i0.ɵɵpipe(2, "async");
|
|
101
|
+
i0.ɵɵtext(3);
|
|
102
|
+
i0.ɵɵelementEnd();
|
|
103
|
+
i0.ɵɵelementStart(4, "td", 25);
|
|
104
|
+
i0.ɵɵpipe(5, "async");
|
|
105
|
+
i0.ɵɵtext(6);
|
|
106
|
+
i0.ɵɵelementEnd();
|
|
107
|
+
i0.ɵɵelementStart(7, "td", 26);
|
|
108
|
+
i0.ɵɵtemplate(8, SelectedCaseComponent_table_19_tr_16_a_8_Template, 6, 7, "a", 27);
|
|
109
|
+
i0.ɵɵpipe(9, "async");
|
|
110
|
+
i0.ɵɵtemplate(10, SelectedCaseComponent_table_19_tr_16_a_10_Template, 7, 10, "a", 27);
|
|
111
|
+
i0.ɵɵpipe(11, "async");
|
|
112
|
+
i0.ɵɵelementEnd();
|
|
113
|
+
i0.ɵɵelementStart(12, "td", 26);
|
|
114
|
+
i0.ɵɵtemplate(13, SelectedCaseComponent_table_19_tr_16_span_13_Template, 3, 3, "span", 28);
|
|
115
|
+
i0.ɵɵpipe(14, "async");
|
|
116
|
+
i0.ɵɵtemplate(15, SelectedCaseComponent_table_19_tr_16_span_15_Template, 3, 3, "span", 29);
|
|
117
|
+
i0.ɵɵpipe(16, "async");
|
|
118
|
+
i0.ɵɵelementEnd()();
|
|
119
|
+
} if (rf & 2) {
|
|
120
|
+
const user_r4 = ctx.$implicit;
|
|
121
|
+
const idx_r6 = ctx.index;
|
|
122
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
123
|
+
i0.ɵɵadvance();
|
|
124
|
+
i0.ɵɵpropertyInterpolate1("id", "user-full-name-", ctx_r1.userIdSetter(i0.ɵɵpipeBind1(2, 10, ctx_r1.canCancel(ctx_r1.sharedCase.caseId, user_r4)), idx_r6), "");
|
|
125
|
+
i0.ɵɵadvance(2);
|
|
126
|
+
i0.ɵɵtextInterpolate(user_r4.firstName + " " + user_r4.lastName);
|
|
127
|
+
i0.ɵɵadvance();
|
|
128
|
+
i0.ɵɵpropertyInterpolate1("id", "user-email-", ctx_r1.userIdSetter(i0.ɵɵpipeBind1(5, 12, ctx_r1.canCancel(ctx_r1.sharedCase.caseId, user_r4)), idx_r6), "");
|
|
129
|
+
i0.ɵɵadvance(2);
|
|
130
|
+
i0.ɵɵtextInterpolate(user_r4.email);
|
|
131
|
+
i0.ɵɵadvance(2);
|
|
132
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(9, 14, ctx_r1.canRemove(ctx_r1.sharedCase.caseId, user_r4)));
|
|
133
|
+
i0.ɵɵadvance(2);
|
|
134
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 16, ctx_r1.canCancel(ctx_r1.sharedCase.caseId, user_r4)));
|
|
135
|
+
i0.ɵɵadvance(3);
|
|
136
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 18, ctx_r1.isToBeRemoved(ctx_r1.sharedCase.caseId, user_r4)));
|
|
137
|
+
i0.ɵɵadvance(2);
|
|
138
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(16, 20, ctx_r1.isToBeAdded(ctx_r1.sharedCase.caseId, user_r4)));
|
|
139
|
+
} }
|
|
140
|
+
function SelectedCaseComponent_table_19_Template(rf, ctx) { if (rf & 1) {
|
|
141
|
+
i0.ɵɵelementStart(0, "table", 17)(1, "thead", 18)(2, "tr", 19)(3, "th", 20);
|
|
142
|
+
i0.ɵɵtext(4);
|
|
143
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
144
|
+
i0.ɵɵelementEnd();
|
|
145
|
+
i0.ɵɵelementStart(6, "th", 20);
|
|
146
|
+
i0.ɵɵtext(7);
|
|
147
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
148
|
+
i0.ɵɵelementEnd();
|
|
149
|
+
i0.ɵɵelementStart(9, "th", 21);
|
|
150
|
+
i0.ɵɵtext(10);
|
|
151
|
+
i0.ɵɵpipe(11, "rpxTranslate");
|
|
152
|
+
i0.ɵɵelementEnd();
|
|
153
|
+
i0.ɵɵelementStart(12, "th", 22);
|
|
154
|
+
i0.ɵɵtext(13);
|
|
155
|
+
i0.ɵɵpipe(14, "rpxTranslate");
|
|
156
|
+
i0.ɵɵelementEnd()()();
|
|
157
|
+
i0.ɵɵelementStart(15, "tbody", 23);
|
|
158
|
+
i0.ɵɵtemplate(16, SelectedCaseComponent_table_19_tr_16_Template, 17, 22, "tr", 24);
|
|
159
|
+
i0.ɵɵelementEnd()();
|
|
160
|
+
} if (rf & 2) {
|
|
161
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
162
|
+
i0.ɵɵadvance(3);
|
|
163
|
+
i0.ɵɵpropertyInterpolate("id", ctx_r1.buildElementId("name-heading"));
|
|
164
|
+
i0.ɵɵadvance();
|
|
165
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 10, "Name"));
|
|
166
|
+
i0.ɵɵadvance(2);
|
|
167
|
+
i0.ɵɵpropertyInterpolate("id", ctx_r1.buildElementId("email-heading"));
|
|
168
|
+
i0.ɵɵadvance();
|
|
169
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 12, "Email address"));
|
|
170
|
+
i0.ɵɵadvance(2);
|
|
171
|
+
i0.ɵɵpropertyInterpolate("id", ctx_r1.buildElementId("action-heading"));
|
|
172
|
+
i0.ɵɵadvance();
|
|
173
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 14, "Actions"));
|
|
174
|
+
i0.ɵɵadvance(2);
|
|
175
|
+
i0.ɵɵpropertyInterpolate("id", ctx_r1.buildElementId("label-heading"));
|
|
176
|
+
i0.ɵɵadvance();
|
|
177
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 16, "Status"));
|
|
178
|
+
i0.ɵɵadvance(3);
|
|
179
|
+
i0.ɵɵproperty("ngForOf", ctx_r1.combinedSortedShares)("ngForTrackBy", ctx_r1.trackByUserId);
|
|
180
|
+
} }
|
|
181
|
+
export class SelectedCaseComponent {
|
|
182
|
+
constructor(stateService) {
|
|
183
|
+
this.stateService = stateService;
|
|
184
|
+
this.opened = false;
|
|
185
|
+
this.unselect = new EventEmitter();
|
|
186
|
+
this.synchronizeStore = new EventEmitter();
|
|
187
|
+
}
|
|
188
|
+
ngOnInit() {
|
|
189
|
+
this.shareCases$ = this.stateService.state;
|
|
190
|
+
this.shareCases$.subscribe(shareCases => this.shareCases = shareCases);
|
|
191
|
+
}
|
|
192
|
+
ngOnChanges(changes) {
|
|
193
|
+
if (changes.sharedCase) {
|
|
194
|
+
const sharedWith = this.sharedCase.sharedWith ? this.sharedCase.sharedWith : [];
|
|
195
|
+
const pendingShares = this.sharedCase.pendingShares ? this.sharedCase.pendingShares : [];
|
|
196
|
+
this.combinedSortedShares = this.combineAndSortShares(sharedWith, pendingShares);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
onDeselect(c) {
|
|
200
|
+
this.unselect.emit(c);
|
|
201
|
+
}
|
|
202
|
+
trackByUserId(user) {
|
|
203
|
+
return user.idamId;
|
|
204
|
+
}
|
|
205
|
+
canRemove(caseId, user) {
|
|
206
|
+
return this.shareCases$.pipe(map(cases => {
|
|
207
|
+
if (this.removeUserFromCaseToggleOn) {
|
|
208
|
+
for (const aCase of cases) {
|
|
209
|
+
if (aCase.caseId === caseId) {
|
|
210
|
+
if (aCase.pendingUnshares && aCase.pendingUnshares.some(u => u.idamId === user.idamId)) {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
if (aCase.sharedWith && aCase.sharedWith.some(u => u.idamId === user.idamId)) {
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return false;
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
222
|
+
canCancel(caseId, user) {
|
|
223
|
+
return this.shareCases$.pipe(map(cases => {
|
|
224
|
+
for (const aCase of cases) {
|
|
225
|
+
if (aCase.caseId === caseId) {
|
|
226
|
+
if (aCase.pendingShares && aCase.pendingShares.some(u => u.idamId === user.idamId)) {
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
if (aCase.pendingUnshares && aCase.pendingUnshares.some(u => u.idamId === user.idamId)) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
isToBeRemoved(caseId, user) {
|
|
238
|
+
return this.shareCases$.pipe(map(cases => {
|
|
239
|
+
for (const aCase of cases) {
|
|
240
|
+
if (aCase.caseId === caseId) {
|
|
241
|
+
return aCase.pendingUnshares && aCase.pendingUnshares.some(u => u.idamId === user.idamId);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}));
|
|
245
|
+
}
|
|
246
|
+
isToBeAdded(caseId, user) {
|
|
247
|
+
return this.shareCases$.pipe(map(cases => {
|
|
248
|
+
for (const aCase of cases) {
|
|
249
|
+
if (aCase.caseId === caseId) {
|
|
250
|
+
return aCase.pendingShares && aCase.pendingShares.some(u => u.idamId === user.idamId);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}));
|
|
254
|
+
}
|
|
255
|
+
onRemove(user, sharedCase) {
|
|
256
|
+
this.stateService.requestUnshare(user, sharedCase.caseId);
|
|
257
|
+
this.synchronizeStore.emit(this.shareCases);
|
|
258
|
+
}
|
|
259
|
+
onCancel(user, sharedCase) {
|
|
260
|
+
this.stateService.requestCancel(sharedCase.caseId, user);
|
|
261
|
+
this.synchronizeStore.emit(this.shareCases);
|
|
262
|
+
}
|
|
263
|
+
showNoUsersAccessInfo() {
|
|
264
|
+
// A user is added to a case
|
|
265
|
+
if (this.sharedCase.pendingShares) {
|
|
266
|
+
if (this.sharedCase.pendingShares.length > 0) {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// A case has 0 users with access to it
|
|
271
|
+
if (this.sharedCase.sharedWith) {
|
|
272
|
+
if (this.sharedCase.sharedWith.length === 0) {
|
|
273
|
+
return true;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// Access to the last user is removed
|
|
277
|
+
if (this.sharedCase.sharedWith && this.sharedCase.pendingUnshares) {
|
|
278
|
+
if (this.sharedCase.pendingUnshares.length > 0
|
|
279
|
+
&& this.sharedCase.sharedWith.length === this.sharedCase.pendingUnshares.length) {
|
|
280
|
+
return true;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
showUserHasAccessInfo() {
|
|
286
|
+
return !this.showNoUsersAccessInfo();
|
|
287
|
+
}
|
|
288
|
+
showUserAccessTable() {
|
|
289
|
+
if (this.sharedCase.pendingShares) {
|
|
290
|
+
if (this.sharedCase.pendingShares.length > 0) {
|
|
291
|
+
return true;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
if (this.sharedCase.sharedWith) {
|
|
295
|
+
if (this.sharedCase.sharedWith.length > 0) {
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
combineAndSortShares(sharedWith, pendingShares) {
|
|
302
|
+
return [
|
|
303
|
+
...sharedWith,
|
|
304
|
+
...pendingShares
|
|
305
|
+
].sort((user1, user2) => {
|
|
306
|
+
return user1.firstName.toLowerCase() > user2.firstName.toLowerCase() ? 1 : (user2.firstName.toLowerCase() > user1.firstName.toLowerCase() ? -1 : 0);
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
userIdSetter(isPending, id) {
|
|
310
|
+
return isPending ? `pendingShares-${id}` : `${id}`;
|
|
311
|
+
}
|
|
312
|
+
buildElementId(elementName) {
|
|
313
|
+
return `${elementName}-${this.sharedCase.caseId}`;
|
|
314
|
+
}
|
|
315
|
+
static { this.ɵfac = function SelectedCaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectedCaseComponent)(i0.ɵɵdirectiveInject(i1.CaseSharingStateService)); }; }
|
|
316
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 20, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-ten-percent"], ["class", "govuk-button hmcts-button--secondary", "title", "Deselect case", 3, "id", "click", 4, "ngIf"], [1, "govuk-accordion__section-header", "govuk-grid-column-ten-percent"], [1, "govuk-accordion__section-heading"], ["type", "button", "aria-expanded", "false", 1, "govuk-accordion__section-button", 3, "id", "title"], ["aria-hidden", "true", 1, "govuk-accordion__icon"], [1, "govuk-accordion__section-content", 3, "id"], ["class", "govuk-grid-row", 4, "ngIf"], ["class", "govuk-table", 4, "ngIf"], ["title", "Deselect case", 1, "govuk-button", "hmcts-button--secondary", 3, "click", "id"], [1, "govuk-grid-row"], [1, "govuk-div-align-left", 3, "id"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-label", 3, "id"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell", 3, "id"], [1, "govuk-table__cell"], ["href", "#", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "#", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
|
|
317
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3", 3);
|
|
318
|
+
i0.ɵɵtext(4);
|
|
319
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
320
|
+
i0.ɵɵelementEnd();
|
|
321
|
+
i0.ɵɵelementStart(6, "h3", 4);
|
|
322
|
+
i0.ɵɵtext(7);
|
|
323
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
324
|
+
i0.ɵɵelementEnd()();
|
|
325
|
+
i0.ɵɵelementStart(9, "div", 5);
|
|
326
|
+
i0.ɵɵtemplate(10, SelectedCaseComponent_button_10_Template, 3, 4, "button", 6);
|
|
327
|
+
i0.ɵɵelementEnd();
|
|
328
|
+
i0.ɵɵelementStart(11, "div", 7)(12, "div", 8)(13, "button", 9);
|
|
329
|
+
i0.ɵɵpipe(14, "rpxTranslate");
|
|
330
|
+
i0.ɵɵelement(15, "span", 10);
|
|
331
|
+
i0.ɵɵelementEnd()()()();
|
|
332
|
+
i0.ɵɵelementStart(16, "div", 11);
|
|
333
|
+
i0.ɵɵtemplate(17, SelectedCaseComponent_div_17_Template, 4, 4, "div", 12)(18, SelectedCaseComponent_div_18_Template, 4, 4, "div", 12)(19, SelectedCaseComponent_table_19_Template, 17, 18, "table", 13);
|
|
334
|
+
i0.ɵɵelementEnd()();
|
|
335
|
+
} if (rf & 2) {
|
|
336
|
+
i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("govuk-accordion__section"));
|
|
337
|
+
i0.ɵɵadvance(3);
|
|
338
|
+
i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("case-title"));
|
|
339
|
+
i0.ɵɵadvance();
|
|
340
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 14, ctx.sharedCase.caseTitle));
|
|
341
|
+
i0.ɵɵadvance(2);
|
|
342
|
+
i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("case-id"));
|
|
343
|
+
i0.ɵɵadvance();
|
|
344
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 16, ctx.sharedCase.caseId));
|
|
345
|
+
i0.ɵɵadvance(3);
|
|
346
|
+
i0.ɵɵproperty("ngIf", ctx.caseCount > 1);
|
|
347
|
+
i0.ɵɵadvance(3);
|
|
348
|
+
i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("accordion-with-summary-sections-heading"));
|
|
349
|
+
i0.ɵɵproperty("title", i0.ɵɵpipeBind1(14, 18, "Expand or Collapse"));
|
|
350
|
+
i0.ɵɵattribute("aria-controls", "accordion-with-summary-sections-content" + ctx.buildElementId("accordion-with-summary-sections-heading"));
|
|
351
|
+
i0.ɵɵadvance(3);
|
|
352
|
+
i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("accordion-with-summary-sections-content"));
|
|
353
|
+
i0.ɵɵattribute("aria-labelledby", ctx.buildElementId("accordion-with-summary-sections-heading"));
|
|
354
|
+
i0.ɵɵadvance();
|
|
355
|
+
i0.ɵɵproperty("ngIf", ctx.showNoUsersAccessInfo());
|
|
356
|
+
i0.ɵɵadvance();
|
|
357
|
+
i0.ɵɵproperty("ngIf", ctx.showUserHasAccessInfo());
|
|
358
|
+
i0.ɵɵadvance();
|
|
359
|
+
i0.ɵɵproperty("ngIf", ctx.showUserAccessTable());
|
|
360
|
+
} }, dependencies: [i2.NgForOf, i2.NgIf, i2.AsyncPipe, i3.RpxTranslatePipe], styles: [".govuk-case-header[_ngcontent-%COMP%]{border-top:1px solid #bfc1c3}.govuk-case-title[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row[_ngcontent-%COMP%]{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters[_ngcontent-%COMP%]{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header[_ngcontent-%COMP%]{width:38%}.govuk-table-column-actions[_ngcontent-%COMP%], .govuk-table-column-label[_ngcontent-%COMP%]{width:12%}.govuk-div-align-left[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header[_ngcontent-%COMP%]{border-top:0}.govuk-accordion__section-content[_ngcontent-%COMP%]{padding-top:0}.govuk-accordion__section-heading[_ngcontent-%COMP%], .govuk-accordion__section-button[_ngcontent-%COMP%]{border-top:0}"] }); }
|
|
361
|
+
}
|
|
362
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectedCaseComponent, [{
|
|
363
|
+
type: Component,
|
|
364
|
+
args: [{ selector: 'xuilib-selected-case', template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\r\n <div class=\"govuk-grid-row govuk-case-header\">\r\n <div class=\"govuk-grid-column-three-quarters\">\r\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\r\n <h3 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h3>\r\n </div>\r\n <div class=\"govuk-grid-column-ten-percent\">\r\n <button *ngIf=\"caseCount > 1\"\r\n id=\"{{buildElementId('btn-deselect-case')}}\"\r\n class=\"govuk-button hmcts-button--secondary\"\r\n (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">\r\n {{'Deselect case' | rpxTranslate}}\r\n </button>\r\n </div>\r\n <div class=\"govuk-accordion__section-header govuk-grid-column-ten-percent\">\r\n <div class=\"govuk-accordion__section-heading\">\r\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\r\n [attr.aria-controls]=\"'accordion-with-summary-sections-content' + buildElementId('accordion-with-summary-sections-heading')\" class=\"govuk-accordion__section-button\"\r\n aria-expanded=\"false\" [title]=\"'Expand or Collapse' | rpxTranslate\">\r\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\r\n [attr.aria-labelledby]=\"buildElementId('accordion-with-summary-sections-heading')\" >\r\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">\r\n {{'No users from your organisation currently have access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">\r\n {{'Users from your organisation with access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\r\n <thead class=\"govuk-table__head\">\r\n <tr class=\"govuk-table__row\">\r\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">{{ 'Status' | rpxTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"govuk-table__body\">\r\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\r\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\r\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\r\n <td class=\"govuk-table__cell\">\r\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase); $event.preventDefault()\" href=\"#\">{{'Remove' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} {{'from case' | rpxTranslate}}</span></a>\r\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase); $event.preventDefault()\" href=\"#\">{{'Cancel' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'adding' | rpxTranslate}} {{ user.firstName + ' ' + user.lastName }} {{'to case' | rpxTranslate}}</span></a>\r\n </td>\r\n <td class=\"govuk-table__cell\">\r\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">{{'To be removed' | rpxTranslate}}</span>\r\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}.govuk-accordion__section-heading,.govuk-accordion__section-button{border-top:0}\n"] }]
|
|
365
|
+
}], () => [{ type: i1.CaseSharingStateService }], { sharedCase: [{
|
|
366
|
+
type: Input
|
|
367
|
+
}], selectedUser: [{
|
|
368
|
+
type: Input
|
|
369
|
+
}], opened: [{
|
|
370
|
+
type: Input
|
|
371
|
+
}], removeUserFromCaseToggleOn: [{
|
|
372
|
+
type: Input
|
|
373
|
+
}], caseCount: [{
|
|
374
|
+
type: Input
|
|
375
|
+
}], unselect: [{
|
|
376
|
+
type: Output
|
|
377
|
+
}], synchronizeStore: [{
|
|
378
|
+
type: Output
|
|
379
|
+
}] }); })();
|
|
380
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectedCaseComponent, { className: "SelectedCaseComponent", filePath: "lib/components/selected-case/selected-case.component.ts", lineNumber: 14 }); })();
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0lDQ2pHLGtDQUd5RDtJQUF2RCxxTEFBUyxvQ0FBc0IsS0FBQztJQUNoQyxZQUNGOztJQUFBLGlCQUFTOzs7SUFKUCwwRUFBNEM7SUFHNUMsY0FDRjtJQURFLHNFQUNGOzs7SUFjQSxBQURGLCtCQUE0RCxlQUN3QjtJQUNoRixZQUNGOztJQUNGLEFBREUsaUJBQU8sRUFDSDs7O0lBSEUsY0FBOEM7SUFBOUMsNEVBQThDO0lBQ2xELGNBQ0Y7SUFERSw0SEFDRjs7O0lBR0EsQUFERiwrQkFBNEQsZUFDMEI7SUFDbEYsWUFDRjs7SUFDRixBQURFLGlCQUFPLEVBQ0g7OztJQUhFLGNBQWdEO0lBQWhELDhFQUFnRDtJQUNwRCxjQUNGO0lBREUsK0dBQ0Y7Ozs7SUFnQk0sNkJBQTZIO0lBQXZFLHdOQUFTLDJDQUEwQix3QkFBRSx1QkFBdUIsS0FBQztJQUFVLFlBQTRCOztJQUFBLGdDQUFvQztJQUFBLFlBQXlFOztJQUFPLEFBQVAsaUJBQU8sRUFBSTs7O0lB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QUEyRSxjQUMzQixpQkFHK0I7O1lBQzNFLDRCQUE4RDtZQUdwRSxBQURFLEFBREUsQUFEZ0UsaUJBQVMsRUFDbkUsRUFDRixFQUNGO1lBQ04sZ0NBQ3lGO1lBV3ZGLEFBTEEsQUFMQSx5RUFBNEQsNERBS0Esa0VBS0g7WUF5QjdELEFBREUsaUJBQU0sRUFDRjs7WUE1REQsOEVBQW1EO1lBRzlDLGVBQXFDO1lBQXJDLGdFQUFxQztZQUEwQixjQUF5QztZQUF6QyxxRUFBeUM7WUFDeEcsZUFBa0M7WUFBbEMsNkRBQWtDO1lBQThCLGNBQXNDO1lBQXRDLGtFQUFzQztZQUdqRyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFTSixlQUFrRTtZQUFsRSw2RkFBa0U7WUFFM0Qsb0VBQTZDOztZQUszRSxlQUFrRTtZQUFsRSw2RkFBa0U7O1lBRXhDLGNBQTZCO1lBQTdCLGtEQUE2QjtZQUs3QixjQUE2QjtZQUE3QixrREFBNkI7WUFLOUIsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZEdEI5QyxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxzQkFBc0I7d0RBTWhCLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxRQUFRO2tCQUF4QixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNOztrRkFUSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2hhcmVkQ2FzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYXNlLXNoYXJlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZWxlY3RlZC1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRVc2VyOiBVc2VyRGV0YWlscztcbiAgQElucHV0KCkgcHVibGljIG9wZW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT246IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlQ291bnQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgcHVibGljIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN5bmNocm9uaXplU3RvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdO1xuICBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcblxuICBwdWJsaWMgY29tYmluZWRTb3J0ZWRTaGFyZXM6IFVzZXJEZXRhaWxzW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4gdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2hhcmVkQ2FzZSkge1xuICAgICAgY29uc3Qgc2hhcmVkV2l0aCA9IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoID8gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggOiBbXTtcbiAgICAgIGNvbnN0IHBlbmRpbmdTaGFyZXMgPSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA/IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzIDogW107XG4gICAgICB0aGlzLmNvbWJpbmVkU29ydGVkU2hhcmVzID0gdGhpcy5jb21iaW5lQW5kU29ydFNoYXJlcyhzaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZXNlbGVjdChjOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy51bnNlbGVjdC5lbWl0KGMpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlVc2VySWQodXNlcjogVXNlckRldGFpbHMpOiBzdHJpbmcge1xuICAgIHJldHVybiB1c2VyLmlkYW1JZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5SZW1vdmUoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgaWYgKHRoaXMucmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT24pIHtcbiAgICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFDYXNlLnNoYXJlZFdpdGggJiYgYUNhc2Uuc2hhcmVkV2l0aC5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQ2FuY2VsKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdTaGFyZXMgJiYgYUNhc2UucGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGlzVG9CZVJlbW92ZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVBZGRlZChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIHJldHVybiBhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmUodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0VW5zaGFyZSh1c2VyLCBzaGFyZWRDYXNlLmNhc2VJZCk7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQodGhpcy5zaGFyZUNhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCh1c2VyOiBVc2VyRGV0YWlscywgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RDYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk6IGJvb2xlYW4ge1xuICAgIC8vIEEgdXNlciBpcyBhZGRlZCB0byBhIGNhc2VcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQSBjYXNlIGhhcyAwIHVzZXJzIHdpdGggYWNjZXNzIHRvIGl0XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBY2Nlc3MgdG8gdGhlIGxhc3QgdXNlciBpcyByZW1vdmVkXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDBcbiAgICAgICAgJiYgdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VySGFzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1VzZXJBY2Nlc3NUYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgY29tYmluZUFuZFNvcnRTaGFyZXMoc2hhcmVkV2l0aDogVXNlckRldGFpbHNbXSwgcGVuZGluZ1NoYXJlczogVXNlckRldGFpbHNbXSk6IFVzZXJEZXRhaWxzW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5zaGFyZWRXaXRoLFxuICAgICAgLi4ucGVuZGluZ1NoYXJlc1xuICAgIF0uc29ydCgodXNlcjEsIHVzZXIyKSA9PiB7XG4gICAgICByZXR1cm4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMi5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IDEgOiAodXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMS5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IC0xIDogMCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXNlcklkU2V0dGVyKGlzUGVuZGluZzogYm9vbGVhbiwgaWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzUGVuZGluZyA/IGBwZW5kaW5nU2hhcmVzLSR7aWR9YCA6IGAke2lkfWA7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRFbGVtZW50SWQoZWxlbWVudE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2VsZW1lbnROYW1lfS0ke3RoaXMuc2hhcmVkQ2FzZS5jYXNlSWR9YDtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2dvdnVrLWFjY29yZGlvbl9fc2VjdGlvbicpfX1cIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay1jYXNlLWhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXRocmVlLXF1YXJ0ZXJzXCI+XHJcbiAgICAgIDxoMyBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2Nhc2UtdGl0bGUnKX19XCIgY2xhc3M9XCJnb3Z1ay1jYXNlLXRpdGxlXCI+e3sgc2hhcmVkQ2FzZS5jYXNlVGl0bGUgfCBycHhUcmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICA8aDMgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdjYXNlLWlkJyl9fVwiIGNsYXNzPVwiZ292dWstY2FzZS1zdWItdGl0bGVcIj57eyBzaGFyZWRDYXNlLmNhc2VJZCB8IHJweFRyYW5zbGF0ZSB9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10ZW4tcGVyY2VudFwiPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiY2FzZUNvdW50ID4gMVwiXHJcbiAgICAgICAgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdidG4tZGVzZWxlY3QtY2FzZScpfX1cIlxyXG4gICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGhtY3RzLWJ1dHRvbi0tc2Vjb25kYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwib25EZXNlbGVjdChzaGFyZWRDYXNlKVwiIHRpdGxlPVwiRGVzZWxlY3QgY2FzZVwiPlxyXG4gICAgICAgIHt7J0Rlc2VsZWN0IGNhc2UnIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIGdvdnVrLWdyaWQtY29sdW1uLXRlbi1wZXJjZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZ1wiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1oZWFkaW5nJyl9fVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1jb250ZW50JyArIGJ1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWhlYWRpbmcnKVwiIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIFt0aXRsZV09XCInRXhwYW5kIG9yIENvbGxhcHNlJyB8IHJweFRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWNvbnRlbnQnKX19XCIgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudFwiXHJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtaGVhZGluZycpXCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJzaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKVwiPlxyXG4gICAgICA8c3BhbiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY2Vzcy1pbmZvLW5vLXVzZXInKX19XCIgY2xhc3M9XCJnb3Z1ay1kaXYtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgIHt7J05vIHVzZXJzIGZyb20geW91ciBvcmdhbmlzYXRpb24gY3VycmVudGx5IGhhdmUgYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIiAqbmdJZj1cInNob3dVc2VySGFzQWNjZXNzSW5mbygpXCI+XHJcbiAgICAgIDxzcGFuIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjZXNzLWluZm8taGFzLXVzZXJzJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cclxuICAgICAgICB7eydVc2VycyBmcm9tIHlvdXIgb3JnYW5pc2F0aW9uIHdpdGggYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICpuZ0lmPVwic2hvd1VzZXJBY2Nlc3NUYWJsZSgpXCI+XHJcbiAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cclxuICAgICAgICA8dGggaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCduYW1lLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J05hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2VtYWlsLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J0VtYWlsIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjdGlvbi1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4tYWN0aW9uc1wiIHNjb3BlPVwiY29sXCI+e3snQWN0aW9ucycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnbGFiZWwtaGVhZGluZycpfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstdGFibGUtY29sdW1uLWxhYmVsXCIgc2NvcGU9XCJjb2xcIj57eyAnU3RhdHVzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCB1c2VyIG9mIGNvbWJpbmVkU29ydGVkU2hhcmVzOyBpbmRleCBhcyBpZHg7IHRyYWNrQnk6IHRyYWNrQnlVc2VySWRcIj5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZnVsbC1uYW1lLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZW1haWwte3sgdXNlcklkU2V0dGVyKGNhbkNhbmNlbChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luYywgaWR4KSB9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyB1c2VyLmVtYWlsIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuUmVtb3ZlKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uUmVtb3ZlKHVzZXIsIHNoYXJlZENhc2UpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGhyZWY9XCIjXCI+e3snUmVtb3ZlJyB8IHJweFRyYW5zbGF0ZX19IDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19IHt7J2Zyb20gY2FzZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuQ2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKHVzZXIsIHNoYXJlZENhc2UpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGhyZWY9XCIjXCI+e3snQ2FuY2VsJyB8IHJweFRyYW5zbGF0ZX19IDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snYWRkaW5nJyB8IHJweFRyYW5zbGF0ZX19IHt7IHVzZXIuZmlyc3ROYW1lICsgJyAnICsgdXNlci5sYXN0TmFtZSB9fSB7eyd0byBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvYT5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVG9CZVJlbW92ZWQoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmNcIiBjbGFzcz1cImhtY3RzLWJhZGdlIGhtY3RzLWJhZGdlLS1yZWRcIj57eydUbyBiZSByZW1vdmVkJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVG9CZUFkZGVkKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgY2xhc3M9XCJobWN0cy1iYWRnZVwiPnt7J1RvIGJlIGFkZGVkJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|