@hmcts/ccd-case-ui-toolkit 6.13.9 → 6.13.10-angular11-welsh-release-part1-8
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/bundles/hmcts-ccd-case-ui-toolkit.umd.js +15073 -11129
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/app.config.js +1 -1
- package/esm2015/lib/components/banners/alert/alert.component.js +7 -5
- package/esm2015/lib/components/banners/alert/alert.module.js +12 -4
- package/esm2015/lib/components/footer/footer.component.js +55 -30
- package/esm2015/lib/components/footer/footers.module.js +12 -4
- package/esm2015/lib/components/form/date-input/date-input.component.js +56 -37
- package/esm2015/lib/components/form/form.module.js +8 -4
- package/esm2015/lib/components/header/header-bar/header-bar.component.js +32 -19
- package/esm2015/lib/components/header/headers.module.js +6 -4
- package/esm2015/lib/components/header/navigation/navigation-item.component.js +9 -7
- package/esm2015/lib/components/header/phase/phase.component.js +20 -9
- package/esm2015/lib/components/tabs/tabs.component.js +8 -5
- package/esm2015/lib/components/tabs/tabs.module.js +6 -2
- package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +19 -1
- package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +12 -9
- package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +11 -8
- package/esm2015/lib/shared/components/activity/activity.component.js +15 -10
- package/esm2015/lib/shared/components/activity/activity.module.js +6 -2
- package/esm2015/lib/shared/components/case-editor/case-create/case-create.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +29 -25
- package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +81 -48
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +185 -131
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +30 -26
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +51 -26
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +51 -28
- package/esm2015/lib/shared/components/case-editor/case-progress/case-progress.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/services/case-edit-wizard.guard.js +3 -2
- package/esm2015/lib/shared/components/case-editor/services/cases.service.js +7 -1
- package/esm2015/lib/shared/components/case-editor/services/work-allocation.service.js +2 -2
- package/esm2015/lib/shared/components/case-history/case-history.component.js +89 -63
- package/esm2015/lib/shared/components/case-history/case-history.module.js +18 -14
- package/esm2015/lib/shared/components/case-list/case-list.component.js +56 -49
- package/esm2015/lib/shared/components/case-list/case-list.module.js +8 -4
- package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +11 -7
- package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +9 -6
- package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +12 -8
- package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +106 -61
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +89 -69
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +45 -23
- package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +12 -4
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +87 -59
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +32 -20
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +107 -79
- package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +79 -49
- package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +37 -27
- package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +36 -22
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +63 -40
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +6 -2
- package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/dialogs.module.js +6 -2
- package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/error/callback-errors.component.js +34 -23
- package/esm2015/lib/shared/components/error/errors.module.js +6 -2
- package/esm2015/lib/shared/components/error-message/error-message.component.js +14 -11
- package/esm2015/lib/shared/components/error-message/error-message.module.js +8 -4
- package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +39 -20
- package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +34 -18
- package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +34 -19
- package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +50 -25
- package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +39 -20
- package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +34 -18
- package/esm2015/lib/shared/components/event-start/event-start.module.js +8 -4
- package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +27 -17
- package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +6 -2
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +7 -5
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.module.js +6 -2
- package/esm2015/lib/shared/components/pagination/pagination.component.js +84 -67
- package/esm2015/lib/shared/components/pagination/pagination.module.js +8 -4
- package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +50 -31
- package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +10 -8
- package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +5 -1
- package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +2 -1
- package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +2 -2
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +31 -25
- package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +6 -1
- package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +18 -12
- package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +45 -32
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +50 -46
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +7 -6
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +22 -20
- package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +5 -4
- package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +29 -17
- package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +31 -25
- package/esm2015/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.js +9 -7
- package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +32 -20
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.js +9 -7
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +26 -17
- package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.js +9 -7
- package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +19 -14
- package/esm2015/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.js +9 -7
- package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +20 -15
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +87 -65
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +60 -46
- package/esm2015/lib/shared/components/palette/index.js +3 -6
- package/esm2015/lib/shared/components/palette/label/label-field.component.js +24 -5
- package/esm2015/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.js +126 -0
- package/esm2015/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.js +220 -0
- package/esm2015/lib/shared/components/palette/linked-cases/components/index.js +8 -0
- package/esm2015/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.js +572 -0
- package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +219 -0
- package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +285 -0
- package/esm2015/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.js +79 -0
- package/esm2015/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.js +214 -0
- package/esm2015/lib/shared/components/palette/linked-cases/domain/index.js +3 -0
- package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +2 -0
- package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases.model.js +21 -0
- package/esm2015/lib/shared/components/palette/linked-cases/enums/index.js +2 -0
- package/esm2015/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.js +35 -0
- package/esm2015/lib/shared/components/palette/linked-cases/index.js +6 -0
- package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +183 -0
- package/esm2015/lib/shared/components/palette/linked-cases/services/index.js +2 -0
- package/esm2015/lib/shared/components/palette/linked-cases/services/linked-cases.service.js +134 -0
- package/esm2015/lib/shared/components/palette/linked-cases/utils/validators.utils.js +27 -0
- package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +272 -0
- package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +15 -11
- package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +19 -14
- package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +43 -25
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +7 -6
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +41 -29
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +48 -35
- package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +88 -50
- package/esm2015/lib/shared/components/palette/palette.module.js +104 -56
- package/esm2015/lib/shared/components/palette/palette.service.js +19 -7
- package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/text/read-text-field.component.js +7 -5
- package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/text-area/read-text-area-field.component.js +7 -5
- package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +7 -5
- package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +20 -15
- package/esm2015/lib/shared/components/search-filters/search-filters.component.js +60 -35
- package/esm2015/lib/shared/components/search-filters/search-filters.module.js +14 -10
- package/esm2015/lib/shared/components/search-result/search-result.component.js +132 -95
- package/esm2015/lib/shared/components/search-result/search-result.module.js +16 -13
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +90 -52
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +13 -9
- package/esm2015/lib/shared/domain/alert/alert-status-params.model.js +2 -0
- package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +12 -0
- package/esm2015/lib/shared/pipes/index.js +3 -1
- package/esm2015/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.js +28 -0
- package/esm2015/lib/shared/pipes/link-cases-from-reason-code/index.js +2 -0
- package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +28 -0
- package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
- package/esm2015/lib/shared/pipes/pipes.module.js +12 -4
- package/esm2015/lib/shared/services/alert/alert.service.js +28 -8
- package/esm2015/lib/shared/services/common-data-service/common-data-service.js +1 -1
- package/esm2015/lib/shared/services/fields/fields.utils.js +7 -1
- package/esm2015/lib/shared/services/form/form-value.service.js +33 -2
- package/esm2015/lib/shared/services/request/request.options.builder.js +7 -1
- package/esm2015/lib/shared/services/window/window.service.js +1 -1
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +10753 -7152
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/app.config.d.ts.map +1 -1
- package/lib/components/banners/alert/alert.module.d.ts +2 -1
- package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
- package/lib/components/footer/footers.module.d.ts +2 -1
- package/lib/components/footer/footers.module.d.ts.map +1 -1
- package/lib/components/form/form.module.d.ts +2 -1
- package/lib/components/form/form.module.d.ts.map +1 -1
- package/lib/components/header/headers.module.d.ts +2 -1
- package/lib/components/header/headers.module.d.ts.map +1 -1
- package/lib/components/tabs/tabs.component.d.ts.map +1 -1
- package/lib/components/tabs/tabs.module.d.ts +2 -1
- package/lib/components/tabs/tabs.module.d.ts.map +1 -1
- package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +13 -0
- package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
- package/lib/shared/components/activity/activity.module.d.ts +2 -1
- package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -0
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts +3 -2
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/case-edit-wizard.guard.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/cases.service.d.ts +2 -0
- package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
- package/lib/shared/components/case-history/case-history.module.d.ts +2 -1
- package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -1
- package/lib/shared/components/case-list/case-list.module.d.ts +2 -1
- package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -1
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +2 -1
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -1
- package/lib/shared/components/case-timeline/case-timeline.module.d.ts +2 -1
- package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts +6 -4
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +2 -1
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -1
- package/lib/shared/components/dialogs/dialogs.module.d.ts +2 -1
- package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
- package/lib/shared/components/error/errors.module.d.ts +2 -1
- package/lib/shared/components/error/errors.module.d.ts.map +1 -1
- package/lib/shared/components/error-message/error-message.module.d.ts +2 -1
- package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -1
- package/lib/shared/components/event-start/event-start.module.d.ts +2 -1
- package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -1
- package/lib/shared/components/event-trigger/event-trigger.module.d.ts +2 -1
- package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -1
- package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts +2 -1
- package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts.map +1 -1
- package/lib/shared/components/pagination/pagination.module.d.ts +2 -1
- package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts +1 -0
- package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
- package/lib/shared/components/palette/index.d.ts +2 -5
- package/lib/shared/components/palette/index.d.ts.map +1 -1
- package/lib/shared/components/palette/label/label-field.component.d.ts +2 -1
- package/lib/shared/components/palette/label/label-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +23 -0
- package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +18 -0
- package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/components/index.d.ts +8 -0
- package/lib/shared/components/palette/linked-cases/components/index.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +49 -0
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +38 -0
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +47 -0
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +18 -0
- package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +38 -0
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/domain/index.d.ts +3 -0
- package/lib/shared/components/palette/linked-cases/domain/index.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +12 -0
- package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts +68 -0
- package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/enums/index.d.ts +2 -0
- package/lib/shared/components/palette/linked-cases/enums/index.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts +31 -0
- package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/index.d.ts +6 -0
- package/lib/shared/components/palette/linked-cases/index.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts +38 -0
- package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/services/index.d.ts +2 -0
- package/lib/shared/components/palette/linked-cases/services/index.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +44 -0
- package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts +10 -0
- package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts.map +1 -0
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +43 -0
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -0
- package/lib/shared/components/palette/palette.module.d.ts +68 -58
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
- package/lib/shared/components/search-filters/search-filters.module.d.ts +2 -1
- package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
- package/lib/shared/components/search-result/search-result.module.d.ts +3 -2
- package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +2 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
- package/lib/shared/domain/alert/alert-status-params.model.d.ts +6 -0
- package/lib/shared/domain/alert/alert-status-params.model.d.ts.map +1 -0
- package/lib/shared/domain/definition/display-context-enum.model.d.ts +10 -0
- package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -0
- package/lib/shared/pipes/index.d.ts +2 -0
- package/lib/shared/pipes/index.d.ts.map +1 -1
- package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts +12 -0
- package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts.map +1 -0
- package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts +2 -0
- package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts.map +1 -0
- package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +12 -0
- package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
- package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
- package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
- package/lib/shared/pipes/pipes.module.d.ts +4 -2
- package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
- package/lib/shared/services/alert/alert.service.d.ts +8 -4
- package/lib/shared/services/alert/alert.service.d.ts.map +1 -1
- package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.utils.d.ts +1 -0
- package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
- package/lib/shared/services/form/form-value.service.d.ts +14 -0
- package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
- package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
- package/lib/shared/services/window/window.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -10,69 +10,93 @@ import * as i1 from "../../services";
|
|
|
10
10
|
import * as i2 from "../../../app.config";
|
|
11
11
|
import * as i3 from "../../pipes";
|
|
12
12
|
import * as i4 from "../../directives";
|
|
13
|
-
function
|
|
13
|
+
function SearchResultComponent_table_0_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
14
14
|
i0.ɵɵelementStart(0, "div", 11);
|
|
15
15
|
i0.ɵɵelementStart(1, "span", 12);
|
|
16
16
|
i0.ɵɵtext(2, "!");
|
|
17
17
|
i0.ɵɵelementEnd();
|
|
18
18
|
i0.ɵɵelementStart(3, "strong", 13);
|
|
19
19
|
i0.ɵɵelementStart(4, "span", 14);
|
|
20
|
-
i0.ɵɵtext(5
|
|
20
|
+
i0.ɵɵtext(5);
|
|
21
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
21
22
|
i0.ɵɵelementEnd();
|
|
22
|
-
i0.ɵɵtext(
|
|
23
|
-
i0.ɵɵpipe(
|
|
23
|
+
i0.ɵɵtext(7);
|
|
24
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
25
|
+
i0.ɵɵpipe(9, "number");
|
|
26
|
+
i0.ɵɵpipe(10, "rpxTranslate");
|
|
24
27
|
i0.ɵɵelementEnd();
|
|
25
28
|
i0.ɵɵelementEnd();
|
|
26
29
|
} if (rf & 2) {
|
|
27
30
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
28
|
-
i0.ɵɵadvance(
|
|
29
|
-
i0.ɵɵ
|
|
31
|
+
i0.ɵɵadvance(5);
|
|
32
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Warning"));
|
|
33
|
+
i0.ɵɵadvance(2);
|
|
34
|
+
i0.ɵɵtextInterpolate3(" ", i0.ɵɵpipeBind1(8, 6, "The total size of the result set is"), " ", i0.ɵɵpipeBind1(9, 8, ctx_r3.paginationMetadata.total_results_count), ". ", i0.ɵɵpipeBind1(10, 10, "Only the first 10,000 records are available for display."), " ");
|
|
30
35
|
} }
|
|
31
|
-
function
|
|
36
|
+
function SearchResultComponent_table_0_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
32
37
|
i0.ɵɵelementStart(0, "div", 15);
|
|
33
|
-
i0.ɵɵ
|
|
34
|
-
i0.ɵɵ
|
|
35
|
-
i0.ɵɵ
|
|
36
|
-
i0.ɵɵ
|
|
38
|
+
i0.ɵɵpipe(1, "rpxTranslate");
|
|
39
|
+
i0.ɵɵelementStart(2, "span", 16);
|
|
40
|
+
i0.ɵɵtext(3);
|
|
41
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
42
|
+
i0.ɵɵelementStart(5, "span", 17);
|
|
43
|
+
i0.ɵɵtext(6);
|
|
37
44
|
i0.ɵɵelementEnd();
|
|
38
|
-
i0.ɵɵtext(5, " to ");
|
|
39
|
-
i0.ɵɵelementStart(6, "span", 17);
|
|
40
45
|
i0.ɵɵtext(7);
|
|
41
|
-
i0.ɵɵ
|
|
42
|
-
i0.ɵɵtext(8, " of ");
|
|
46
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
43
47
|
i0.ɵɵelementStart(9, "span", 17);
|
|
44
48
|
i0.ɵɵtext(10);
|
|
45
49
|
i0.ɵɵelementEnd();
|
|
46
|
-
i0.ɵɵtext(11
|
|
50
|
+
i0.ɵɵtext(11);
|
|
51
|
+
i0.ɵɵpipe(12, "rpxTranslate");
|
|
52
|
+
i0.ɵɵelementStart(13, "span", 17);
|
|
53
|
+
i0.ɵɵtext(14);
|
|
54
|
+
i0.ɵɵelementEnd();
|
|
55
|
+
i0.ɵɵtext(15);
|
|
56
|
+
i0.ɵɵpipe(16, "rpxTranslate");
|
|
47
57
|
i0.ɵɵelementEnd();
|
|
48
58
|
i0.ɵɵelementEnd();
|
|
49
59
|
} if (rf & 2) {
|
|
50
60
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
51
|
-
i0.ɵɵ
|
|
52
|
-
i0.ɵɵadvance(
|
|
61
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 8, ctx_r4.getTotalResults() + " results have been found"));
|
|
62
|
+
i0.ɵɵadvance(3);
|
|
63
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 10, "Showing"), " ");
|
|
64
|
+
i0.ɵɵadvance(3);
|
|
53
65
|
i0.ɵɵtextInterpolate(ctx_r4.getFirstResult());
|
|
66
|
+
i0.ɵɵadvance(1);
|
|
67
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 12, "to"), " ");
|
|
54
68
|
i0.ɵɵadvance(3);
|
|
55
69
|
i0.ɵɵtextInterpolate(ctx_r4.getLastResult());
|
|
70
|
+
i0.ɵɵadvance(1);
|
|
71
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 14, "of"), " ");
|
|
56
72
|
i0.ɵɵadvance(3);
|
|
57
73
|
i0.ɵɵtextInterpolate(ctx_r4.getTotalResults());
|
|
74
|
+
i0.ɵɵadvance(1);
|
|
75
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 16, "results"), "");
|
|
58
76
|
} }
|
|
59
|
-
function
|
|
77
|
+
function SearchResultComponent_table_0_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
60
78
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
61
79
|
i0.ɵɵelementStart(0, "div", 18);
|
|
62
|
-
i0.ɵɵ
|
|
63
|
-
i0.ɵɵelementStart(2, "
|
|
64
|
-
i0.ɵɵ
|
|
65
|
-
i0.ɵɵ
|
|
80
|
+
i0.ɵɵpipe(1, "rpxTranslate");
|
|
81
|
+
i0.ɵɵelementStart(2, "span");
|
|
82
|
+
i0.ɵɵelementStart(3, "a", 19);
|
|
83
|
+
i0.ɵɵlistener("click", function SearchResultComponent_table_0_div_7_Template_a_click_3_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.clearSelection(); });
|
|
84
|
+
i0.ɵɵtext(4);
|
|
85
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
66
86
|
i0.ɵɵelementEnd();
|
|
67
87
|
i0.ɵɵelementEnd();
|
|
68
88
|
i0.ɵɵelementEnd();
|
|
89
|
+
} if (rf & 2) {
|
|
90
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 2, "Reset selection"));
|
|
91
|
+
i0.ɵɵadvance(4);
|
|
92
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, "Reset case selection"));
|
|
69
93
|
} }
|
|
70
|
-
function
|
|
94
|
+
function SearchResultComponent_table_0_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
71
95
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
72
96
|
i0.ɵɵelementStart(0, "th", 20);
|
|
73
97
|
i0.ɵɵelementStart(1, "div", 21);
|
|
74
98
|
i0.ɵɵelementStart(2, "input", 22);
|
|
75
|
-
i0.ɵɵlistener("change", function
|
|
99
|
+
i0.ɵɵlistener("change", function SearchResultComponent_table_0_th_10_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return ctx_r13.selectAll(); });
|
|
76
100
|
i0.ɵɵelementEnd();
|
|
77
101
|
i0.ɵɵelement(3, "label", 23);
|
|
78
102
|
i0.ɵɵelementEnd();
|
|
@@ -82,11 +106,11 @@ function SearchResultComponent_table_0_th_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
82
106
|
i0.ɵɵadvance(2);
|
|
83
107
|
i0.ɵɵproperty("checked", ctx_r6.allOnPageSelected())("disabled", !ctx_r6.canAnyBeShared());
|
|
84
108
|
} }
|
|
85
|
-
function
|
|
109
|
+
function SearchResultComponent_table_0_th_11_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
86
110
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
87
111
|
i0.ɵɵelementStart(0, "div", 27);
|
|
88
112
|
i0.ɵɵelementStart(1, "a", 28);
|
|
89
|
-
i0.ɵɵlistener("click", function
|
|
113
|
+
i0.ɵɵlistener("click", function SearchResultComponent_table_0_th_11_div_8_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r19); const col_r15 = i0.ɵɵnextContext().$implicit; const ctx_r17 = i0.ɵɵnextContext(2); return ctx_r17.sort(col_r15); });
|
|
90
114
|
i0.ɵɵelementEnd();
|
|
91
115
|
i0.ɵɵelementEnd();
|
|
92
116
|
} if (rf & 2) {
|
|
@@ -95,36 +119,42 @@ function SearchResultComponent_table_0_th_10_div_4_Template(rf, ctx) { if (rf &
|
|
|
95
119
|
i0.ɵɵadvance(1);
|
|
96
120
|
i0.ɵɵproperty("innerHTML", ctx_r16.sortWidget(col_r15), i0.ɵɵsanitizeHtml);
|
|
97
121
|
} }
|
|
98
|
-
function
|
|
122
|
+
function SearchResultComponent_table_0_th_11_Template(rf, ctx) { if (rf & 1) {
|
|
99
123
|
const _r22 = i0.ɵɵgetCurrentView();
|
|
100
124
|
i0.ɵɵelementStart(0, "th");
|
|
101
|
-
i0.ɵɵelementStart(1, "
|
|
102
|
-
i0.ɵɵ
|
|
103
|
-
i0.ɵɵ
|
|
104
|
-
i0.ɵɵ
|
|
125
|
+
i0.ɵɵelementStart(1, "table", 24);
|
|
126
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
127
|
+
i0.ɵɵelementStart(3, "tr");
|
|
128
|
+
i0.ɵɵelementStart(4, "th");
|
|
129
|
+
i0.ɵɵelementStart(5, "div", 25);
|
|
130
|
+
i0.ɵɵlistener("click", function SearchResultComponent_table_0_th_11_Template_div_click_5_listener() { i0.ɵɵrestoreView(_r22); const col_r15 = ctx.$implicit; const ctx_r21 = i0.ɵɵnextContext(2); return ctx_r21.sort(col_r15); });
|
|
131
|
+
i0.ɵɵtext(6);
|
|
132
|
+
i0.ɵɵpipe(7, "rpxTranslate");
|
|
133
|
+
i0.ɵɵelementEnd();
|
|
134
|
+
i0.ɵɵtemplate(8, SearchResultComponent_table_0_th_11_div_8_Template, 2, 1, "div", 26);
|
|
135
|
+
i0.ɵɵelementEnd();
|
|
105
136
|
i0.ɵɵelementEnd();
|
|
106
|
-
i0.ɵɵtemplate(4, SearchResultComponent_table_0_th_10_div_4_Template, 2, 1, "div", 26);
|
|
107
137
|
i0.ɵɵelementEnd();
|
|
108
138
|
i0.ɵɵelementEnd();
|
|
109
139
|
} if (rf & 2) {
|
|
110
140
|
const col_r15 = ctx.$implicit;
|
|
111
141
|
const ctx_r7 = i0.ɵɵnextContext(2);
|
|
112
142
|
i0.ɵɵadvance(1);
|
|
113
|
-
i0.ɵɵattribute("aria-label", "Sort by " + col_r15.label + " " + ctx_r7.isSortAscending(col_r15) ? "ascending" : "descending");
|
|
143
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(2, 3, "Sort by " + col_r15.label + " " + ctx_r7.isSortAscending(col_r15) ? "ascending" : "descending"));
|
|
144
|
+
i0.ɵɵadvance(5);
|
|
145
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 5, col_r15.label), " ");
|
|
114
146
|
i0.ɵɵadvance(2);
|
|
115
|
-
i0.ɵɵtextInterpolate(col_r15.label);
|
|
116
|
-
i0.ɵɵadvance(1);
|
|
117
147
|
i0.ɵɵproperty("ngIf", ctx_r7.comparator(col_r15));
|
|
118
148
|
} }
|
|
119
|
-
function
|
|
149
|
+
function SearchResultComponent_table_0_th_12_Template(rf, ctx) { if (rf & 1) {
|
|
120
150
|
i0.ɵɵelement(0, "th", 29);
|
|
121
151
|
} }
|
|
122
|
-
function
|
|
152
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
123
153
|
const _r30 = i0.ɵɵgetCurrentView();
|
|
124
154
|
i0.ɵɵelementStart(0, "td", 20);
|
|
125
155
|
i0.ɵɵelementStart(1, "div", 21);
|
|
126
156
|
i0.ɵɵelementStart(2, "input", 31);
|
|
127
|
-
i0.ɵɵlistener("change", function
|
|
157
|
+
i0.ɵɵlistener("change", function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r30); const result_r24 = i0.ɵɵnextContext().$implicit; const ctx_r28 = i0.ɵɵnextContext(3); return ctx_r28.changeSelection(result_r24); });
|
|
128
158
|
i0.ɵɵelementEnd();
|
|
129
159
|
i0.ɵɵelement(3, "label", 32);
|
|
130
160
|
i0.ɵɵelementEnd();
|
|
@@ -140,7 +170,7 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_1_Template(rf, ct
|
|
|
140
170
|
i0.ɵɵpropertyInterpolate1("for", "select-", result_r24.case_id, "");
|
|
141
171
|
} }
|
|
142
172
|
const _c0 = function () { return ["value"]; };
|
|
143
|
-
function
|
|
173
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template(rf, ctx) { if (rf & 1) {
|
|
144
174
|
i0.ɵɵelement(0, "ccd-field-read", 41);
|
|
145
175
|
} if (rf & 2) {
|
|
146
176
|
const col_r32 = i0.ɵɵnextContext(3).$implicit;
|
|
@@ -148,17 +178,17 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_a_1_ng_containe
|
|
|
148
178
|
const ctx_r37 = i0.ɵɵnextContext(3);
|
|
149
179
|
i0.ɵɵproperty("caseField", ctx_r37.getColumnsWithPrefix(result_r24.columns[col_r32.case_field_id], result_r24))("contextFields", result_r24.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(3, _c0));
|
|
150
180
|
} }
|
|
151
|
-
function
|
|
181
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
152
182
|
i0.ɵɵtext(0);
|
|
153
183
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
154
184
|
} if (rf & 2) {
|
|
155
185
|
const result_r24 = i0.ɵɵnextContext(4).$implicit;
|
|
156
186
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(1, 1, result_r24.case_id));
|
|
157
187
|
} }
|
|
158
|
-
function
|
|
188
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
159
189
|
i0.ɵɵelementContainerStart(0, 38);
|
|
160
|
-
i0.ɵɵtemplate(1,
|
|
161
|
-
i0.ɵɵtemplate(2,
|
|
190
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 39);
|
|
191
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 40, i0.ɵɵtemplateRefExtractor);
|
|
162
192
|
i0.ɵɵelementContainerEnd();
|
|
163
193
|
} if (rf & 2) {
|
|
164
194
|
const _r38 = i0.ɵɵreference(3);
|
|
@@ -168,10 +198,10 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_a_1_ng_containe
|
|
|
168
198
|
i0.ɵɵadvance(1);
|
|
169
199
|
i0.ɵɵproperty("ngIf", ctx_r36.draftPrefixOrGet(col_r32, result_r24))("ngIfElse", _r38);
|
|
170
200
|
} }
|
|
171
|
-
function
|
|
201
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template(rf, ctx) { if (rf & 1) {
|
|
172
202
|
i0.ɵɵelementStart(0, "a", 36);
|
|
173
203
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
174
|
-
i0.ɵɵtemplate(2,
|
|
204
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 37);
|
|
175
205
|
i0.ɵɵelementEnd();
|
|
176
206
|
} if (rf & 2) {
|
|
177
207
|
const result_r24 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -181,7 +211,7 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_a_1_Template(rf
|
|
|
181
211
|
i0.ɵɵadvance(2);
|
|
182
212
|
i0.ɵɵproperty("ngIf", !ctx_r34.hideRows);
|
|
183
213
|
} }
|
|
184
|
-
function
|
|
214
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
185
215
|
i0.ɵɵelementStart(0, "div", 38);
|
|
186
216
|
i0.ɵɵelement(1, "ccd-field-read", 41);
|
|
187
217
|
i0.ɵɵelementEnd();
|
|
@@ -193,10 +223,10 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_div_2_Template(
|
|
|
193
223
|
i0.ɵɵadvance(1);
|
|
194
224
|
i0.ɵɵproperty("caseField", result_r24.columns[col_r32.case_field_id])("contextFields", result_r24.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(5, _c0));
|
|
195
225
|
} }
|
|
196
|
-
function
|
|
226
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
197
227
|
i0.ɵɵelementStart(0, "td", 33);
|
|
198
|
-
i0.ɵɵtemplate(1,
|
|
199
|
-
i0.ɵɵtemplate(2,
|
|
228
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template, 3, 5, "a", 34);
|
|
229
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template, 2, 6, "div", 35);
|
|
200
230
|
i0.ɵɵelementEnd();
|
|
201
231
|
} if (rf & 2) {
|
|
202
232
|
const colIndex_r33 = ctx.index;
|
|
@@ -205,7 +235,7 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_Template(rf, ct
|
|
|
205
235
|
i0.ɵɵadvance(1);
|
|
206
236
|
i0.ɵɵproperty("ngIf", colIndex_r33 != 0);
|
|
207
237
|
} }
|
|
208
|
-
function
|
|
238
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
209
239
|
i0.ɵɵelementStart(0, "td");
|
|
210
240
|
i0.ɵɵelementStart(1, "div");
|
|
211
241
|
i0.ɵɵelement(2, "ccd-activity", 42);
|
|
@@ -219,11 +249,11 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_3_Template(rf, ct
|
|
|
219
249
|
i0.ɵɵadvance(1);
|
|
220
250
|
i0.ɵɵproperty("caseId", result_r24.case_id)("displayMode", ctx_r27.ICON);
|
|
221
251
|
} }
|
|
222
|
-
function
|
|
252
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
223
253
|
i0.ɵɵelementStart(0, "tr");
|
|
224
|
-
i0.ɵɵtemplate(1,
|
|
225
|
-
i0.ɵɵtemplate(2,
|
|
226
|
-
i0.ɵɵtemplate(3,
|
|
254
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template, 4, 5, "td", 8);
|
|
255
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template, 3, 2, "td", 30);
|
|
256
|
+
i0.ɵɵtemplate(3, SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template, 3, 4, "td", 0);
|
|
227
257
|
i0.ɵɵelementEnd();
|
|
228
258
|
} if (rf & 2) {
|
|
229
259
|
const ctx_r23 = i0.ɵɵnextContext(3);
|
|
@@ -235,9 +265,9 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_Template(rf, ctx) {
|
|
|
235
265
|
i0.ɵɵproperty("ngIf", ctx_r23.activityEnabled());
|
|
236
266
|
} }
|
|
237
267
|
const _c1 = function (a0, a1, a2) { return { itemsPerPage: a0, currentPage: a1, totalItems: a2 }; };
|
|
238
|
-
function
|
|
268
|
+
function SearchResultComponent_table_0_ng_container_14_Template(rf, ctx) { if (rf & 1) {
|
|
239
269
|
i0.ɵɵelementContainerStart(0);
|
|
240
|
-
i0.ɵɵtemplate(1,
|
|
270
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_Template, 4, 3, "tr", 9);
|
|
241
271
|
i0.ɵɵpipe(2, "paginate");
|
|
242
272
|
i0.ɵɵelementContainerEnd();
|
|
243
273
|
} if (rf & 2) {
|
|
@@ -245,12 +275,12 @@ function SearchResultComponent_table_0_ng_container_13_Template(rf, ctx) { if (r
|
|
|
245
275
|
i0.ɵɵadvance(1);
|
|
246
276
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 1, ctx_r9.resultView.results, i0.ɵɵpureFunction3(4, _c1, ctx_r9.paginationPageSize, ctx_r9.selected.page, ctx_r9.resultTotal)));
|
|
247
277
|
} }
|
|
248
|
-
function
|
|
278
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
249
279
|
const _r56 = i0.ɵɵgetCurrentView();
|
|
250
280
|
i0.ɵɵelementStart(0, "td", 20);
|
|
251
281
|
i0.ɵɵelementStart(1, "div", 21);
|
|
252
282
|
i0.ɵɵelementStart(2, "input", 43);
|
|
253
|
-
i0.ɵɵlistener("change", function
|
|
283
|
+
i0.ɵɵlistener("change", function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r56); const result_r50 = i0.ɵɵnextContext().$implicit; const ctx_r54 = i0.ɵɵnextContext(3); return ctx_r54.changeSelection(result_r50); })("keyup", function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template_input_keyup_2_listener($event) { i0.ɵɵrestoreView(_r56); const result_r50 = i0.ɵɵnextContext().$implicit; const ctx_r57 = i0.ɵɵnextContext(3); return ctx_r57.onKeyUp($event, result_r50); });
|
|
254
284
|
i0.ɵɵelementEnd();
|
|
255
285
|
i0.ɵɵelement(3, "label", 32);
|
|
256
286
|
i0.ɵɵelementEnd();
|
|
@@ -265,7 +295,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template(rf, ct
|
|
|
265
295
|
i0.ɵɵadvance(1);
|
|
266
296
|
i0.ɵɵpropertyInterpolate1("for", "select-", result_r50.case_id, "");
|
|
267
297
|
} }
|
|
268
|
-
function
|
|
298
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template(rf, ctx) { if (rf & 1) {
|
|
269
299
|
i0.ɵɵelement(0, "ccd-field-read", 41);
|
|
270
300
|
} if (rf & 2) {
|
|
271
301
|
const col_r60 = i0.ɵɵnextContext(3).$implicit;
|
|
@@ -273,17 +303,17 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_containe
|
|
|
273
303
|
const ctx_r65 = i0.ɵɵnextContext(3);
|
|
274
304
|
i0.ɵɵproperty("caseField", ctx_r65.getColumnsWithPrefix(result_r50.columns[col_r60.case_field_id], result_r50))("contextFields", result_r50.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(3, _c0));
|
|
275
305
|
} }
|
|
276
|
-
function
|
|
306
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
277
307
|
i0.ɵɵtext(0);
|
|
278
308
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
279
309
|
} if (rf & 2) {
|
|
280
310
|
const result_r50 = i0.ɵɵnextContext(4).$implicit;
|
|
281
311
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(1, 1, result_r50.case_id));
|
|
282
312
|
} }
|
|
283
|
-
function
|
|
313
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
284
314
|
i0.ɵɵelementContainerStart(0, 38);
|
|
285
|
-
i0.ɵɵtemplate(1,
|
|
286
|
-
i0.ɵɵtemplate(2,
|
|
315
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 39);
|
|
316
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 40, i0.ɵɵtemplateRefExtractor);
|
|
287
317
|
i0.ɵɵelementContainerEnd();
|
|
288
318
|
} if (rf & 2) {
|
|
289
319
|
const _r66 = i0.ɵɵreference(3);
|
|
@@ -293,10 +323,10 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_containe
|
|
|
293
323
|
i0.ɵɵadvance(1);
|
|
294
324
|
i0.ɵɵproperty("ngIf", ctx_r64.draftPrefixOrGet(col_r60, result_r50))("ngIfElse", _r66);
|
|
295
325
|
} }
|
|
296
|
-
function
|
|
326
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template(rf, ctx) { if (rf & 1) {
|
|
297
327
|
i0.ɵɵelementStart(0, "a", 36);
|
|
298
328
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
299
|
-
i0.ɵɵtemplate(2,
|
|
329
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 37);
|
|
300
330
|
i0.ɵɵelementEnd();
|
|
301
331
|
} if (rf & 2) {
|
|
302
332
|
const result_r50 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -306,7 +336,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template(rf
|
|
|
306
336
|
i0.ɵɵadvance(2);
|
|
307
337
|
i0.ɵɵproperty("ngIf", !ctx_r62.hideRows);
|
|
308
338
|
} }
|
|
309
|
-
function
|
|
339
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
310
340
|
i0.ɵɵelementStart(0, "div", 38);
|
|
311
341
|
i0.ɵɵelement(1, "ccd-field-read", 41);
|
|
312
342
|
i0.ɵɵelementEnd();
|
|
@@ -318,10 +348,10 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template(
|
|
|
318
348
|
i0.ɵɵadvance(1);
|
|
319
349
|
i0.ɵɵproperty("caseField", result_r50.columns[col_r60.case_field_id])("contextFields", result_r50.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(5, _c0));
|
|
320
350
|
} }
|
|
321
|
-
function
|
|
351
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
322
352
|
i0.ɵɵelementStart(0, "td", 33);
|
|
323
|
-
i0.ɵɵtemplate(1,
|
|
324
|
-
i0.ɵɵtemplate(2,
|
|
353
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template, 3, 5, "a", 34);
|
|
354
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template, 2, 6, "div", 35);
|
|
325
355
|
i0.ɵɵelementEnd();
|
|
326
356
|
} if (rf & 2) {
|
|
327
357
|
const colIndex_r61 = ctx.index;
|
|
@@ -330,7 +360,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template(rf, ct
|
|
|
330
360
|
i0.ɵɵadvance(1);
|
|
331
361
|
i0.ɵɵproperty("ngIf", colIndex_r61 != 0);
|
|
332
362
|
} }
|
|
333
|
-
function
|
|
363
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
334
364
|
i0.ɵɵelementStart(0, "td");
|
|
335
365
|
i0.ɵɵelementStart(1, "div");
|
|
336
366
|
i0.ɵɵelement(2, "ccd-activity", 42);
|
|
@@ -344,11 +374,11 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template(rf, ct
|
|
|
344
374
|
i0.ɵɵadvance(1);
|
|
345
375
|
i0.ɵɵproperty("caseId", result_r50.case_id)("displayMode", ctx_r53.ICON);
|
|
346
376
|
} }
|
|
347
|
-
function
|
|
377
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
348
378
|
i0.ɵɵelementStart(0, "tr");
|
|
349
|
-
i0.ɵɵtemplate(1,
|
|
350
|
-
i0.ɵɵtemplate(2,
|
|
351
|
-
i0.ɵɵtemplate(3,
|
|
379
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template, 4, 5, "td", 8);
|
|
380
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template, 3, 2, "td", 30);
|
|
381
|
+
i0.ɵɵtemplate(3, SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template, 3, 4, "td", 0);
|
|
352
382
|
i0.ɵɵelementEnd();
|
|
353
383
|
} if (rf & 2) {
|
|
354
384
|
const ctx_r49 = i0.ɵɵnextContext(3);
|
|
@@ -359,9 +389,9 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_Template(rf, ctx) {
|
|
|
359
389
|
i0.ɵɵadvance(1);
|
|
360
390
|
i0.ɵɵproperty("ngIf", ctx_r49.activityEnabled());
|
|
361
391
|
} }
|
|
362
|
-
function
|
|
392
|
+
function SearchResultComponent_table_0_ng_container_15_Template(rf, ctx) { if (rf & 1) {
|
|
363
393
|
i0.ɵɵelementContainerStart(0);
|
|
364
|
-
i0.ɵɵtemplate(1,
|
|
394
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_Template, 4, 3, "tr", 9);
|
|
365
395
|
i0.ɵɵpipe(2, "paginate");
|
|
366
396
|
i0.ɵɵpipe(3, "ccdSortSearchResult");
|
|
367
397
|
i0.ɵɵelementContainerEnd();
|
|
@@ -375,28 +405,29 @@ function SearchResultComponent_table_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
375
405
|
i0.ɵɵelementStart(1, "caption");
|
|
376
406
|
i0.ɵɵelementStart(2, "h2", 3);
|
|
377
407
|
i0.ɵɵtext(3);
|
|
408
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
378
409
|
i0.ɵɵelementEnd();
|
|
379
|
-
i0.ɵɵtemplate(
|
|
380
|
-
i0.ɵɵtemplate(
|
|
381
|
-
i0.ɵɵtemplate(
|
|
410
|
+
i0.ɵɵtemplate(5, SearchResultComponent_table_0_div_5_Template, 11, 12, "div", 4);
|
|
411
|
+
i0.ɵɵtemplate(6, SearchResultComponent_table_0_div_6_Template, 17, 18, "div", 5);
|
|
412
|
+
i0.ɵɵtemplate(7, SearchResultComponent_table_0_div_7_Template, 6, 6, "div", 6);
|
|
382
413
|
i0.ɵɵelementEnd();
|
|
383
|
-
i0.ɵɵelementStart(
|
|
384
|
-
i0.ɵɵelementStart(
|
|
385
|
-
i0.ɵɵtemplate(
|
|
386
|
-
i0.ɵɵtemplate(
|
|
387
|
-
i0.ɵɵtemplate(
|
|
414
|
+
i0.ɵɵelementStart(8, "thead");
|
|
415
|
+
i0.ɵɵelementStart(9, "tr", 7);
|
|
416
|
+
i0.ɵɵtemplate(10, SearchResultComponent_table_0_th_10_Template, 4, 2, "th", 8);
|
|
417
|
+
i0.ɵɵtemplate(11, SearchResultComponent_table_0_th_11_Template, 9, 7, "th", 9);
|
|
418
|
+
i0.ɵɵtemplate(12, SearchResultComponent_table_0_th_12_Template, 1, 0, "th", 10);
|
|
388
419
|
i0.ɵɵelementEnd();
|
|
389
420
|
i0.ɵɵelementEnd();
|
|
390
|
-
i0.ɵɵelementStart(
|
|
391
|
-
i0.ɵɵtemplate(
|
|
392
|
-
i0.ɵɵtemplate(
|
|
421
|
+
i0.ɵɵelementStart(13, "tbody");
|
|
422
|
+
i0.ɵɵtemplate(14, SearchResultComponent_table_0_ng_container_14_Template, 3, 8, "ng-container", 0);
|
|
423
|
+
i0.ɵɵtemplate(15, SearchResultComponent_table_0_ng_container_15_Template, 4, 11, "ng-container", 0);
|
|
393
424
|
i0.ɵɵelementEnd();
|
|
394
425
|
i0.ɵɵelementEnd();
|
|
395
426
|
} if (rf & 2) {
|
|
396
427
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
397
428
|
i0.ɵɵadvance(3);
|
|
398
|
-
i0.ɵɵtextInterpolate(ctx_r0.caseState ? "Your cases" : "Search result");
|
|
399
|
-
i0.ɵɵadvance(
|
|
429
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, ctx_r0.caseState ? "Your cases" : "Search result"));
|
|
430
|
+
i0.ɵɵadvance(2);
|
|
400
431
|
i0.ɵɵproperty("ngIf", ctx_r0.paginationLimitEnforced);
|
|
401
432
|
i0.ɵɵadvance(1);
|
|
402
433
|
i0.ɵɵproperty("ngIf", ctx_r0.hasResults() || ctx_r0.hasDrafts());
|
|
@@ -424,8 +455,14 @@ function SearchResultComponent_ccd_pagination_1_Template(rf, ctx) { if (rf & 1)
|
|
|
424
455
|
} }
|
|
425
456
|
function SearchResultComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
426
457
|
i0.ɵɵelementStart(0, "div", 45);
|
|
427
|
-
i0.ɵɵ
|
|
458
|
+
i0.ɵɵpipe(1, "rpxTranslate");
|
|
459
|
+
i0.ɵɵtext(2);
|
|
460
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
428
461
|
i0.ɵɵelementEnd();
|
|
462
|
+
} if (rf & 2) {
|
|
463
|
+
i0.ɵɵattribute("aria-describedby", i0.ɵɵpipeBind1(1, 2, "No cases found. Try using different filters."));
|
|
464
|
+
i0.ɵɵadvance(2);
|
|
465
|
+
i0.ɵɵtextInterpolate1("\n", i0.ɵɵpipeBind1(3, 4, "No cases found. Try using different filters."), "\n");
|
|
429
466
|
} }
|
|
430
467
|
export class SearchResultComponent {
|
|
431
468
|
constructor(searchResultViewItemComparatorFactory, appConfig, activityService, caseReferencePipe, placeholderService, browserService, sessionStorageService) {
|
|
@@ -761,10 +798,10 @@ SearchResultComponent.PARAM_JURISDICTION = 'jurisdiction';
|
|
|
761
798
|
SearchResultComponent.PARAM_CASE_TYPE = 'case-type';
|
|
762
799
|
SearchResultComponent.PARAM_CASE_STATE = 'case-state';
|
|
763
800
|
SearchResultComponent.ɵfac = function SearchResultComponent_Factory(t) { return new (t || SearchResultComponent)(i0.ɵɵdirectiveInject(i1.SearchResultViewItemComparatorFactory), i0.ɵɵdirectiveInject(i2.AbstractAppConfig), i0.ɵɵdirectiveInject(i1.ActivityService), i0.ɵɵdirectiveInject(i3.CaseReferencePipe), i0.ɵɵdirectiveInject(i4.PlaceholderService), i0.ɵɵdirectiveInject(i1.BrowserService), i0.ɵɵdirectiveInject(i1.SessionStorageService)); };
|
|
764
|
-
SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification",
|
|
765
|
-
i0.ɵɵtemplate(0, SearchResultComponent_table_0_Template,
|
|
801
|
+
SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification", 4, "ngIf"], ["id", "search-result-heading__text", "tabindex", "-1", 1, "heading-h2"], ["class", "govuk-warning-text pagination-limit-warning", 4, "ngIf"], ["class", "pagination-top", "role", "status", 4, "ngIf"], ["class", "reset-selection", 4, "ngIf"], ["scope", "row"], ["class", "govuk-table__checkbox", "scope", "col", 4, "ngIf"], [4, "ngFor", "ngForOf"], ["style", "width: 110px;", 4, "ngIf"], [1, "govuk-warning-text", "pagination-limit-warning"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["role", "status", 1, "pagination-top"], ["id", "search-result-summary__text", 1, "text-16"], [1, "govuk-!-font-weight-bold"], [1, "reset-selection"], ["href", "javascript:void(0)", 1, "search-result-reset-link", 3, "click"], ["scope", "col", 1, "govuk-table__checkbox"], [1, "govuk-checkboxes__item"], ["id", "select-all", "name", "select-all", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "checked", "disabled", "change"], ["for", "select-all", 1, "govuk-label", "govuk-checkboxes__label"], [1, "search-result-column-header"], [1, "search-result-column-label", 3, "click"], ["class", "search-result-column-sort", 4, "ngIf"], [1, "search-result-column-sort"], ["href", "javascript:void(0)", 1, "sort-widget", 3, "innerHTML", "click"], [2, "width", "110px"], ["class", "search-result-column-cell", "scope", "row", 4, "ngFor", "ngForOf"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "id", "name", "checked", "disabled", "change"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["scope", "row", 1, "search-result-column-cell"], ["class", "govuk-link", 3, "routerLink", 4, "ngIf"], ["class", "text-16", 3, "visibility", 4, "ngIf"], [1, "govuk-link", 3, "routerLink"], ["class", "text-16", 4, "ngIf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute", 4, "ngIf", "ngIfElse"], ["case_reference", ""], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute"], [3, "caseId", "displayMode"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "id", "name", "checked", "disabled", "change", "keyup"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange"], [1, "notification"]], template: function SearchResultComponent_Template(rf, ctx) { if (rf & 1) {
|
|
802
|
+
i0.ɵɵtemplate(0, SearchResultComponent_table_0_Template, 16, 11, "table", 0);
|
|
766
803
|
i0.ɵɵtemplate(1, SearchResultComponent_ccd_pagination_1_Template, 1, 6, "ccd-pagination", 1);
|
|
767
|
-
i0.ɵɵtemplate(2, SearchResultComponent_div_2_Template,
|
|
804
|
+
i0.ɵɵtemplate(2, SearchResultComponent_div_2_Template, 4, 6, "div", 2);
|
|
768
805
|
} if (rf & 2) {
|
|
769
806
|
i0.ɵɵproperty("ngIf", ctx.hasResults() || ctx.hasDrafts());
|
|
770
807
|
i0.ɵɵadvance(1);
|
|
@@ -814,4 +851,4 @@ SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultCompone
|
|
|
814
851
|
}], sortHandler: [{
|
|
815
852
|
type: Output
|
|
816
853
|
}] }); })();
|
|
817
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLHVCQUFPO0lBQUEsaUJB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QUs7WUFJQyxnQkFBZ0I7a0JBRHRCLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLEtBQUs7WUFJQyxzQkFBc0I7a0JBRDVCLEtBQUs7WUFJQyxTQUFTO2tCQURmLE1BQU07WUFJQSxVQUFVO2tCQURoQixNQUFNO1lBSUEsU0FBUztrQkFEZixNQUFNO1lBSUEsV0FBVztrQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IFBsYWNlaG9sZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkLCBDYXNlU3RhdGUsIENhc2VUeXBlLCBEaXNwbGF5TW9kZSxcbiAgRFJBRlRfUFJFRklYLCBKdXJpc2RpY3Rpb24sIFBhZ2luYXRpb25NZXRhZGF0YSwgU2VhcmNoUmVzdWx0VmlldywgU2VhcmNoUmVzdWx0Vmlld0NvbHVtbixcbiAgU2VhcmNoUmVzdWx0Vmlld0l0ZW0sIFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvciwgU29ydE9yZGVyLCBTb3J0UGFyYW1ldGVycyB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlUmVmZXJlbmNlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IEFjdGl2aXR5U2VydmljZSwgQnJvd3NlclNlcnZpY2UsIFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnksIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlYXJjaC1yZXN1bHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9KVVJJU0RJQ1RJT04gPSAnanVyaXNkaWN0aW9uJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX1RZUEUgPSAnY2FzZS10eXBlJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX1NUQVRFID0gJ2Nhc2Utc3RhdGUnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPSAxMDAwMDtcblxuICBwdWJsaWMgSUNPTiA9IERpc3BsYXlNb2RlLklDT047XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VMaW5rVXJsVGVtcGxhdGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMganVyaXNkaWN0aW9uOiBKdXJpc2RpY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VUeXBlOiBDYXNlVHlwZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZVN0YXRlOiBDYXNlU3RhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWx0ZXJGRzogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXN1bHRWaWV3OiBTZWFyY2hSZXN1bHRWaWV3O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2luYXRpb25NZXRhZGF0YTogUGFnaW5hdGlvbk1ldGFkYXRhO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXRhZGF0YUZpZWxkczogc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd09ubHlTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmVTZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnN1bWVyU29ydGluZ0VuYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0Vmlld0l0ZW1bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNoYW5nZVBhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xpY2tDYXNlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNvcnRIYW5kbGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgcGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgcGFnaW5hdGlvblBhZ2VTaXplOiBudW1iZXI7XG5cbiAgcHVibGljIGhpZGVSb3dzOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZWxlY3RlZDoge1xuICAgIGluaXQ/OiBib29sZWFuLFxuICAgIGp1cmlzZGljdGlvbj86IEp1cmlzZGljdGlvbixcbiAgICBjYXNlVHlwZT86IENhc2VUeXBlLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsXG4gICAgbWV0YWRhdGFGaWVsZHM/OiBzdHJpbmdbXSxcbiAgICBwYWdlPzogbnVtYmVyXG4gIH0gPSB7fTtcblxuICBwdWJsaWMgc29ydFBhcmFtZXRlcnM6IFNvcnRQYXJhbWV0ZXJzO1xuICBwdWJsaWMgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTtcbiAgcHVibGljIGRyYWZ0c0NvdW50OiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN1bWVyU29ydFBhcmFtZXRlcnM6IHsgY29sdW1uOiBzdHJpbmcsIG9yZGVyOiBTb3J0T3JkZXIsIHR5cGU6IHN0cmluZyB9ID0geyBjb2x1bW46IG51bGwsIG9yZGVyOiBudWxsLCB0eXBlOiBudWxsIH07XG5cbiAgcHVibGljIHNlbGVjdGVkQ2FzZXM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5OiBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LFxuICAgIGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVNlcnZpY2U6IEFjdGl2aXR5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VSZWZlcmVuY2VQaXBlOiBDYXNlUmVmZXJlbmNlUGlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyU2VydmljZTogUGxhY2Vob2xkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJvd3NlclNlcnZpY2U6IEJyb3dzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5ID0gc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTtcbiAgICB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSA9IGFwcENvbmZpZy5nZXRQYWdpbmF0aW9uUGFnZVNpemUoKTtcbiAgICB0aGlzLmhpZGVSb3dzID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgZm9yIChjb25zdCBwcmVTZWxlY3RlZENhc2Ugb2YgdGhpcy5wcmVTZWxlY3RlZENhc2VzKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2FzZXMgJiYgIXRoaXMuc2VsZWN0ZWRDYXNlcy5zb21lKGFDYXNlID0+IGFDYXNlLmNhc2VfaWQgPT09IHByZVNlbGVjdGVkQ2FzZS5jYXNlX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5wdXNoKHByZVNlbGVjdGVkQ2FzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnZXZlbnRVcmwnKTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXG4gICAgaWYgKGNoYW5nZXNbJ3Jlc3VsdFZpZXcnXSkge1xuICAgICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuXG4gICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gdW5kZWZpbmVkO1xuICAgICAgLy8gQ2xvbmUgYHJlc3VsdFZpZXdgIHRvIHByZXZlbnQgc29ydGluZyB0aGUgZXh0ZXJuYWwgdmFyaWFibGVcbiAgICAgIHRoaXMucmVzdWx0VmlldyA9IHtcbiAgICAgICAgY29sdW1uczogdGhpcy5yZXN1bHRWaWV3LmNvbHVtbnMuc2xpY2UoMCksXG4gICAgICAgIHJlc3VsdHM6IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLnNsaWNlKDApLFxuICAgICAgICBoYXNEcmFmdHM6IHRoaXMucmVzdWx0Vmlldy5oYXNEcmFmdHNcbiAgICAgIH07XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zID0gdGhpcy5yZXN1bHRWaWV3LmNvbHVtbnMuc29ydCgoYTogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbiwgYjogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbikgPT4ge1xuICAgICAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5oeWRyYXRlUmVzdWx0VmlldygpO1xuICAgICAgdGhpcy5kcmFmdHNDb3VudCA9IHRoaXMuZHJhZnRzQ291bnQgPyB0aGlzLmRyYWZ0c0NvdW50IDogdGhpcy5udW1iZXJPZkRyYWZ0cygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sncGFnZSddKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAoY2hhbmdlc1sncGFnZSddKS5jdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZXN1bHRUb3RhbCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5wYWdpbmF0aW9uTWV0YWRhdGEudG90YWxfcmVzdWx0c19jb3VudDtcbiAgICBjb25zdCBtYXhpbXVtUmVzdWx0UmVhY2hlZCA9IHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQ7XG4gICAgdGhpcy5wYWdpbmF0aW9uTGltaXRFbmZvcmNlZCA9IG1heGltdW1SZXN1bHRSZWFjaGVkO1xuXG4gICAgcmV0dXJuIG1heGltdW1SZXN1bHRSZWFjaGVkID8gdGhpcy5QQUdJTkFUSU9OX01BWF9JVEVNX1JFU1VMVCA6IHRvdGFsO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXNlcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5CZVNoYXJlZChjYXNlVmlldzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2FzZVZpZXcuc3VwcGxlbWVudGFyeV9kYXRhICYmIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YS5oYXNPd25Qcm9wZXJ0eSgnb3Jnc19hc3NpZ25lZF91c2VycycpO1xuICB9XG5cbiAgcHVibGljIGNhbkFueUJlU2hhcmVkKCk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5jYW5CZVNoYXJlZCh0aGlzLnJlc3VsdFZpZXcucmVzdWx0c1tpXSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWxsT25QYWdlU2VsZWN0ZWQoKSkge1xuICAgICAgLy8gYWxsIGNhc2VzIGFscmVhZHkgc2VsZWN0ZWQsIHNvIHVuc2VsZWN0IGFsbCBvbiB0aGlzIHBhZ2VcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgICAgaWYgKGMuY2FzZV9pZCA9PT0gcy5jYXNlX2lkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoYykgJiYgdGhpcy5jYW5CZVNoYXJlZChjKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5wdXNoKGMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVNlbGVjdGlvbihjOiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoYykpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jYW5CZVNoYXJlZChjKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuc2VsZWN0ZWRDYXNlcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLmNhc2VfaWQgPT09IHRoaXMuc2VsZWN0ZWRDYXNlc1tpXS5jYXNlX2lkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgYWxsT25QYWdlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgbGV0IGNhbkJlU2hhcmVkQ291bnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCByID0gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV07XG4gICAgICBpZiAodGhpcy5jYW5CZVNoYXJlZChyKSkge1xuICAgICAgICBjYW5CZVNoYXJlZENvdW50ICsrO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQocikgJiYgdGhpcy5jYW5CZVNoYXJlZChyKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjYW5CZVNoYXJlZENvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEh5ZHJhdGVzIHJlc3VsdCB2aWV3IHdpdGggY2FzZSBmaWVsZCBkZWZpbml0aW9ucy5cbiAgICovXG4gIC8vIEEgbG9uZ2VyIHRlcm0gcmVzb2x1dGlvbiBpcyB0byBtb3ZlIHRoaXMgcGllY2Ugb2YgbG9naWMgdG8gdGhlIGJhY2tlbmRcbiAgcHVibGljIGh5ZHJhdGVSZXN1bHRWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2gocmVzdWx0ID0+IHtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZHMgPSBbXTtcblxuICAgICAgT2JqZWN0LmtleXMocmVzdWx0LmNhc2VfZmllbGRzKS5mb3JFYWNoKGZpZWxkSWQgPT4ge1xuXG4gICAgICAgIGNvbnN0IGZpZWxkID0gcmVzdWx0LmNhc2VfZmllbGRzW2ZpZWxkSWRdO1xuXG4gICAgICAgIGNhc2VGaWVsZHMucHVzaChPYmplY3QuYXNzaWduKG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgICAgIGlkOiBmaWVsZElkLFxuICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICAgIGZpZWxkX3R5cGU6IHt9LFxuICAgICAgICAgIHZhbHVlOiBmaWVsZCxcbiAgICAgICAgICBkaXNwbGF5X2NvbnRleHQ6IG51bGwsXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHMgPSBjYXNlRmllbGRzO1xuICAgICAgcmVzdWx0LmNvbHVtbnMgPSB7fTtcblxuICAgICAgdGhpcy5yZXN1bHRWaWV3LmNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xuICAgICAgICByZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0gPSB0aGlzLmJ1aWxkQ2FzZUZpZWxkKGNvbCwgcmVzdWx0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgZ29Ub1BhZ2UocGFnZSk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVJvd3MgPSB0cnVlO1xuICAgIHRoaXMuc2VsZWN0ZWQuaW5pdCA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb247XG4gICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IHRoaXMuY2FzZVR5cGU7XG4gICAgdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPSB0aGlzLmNhc2VTdGF0ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmZvcm1Hcm91cCA9IHRoaXMuY2FzZUZpbHRlckZHO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLm1ldGFkYXRhRmllbGRzO1xuICAgIHRoaXMuc2VsZWN0ZWQucGFnZSA9IHBhZ2U7XG4gICAgLy8gQXBwbHkgZmlsdGVyc1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0pVUklTRElDVElPTl0gPSB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA/IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkIDogbnVsbDtcbiAgICBxdWVyeVBhcmFtc1tTZWFyY2hSZXN1bHRDb21wb25lbnQuUEFSQU1fQ0FTRV9UWVBFXSA9IHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkIDogbnVsbDtcbiAgICBxdWVyeVBhcmFtc1tTZWFyY2hSZXN1bHRDb21wb25lbnQuUEFSQU1fQ0FTRV9TVEFURV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA/IHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlLmlkIDogbnVsbDtcbiAgICB0aGlzLmNoYW5nZVBhZ2UuZW1pdCh7XG4gICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIHF1ZXJ5UGFyYW1zXG4gICAgfSk7XG5cbiAgICBjb25zdCB0b3BDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wJyk7XG4gICAgaWYgKHRvcENvbnRhaW5lcikge1xuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgIH1cbiAgICAgIHRvcENvbnRhaW5lci5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZENhc2VGaWVsZChjb2w6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIHJlc3VsdDogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiBDYXNlRmllbGQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQ6IGNvbC5jYXNlX2ZpZWxkX2lkLFxuICAgICAgbGFiZWw6IGNvbC5sYWJlbCxcbiAgICAgIGZpZWxkX3R5cGU6IGNvbC5jYXNlX2ZpZWxkX3R5cGUsXG4gICAgICB2YWx1ZTogcmVzdWx0LmNhc2VfZmllbGRzW2NvbC5jYXNlX2ZpZWxkX2lkXSxcbiAgICAgIGRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXI6IGNvbC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyLFxuICAgICAgZGlzcGxheV9jb250ZXh0OiBjb2wuZGlzcGxheV9jb250ZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldENvbHVtbnNXaXRoUHJlZml4KGNvbDogQ2FzZUZpZWxkLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICBjb2wudmFsdWUgPSB0aGlzLmRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpO1xuICAgIGNvbC52YWx1ZSA9IHRoaXMucGxhY2Vob2xkZXJTZXJ2aWNlLnJlc29sdmVQbGFjZWhvbGRlcnMocmVzdWx0LmNhc2VfZmllbGRzLCBjb2wudmFsdWUpO1xuICAgIHJldHVybiBjb2w7XG4gIH1cblxuICBwdWJsaWMgaGFzUmVzdWx0cygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggJiYgdGhpcy5wYWdpbmF0aW9uTWV0YWRhdGEudG90YWxfcGFnZXNfY291bnQ7XG4gIH1cblxuICBwdWJsaWMgaGFzRHJhZnRzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzKCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGFyYXRvcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3Ige1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnkuY3JlYXRlU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yKGNvbHVtbik7XG4gIH1cblxuICBwdWJsaWMgc29ydChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBpZiAodGhpcy5jb25zdW1lclNvcnRpbmdFbmFibGVkKSB7XG4gICAgICBpZiAoY29sdW1uLmNhc2VfZmllbGRfaWQgIT09IHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4pIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMub3JkZXIgPSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMub3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29ydE9yZGVyLkFTQ0VORElORyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbiA9IGNvbHVtbi5jYXNlX2ZpZWxkX2lkO1xuICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLnR5cGUgPSBjb2x1bW4uY2FzZV9maWVsZF90eXBlLnR5cGU7XG4gICAgICB0aGlzLnNvcnRIYW5kbGVyLmVtaXQodGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU29ydEFzY2VuZGluZyhjb2x1bW4pKSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5BU0NFTkRJTkcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IG5ldyBTb3J0UGFyYW1ldGVycyh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSwgU29ydE9yZGVyLkRFU0NFTkRJTkcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0V2lkZ2V0KGNvbHVtbjogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbikge1xuICAgIGxldCBjb25kaXRpb24gPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jb25zdW1lclNvcnRpbmdFbmFibGVkKSB7XG4gICAgICBjb25zdCBpc0NvbHVtbiA9IGNvbHVtbi5jYXNlX2ZpZWxkX2lkID09PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uO1xuICAgICAgY29uc3QgaXNBc2NlbmRpbmcgPSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMub3JkZXIgPT09IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgICBjb25kaXRpb24gPSAhaXNDb2x1bW4gfHwgKGlzQ29sdW1uICYmIGlzQXNjZW5kaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZGl0aW9uID0gdGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZGl0aW9uID8gJyYjOTY2MDsnIDogJyYjOTY1MDsnO1xuICB9XG5cbiAgcHVibGljIGFjdGl2aXR5RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVNlcnZpY2UuaXNFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTogYW55IHtcbiAgICBpZiAoY29sLmNhc2VfZmllbGRfaWQgPT09ICdbQ0FTRV9SRUZFUkVOQ0VdJykge1xuICAgICAgcmV0dXJuIHRoaXMuY2FzZVJlZmVyZW5jZVBpcGUudHJhbnNmb3JtKHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoY29sLmlkKSB7XG4gICAgICAgIGlmIChjb2wuaWQgPT09ICdbQ0FTRV9SRUZFUkVOQ0VdJykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuaWRdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0LmNhc2VfZmllbGRzW2NvbC5jYXNlX2ZpZWxkX2lkXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZHJhZnRQcmVmaXhPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgcmV0dXJuIHJlc3VsdC5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSA/IERSQUZUX1BSRUZJWCA6IHRoaXMuaHlwaGVuYXRlSWZDYXNlUmVmZXJlbmNlT3JHZXQoY29sLCByZXN1bHQpO1xuICB9XG5cbiAgcHVibGljIGlzU29ydEFzY2VuZGluZyhjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50U29ydE9yZGVyID0gdGhpcy5jdXJyZW50U29ydE9yZGVyKGNvbHVtbik7XG5cbiAgICByZXR1cm4gY3VycmVudFNvcnRPcmRlciA9PT0gU29ydE9yZGVyLlVOU09SVEVEIHx8IGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50U29ydE9yZGVyKGNvbHVtbjogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbik6IFNvcnRPcmRlciB7XG5cbiAgICBsZXQgaXNBc2NlbmRpbmcgPSB0cnVlO1xuICAgIGxldCBpc0Rlc2NlbmRpbmcgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBTb3J0T3JkZXIuVU5TT1JURUQ7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBjb25zdCBjb21wYXJpc29uID0gdGhpcy5jb21wYXJhdG9yKGNvbHVtbikuY29tcGFyZSh0aGlzLnJlc3VsdFZpZXcucmVzdWx0c1tpXSwgdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaSArIDFdKTtcbiAgICAgIGlzRGVzY2VuZGluZyA9IGlzRGVzY2VuZGluZyAmJiBjb21wYXJpc29uIDw9IDA7XG4gICAgICBpc0FzY2VuZGluZyA9IGlzQXNjZW5kaW5nICYmIGNvbXBhcmlzb24gPj0gMDtcbiAgICAgIGlmICghaXNBc2NlbmRpbmcgJiYgIWlzRGVzY2VuZGluZykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzQXNjZW5kaW5nID8gU29ydE9yZGVyLkFTQ0VORElORyA6IGlzRGVzY2VuZGluZyA/IFNvcnRPcmRlci5ERVNDRU5ESU5HIDogU29ydE9yZGVyLlVOU09SVEVEO1xuICB9XG5cbiAgcHVibGljIGdldEZpcnN0UmVzdWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSAodGhpcy5zZWxlY3RlZC5wYWdlID8gdGhpcy5zZWxlY3RlZC5wYWdlIDogMSk7XG4gICAgcmV0dXJuICgoY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnaW5hdGlvblBhZ2VTaXplKSArIDEgKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYXN0UmVzdWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSAodGhpcy5zZWxlY3RlZC5wYWdlID8gdGhpcy5zZWxlY3RlZC5wYWdlIDogMSk7XG4gICAgcmV0dXJuICgoY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnaW5hdGlvblBhZ2VTaXplKSArIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCArIHRoaXMuZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGdldFRvdGFsUmVzdWx0cygpOiBudW1iZXIge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5wYWdpbmF0aW9uTWV0YWRhdGEudG90YWxfcmVzdWx0c19jb3VudCArIHRoaXMuZHJhZnRzQ291bnQ7XG5cbiAgICByZXR1cm4gdG90YWwgPj0gdGhpcy5QQUdJTkFUSU9OX01BWF9JVEVNX1JFU1VMVCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlQ2FzZUxpbmtVcmwoY2FzZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1cmwgPSB0aGlzLmNhc2VMaW5rVXJsVGVtcGxhdGU7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2p1cmlzZGljdGlvbl9pZCcsIHRoaXMuanVyaXNkaWN0aW9uLmlkKTtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnY2FzZVR5cGVfaWQnLCB0aGlzLmNhc2VUeXBlLmlkKTtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnY2FzZV9pZCcsIGNhc2VJZCk7XG5cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGN1cnJlbnRQYWdlID4gMSA/IHRoaXMuZHJhZnRzQ291bnQgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBudW1iZXJPZkRyYWZ0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5maWx0ZXIoXyA9PiBfLmNhc2VfaWQuc3RhcnRzV2l0aChEUkFGVF9QUkVGSVgpKS5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgZ29Ub0Nhc2UoY2FzZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNsaWNrQ2FzZS5lbWl0KHtcbiAgICAgIGNhc2VJZFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBjOiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IHZvaWQge1xuICAgIGlmICgkZXZlbnQua2V5ID09PSAnU3BhY2UnKSB7XG4gICAgICBpZiAodGhpcy5icm93c2VyU2VydmljZS5pc0ZpcmVmb3ggfHwgdGhpcy5icm93c2VyU2VydmljZS5pc1NhZmFyaSB8fCB0aGlzLmJyb3dzZXJTZXJ2aWNlLmlzSUVPckVkZ2UpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VTZWxlY3Rpb24oYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8dGFibGUgKm5nSWY9XCJoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKClcIj5cbiAgPGNhcHRpb24+XG4gICAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiIGlkPVwic2VhcmNoLXJlc3VsdC1oZWFkaW5nX190ZXh0XCIgdGFiaW5kZXg9XCItMVwiPnt7IGNhc2VTdGF0ZSA/ICdZb3VyIGNhc2VzJyA6ICdTZWFyY2ggcmVzdWx0JyB9fTwvaDI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0IHBhZ2luYXRpb24tbGltaXQtd2FybmluZ1wiICpuZ0lmPVwicGFnaW5hdGlvbkxpbWl0RW5mb3JjZWRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+ITwvc3Bhbj5cbiAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2Fzc2lzdGl2ZVwiPldhcm5pbmc8L3NwYW4+XG4gICAgICAgIFRoZSB0b3RhbCBzaXplIG9mIHRoZSByZXN1bHQgc2V0IGlzIHt7cGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgfCBudW1iZXJ9fS4gT25seSB0aGUgZmlyc3QgMTAsMDAwIHJlY29yZHMgYXJlIGF2YWlsYWJsZSBmb3IgZGlzcGxheS5cbiAgICAgIDwvc3Ryb25nPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIihoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKCkpXCIgY2xhc3M9XCJwYWdpbmF0aW9uLXRvcFwiXG4gICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyBnZXRUb3RhbFJlc3VsdHMoKSB9fSByZXN1bHRzIGhhdmUgYmVlbiBmb3VuZFwiIHJvbGU9XCJzdGF0dXNcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiIGlkPVwic2VhcmNoLXJlc3VsdC1zdW1tYXJ5X190ZXh0XCI+U2hvd2luZyBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRGaXJzdFJlc3VsdCgpIH19PC9zcGFuPlxuICAgICAgICB0b1xuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7IGdldExhc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgb2ZcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRUb3RhbFJlc3VsdHMoKSB9fTwvc3Bhbj4gcmVzdWx0czwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSkgJiYgc2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwicmVzZXQtc2VsZWN0aW9uXCJcbiAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlJlc2V0IHNlbGVjdGlvblwiPlxuICAgICAgPHNwYW4+PGEgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LXJlc2V0LWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIj5SZXNldCBjYXNlIHNlbGVjdGlvbjwvYT48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvY2FwdGlvbj5cbiAgPHRoZWFkPlxuICAgIDx0ciBzY29wZT1cInJvd1wiPlxuICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LWFsbFwiIG5hbWU9XCJzZWxlY3QtYWxsXCIgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJzZWxlY3RBbGwoKVwiIFtjaGVja2VkXT1cImFsbE9uUGFnZVNlbGVjdGVkKClcIiBbZGlzYWJsZWRdPVwiIWNhbkFueUJlU2hhcmVkKClcIiAvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LWFsbFwiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4taGVhZGVyXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTb3J0IGJ5ICcgKyBjb2wubGFiZWwgKyAnICcgKyBpc1NvcnRBc2NlbmRpbmcoY29sKT8gJ2FzY2VuZGluZycgOiAnZGVzY2VuZGluZydcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1sYWJlbFwiIChjbGljayk9XCJzb3J0KGNvbClcIj57e2NvbC5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29tcGFyYXRvcihjb2wpXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1zb3J0XCI+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJzb3J0KGNvbClcIiBjbGFzcz1cInNvcnQtd2lkZ2V0XCIgW2lubmVySFRNTF09XCJzb3J0V2lkZ2V0KGNvbClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+PC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICA8L3RoPlxuICAgICAgPHRoICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIiBzdHlsZT1cIndpZHRoOiAxMTBweDtcIj48L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cblxuICAgIDwhLS0gc29ydGVkIGJ5IGNvbnN1bWVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25zdW1lclNvcnRpbmdFbmFibGVkXCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiByZXN1bHRWaWV3LnJlc3VsdHMgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IHBhZ2luYXRpb25QYWdlU2l6ZSwgY3VycmVudFBhZ2U6IHNlbGVjdGVkLnBhZ2UsIHRvdGFsSXRlbXM6IHJlc3VsdFRvdGFsIH1cIj5cbiAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiIG5hbWU9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cImNoYW5nZVNlbGVjdGlvbihyZXN1bHQpXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyZXN1bHQpXCIgW2Rpc2FibGVkXT1cIiFjYW5CZVNoYXJlZChyZXN1bHQpXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCI+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnM7IGxldCBjb2xJbmRleCA9IGluZGV4XCIgc2NvcGU9XCJyb3dcIj5cbiAgICAgICAgICA8YSAqbmdJZj1cImNvbEluZGV4ID09IDBcIiBbcm91dGVyTGlua109XCJwcmVwYXJlQ2FzZUxpbmtVcmwocmVzdWx0LmNhc2VfaWQpXCJcbiAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cImdvIHRvIGNhc2Ugd2l0aCBDYXNlIHJlZmVyZW5jZTp7eyByZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2UgfX1cIiBjbGFzcz1cImdvdnVrLWxpbmtcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgY2xhc3M9XCJ0ZXh0LTE2XCIgKm5nSWY9XCIhaGlkZVJvd3NcIj5cbiAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkICpuZ0lmPVwiZHJhZnRQcmVmaXhPckdldChjb2wsIHJlc3VsdCk7IGVsc2UgY2FzZV9yZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImdldENvbHVtbnNXaXRoUHJlZml4KHJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXSwgcmVzdWx0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FzZV9yZWZlcmVuY2U+e3tyZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2V9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbEluZGV4ICE9IDBcIiBjbGFzcz1cInRleHQtMTZcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgY2NkTGFiZWxTdWJzdGl0dXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwicmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpdml0eUVuYWJsZWQoKVwiPlxuICAgICAgICAgIDxkaXYgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cInJlc3VsdC5jYXNlX2lkXCIgW2Rpc3BsYXlNb2RlXT1cIklDT05cIj48L2NjZC1hY3Rpdml0eT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBzb3J0ZWQgYnkgdG9vbGtpdCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbnN1bWVyU29ydGluZ0VuYWJsZWRcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcmVzdWx0IG9mIHJlc3VsdFZpZXcucmVzdWx0cyB8IGNjZFNvcnRTZWFyY2hSZXN1bHQgOiBzb3J0UGFyYW1ldGVycyB8IHBhZ2luYXRlOiB7IGl0ZW1zUGVyUGFnZTogcGFnaW5hdGlvblBhZ2VTaXplLCBjdXJyZW50UGFnZTogc2VsZWN0ZWQucGFnZSwgdG90YWxJdGVtczogcmVzdWx0VG90YWwgfVwiPlxuICAgICAgICA8dGQgKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2hlY2tib3hcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCIgbmFtZT1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIChjaGFuZ2UpPVwiY2hhbmdlU2VsZWN0aW9uKHJlc3VsdClcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKHJlc3VsdClcIiBbZGlzYWJsZWRdPVwiIWNhbkJlU2hhcmVkKHJlc3VsdClcIiAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQsIHJlc3VsdClcIiAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWNlbGxcIiAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uczsgbGV0IGNvbEluZGV4ID0gaW5kZXhcIiBzY29wZT1cInJvd1wiPlxuXG4gICAgICAgICAgPGEgKm5nSWY9XCJjb2xJbmRleCA9PSAwXCIgW3JvdXRlckxpbmtdPVwicHJlcGFyZUNhc2VMaW5rVXJsKHJlc3VsdC5jYXNlX2lkKVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJnbyB0byBjYXNlIHdpdGggQ2FzZSByZWZlcmVuY2U6e3sgcmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlIH19XCIgY2xhc3M9XCJnb3Z1ay1saW5rXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwidGV4dC0xNlwiICpuZ0lmPVwiIWhpZGVSb3dzXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCAqbmdJZj1cImRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOyBlbHNlIGNhc2VfcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3IgW2Nhc2VGaWVsZF09XCJnZXRDb2x1bW5zV2l0aFByZWZpeChyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0sIHJlc3VsdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Nhc2VfcmVmZXJlbmNlPnt7cmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2xJbmRleCAhPSAwXCIgY2xhc3M9XCJ0ZXh0LTE2XCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIj5cbiAgICAgICAgICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJyZXN1bHQuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJJQ09OXCI+PC9jY2QtYWN0aXZpdHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG48Y2NkLXBhZ2luYXRpb25cbiAgKm5nSWY9XCJoYXNSZXN1bHRzKClcIlxuICAocGFnZUNoYW5nZSk9XCJnb1RvUGFnZSgkZXZlbnQpXCJcbiAgW3Zpc2liaWxpdHlMYWJlbF09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgW2F1dG9IaWRlXT1cInRydWVcIlxuICBbbWF4U2l6ZV09XCI4XCJcbiAgW3NjcmVlblJlYWRlclBhZ2luYXRpb25MYWJlbF09XCInUGFnaW5hdGlvbidcIlxuICBbc2NyZWVuUmVhZGVyUGFnZUxhYmVsXT1cInBhZ2VcIlxuICBbc2NyZWVuUmVhZGVyQ3VycmVudExhYmVsXT1cIidZb3VcXCdyZSBvbiBwYWdlJ1wiPjwvY2NkLXBhZ2luYXRpb24+XG5cbjxkaXYgKm5nSWY9XCIhKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSlcIiBjbGFzcz1cIm5vdGlmaWNhdGlvblwiXG4gIGFyaWEtbGFiZWw9XCJObyBjYXNlcyBmb3VuZC4gVHJ5IHVzaW5nIGRpZmZlcmVudCBmaWx0ZXJzLlwiPlxuICBObyBjYXNlcyBmb3VuZC4gVHJ5IHVzaW5nIGRpZmZlcmVudCBmaWx0ZXJzLlxuPC9kaXY+XG4iXX0=
|
|
854
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLFlBQTRCOztJQUFBLGlC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RSxnQ0FBZ0M7Z0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2FBQzlDO3dSQVlRLG1CQUFtQjtrQkFEekIsS0FBSztZQUlDLFlBQVk7a0JBRGxCLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxZQUFZO2tCQURsQixLQUFLO1lBSUMsVUFBVTtrQkFEaEIsS0FBSztZQUlDLElBQUk7a0JBRFYsS0FBSztZQUlDLGtCQUFrQjtrQkFEeEIsS0FBSztZQUlDLGNBQWM7a0JBRHBCLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLEtBQUs7WUFJQyxzQkFBc0I7a0JBRDVCLEtBQUs7WUFJQyxTQUFTO2tCQURmLE1BQU07WUFJQSxVQUFVO2tCQURoQixNQUFNO1lBSUEsU0FBUztrQkFEZixNQUFNO1lBSUEsV0FBVztrQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IFBsYWNlaG9sZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkLCBDYXNlU3RhdGUsIENhc2VUeXBlLCBEaXNwbGF5TW9kZSxcbiAgRFJBRlRfUFJFRklYLCBKdXJpc2RpY3Rpb24sIFBhZ2luYXRpb25NZXRhZGF0YSwgU2VhcmNoUmVzdWx0VmlldywgU2VhcmNoUmVzdWx0Vmlld0NvbHVtbixcbiAgU2VhcmNoUmVzdWx0Vmlld0l0ZW0sIFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvciwgU29ydE9yZGVyLCBTb3J0UGFyYW1ldGVycyB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlUmVmZXJlbmNlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IEFjdGl2aXR5U2VydmljZSwgQnJvd3NlclNlcnZpY2UsIFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnksIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlYXJjaC1yZXN1bHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9KVVJJU0RJQ1RJT04gPSAnanVyaXNkaWN0aW9uJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX1RZUEUgPSAnY2FzZS10eXBlJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX1NUQVRFID0gJ2Nhc2Utc3RhdGUnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPSAxMDAwMDtcblxuICBwdWJsaWMgSUNPTiA9IERpc3BsYXlNb2RlLklDT047XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VMaW5rVXJsVGVtcGxhdGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMganVyaXNkaWN0aW9uOiBKdXJpc2RpY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VUeXBlOiBDYXNlVHlwZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZVN0YXRlOiBDYXNlU3RhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWx0ZXJGRzogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXN1bHRWaWV3OiBTZWFyY2hSZXN1bHRWaWV3O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2luYXRpb25NZXRhZGF0YTogUGFnaW5hdGlvbk1ldGFkYXRhO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXRhZGF0YUZpZWxkczogc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd09ubHlTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmVTZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnN1bWVyU29ydGluZ0VuYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0Vmlld0l0ZW1bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNoYW5nZVBhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xpY2tDYXNlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNvcnRIYW5kbGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgcGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgcGFnaW5hdGlvblBhZ2VTaXplOiBudW1iZXI7XG5cbiAgcHVibGljIGhpZGVSb3dzOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZWxlY3RlZDoge1xuICAgIGluaXQ/OiBib29sZWFuLFxuICAgIGp1cmlzZGljdGlvbj86IEp1cmlzZGljdGlvbixcbiAgICBjYXNlVHlwZT86IENhc2VUeXBlLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsXG4gICAgbWV0YWRhdGFGaWVsZHM/OiBzdHJpbmdbXSxcbiAgICBwYWdlPzogbnVtYmVyXG4gIH0gPSB7fTtcblxuICBwdWJsaWMgc29ydFBhcmFtZXRlcnM6IFNvcnRQYXJhbWV0ZXJzO1xuICBwdWJsaWMgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTtcbiAgcHVibGljIGRyYWZ0c0NvdW50OiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN1bWVyU29ydFBhcmFtZXRlcnM6IHsgY29sdW1uOiBzdHJpbmcsIG9yZGVyOiBTb3J0T3JkZXIsIHR5cGU6IHN0cmluZyB9ID0geyBjb2x1bW46IG51bGwsIG9yZGVyOiBudWxsLCB0eXBlOiBudWxsIH07XG5cbiAgcHVibGljIHNlbGVjdGVkQ2FzZXM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5OiBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LFxuICAgIGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVNlcnZpY2U6IEFjdGl2aXR5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VSZWZlcmVuY2VQaXBlOiBDYXNlUmVmZXJlbmNlUGlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyU2VydmljZTogUGxhY2Vob2xkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJvd3NlclNlcnZpY2U6IEJyb3dzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5ID0gc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTtcbiAgICB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSA9IGFwcENvbmZpZy5nZXRQYWdpbmF0aW9uUGFnZVNpemUoKTtcbiAgICB0aGlzLmhpZGVSb3dzID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgZm9yIChjb25zdCBwcmVTZWxlY3RlZENhc2Ugb2YgdGhpcy5wcmVTZWxlY3RlZENhc2VzKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2FzZXMgJiYgIXRoaXMuc2VsZWN0ZWRDYXNlcy5zb21lKGFDYXNlID0+IGFDYXNlLmNhc2VfaWQgPT09IHByZVNlbGVjdGVkQ2FzZS5jYXNlX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5wdXNoKHByZVNlbGVjdGVkQ2FzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnZXZlbnRVcmwnKTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXG4gICAgaWYgKGNoYW5nZXNbJ3Jlc3VsdFZpZXcnXSkge1xuICAgICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuXG4gICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gdW5kZWZpbmVkO1xuICAgICAgLy8gQ2xvbmUgYHJlc3VsdFZpZXdgIHRvIHByZXZlbnQgc29ydGluZyB0aGUgZXh0ZXJuYWwgdmFyaWFibGVcbiAgICAgIHRoaXMucmVzdWx0VmlldyA9IHtcbiAgICAgICAgY29sdW1uczogdGhpcy5yZXN1bHRWaWV3LmNvbHVtbnMuc2xpY2UoMCksXG4gICAgICAgIHJlc3VsdHM6IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLnNsaWNlKDApLFxuICAgICAgICBoYXNEcmFmdHM6IHRoaXMucmVzdWx0Vmlldy5oYXNEcmFmdHNcbiAgICAgIH07XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zID0gdGhpcy5yZXN1bHRWaWV3LmNvbHVtbnMuc29ydCgoYTogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbiwgYjogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbikgPT4ge1xuICAgICAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5oeWRyYXRlUmVzdWx0VmlldygpO1xuICAgICAgdGhpcy5kcmFmdHNDb3VudCA9IHRoaXMuZHJhZnRzQ291bnQgPyB0aGlzLmRyYWZ0c0NvdW50IDogdGhpcy5udW1iZXJPZkRyYWZ0cygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sncGFnZSddKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAoY2hhbmdlc1sncGFnZSddKS5jdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZXN1bHRUb3RhbCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5wYWdpbmF0aW9uTWV0YWRhdGEudG90YWxfcmVzdWx0c19jb3VudDtcbiAgICBjb25zdCBtYXhpbXVtUmVzdWx0UmVhY2hlZCA9IHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQ7XG4gICAgdGhpcy5wYWdpbmF0aW9uTGltaXRFbmZvcmNlZCA9IG1heGltdW1SZXN1bHRSZWFjaGVkO1xuXG4gICAgcmV0dXJuIG1heGltdW1SZXN1bHRSZWFjaGVkID8gdGhpcy5QQUdJTkFUSU9OX01BWF9JVEVNX1JFU1VMVCA6IHRvdGFsO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXNlcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5CZVNoYXJlZChjYXNlVmlldzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2FzZVZpZXcuc3VwcGxlbWVudGFyeV9kYXRhICYmIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YS5oYXNPd25Qcm9wZXJ0eSgnb3Jnc19hc3NpZ25lZF91c2VycycpO1xuICB9XG5cbiAgcHVibGljIGNhbkFueUJlU2hhcmVkKCk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5jYW5CZVNoYXJlZCh0aGlzLnJlc3VsdFZpZXcucmVzdWx0c1tpXSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWxsT25QYWdlU2VsZWN0ZWQoKSkge1xuICAgICAgLy8gYWxsIGNhc2VzIGFscmVhZHkgc2VsZWN0ZWQsIHNvIHVuc2VsZWN0IGFsbCBvbiB0aGlzIHBhZ2VcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgICAgaWYgKGMuY2FzZV9pZCA9PT0gcy5jYXNlX2lkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoYykgJiYgdGhpcy5jYW5CZVNoYXJlZChjKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5wdXNoKGMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVNlbGVjdGlvbihjOiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoYykpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jYW5CZVNoYXJlZChjKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuc2VsZWN0ZWRDYXNlcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLmNhc2VfaWQgPT09IHRoaXMuc2VsZWN0ZWRDYXNlc1tpXS5jYXNlX2lkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgYWxsT25QYWdlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgbGV0IGNhbkJlU2hhcmVkQ291bnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCByID0gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV07XG4gICAgICBpZiAodGhpcy5jYW5CZVNoYXJlZChyKSkge1xuICAgICAgICBjYW5CZVNoYXJlZENvdW50ICsrO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQocikgJiYgdGhpcy5jYW5CZVNoYXJlZChyKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjYW5CZVNoYXJlZENvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEh5ZHJhdGVzIHJlc3VsdCB2aWV3IHdpdGggY2FzZSBmaWVsZCBkZWZpbml0aW9ucy5cbiAgICovXG4gIC8vIEEgbG9uZ2VyIHRlcm0gcmVzb2x1dGlvbiBpcyB0byBtb3ZlIHRoaXMgcGllY2Ugb2YgbG9naWMgdG8gdGhlIGJhY2tlbmRcbiAgcHVibGljIGh5ZHJhdGVSZXN1bHRWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2gocmVzdWx0ID0+IHtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZHMgPSBbXTtcblxuICAgICAgT2JqZWN0LmtleXMocmVzdWx0LmNhc2VfZmllbGRzKS5mb3JFYWNoKGZpZWxkSWQgPT4ge1xuXG4gICAgICAgIGNvbnN0IGZpZWxkID0gcmVzdWx0LmNhc2VfZmllbGRzW2ZpZWxkSWRdO1xuXG4gICAgICAgIGNhc2VGaWVsZHMucHVzaChPYmplY3QuYXNzaWduKG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgICAgIGlkOiBmaWVsZElkLFxuICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICAgIGZpZWxkX3R5cGU6IHt9LFxuICAgICAgICAgIHZhbHVlOiBmaWVsZCxcbiAgICAgICAgICBkaXNwbGF5X2NvbnRleHQ6IG51bGwsXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHMgPSBjYXNlRmllbGRzO1xuICAgICAgcmVzdWx0LmNvbHVtbnMgPSB7fTtcblxuICAgICAgdGhpcy5yZXN1bHRWaWV3LmNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xuICAgICAgICByZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0gPSB0aGlzLmJ1aWxkQ2FzZUZpZWxkKGNvbCwgcmVzdWx0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgZ29Ub1BhZ2UocGFnZSk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVJvd3MgPSB0cnVlO1xuICAgIHRoaXMuc2VsZWN0ZWQuaW5pdCA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb247XG4gICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IHRoaXMuY2FzZVR5cGU7XG4gICAgdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPSB0aGlzLmNhc2VTdGF0ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmZvcm1Hcm91cCA9IHRoaXMuY2FzZUZpbHRlckZHO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLm1ldGFkYXRhRmllbGRzO1xuICAgIHRoaXMuc2VsZWN0ZWQucGFnZSA9IHBhZ2U7XG4gICAgLy8gQXBwbHkgZmlsdGVyc1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0pVUklTRElDVElPTl0gPSB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA/IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkIDogbnVsbDtcbiAgICBxdWVyeVBhcmFtc1tTZWFyY2hSZXN1bHRDb21wb25lbnQuUEFSQU1fQ0FTRV9UWVBFXSA9IHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkIDogbnVsbDtcbiAgICBxdWVyeVBhcmFtc1tTZWFyY2hSZXN1bHRDb21wb25lbnQuUEFSQU1fQ0FTRV9TVEFURV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA/IHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlLmlkIDogbnVsbDtcbiAgICB0aGlzLmNoYW5nZVBhZ2UuZW1pdCh7XG4gICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIHF1ZXJ5UGFyYW1zXG4gICAgfSk7XG5cbiAgICBjb25zdCB0b3BDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wJyk7XG4gICAgaWYgKHRvcENvbnRhaW5lcikge1xuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgIH1cbiAgICAgIHRvcENvbnRhaW5lci5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZENhc2VGaWVsZChjb2w6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIHJlc3VsdDogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiBDYXNlRmllbGQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQ6IGNvbC5jYXNlX2ZpZWxkX2lkLFxuICAgICAgbGFiZWw6IGNvbC5sYWJlbCxcbiAgICAgIGZpZWxkX3R5cGU6IGNvbC5jYXNlX2ZpZWxkX3R5cGUsXG4gICAgICB2YWx1ZTogcmVzdWx0LmNhc2VfZmllbGRzW2NvbC5jYXNlX2ZpZWxkX2lkXSxcbiAgICAgIGRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXI6IGNvbC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyLFxuICAgICAgZGlzcGxheV9jb250ZXh0OiBjb2wuZGlzcGxheV9jb250ZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldENvbHVtbnNXaXRoUHJlZml4KGNvbDogQ2FzZUZpZWxkLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICBjb2wudmFsdWUgPSB0aGlzLmRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpO1xuICAgIGNvbC52YWx1ZSA9IHRoaXMucGxhY2Vob2xkZXJTZXJ2aWNlLnJlc29sdmVQbGFjZWhvbGRlcnMocmVzdWx0LmNhc2VfZmllbGRzLCBjb2wudmFsdWUpO1xuICAgIHJldHVybiBjb2w7XG4gIH1cblxuICBwdWJsaWMgaGFzUmVzdWx0cygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggJiYgdGhpcy5wYWdpbmF0aW9uTWV0YWRhdGEudG90YWxfcGFnZXNfY291bnQ7XG4gIH1cblxuICBwdWJsaWMgaGFzRHJhZnRzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzKCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGFyYXRvcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3Ige1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnkuY3JlYXRlU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yKGNvbHVtbik7XG4gIH1cblxuICBwdWJsaWMgc29ydChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBpZiAodGhpcy5jb25zdW1lclNvcnRpbmdFbmFibGVkKSB7XG4gICAgICBpZiAoY29sdW1uLmNhc2VfZmllbGRfaWQgIT09IHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4pIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMub3JkZXIgPSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMub3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29ydE9yZGVyLkFTQ0VORElORyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbiA9IGNvbHVtbi5jYXNlX2ZpZWxkX2lkO1xuICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLnR5cGUgPSBjb2x1bW4uY2FzZV9maWVsZF90eXBlLnR5cGU7XG4gICAgICB0aGlzLnNvcnRIYW5kbGVyLmVtaXQodGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU29ydEFzY2VuZGluZyhjb2x1bW4pKSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5BU0NFTkRJTkcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IG5ldyBTb3J0UGFyYW1ldGVycyh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSwgU29ydE9yZGVyLkRFU0NFTkRJTkcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0V2lkZ2V0KGNvbHVtbjogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbikge1xuICAgIGxldCBjb25kaXRpb24gPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jb25zdW1lclNvcnRpbmdFbmFibGVkKSB7XG4gICAgICBjb25zdCBpc0NvbHVtbiA9IGNvbHVtbi5jYXNlX2ZpZWxkX2lkID09PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uO1xuICAgICAgY29uc3QgaXNBc2NlbmRpbmcgPSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMub3JkZXIgPT09IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgICBjb25kaXRpb24gPSAhaXNDb2x1bW4gfHwgKGlzQ29sdW1uICYmIGlzQXNjZW5kaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZGl0aW9uID0gdGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZGl0aW9uID8gJyYjOTY2MDsnIDogJyYjOTY1MDsnO1xuICB9XG5cbiAgcHVibGljIGFjdGl2aXR5RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVNlcnZpY2UuaXNFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTogYW55IHtcbiAgICBpZiAoY29sLmNhc2VfZmllbGRfaWQgPT09ICdbQ0FTRV9SRUZFUkVOQ0VdJykge1xuICAgICAgcmV0dXJuIHRoaXMuY2FzZVJlZmVyZW5jZVBpcGUudHJhbnNmb3JtKHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoY29sLmlkKSB7XG4gICAgICAgIGlmIChjb2wuaWQgPT09ICdbQ0FTRV9SRUZFUkVOQ0VdJykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuaWRdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0LmNhc2VfZmllbGRzW2NvbC5jYXNlX2ZpZWxkX2lkXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZHJhZnRQcmVmaXhPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgcmV0dXJuIHJlc3VsdC5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSA/IERSQUZUX1BSRUZJWCA6IHRoaXMuaHlwaGVuYXRlSWZDYXNlUmVmZXJlbmNlT3JHZXQoY29sLCByZXN1bHQpO1xuICB9XG5cbiAgcHVibGljIGlzU29ydEFzY2VuZGluZyhjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50U29ydE9yZGVyID0gdGhpcy5jdXJyZW50U29ydE9yZGVyKGNvbHVtbik7XG5cbiAgICByZXR1cm4gY3VycmVudFNvcnRPcmRlciA9PT0gU29ydE9yZGVyLlVOU09SVEVEIHx8IGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50U29ydE9yZGVyKGNvbHVtbjogU2VhcmNoUmVzdWx0Vmlld0NvbHVtbik6IFNvcnRPcmRlciB7XG5cbiAgICBsZXQgaXNBc2NlbmRpbmcgPSB0cnVlO1xuICAgIGxldCBpc0Rlc2NlbmRpbmcgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBTb3J0T3JkZXIuVU5TT1JURUQ7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBjb25zdCBjb21wYXJpc29uID0gdGhpcy5jb21wYXJhdG9yKGNvbHVtbikuY29tcGFyZSh0aGlzLnJlc3VsdFZpZXcucmVzdWx0c1tpXSwgdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaSArIDFdKTtcbiAgICAgIGlzRGVzY2VuZGluZyA9IGlzRGVzY2VuZGluZyAmJiBjb21wYXJpc29uIDw9IDA7XG4gICAgICBpc0FzY2VuZGluZyA9IGlzQXNjZW5kaW5nICYmIGNvbXBhcmlzb24gPj0gMDtcbiAgICAgIGlmICghaXNBc2NlbmRpbmcgJiYgIWlzRGVzY2VuZGluZykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzQXNjZW5kaW5nID8gU29ydE9yZGVyLkFTQ0VORElORyA6IGlzRGVzY2VuZGluZyA/IFNvcnRPcmRlci5ERVNDRU5ESU5HIDogU29ydE9yZGVyLlVOU09SVEVEO1xuICB9XG5cbiAgcHVibGljIGdldEZpcnN0UmVzdWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSAodGhpcy5zZWxlY3RlZC5wYWdlID8gdGhpcy5zZWxlY3RlZC5wYWdlIDogMSk7XG4gICAgcmV0dXJuICgoY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnaW5hdGlvblBhZ2VTaXplKSArIDEgKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYXN0UmVzdWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSAodGhpcy5zZWxlY3RlZC5wYWdlID8gdGhpcy5zZWxlY3RlZC5wYWdlIDogMSk7XG4gICAgcmV0dXJuICgoY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnaW5hdGlvblBhZ2VTaXplKSArIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCArIHRoaXMuZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGdldFRvdGFsUmVzdWx0cygpOiBudW1iZXIge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5wYWdpbmF0aW9uTWV0YWRhdGEudG90YWxfcmVzdWx0c19jb3VudCArIHRoaXMuZHJhZnRzQ291bnQ7XG5cbiAgICByZXR1cm4gdG90YWwgPj0gdGhpcy5QQUdJTkFUSU9OX01BWF9JVEVNX1JFU1VMVCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlQ2FzZUxpbmtVcmwoY2FzZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1cmwgPSB0aGlzLmNhc2VMaW5rVXJsVGVtcGxhdGU7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2p1cmlzZGljdGlvbl9pZCcsIHRoaXMuanVyaXNkaWN0aW9uLmlkKTtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnY2FzZVR5cGVfaWQnLCB0aGlzLmNhc2VUeXBlLmlkKTtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnY2FzZV9pZCcsIGNhc2VJZCk7XG5cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGN1cnJlbnRQYWdlID4gMSA/IHRoaXMuZHJhZnRzQ291bnQgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBudW1iZXJPZkRyYWZ0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5maWx0ZXIoXyA9PiBfLmNhc2VfaWQuc3RhcnRzV2l0aChEUkFGVF9QUkVGSVgpKS5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgZ29Ub0Nhc2UoY2FzZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNsaWNrQ2FzZS5lbWl0KHtcbiAgICAgIGNhc2VJZFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBjOiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IHZvaWQge1xuICAgIGlmICgkZXZlbnQua2V5ID09PSAnU3BhY2UnKSB7XG4gICAgICBpZiAodGhpcy5icm93c2VyU2VydmljZS5pc0ZpcmVmb3ggfHwgdGhpcy5icm93c2VyU2VydmljZS5pc1NhZmFyaSB8fCB0aGlzLmJyb3dzZXJTZXJ2aWNlLmlzSUVPckVkZ2UpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VTZWxlY3Rpb24oYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8dGFibGUgKm5nSWY9XCJoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKClcIj5cbiAgPGNhcHRpb24+XG4gICAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiIGlkPVwic2VhcmNoLXJlc3VsdC1oZWFkaW5nX190ZXh0XCIgdGFiaW5kZXg9XCItMVwiPnt7IChjYXNlU3RhdGUgPyAnWW91ciBjYXNlcycgOiAnU2VhcmNoIHJlc3VsdCcpIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dCBwYWdpbmF0aW9uLWxpbWl0LXdhcm5pbmdcIiAqbmdJZj1cInBhZ2luYXRpb25MaW1pdEVuZm9yY2VkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj57eydXYXJuaW5nJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICB7eydUaGUgdG90YWwgc2l6ZSBvZiB0aGUgcmVzdWx0IHNldCBpcycgfCBycHhUcmFuc2xhdGV9fSB7e3BhZ2luYXRpb25NZXRhZGF0YS50b3RhbF9yZXN1bHRzX2NvdW50IHwgbnVtYmVyfX0uIHt7J09ubHkgdGhlIGZpcnN0IDEwLDAwMCByZWNvcmRzIGFyZSBhdmFpbGFibGUgZm9yIGRpc3BsYXkuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L3N0cm9uZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpKVwiIGNsYXNzPVwicGFnaW5hdGlvbi10b3BcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFRvdGFsUmVzdWx0cygpICsgJyByZXN1bHRzIGhhdmUgYmVlbiBmb3VuZCcgfCBycHhUcmFuc2xhdGVcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBpZD1cInNlYXJjaC1yZXN1bHQtc3VtbWFyeV9fdGV4dFwiPnt7J1Nob3dpbmcnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRGaXJzdFJlc3VsdCgpIH19PC9zcGFuPlxuICAgICAgICB7eyd0bycgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7IGdldExhc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAge3snb2YnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRUb3RhbFJlc3VsdHMoKSB9fTwvc3Bhbj4ge3sncmVzdWx0cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSkgJiYgc2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwicmVzZXQtc2VsZWN0aW9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXNldCBzZWxlY3Rpb24nIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICA8c3Bhbj48YSBjbGFzcz1cInNlYXJjaC1yZXN1bHQtcmVzZXQtbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oKVwiPnt7J1Jlc2V0IGNhc2Ugc2VsZWN0aW9uJyB8IHJweFRyYW5zbGF0ZX19PC9hPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9jYXB0aW9uPlxuICA8dGhlYWQ+XG4gICAgPHRyIHNjb3BlPVwicm93XCI+XG4gICAgICA8dGggKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2hlY2tib3hcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJzZWxlY3QtYWxsXCIgbmFtZT1cInNlbGVjdC1hbGxcIiB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cInNlbGVjdEFsbCgpXCIgW2NoZWNrZWRdPVwiYWxsT25QYWdlU2VsZWN0ZWQoKVwiIFtkaXNhYmxlZF09XCIhY2FuQW55QmVTaGFyZWQoKVwiIC8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJzZWxlY3QtYWxsXCI+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RoPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgcmVzdWx0Vmlldy5jb2x1bW5zXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWhlYWRlclwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIoJ1NvcnQgYnkgJyArIGNvbC5sYWJlbCArICcgJyArIGlzU29ydEFzY2VuZGluZyhjb2wpPyAnYXNjZW5kaW5nJyA6ICdkZXNjZW5kaW5nJykgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1sYWJlbFwiIChjbGljayk9XCJzb3J0KGNvbClcIj5cbiAgICAgICAgICAgICAgICB7e2NvbC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29tcGFyYXRvcihjb2wpXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1zb3J0XCI+XG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNvcnQoY29sKVwiIGNsYXNzPVwic29ydC13aWRnZXRcIiBbaW5uZXJIVE1MXT1cInNvcnRXaWRnZXQoY29sKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj48L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdJZj1cImFjdGl2aXR5RW5hYmxlZCgpXCIgc3R5bGU9XCJ3aWR0aDogMTEwcHg7XCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keT5cbiAgICA8IS0tIHNvcnRlZCBieSBjb25zdW1lciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uc3VtZXJTb3J0aW5nRW5hYmxlZFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByZXN1bHQgb2YgcmVzdWx0Vmlldy5yZXN1bHRzIHwgcGFnaW5hdGU6IHsgaXRlbXNQZXJQYWdlOiBwYWdpbmF0aW9uUGFnZVNpemUsIGN1cnJlbnRQYWdlOiBzZWxlY3RlZC5wYWdlLCB0b3RhbEl0ZW1zOiByZXN1bHRUb3RhbCB9XCI+XG4gICAgICAgIDx0ZCAqbmdJZj1cInNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jaGVja2JveFwiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIiBuYW1lPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJjaGFuZ2VTZWxlY3Rpb24ocmVzdWx0KVwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQocmVzdWx0KVwiIFtkaXNhYmxlZF09XCIhY2FuQmVTaGFyZWQocmVzdWx0KVwiIC8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tY2VsbFwiICpuZ0Zvcj1cImxldCBjb2wgb2YgcmVzdWx0Vmlldy5jb2x1bW5zOyBsZXQgY29sSW5kZXggPSBpbmRleFwiIHNjb3BlPVwicm93XCI+XG4gICAgICAgICAgPGEgKm5nSWY9XCJjb2xJbmRleCA9PSAwXCIgW3JvdXRlckxpbmtdPVwicHJlcGFyZUNhc2VMaW5rVXJsKHJlc3VsdC5jYXNlX2lkKVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJnbyB0byBjYXNlIHdpdGggQ2FzZSByZWZlcmVuY2U6e3sgcmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlIH19XCIgY2xhc3M9XCJnb3Z1ay1saW5rXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwidGV4dC0xNlwiICpuZ0lmPVwiIWhpZGVSb3dzXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCAqbmdJZj1cImRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOyBlbHNlIGNhc2VfcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3IgW2Nhc2VGaWVsZF09XCJnZXRDb2x1bW5zV2l0aFByZWZpeChyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0sIHJlc3VsdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Nhc2VfcmVmZXJlbmNlPnt7cmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2xJbmRleCAhPSAwXCIgY2xhc3M9XCJ0ZXh0LTE2XCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIj5cbiAgICAgICAgICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJyZXN1bHQuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJJQ09OXCI+PC9jY2QtYWN0aXZpdHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gc29ydGVkIGJ5IHRvb2xraXQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb25zdW1lclNvcnRpbmdFbmFibGVkXCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiByZXN1bHRWaWV3LnJlc3VsdHMgfCBjY2RTb3J0U2VhcmNoUmVzdWx0IDogc29ydFBhcmFtZXRlcnMgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IHBhZ2luYXRpb25QYWdlU2l6ZSwgY3VycmVudFBhZ2U6IHNlbGVjdGVkLnBhZ2UsIHRvdGFsSXRlbXM6IHJlc3VsdFRvdGFsIH1cIj5cbiAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiIG5hbWU9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cImNoYW5nZVNlbGVjdGlvbihyZXN1bHQpXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyZXN1bHQpXCIgW2Rpc2FibGVkXT1cIiFjYW5CZVNoYXJlZChyZXN1bHQpXCIgKGtleXVwKT1cIm9uS2V5VXAoJGV2ZW50LCByZXN1bHQpXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCI+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnM7IGxldCBjb2xJbmRleCA9IGluZGV4XCIgc2NvcGU9XCJyb3dcIj5cblxuICAgICAgICAgIDxhICpuZ0lmPVwiY29sSW5kZXggPT0gMFwiIFtyb3V0ZXJMaW5rXT1cInByZXBhcmVDYXNlTGlua1VybChyZXN1bHQuY2FzZV9pZClcIlxuICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwiZ28gdG8gY2FzZSB3aXRoIENhc2UgcmVmZXJlbmNlOnt7IHJlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZSB9fVwiIGNsYXNzPVwiZ292dWstbGlua1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBjbGFzcz1cInRleHQtMTZcIiAqbmdJZj1cIiFoaWRlUm93c1wiPlxuICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgKm5nSWY9XCJkcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTsgZWxzZSBjYXNlX3JlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiZ2V0Q29sdW1uc1dpdGhQcmVmaXgocmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdLCByZXN1bHQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXNlX3JlZmVyZW5jZT57e3Jlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sSW5kZXggIT0gMFwiIGNsYXNzPVwidGV4dC0xNlwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBjY2RMYWJlbFN1YnN0aXR1dG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCAqbmdJZj1cImFjdGl2aXR5RW5hYmxlZCgpXCI+XG4gICAgICAgICAgPGRpdiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWFjdGl2aXR5IFtjYXNlSWRdPVwicmVzdWx0LmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiSUNPTlwiPjwvY2NkLWFjdGl2aXR5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L3Rib2R5PlxuPC90YWJsZT5cblxuPGNjZC1wYWdpbmF0aW9uXG4gICpuZ0lmPVwiaGFzUmVzdWx0cygpXCJcbiAgKHBhZ2VDaGFuZ2UpPVwiZ29Ub1BhZ2UoJGV2ZW50KVwiXG4gIFt2aXNpYmlsaXR5TGFiZWxdPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXG4gIFthdXRvSGlkZV09XCJ0cnVlXCJcbiAgW21heFNpemVdPVwiOFwiXG4gIFtzY3JlZW5SZWFkZXJQYWdpbmF0aW9uTGFiZWxdPVwiJ1BhZ2luYXRpb24nXCJcbiAgW3NjcmVlblJlYWRlclBhZ2VMYWJlbF09XCJwYWdlXCJcbiAgW3NjcmVlblJlYWRlckN1cnJlbnRMYWJlbF09XCInWW91XFwncmUgb24gcGFnZSdcIj48L2NjZC1wYWdpbmF0aW9uPlxuXG48ZGl2ICpuZ0lmPVwiIShoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKCkpXCIgY2xhc3M9XCJub3RpZmljYXRpb25cIlxuW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInTm8gY2FzZXMgZm91bmQuIFRyeSB1c2luZyBkaWZmZXJlbnQgZmlsdGVycy4nIHwgcnB4VHJhbnNsYXRlXCI+XG57eydObyBjYXNlcyBmb3VuZC4gVHJ5IHVzaW5nIGRpZmZlcmVudCBmaWx0ZXJzLicgfCBycHhUcmFuc2xhdGV9fVxuPC9kaXY+XG4iXX0=
|