@hmcts/ccd-case-ui-toolkit 6.16.0-query-details-navigation → 6.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +5184 -9659
- 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 +5 -7
- package/esm2015/lib/components/banners/alert/alert.module.js +4 -12
- package/esm2015/lib/components/footer/footer.component.js +30 -55
- package/esm2015/lib/components/footer/footers.module.js +4 -12
- package/esm2015/lib/components/form/date-input/date-input.component.js +37 -56
- package/esm2015/lib/components/form/form.module.js +4 -8
- package/esm2015/lib/components/header/header-bar/header-bar.component.js +19 -32
- package/esm2015/lib/components/header/headers.module.js +4 -6
- package/esm2015/lib/components/header/navigation/navigation-item.component.js +7 -9
- package/esm2015/lib/components/header/phase/phase.component.js +9 -20
- package/esm2015/lib/components/tabs/tabs.component.js +5 -8
- package/esm2015/lib/components/tabs/tabs.module.js +2 -6
- package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +9 -12
- package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +8 -11
- package/esm2015/lib/shared/components/activity/activity.component.js +10 -15
- package/esm2015/lib/shared/components/activity/activity.module.js +2 -6
- package/esm2015/lib/shared/components/case-editor/case-create/case-create.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +272 -13
- package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +28 -32
- package/esm2015/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.js +80 -0
- package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +208 -228
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +194 -511
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +33 -37
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +26 -51
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +28 -51
- 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 +2 -3
- 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 +63 -89
- package/esm2015/lib/shared/components/case-history/case-history.module.js +14 -18
- package/esm2015/lib/shared/components/case-list/case-list.component.js +49 -56
- package/esm2015/lib/shared/components/case-list/case-list.module.js +4 -8
- package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +7 -11
- package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +6 -9
- package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +8 -12
- package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +61 -106
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +69 -89
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +23 -45
- package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +14 -19
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +145 -172
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +20 -32
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +79 -107
- package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +49 -79
- package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-viewer.component.js +33 -15
- package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +27 -37
- package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +22 -36
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +40 -63
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +2 -6
- package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +14 -28
- package/esm2015/lib/shared/components/dialogs/dialogs.module.js +2 -6
- package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +14 -28
- package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +14 -28
- package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +14 -28
- package/esm2015/lib/shared/components/error/callback-errors.component.js +23 -39
- package/esm2015/lib/shared/components/error/errors.module.js +2 -6
- package/esm2015/lib/shared/components/error-message/error-message.component.js +11 -14
- package/esm2015/lib/shared/components/error-message/error-message.module.js +4 -8
- package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +20 -39
- package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +18 -34
- package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +19 -34
- package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +25 -50
- package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +20 -39
- package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +18 -34
- package/esm2015/lib/shared/components/event-start/event-start.module.js +4 -8
- package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +17 -27
- package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +2 -6
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +5 -7
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.module.js +2 -6
- package/esm2015/lib/shared/components/pagination/pagination.component.js +67 -84
- package/esm2015/lib/shared/components/pagination/pagination.module.js +4 -8
- package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +31 -50
- package/esm2015/lib/shared/components/palette/base-field/abstract-field-read.component.js +1 -1
- package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +8 -10
- package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +1 -5
- package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +2 -2
- package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +79 -29
- package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +1 -1
- package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.js +37 -62
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +42 -244
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +73 -144
- package/esm2015/lib/shared/components/palette/case-flag/components/index.js +1 -3
- package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +87 -62
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +101 -133
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +35 -55
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +113 -186
- package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +99 -286
- package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag-state.model.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/domain/language.model.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +2 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.js +3 -8
- package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +2 -8
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.js +2 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.js +1 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.js +1 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +2 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.js +4 -8
- package/esm2015/lib/shared/components/palette/case-flag/index.js +1 -2
- package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +50 -121
- package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +141 -250
- package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +57 -68
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +46 -50
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +6 -7
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +20 -22
- package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +17 -29
- package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +25 -31
- package/esm2015/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.js +7 -9
- package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +20 -32
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.js +7 -9
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +15 -24
- package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.js +7 -9
- package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +14 -19
- package/esm2015/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.js +7 -9
- package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +15 -20
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +65 -87
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +46 -60
- package/esm2015/lib/shared/components/palette/index.js +2 -3
- package/esm2015/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.js +45 -22
- package/esm2015/lib/shared/components/palette/label/label-field.component.js +5 -24
- package/esm2015/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.js +2 -4
- package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +1 -1
- package/esm2015/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.js +2 -4
- package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +1 -1
- package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +2 -4
- package/esm2015/lib/shared/components/palette/markdown/index.js +1 -2
- package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +11 -15
- package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +14 -19
- package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +25 -43
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +6 -7
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +29 -41
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +35 -48
- package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +50 -88
- package/esm2015/lib/shared/components/palette/palette.module.js +82 -178
- package/esm2015/lib/shared/components/palette/palette.service.js +2 -5
- package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/text/read-text-field.component.js +5 -7
- package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/text-area/read-text-area-field.component.js +5 -7
- package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +12 -16
- package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +5 -7
- package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +15 -20
- package/esm2015/lib/shared/components/search-filters/search-filters.component.js +35 -60
- package/esm2015/lib/shared/components/search-filters/search-filters.module.js +10 -14
- package/esm2015/lib/shared/components/search-result/search-result.component.js +80 -102
- package/esm2015/lib/shared/components/search-result/search-result.module.js +13 -16
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +52 -90
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +9 -13
- package/esm2015/lib/shared/directives/conditional-show/conditional-show-form.directive.js +2 -2
- package/esm2015/lib/shared/domain/case-edit/case-edit.model.js +2 -0
- package/esm2015/lib/shared/domain/case-edit/index.js +2 -0
- package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +1 -1
- package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +2 -17
- package/esm2015/lib/shared/domain/case-view/case-view-trigger.model.js +2 -1
- package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +1 -3
- package/esm2015/lib/shared/domain/index.js +2 -1
- package/esm2015/lib/shared/fixture/shared.test.fixture.js +1 -2
- package/esm2015/lib/shared/pipes/index.js +2 -3
- package/esm2015/lib/shared/pipes/pipes.module.js +5 -9
- package/esm2015/lib/shared/services/alert/alert.service.js +8 -28
- package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +4 -10
- package/esm2015/lib/shared/services/request/request.options.builder.js +1 -7
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +6431 -10499
- 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 +1 -2
- package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
- package/lib/components/footer/footers.module.d.ts +1 -2
- package/lib/components/footer/footers.module.d.ts.map +1 -1
- package/lib/components/form/form.module.d.ts +1 -2
- package/lib/components/form/form.module.d.ts.map +1 -1
- package/lib/components/header/headers.module.d.ts +1 -2
- 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 +1 -2
- package/lib/components/tabs/tabs.module.d.ts.map +1 -1
- package/lib/shared/components/activity/activity.module.d.ts +1 -2
- package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +65 -10
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts +0 -1
- package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts +8 -0
- package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts.map +1 -0
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +10 -9
- 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 +7 -56
- 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 +13 -13
- 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-history/case-history.module.d.ts +1 -2
- 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 +1 -2
- 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 +1 -2
- 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 +1 -2
- 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-full-access-view/case-full-access-view.component.d.ts +7 -5
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.component.d.ts +6 -3
- package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -6
- 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 +1 -2
- 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 +1 -2
- package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
- package/lib/shared/components/error/callback-errors.component.d.ts +2 -3
- package/lib/shared/components/error/callback-errors.component.d.ts.map +1 -1
- package/lib/shared/components/error/errors.module.d.ts +1 -2
- package/lib/shared/components/error/errors.module.d.ts.map +1 -1
- package/lib/shared/components/error-message/error-message.module.d.ts +1 -2
- 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 +1 -2
- 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 +1 -2
- 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 +1 -2
- package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts.map +1 -1
- package/lib/shared/components/pagination/pagination.module.d.ts +1 -2
- package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts +0 -1
- 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.component.d.ts +9 -7
- package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +4 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +5 -20
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/index.d.ts +0 -2
- package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +8 -4
- 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/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +8 -10
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +8 -12
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +9 -19
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +10 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +0 -6
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +0 -1
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +3 -8
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/index.d.ts +1 -7
- package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +0 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +1 -3
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +2 -3
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +3 -7
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/index.d.ts +0 -1
- package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +8 -11
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +24 -23
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -3
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/index.d.ts +1 -2
- package/lib/shared/components/palette/index.d.ts.map +1 -1
- package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts +10 -9
- package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/label/label-field.component.d.ts +1 -2
- 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.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +0 -4
- package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/index.d.ts +0 -1
- package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.module.d.ts +117 -135
- 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 +1 -2
- package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
- package/lib/shared/components/search-result/search-result.component.d.ts +1 -1
- package/lib/shared/components/search-result/search-result.module.d.ts +2 -3
- 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 +1 -2
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
- package/lib/shared/domain/case-edit/case-edit.model.d.ts +26 -0
- package/lib/shared/domain/case-edit/case-edit.model.d.ts.map +1 -0
- package/lib/shared/domain/case-edit/index.d.ts +2 -0
- package/lib/shared/domain/case-edit/index.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -0
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
- package/lib/shared/domain/case-flag/flag-type.model.d.ts +1 -6
- package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +1 -0
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts.map +1 -1
- package/lib/shared/domain/definition/display-context-enum.model.d.ts +1 -3
- package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
- package/lib/shared/domain/index.d.ts +1 -0
- package/lib/shared/domain/index.d.ts.map +1 -1
- package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
- package/lib/shared/pipes/index.d.ts +1 -2
- package/lib/shared/pipes/index.d.ts.map +1 -1
- package/lib/shared/pipes/pipes.module.d.ts +2 -3
- package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
- package/lib/shared/services/alert/alert.service.d.ts +4 -8
- package/lib/shared/services/alert/alert.service.d.ts.map +1 -1
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +2 -3
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
- package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
- package/package.json +1 -1
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.js +0 -7
- package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +0 -19
- package/esm2015/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.js +0 -181
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.js +0 -292
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.js +0 -9
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.js +0 -12
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.js +0 -41
- package/esm2015/lib/shared/components/palette/case-flag/pipes/index.js +0 -5
- package/esm2015/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.js +0 -41
- package/esm2015/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.js +0 -109
- package/esm2015/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.js +0 -77
- package/esm2015/lib/shared/components/palette/markdown/markdown-component.module.js +0 -42
- package/esm2015/lib/shared/components/palette/query-management/__mocks__/index.js +0 -164
- package/esm2015/lib/shared/components/palette/query-management/components/index.js +0 -10
- package/esm2015/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.js +0 -64
- package/esm2015/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.js +0 -171
- package/esm2015/lib/shared/components/palette/query-management/components/query-create/query-create.component.js +0 -18
- package/esm2015/lib/shared/components/palette/query-management/components/query-details/query-details.component.js +0 -56
- package/esm2015/lib/shared/components/palette/query-management/components/query-details-table/query-details-table.component.js +0 -147
- package/esm2015/lib/shared/components/palette/query-management/components/query-list/query-list.component.js +0 -175
- package/esm2015/lib/shared/components/palette/query-management/components/query-management-error-messages/query-management-error-message.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.js +0 -66
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.js +0 -214
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.js +0 -167
- package/esm2015/lib/shared/components/palette/query-management/index.js +0 -6
- package/esm2015/lib/shared/components/palette/query-management/models/index.js +0 -7
- package/esm2015/lib/shared/components/palette/query-management/models/party-messages/party-message.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/models/party-messages/party-messages-group.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.js +0 -18
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.js +0 -35
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-response-status.enum.js +0 -7
- package/esm2015/lib/shared/components/palette/query-management/read-query-management-field.component.js +0 -83
- package/esm2015/lib/shared/components/palette/query-management/utils/query-management.utils.js +0 -12
- package/esm2015/lib/shared/components/palette/query-management/write-query-management-field.component.js +0 -60
- package/esm2015/lib/shared/domain/alert/alert-status-params.model.js +0 -2
- package/esm2015/lib/shared/domain/case-view/case-view-event-ids.enum.js +0 -6
- package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +0 -16
- package/esm2015/lib/shared/pipes/generic/index.js +0 -2
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts +0 -6
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts.map +0 -1
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +0 -11
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +0 -28
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +0 -27
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +0 -8
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +0 -11
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +0 -19
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +0 -18
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +0 -25
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +0 -21
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +0 -13
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +0 -5
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/index.d.ts +0 -10
- package/lib/shared/components/palette/query-management/components/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +0 -10
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +0 -18
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-create/query-create.component.d.ts +0 -9
- package/lib/shared/components/palette/query-management/components/query-create/query-create.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +0 -11
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-details-table/query-details-table.component.d.ts +0 -12
- package/lib/shared/components/palette/query-management/components/query-details-table/query-details-table.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +0 -18
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-management-error-messages/query-management-error-message.model.d.ts +0 -5
- package/lib/shared/components/palette/query-management/components/query-management-error-messages/query-management-error-message.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +0 -17
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +0 -8
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +0 -18
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/index.d.ts +0 -6
- package/lib/shared/components/palette/query-management/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/index.d.ts +0 -7
- package/lib/shared/components/palette/query-management/models/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/party-messages/party-message.model.d.ts +0 -14
- package/lib/shared/components/palette/query-management/models/party-messages/party-message.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/party-messages/party-messages-group.model.d.ts +0 -7
- package/lib/shared/components/palette/query-management/models/party-messages/party-messages-group.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +0 -7
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +0 -10
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +0 -21
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-response-status.enum.d.ts +0 -6
- package/lib/shared/components/palette/query-management/models/query-list/query-list-response-status.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +0 -17
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +0 -7
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/write-query-management-field.component.d.ts +0 -16
- package/lib/shared/components/palette/query-management/write-query-management-field.component.d.ts.map +0 -1
- package/lib/shared/domain/alert/alert-status-params.model.d.ts +0 -6
- package/lib/shared/domain/alert/alert-status-params.model.d.ts.map +0 -1
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +0 -5
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +0 -1
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +0 -8
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +0 -1
- package/lib/shared/pipes/generic/index.d.ts +0 -2
- package/lib/shared/pipes/generic/index.d.ts.map +0 -1
package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js
CHANGED
|
@@ -1,405 +1,287 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { CaseFieldService, FieldsUtils, FormErrorService, FormValueService, OrderService, ProfileNotifier, SessionStorageService } from '../../../services';
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { CaseFieldService, FieldsUtils, OrderService, ProfileNotifier, } from '../../../services';
|
|
6
4
|
import { CallbackErrorsComponent } from '../../error';
|
|
7
5
|
import { PaletteContext } from '../../palette';
|
|
8
6
|
import { CaseEditPageComponent } from '../case-edit-page/case-edit-page.component';
|
|
9
7
|
import { CaseEditComponent } from '../case-edit/case-edit.component';
|
|
10
|
-
import { Confirmation } from '../domain';
|
|
11
|
-
import { CaseNotifier } from '../services';
|
|
12
|
-
import { CaseEditSubmitTitles } from './case-edit-submit-titles.enum';
|
|
13
8
|
import * as i0 from "@angular/core";
|
|
14
9
|
import * as i1 from "../case-edit/case-edit.component";
|
|
15
10
|
import * as i2 from "../../../services";
|
|
16
11
|
import * as i3 from "@angular/router";
|
|
17
|
-
|
|
18
|
-
function CaseEditSubmitComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
+
function CaseEditSubmitComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
19
13
|
i0.ɵɵelement(0, "div");
|
|
20
14
|
} }
|
|
21
|
-
function
|
|
15
|
+
function CaseEditSubmitComponent_div_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
22
16
|
i0.ɵɵelement(0, "ccd-markdown", 14);
|
|
23
17
|
i0.ɵɵpipe(1, "ccdCaseTitle");
|
|
24
18
|
} if (rf & 2) {
|
|
25
19
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
26
20
|
i0.ɵɵproperty("content", i0.ɵɵpipeBind3(1, 1, ctx_r4.getCaseTitle(), ctx_r4.contextFields, ctx_r4.editForm.controls["data"]));
|
|
27
21
|
} }
|
|
28
|
-
function
|
|
22
|
+
function CaseEditSubmitComponent_div_0_ng_template_6_h2_0_Template(rf, ctx) { if (rf & 1) {
|
|
29
23
|
i0.ɵɵelementStart(0, "h2", 16);
|
|
30
24
|
i0.ɵɵtext(1);
|
|
31
25
|
i0.ɵɵpipe(2, "ccdCaseReference");
|
|
32
26
|
i0.ɵɵelementEnd();
|
|
33
27
|
} if (rf & 2) {
|
|
34
|
-
const
|
|
28
|
+
const ctx_r10 = i0.ɵɵnextContext(3);
|
|
35
29
|
i0.ɵɵadvance(1);
|
|
36
|
-
i0.ɵɵtextInterpolate1("#", i0.ɵɵpipeBind1(2, 1,
|
|
30
|
+
i0.ɵɵtextInterpolate1("#", i0.ɵɵpipeBind1(2, 1, ctx_r10.getCaseId()), "");
|
|
37
31
|
} }
|
|
38
|
-
function
|
|
39
|
-
i0.ɵɵtemplate(0,
|
|
32
|
+
function CaseEditSubmitComponent_div_0_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_ng_template_6_h2_0_Template, 3, 3, "h2", 15);
|
|
40
34
|
} if (rf & 2) {
|
|
41
35
|
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
42
36
|
i0.ɵɵproperty("ngIf", ctx_r6.getCaseId());
|
|
43
37
|
} }
|
|
44
|
-
function
|
|
45
|
-
i0.ɵɵelementStart(0, "
|
|
46
|
-
i0.ɵɵ
|
|
47
|
-
i0.ɵɵtext(2);
|
|
48
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
49
|
-
i0.ɵɵelementEnd();
|
|
50
|
-
i0.ɵɵelementStart(4, "div", 19);
|
|
51
|
-
i0.ɵɵelementStart(5, "p");
|
|
52
|
-
i0.ɵɵtext(6);
|
|
53
|
-
i0.ɵɵpipe(7, "rpxTranslate");
|
|
54
|
-
i0.ɵɵelementEnd();
|
|
55
|
-
i0.ɵɵelementStart(8, "p");
|
|
56
|
-
i0.ɵɵelementStart(9, "a", 20);
|
|
57
|
-
i0.ɵɵtext(10);
|
|
58
|
-
i0.ɵɵpipe(11, "rpxTranslate");
|
|
59
|
-
i0.ɵɵelementEnd();
|
|
60
|
-
i0.ɵɵtext(12);
|
|
61
|
-
i0.ɵɵpipe(13, "rpxTranslate");
|
|
62
|
-
i0.ɵɵelementEnd();
|
|
63
|
-
i0.ɵɵelementEnd();
|
|
64
|
-
i0.ɵɵelementEnd();
|
|
65
|
-
} if (rf & 2) {
|
|
66
|
-
i0.ɵɵadvance(2);
|
|
67
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "Something went wrong"), " ");
|
|
68
|
-
i0.ɵɵadvance(4);
|
|
69
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 6, "We're working to fix the problem. Try again shortly."));
|
|
70
|
-
i0.ɵɵadvance(4);
|
|
71
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 8, "Contact us"));
|
|
72
|
-
i0.ɵɵadvance(2);
|
|
73
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 10, "if you're still having problems"), ".");
|
|
74
|
-
} }
|
|
75
|
-
function CaseEditSubmitComponent_div_0_div_10_ul_6_li_1_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
-
i0.ɵɵelementStart(0, "li", 25);
|
|
77
|
-
i0.ɵɵtext(1);
|
|
78
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
79
|
-
i0.ɵɵelementEnd();
|
|
80
|
-
} if (rf & 2) {
|
|
81
|
-
const fieldError_r15 = ctx.$implicit;
|
|
82
|
-
i0.ɵɵadvance(1);
|
|
83
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, fieldError_r15.message));
|
|
84
|
-
} }
|
|
85
|
-
function CaseEditSubmitComponent_div_0_div_10_ul_6_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
-
i0.ɵɵelementStart(0, "ul", 23);
|
|
87
|
-
i0.ɵɵtemplate(1, CaseEditSubmitComponent_div_0_div_10_ul_6_li_1_Template, 3, 3, "li", 24);
|
|
88
|
-
i0.ɵɵelementEnd();
|
|
89
|
-
} if (rf & 2) {
|
|
90
|
-
const ctx_r13 = i0.ɵɵnextContext(3);
|
|
91
|
-
i0.ɵɵadvance(1);
|
|
92
|
-
i0.ɵɵproperty("ngForOf", ctx_r13.error.details.field_errors);
|
|
93
|
-
} }
|
|
94
|
-
function CaseEditSubmitComponent_div_0_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
-
i0.ɵɵelementStart(0, "div", 17);
|
|
96
|
-
i0.ɵɵelementStart(1, "h3", 21);
|
|
97
|
-
i0.ɵɵtext(2);
|
|
98
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
99
|
-
i0.ɵɵelementEnd();
|
|
100
|
-
i0.ɵɵelementStart(4, "p");
|
|
101
|
-
i0.ɵɵtext(5);
|
|
102
|
-
i0.ɵɵelementEnd();
|
|
103
|
-
i0.ɵɵtemplate(6, CaseEditSubmitComponent_div_0_div_10_ul_6_Template, 2, 1, "ul", 22);
|
|
104
|
-
i0.ɵɵelementEnd();
|
|
105
|
-
} if (rf & 2) {
|
|
106
|
-
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
107
|
-
i0.ɵɵadvance(2);
|
|
108
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, "The event could not be created"), " ");
|
|
109
|
-
i0.ɵɵadvance(3);
|
|
110
|
-
i0.ɵɵtextInterpolate(ctx_r8.error.message);
|
|
111
|
-
i0.ɵɵadvance(1);
|
|
112
|
-
i0.ɵɵproperty("ngIf", ctx_r8.error.details == null ? null : ctx_r8.error.details.field_errors);
|
|
113
|
-
} }
|
|
114
|
-
function CaseEditSubmitComponent_div_0_ng_container_13_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
-
i0.ɵɵelementStart(0, "span", 29);
|
|
116
|
-
i0.ɵɵtext(1);
|
|
117
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
38
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵelementStart(0, "span", 20);
|
|
40
|
+
i0.ɵɵtext(1, "Check the information below carefully.");
|
|
118
41
|
i0.ɵɵelementEnd();
|
|
119
|
-
} if (rf & 2) {
|
|
120
|
-
i0.ɵɵadvance(1);
|
|
121
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Check the information below carefully."));
|
|
122
42
|
} }
|
|
123
|
-
function
|
|
124
|
-
i0.ɵɵelementStart(0, "th",
|
|
125
|
-
i0.ɵɵelementStart(1, "span",
|
|
43
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_ng_container_1_th_2_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
+
i0.ɵɵelementStart(0, "th", 27);
|
|
45
|
+
i0.ɵɵelementStart(1, "span", 20);
|
|
126
46
|
i0.ɵɵtext(2);
|
|
127
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
128
47
|
i0.ɵɵelementEnd();
|
|
129
48
|
i0.ɵɵelementEnd();
|
|
130
49
|
} if (rf & 2) {
|
|
131
|
-
const
|
|
50
|
+
const field_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
132
51
|
i0.ɵɵadvance(2);
|
|
133
|
-
i0.ɵɵtextInterpolate(
|
|
52
|
+
i0.ɵɵtextInterpolate(field_r16.label);
|
|
134
53
|
} }
|
|
135
|
-
function
|
|
136
|
-
const
|
|
54
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_ng_container_1_a_6_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
137
56
|
i0.ɵɵelementStart(0, "a", 13);
|
|
138
|
-
i0.ɵɵlistener("click", function
|
|
139
|
-
i0.ɵɵelementStart(1, "span",
|
|
140
|
-
i0.ɵɵ
|
|
141
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
142
|
-
i0.ɵɵtext(4);
|
|
143
|
-
i0.ɵɵpipe(5, "rpxTranslate");
|
|
57
|
+
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_ng_container_1_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r23); const page_r13 = i0.ɵɵnextContext(4).$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return ctx_r21.navigateToPage(page_r13.id); });
|
|
58
|
+
i0.ɵɵelementStart(1, "span", 20);
|
|
59
|
+
i0.ɵɵtext(2, "Change");
|
|
144
60
|
i0.ɵɵelementEnd();
|
|
145
61
|
i0.ɵɵelementEnd();
|
|
146
62
|
} if (rf & 2) {
|
|
147
|
-
const
|
|
63
|
+
const field_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
148
64
|
i0.ɵɵadvance(1);
|
|
149
|
-
i0.ɵɵ
|
|
150
|
-
i0.ɵɵadvance(3);
|
|
151
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 7, "Change"), " ");
|
|
65
|
+
i0.ɵɵattributeInterpolate1("aria-label", "Change ", field_r16.label, "");
|
|
152
66
|
} }
|
|
153
|
-
function
|
|
67
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
154
68
|
i0.ɵɵelementContainerStart(0);
|
|
155
|
-
i0.ɵɵelementStart(1, "
|
|
156
|
-
i0.ɵɵtemplate(2,
|
|
69
|
+
i0.ɵɵelementStart(1, "tr", 21);
|
|
70
|
+
i0.ɵɵtemplate(2, CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_ng_container_1_th_2_Template, 3, 1, "th", 22);
|
|
71
|
+
i0.ɵɵelementStart(3, "td", 23);
|
|
72
|
+
i0.ɵɵelement(4, "ccd-field-read", 24);
|
|
157
73
|
i0.ɵɵelementEnd();
|
|
158
|
-
i0.ɵɵ
|
|
159
|
-
|
|
160
|
-
const field_r21 = i0.ɵɵnextContext(2).$implicit;
|
|
161
|
-
const ctx_r24 = i0.ɵɵnextContext(5);
|
|
162
|
-
i0.ɵɵadvance(2);
|
|
163
|
-
i0.ɵɵproperty("ngIf", ctx_r24.isChangeAllowed(field_r21));
|
|
164
|
-
} }
|
|
165
|
-
const _c0 = function (a0) { return { "no-bottom-border": a0 }; };
|
|
166
|
-
function CaseEditSubmitComponent_div_0_ng_container_13_ng_container_8_ng_container_1_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
-
i0.ɵɵelementContainerStart(0);
|
|
168
|
-
i0.ɵɵelementStart(1, "tr", 30);
|
|
169
|
-
i0.ɵɵtemplate(2, CaseEditSubmitComponent_div_0_ng_container_13_ng_container_8_ng_container_1_ng_container_1_ng_container_1_th_2_Template, 4, 3, "th", 31);
|
|
170
|
-
i0.ɵɵelementStart(3, "td", 32);
|
|
171
|
-
i0.ɵɵelement(4, "ccd-field-read", 33);
|
|
74
|
+
i0.ɵɵelementStart(5, "td", 25);
|
|
75
|
+
i0.ɵɵtemplate(6, CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_ng_container_1_a_6_Template, 3, 1, "a", 26);
|
|
172
76
|
i0.ɵɵelementEnd();
|
|
173
|
-
i0.ɵɵtemplate(5, CaseEditSubmitComponent_div_0_ng_container_13_ng_container_8_ng_container_1_ng_container_1_ng_container_1_ng_container_5_Template, 3, 1, "ng-container", 0);
|
|
174
77
|
i0.ɵɵelementEnd();
|
|
175
78
|
i0.ɵɵelementContainerEnd();
|
|
176
79
|
} if (rf & 2) {
|
|
177
|
-
const
|
|
178
|
-
const
|
|
179
|
-
i0.ɵɵadvance(1);
|
|
180
|
-
i0.ɵɵproperty("caseField", field_r21)("hidden", field_r21.hidden)("formGroup", ctx_r22.editForm.controls["data"])("contextFields", ctx_r22.contextFields);
|
|
80
|
+
const field_r16 = i0.ɵɵnextContext().$implicit;
|
|
81
|
+
const ctx_r17 = i0.ɵɵnextContext(5);
|
|
181
82
|
i0.ɵɵadvance(1);
|
|
182
|
-
i0.ɵɵproperty("
|
|
83
|
+
i0.ɵɵproperty("caseField", field_r16)("hidden", field_r16.hidden)("formGroup", ctx_r17.editForm.controls["data"])("contextFields", ctx_r17.contextFields);
|
|
183
84
|
i0.ɵɵadvance(1);
|
|
184
|
-
i0.ɵɵproperty("
|
|
185
|
-
i0.ɵɵattribute("colspan", ctx_r22.isLabel(field_r21) ? "2" : "1");
|
|
85
|
+
i0.ɵɵproperty("ngIf", !ctx_r17.isLabel(field_r16) && !ctx_r17.caseEdit.isCaseFlagSubmission);
|
|
186
86
|
i0.ɵɵadvance(1);
|
|
187
|
-
i0.ɵɵ
|
|
87
|
+
i0.ɵɵattribute("colspan", ctx_r17.isLabel(field_r16) ? "2" : "1");
|
|
188
88
|
i0.ɵɵadvance(1);
|
|
189
|
-
i0.ɵɵproperty("
|
|
89
|
+
i0.ɵɵproperty("formGroup", ctx_r17.editForm.controls["data"])("topLevelFormGroup", ctx_r17.editForm.controls["data"])("caseField", ctx_r17.summaryCaseField(field_r16))("context", ctx_r17.paletteContext)("caseFields", ctx_r17.contextFields);
|
|
90
|
+
i0.ɵɵadvance(2);
|
|
91
|
+
i0.ɵɵproperty("ngIf", ctx_r17.isChangeAllowed(field_r16));
|
|
190
92
|
} }
|
|
191
|
-
function
|
|
93
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
192
94
|
i0.ɵɵelementContainerStart(0);
|
|
193
|
-
i0.ɵɵtemplate(1,
|
|
95
|
+
i0.ɵɵtemplate(1, CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_ng_container_1_Template, 7, 12, "ng-container", 0);
|
|
194
96
|
i0.ɵɵelementContainerEnd();
|
|
195
97
|
} if (rf & 2) {
|
|
196
|
-
const
|
|
197
|
-
const
|
|
98
|
+
const field_r16 = ctx.$implicit;
|
|
99
|
+
const ctx_r15 = i0.ɵɵnextContext(5);
|
|
198
100
|
i0.ɵɵadvance(1);
|
|
199
|
-
i0.ɵɵproperty("ngIf",
|
|
101
|
+
i0.ɵɵproperty("ngIf", ctx_r15.canShowFieldInCYA(field_r16));
|
|
200
102
|
} }
|
|
201
|
-
const
|
|
202
|
-
function
|
|
103
|
+
const _c0 = function (a0, a4) { return [a0, false, undefined, true, a4]; };
|
|
104
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
203
105
|
i0.ɵɵelementContainerStart(0);
|
|
204
|
-
i0.ɵɵtemplate(1,
|
|
106
|
+
i0.ɵɵtemplate(1, CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_ng_container_1_Template, 2, 1, "ng-container", 19);
|
|
205
107
|
i0.ɵɵpipe(2, "ccdCYAPageLabelFilter");
|
|
206
108
|
i0.ɵɵpipe(3, "ccdReadFieldsFilter");
|
|
207
109
|
i0.ɵɵpipe(4, "ccdPageFields");
|
|
208
110
|
i0.ɵɵelementContainerEnd();
|
|
209
111
|
} if (rf & 2) {
|
|
210
|
-
const
|
|
211
|
-
const
|
|
112
|
+
const page_r13 = i0.ɵɵnextContext().$implicit;
|
|
113
|
+
const ctx_r14 = i0.ɵɵnextContext(3);
|
|
212
114
|
i0.ɵɵadvance(1);
|
|
213
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBindV(3, 3, i0.ɵɵpureFunction2(12,
|
|
115
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBindV(3, 3, i0.ɵɵpureFunction2(12, _c0, i0.ɵɵpipeBind2(4, 9, page_r13, ctx_r14.editForm), ctx_r14.editForm.controls["data"]))));
|
|
214
116
|
} }
|
|
215
|
-
function
|
|
117
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
216
118
|
i0.ɵɵelementContainerStart(0);
|
|
217
|
-
i0.ɵɵtemplate(1,
|
|
119
|
+
i0.ɵɵtemplate(1, CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_ng_container_1_Template, 5, 15, "ng-container", 0);
|
|
218
120
|
i0.ɵɵelementContainerEnd();
|
|
219
121
|
} if (rf & 2) {
|
|
220
|
-
const
|
|
221
|
-
const
|
|
122
|
+
const page_r13 = ctx.$implicit;
|
|
123
|
+
const ctx_r12 = i0.ɵɵnextContext(3);
|
|
222
124
|
i0.ɵɵadvance(1);
|
|
223
|
-
i0.ɵɵproperty("ngIf",
|
|
125
|
+
i0.ɵɵproperty("ngIf", ctx_r12.isShown(page_r13));
|
|
224
126
|
} }
|
|
225
|
-
function
|
|
127
|
+
function CaseEditSubmitComponent_div_0_ng_container_11_Template(rf, ctx) { if (rf & 1) {
|
|
226
128
|
i0.ɵɵelementContainerStart(0);
|
|
227
129
|
i0.ɵɵelementStart(1, "h2", 16);
|
|
228
130
|
i0.ɵɵtext(2);
|
|
229
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
230
131
|
i0.ɵɵelementEnd();
|
|
231
|
-
i0.ɵɵtemplate(
|
|
232
|
-
i0.ɵɵelementStart(
|
|
233
|
-
i0.ɵɵ
|
|
234
|
-
i0.ɵɵ
|
|
235
|
-
i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_13_ng_container_8_Template, 2, 1, "ng-container", 28);
|
|
132
|
+
i0.ɵɵtemplate(3, CaseEditSubmitComponent_div_0_ng_container_11_span_3_Template, 2, 0, "span", 17);
|
|
133
|
+
i0.ɵɵelementStart(4, "table", 18);
|
|
134
|
+
i0.ɵɵelementStart(5, "tbody");
|
|
135
|
+
i0.ɵɵtemplate(6, CaseEditSubmitComponent_div_0_ng_container_11_ng_container_6_Template, 2, 1, "ng-container", 19);
|
|
236
136
|
i0.ɵɵelementEnd();
|
|
237
137
|
i0.ɵɵelementEnd();
|
|
238
138
|
i0.ɵɵelementContainerEnd();
|
|
239
139
|
} if (rf & 2) {
|
|
240
|
-
const
|
|
140
|
+
const ctx_r7 = i0.ɵɵnextContext(2);
|
|
241
141
|
i0.ɵɵadvance(2);
|
|
242
|
-
i0.ɵɵtextInterpolate(
|
|
243
|
-
i0.ɵɵadvance(2);
|
|
244
|
-
i0.ɵɵproperty("ngIf", !ctx_r9.caseFlagField);
|
|
142
|
+
i0.ɵɵtextInterpolate(ctx_r7.pageTitle);
|
|
245
143
|
i0.ɵɵadvance(1);
|
|
246
|
-
i0.ɵɵ
|
|
144
|
+
i0.ɵɵproperty("ngIf", !ctx_r7.caseEdit.isCaseFlagSubmission);
|
|
247
145
|
i0.ɵɵadvance(3);
|
|
248
|
-
i0.ɵɵproperty("ngForOf",
|
|
146
|
+
i0.ɵɵproperty("ngForOf", ctx_r7.wizard.pages);
|
|
249
147
|
} }
|
|
250
|
-
function
|
|
251
|
-
i0.ɵɵelementStart(0, "tr",
|
|
252
|
-
i0.ɵɵelementStart(1, "th",
|
|
148
|
+
function CaseEditSubmitComponent_div_0_ng_container_12_ng_container_3_tr_3_Template(rf, ctx) { if (rf & 1) {
|
|
149
|
+
i0.ɵɵelementStart(0, "tr", 32);
|
|
150
|
+
i0.ɵɵelementStart(1, "th", 33);
|
|
253
151
|
i0.ɵɵtext(2);
|
|
254
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
255
152
|
i0.ɵɵelementEnd();
|
|
256
|
-
i0.ɵɵelementStart(
|
|
257
|
-
i0.ɵɵelement(
|
|
153
|
+
i0.ɵɵelementStart(3, "td", 34);
|
|
154
|
+
i0.ɵɵelement(4, "ccd-field-read", 35);
|
|
258
155
|
i0.ɵɵelementEnd();
|
|
259
156
|
i0.ɵɵelementEnd();
|
|
260
157
|
} if (rf & 2) {
|
|
261
|
-
const
|
|
262
|
-
const
|
|
263
|
-
i0.ɵɵproperty("caseField",
|
|
158
|
+
const field_r28 = i0.ɵɵnextContext().$implicit;
|
|
159
|
+
const ctx_r29 = i0.ɵɵnextContext(3);
|
|
160
|
+
i0.ɵɵproperty("caseField", field_r28)("formGroup", ctx_r29.editForm.controls["data"])("contextFields", ctx_r29.contextFields);
|
|
264
161
|
i0.ɵɵadvance(2);
|
|
265
|
-
i0.ɵɵtextInterpolate(
|
|
266
|
-
i0.ɵɵadvance(
|
|
267
|
-
i0.ɵɵproperty("formGroup",
|
|
162
|
+
i0.ɵɵtextInterpolate(field_r28.label);
|
|
163
|
+
i0.ɵɵadvance(2);
|
|
164
|
+
i0.ɵɵproperty("formGroup", ctx_r29.editForm.controls["data"])("caseField", ctx_r29.summaryCaseField(field_r28));
|
|
268
165
|
} }
|
|
269
|
-
function
|
|
270
|
-
i0.ɵɵelementStart(0, "tr",
|
|
271
|
-
i0.ɵɵelementStart(1, "td",
|
|
272
|
-
i0.ɵɵelement(2, "ccd-field-read",
|
|
166
|
+
function CaseEditSubmitComponent_div_0_ng_container_12_ng_container_3_tr_4_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
+
i0.ɵɵelementStart(0, "tr", 36);
|
|
168
|
+
i0.ɵɵelementStart(1, "td", 37);
|
|
169
|
+
i0.ɵɵelement(2, "ccd-field-read", 38);
|
|
273
170
|
i0.ɵɵelementEnd();
|
|
274
171
|
i0.ɵɵelementEnd();
|
|
275
172
|
} if (rf & 2) {
|
|
276
|
-
const
|
|
277
|
-
const
|
|
278
|
-
i0.ɵɵproperty("caseField",
|
|
173
|
+
const field_r28 = i0.ɵɵnextContext().$implicit;
|
|
174
|
+
const ctx_r30 = i0.ɵɵnextContext(3);
|
|
175
|
+
i0.ɵɵproperty("caseField", field_r28)("formGroup", ctx_r30.editForm.controls["data"])("contextFields", ctx_r30.contextFields);
|
|
279
176
|
i0.ɵɵadvance(2);
|
|
280
|
-
i0.ɵɵproperty("formGroup",
|
|
177
|
+
i0.ɵɵproperty("formGroup", ctx_r30.editForm.controls["data"])("caseField", ctx_r30.summaryCaseField(field_r28))("caseFields", ctx_r30.contextFields);
|
|
281
178
|
} }
|
|
282
|
-
function
|
|
179
|
+
function CaseEditSubmitComponent_div_0_ng_container_12_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
283
180
|
i0.ɵɵelementContainerStart(0);
|
|
284
|
-
i0.ɵɵelementContainerStart(1,
|
|
181
|
+
i0.ɵɵelementContainerStart(1, 29);
|
|
285
182
|
i0.ɵɵpipe(2, "ccdIsCompound");
|
|
286
|
-
i0.ɵɵtemplate(3,
|
|
287
|
-
i0.ɵɵtemplate(4,
|
|
183
|
+
i0.ɵɵtemplate(3, CaseEditSubmitComponent_div_0_ng_container_12_ng_container_3_tr_3_Template, 5, 6, "tr", 30);
|
|
184
|
+
i0.ɵɵtemplate(4, CaseEditSubmitComponent_div_0_ng_container_12_ng_container_3_tr_4_Template, 3, 6, "tr", 31);
|
|
288
185
|
i0.ɵɵelementContainerEnd();
|
|
289
186
|
i0.ɵɵelementContainerEnd();
|
|
290
187
|
} if (rf & 2) {
|
|
291
|
-
const
|
|
188
|
+
const field_r28 = ctx.$implicit;
|
|
292
189
|
i0.ɵɵadvance(1);
|
|
293
|
-
i0.ɵɵproperty("ngSwitch", !i0.ɵɵpipeBind1(2, 3,
|
|
190
|
+
i0.ɵɵproperty("ngSwitch", !i0.ɵɵpipeBind1(2, 3, field_r28));
|
|
294
191
|
i0.ɵɵadvance(2);
|
|
295
192
|
i0.ɵɵproperty("ngSwitchCase", true);
|
|
296
193
|
i0.ɵɵadvance(1);
|
|
297
194
|
i0.ɵɵproperty("ngSwitchCase", false);
|
|
298
195
|
} }
|
|
299
|
-
function
|
|
196
|
+
function CaseEditSubmitComponent_div_0_ng_container_12_Template(rf, ctx) { if (rf & 1) {
|
|
300
197
|
i0.ɵɵelementContainerStart(0);
|
|
301
|
-
i0.ɵɵelementStart(1, "table",
|
|
302
|
-
i0.ɵɵ
|
|
303
|
-
i0.ɵɵ
|
|
304
|
-
i0.ɵɵtemplate(4, CaseEditSubmitComponent_div_0_ng_container_14_ng_container_4_Template, 5, 5, "ng-container", 28);
|
|
198
|
+
i0.ɵɵelementStart(1, "table", 28);
|
|
199
|
+
i0.ɵɵelementStart(2, "tbody");
|
|
200
|
+
i0.ɵɵtemplate(3, CaseEditSubmitComponent_div_0_ng_container_12_ng_container_3_Template, 5, 5, "ng-container", 19);
|
|
305
201
|
i0.ɵɵelementEnd();
|
|
306
202
|
i0.ɵɵelementEnd();
|
|
307
203
|
i0.ɵɵelementContainerEnd();
|
|
308
204
|
} if (rf & 2) {
|
|
309
|
-
const
|
|
310
|
-
i0.ɵɵadvance(1);
|
|
311
|
-
i0.ɵɵattribute("aria-describedby", i0.ɵɵpipeBind1(2, 2, "summary fields table"));
|
|
205
|
+
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
312
206
|
i0.ɵɵadvance(3);
|
|
313
|
-
i0.ɵɵproperty("ngForOf",
|
|
207
|
+
i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
|
|
314
208
|
} }
|
|
315
|
-
function
|
|
316
|
-
i0.ɵɵ
|
|
317
|
-
i0.ɵɵ
|
|
318
|
-
i0.ɵɵ
|
|
319
|
-
i0.ɵɵelementStart(3, "
|
|
320
|
-
i0.ɵɵ
|
|
321
|
-
i0.ɵɵ
|
|
322
|
-
i0.ɵɵ
|
|
323
|
-
i0.ɵɵelementStart(7, "span", 52);
|
|
324
|
-
i0.ɵɵtext(8);
|
|
325
|
-
i0.ɵɵpipe(9, "rpxTranslate");
|
|
209
|
+
function CaseEditSubmitComponent_div_0_ng_container_13_fieldset_1_Template(rf, ctx) { if (rf & 1) {
|
|
210
|
+
i0.ɵɵelementStart(0, "fieldset", 40);
|
|
211
|
+
i0.ɵɵelement(1, "legend", 41);
|
|
212
|
+
i0.ɵɵelementStart(2, "div", 42);
|
|
213
|
+
i0.ɵɵelementStart(3, "label", 43);
|
|
214
|
+
i0.ɵɵtext(4, " Event summary (optional) ");
|
|
215
|
+
i0.ɵɵelementStart(5, "span", 44);
|
|
216
|
+
i0.ɵɵtext(6, "A few words describing the purpose of the event.");
|
|
326
217
|
i0.ɵɵelementEnd();
|
|
327
218
|
i0.ɵɵelementEnd();
|
|
328
|
-
i0.ɵɵelement(
|
|
219
|
+
i0.ɵɵelement(7, "input", 45);
|
|
329
220
|
i0.ɵɵelementEnd();
|
|
330
|
-
i0.ɵɵelementStart(
|
|
331
|
-
i0.ɵɵelementStart(
|
|
332
|
-
i0.ɵɵtext(
|
|
333
|
-
i0.ɵɵpipe(14, "rpxTranslate");
|
|
334
|
-
i0.ɵɵelementEnd();
|
|
335
|
-
i0.ɵɵelementStart(15, "textarea", 55);
|
|
336
|
-
i0.ɵɵtext(16, " ");
|
|
221
|
+
i0.ɵɵelementStart(8, "div", 42);
|
|
222
|
+
i0.ɵɵelementStart(9, "label", 46);
|
|
223
|
+
i0.ɵɵtext(10, "Event description (optional)");
|
|
337
224
|
i0.ɵɵelementEnd();
|
|
225
|
+
i0.ɵɵelement(11, "textarea", 47);
|
|
338
226
|
i0.ɵɵelementEnd();
|
|
339
227
|
i0.ɵɵelementEnd();
|
|
228
|
+
} }
|
|
229
|
+
function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) { if (rf & 1) {
|
|
230
|
+
i0.ɵɵelementContainerStart(0);
|
|
231
|
+
i0.ɵɵtemplate(1, CaseEditSubmitComponent_div_0_ng_container_13_fieldset_1_Template, 12, 0, "fieldset", 39);
|
|
340
232
|
i0.ɵɵelementContainerEnd();
|
|
341
233
|
} if (rf & 2) {
|
|
342
|
-
i0.ɵɵ
|
|
343
|
-
i0.ɵɵ
|
|
344
|
-
i0.ɵɵ
|
|
345
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 5, "A few words describing the purpose of the event."));
|
|
346
|
-
i0.ɵɵadvance(5);
|
|
347
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 7, "Event description(optional)"));
|
|
234
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
235
|
+
i0.ɵɵadvance(1);
|
|
236
|
+
i0.ɵɵproperty("ngIf", ctx_r9.profile && !ctx_r9.isSolicitor());
|
|
348
237
|
} }
|
|
349
238
|
function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
350
|
-
const
|
|
239
|
+
const _r35 = i0.ɵɵgetCurrentView();
|
|
351
240
|
i0.ɵɵelementStart(0, "div");
|
|
352
241
|
i0.ɵɵelementStart(1, "h1", 2);
|
|
353
242
|
i0.ɵɵtext(2);
|
|
354
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
355
|
-
i0.ɵɵelementEnd();
|
|
356
|
-
i0.ɵɵtemplate(4, CaseEditSubmitComponent_div_0_div_4_Template, 1, 0, "div", 3);
|
|
357
|
-
i0.ɵɵtemplate(5, CaseEditSubmitComponent_div_0_ng_template_5_Template, 2, 5, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
358
|
-
i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
359
|
-
i0.ɵɵtemplate(9, CaseEditSubmitComponent_div_0_div_9_Template, 14, 12, "div", 6);
|
|
360
|
-
i0.ɵɵtemplate(10, CaseEditSubmitComponent_div_0_div_10_Template, 7, 5, "div", 6);
|
|
361
|
-
i0.ɵɵelementStart(11, "ccd-callback-errors", 7);
|
|
362
|
-
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_11_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return ctx_r40.callbackErrorsNotify($event); });
|
|
363
|
-
i0.ɵɵelementEnd();
|
|
364
|
-
i0.ɵɵelementStart(12, "form", 8);
|
|
365
|
-
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_12_listener() { i0.ɵɵrestoreView(_r41); const ctx_r42 = i0.ɵɵnextContext(); return ctx_r42.submit(); });
|
|
366
|
-
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 9, 8, "ng-container", 0);
|
|
367
|
-
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 5, 4, "ng-container", 0);
|
|
368
|
-
i0.ɵɵtemplate(15, CaseEditSubmitComponent_div_0_ng_container_15_Template, 17, 9, "ng-container", 0);
|
|
369
|
-
i0.ɵɵelementStart(16, "div", 9);
|
|
370
|
-
i0.ɵɵelementStart(17, "button", 10);
|
|
371
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r41); const ctx_r43 = i0.ɵɵnextContext(); return ctx_r43.previous(); });
|
|
372
|
-
i0.ɵɵtext(18);
|
|
373
|
-
i0.ɵɵpipe(19, "rpxTranslate");
|
|
374
243
|
i0.ɵɵelementEnd();
|
|
375
|
-
i0.ɵɵ
|
|
376
|
-
i0.ɵɵ
|
|
377
|
-
i0.ɵɵ
|
|
244
|
+
i0.ɵɵtemplate(3, CaseEditSubmitComponent_div_0_div_3_Template, 1, 0, "div", 3);
|
|
245
|
+
i0.ɵɵtemplate(4, CaseEditSubmitComponent_div_0_ng_template_4_Template, 2, 5, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
246
|
+
i0.ɵɵtemplate(6, CaseEditSubmitComponent_div_0_ng_template_6_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
247
|
+
i0.ɵɵelement(8, "ccd-case-edit-generic-errors", 6);
|
|
248
|
+
i0.ɵɵelementStart(9, "ccd-callback-errors", 7);
|
|
249
|
+
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_9_listener($event) { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(); return ctx_r34.callbackErrorsNotify($event); });
|
|
250
|
+
i0.ɵɵelementEnd();
|
|
251
|
+
i0.ɵɵelementStart(10, "form", 8);
|
|
252
|
+
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_10_listener() { i0.ɵɵrestoreView(_r35); const ctx_r36 = i0.ɵɵnextContext(); return ctx_r36.submit(); });
|
|
253
|
+
i0.ɵɵtemplate(11, CaseEditSubmitComponent_div_0_ng_container_11_Template, 7, 3, "ng-container", 0);
|
|
254
|
+
i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 4, 1, "ng-container", 0);
|
|
255
|
+
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 2, 1, "ng-container", 0);
|
|
256
|
+
i0.ɵɵelementStart(14, "div", 9);
|
|
257
|
+
i0.ɵɵelementStart(15, "button", 10);
|
|
258
|
+
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r35); const ctx_r37 = i0.ɵɵnextContext(); return ctx_r37.previous(); });
|
|
259
|
+
i0.ɵɵtext(16, "Previous");
|
|
260
|
+
i0.ɵɵelementEnd();
|
|
261
|
+
i0.ɵɵelementStart(17, "button", 11);
|
|
262
|
+
i0.ɵɵtext(18);
|
|
378
263
|
i0.ɵɵelementEnd();
|
|
379
264
|
i0.ɵɵelementEnd();
|
|
380
|
-
i0.ɵɵelementStart(
|
|
381
|
-
i0.ɵɵelementStart(
|
|
382
|
-
i0.ɵɵlistener("click", function
|
|
383
|
-
i0.ɵɵtext(
|
|
384
|
-
i0.ɵɵpipe(26, "rpxTranslate");
|
|
265
|
+
i0.ɵɵelementStart(19, "p", 12);
|
|
266
|
+
i0.ɵɵelementStart(20, "a", 13);
|
|
267
|
+
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_20_listener() { i0.ɵɵrestoreView(_r35); const ctx_r38 = i0.ɵɵnextContext(); return ctx_r38.cancel(); });
|
|
268
|
+
i0.ɵɵtext(21);
|
|
385
269
|
i0.ɵɵelementEnd();
|
|
386
270
|
i0.ɵɵelementEnd();
|
|
387
271
|
i0.ɵɵelementEnd();
|
|
388
272
|
i0.ɵɵelementEnd();
|
|
389
273
|
} if (rf & 2) {
|
|
390
|
-
const _r3 = i0.ɵɵreference(
|
|
391
|
-
const _r5 = i0.ɵɵreference(
|
|
274
|
+
const _r3 = i0.ɵɵreference(5);
|
|
275
|
+
const _r5 = i0.ɵɵreference(7);
|
|
392
276
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
393
277
|
i0.ɵɵadvance(2);
|
|
394
|
-
i0.ɵɵtextInterpolate(
|
|
395
|
-
i0.ɵɵadvance(
|
|
278
|
+
i0.ɵɵtextInterpolate(ctx_r0.eventTrigger.name);
|
|
279
|
+
i0.ɵɵadvance(1);
|
|
396
280
|
i0.ɵɵproperty("ngIf", ctx_r0.getCaseTitle())("ngIfThen", _r3)("ngIfElse", _r5);
|
|
397
281
|
i0.ɵɵadvance(5);
|
|
398
|
-
i0.ɵɵproperty("
|
|
399
|
-
i0.ɵɵadvance(1);
|
|
400
|
-
i0.ɵɵproperty("ngIf", ctx_r0.error && (ctx_r0.error.details || ctx_r0.error.message));
|
|
282
|
+
i0.ɵɵproperty("error", ctx_r0.caseEdit.error);
|
|
401
283
|
i0.ɵɵadvance(1);
|
|
402
|
-
i0.ɵɵproperty("callbackErrorsSubject", ctx_r0.callbackErrorsSubject);
|
|
284
|
+
i0.ɵɵproperty("callbackErrorsSubject", ctx_r0.caseEdit.callbackErrorsSubject);
|
|
403
285
|
i0.ɵɵadvance(1);
|
|
404
286
|
i0.ɵɵproperty("formGroup", ctx_r0.editForm);
|
|
405
287
|
i0.ɵɵadvance(1);
|
|
@@ -409,281 +291,95 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
409
291
|
i0.ɵɵadvance(1);
|
|
410
292
|
i0.ɵɵproperty("ngIf", ctx_r0.showEventNotes());
|
|
411
293
|
i0.ɵɵadvance(2);
|
|
412
|
-
i0.ɵɵproperty("disabled", !ctx_r0.hasPrevious() || ctx_r0.isSubmitting);
|
|
413
|
-
i0.ɵɵadvance(1);
|
|
414
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(19, 20, "Previous"), " ");
|
|
294
|
+
i0.ɵɵproperty("disabled", !ctx_r0.hasPrevious() || ctx_r0.caseEdit.isSubmitting);
|
|
415
295
|
i0.ɵɵadvance(2);
|
|
416
296
|
i0.ɵɵproperty("disabled", ctx_r0.isDisabled);
|
|
417
297
|
i0.ɵɵadvance(1);
|
|
418
|
-
i0.ɵɵ
|
|
419
|
-
i0.ɵɵadvance(
|
|
420
|
-
i0.ɵɵclassProp("disabled", ctx_r0.isSubmitting);
|
|
298
|
+
i0.ɵɵtextInterpolate(ctx_r0.triggerText);
|
|
299
|
+
i0.ɵɵadvance(2);
|
|
300
|
+
i0.ɵɵclassProp("disabled", ctx_r0.caseEdit.isSubmitting);
|
|
421
301
|
i0.ɵɵadvance(1);
|
|
422
|
-
i0.ɵɵ
|
|
302
|
+
i0.ɵɵtextInterpolate(ctx_r0.getCancelText());
|
|
423
303
|
} }
|
|
424
304
|
function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) { if (rf & 1) {
|
|
425
|
-
const
|
|
426
|
-
i0.ɵɵelementStart(0, "ccd-case-event-completion",
|
|
427
|
-
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(
|
|
305
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
306
|
+
i0.ɵɵelementStart(0, "ccd-case-event-completion", 48);
|
|
307
|
+
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return ctx_r39.onEventCanBeCompleted($event); });
|
|
428
308
|
i0.ɵɵelementEnd();
|
|
429
309
|
} if (rf & 2) {
|
|
430
310
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
431
|
-
i0.ɵɵproperty("eventCompletionParams", ctx_r1.eventCompletionParams);
|
|
311
|
+
i0.ɵɵproperty("eventCompletionParams", ctx_r1.caseEdit.eventCompletionParams);
|
|
432
312
|
} }
|
|
433
313
|
// @dynamic
|
|
434
314
|
export class CaseEditSubmitComponent {
|
|
435
|
-
constructor(caseEdit,
|
|
315
|
+
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
|
|
436
316
|
this.caseEdit = caseEdit;
|
|
437
|
-
this.formValueService = formValueService;
|
|
438
|
-
this.formErrorService = formErrorService;
|
|
439
317
|
this.fieldsUtils = fieldsUtils;
|
|
440
318
|
this.caseFieldService = caseFieldService;
|
|
441
319
|
this.route = route;
|
|
442
|
-
this.router = router;
|
|
443
320
|
this.orderService = orderService;
|
|
444
321
|
this.profileNotifier = profileNotifier;
|
|
445
|
-
this.sessionStorageService = sessionStorageService;
|
|
446
|
-
this.caseNotifier = caseNotifier;
|
|
447
|
-
this.callbackErrorsSubject = new Subject();
|
|
448
|
-
this.ignoreWarning = false;
|
|
449
322
|
this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
|
|
450
|
-
this.eventCompletionChecksRequired = false;
|
|
451
|
-
this.isLinkedCasesSubmission = false;
|
|
452
323
|
}
|
|
453
324
|
get isDisabled() {
|
|
454
325
|
// EUI-3452.
|
|
455
326
|
// We don't need to check the validity of the editForm as it is readonly.
|
|
456
327
|
// This was causing issues with hidden fields that aren't wanted but have
|
|
457
328
|
// not been disabled.
|
|
458
|
-
return this.isSubmitting || this.hasErrors;
|
|
329
|
+
return this.caseEdit.isSubmitting || this.hasErrors;
|
|
459
330
|
}
|
|
460
331
|
ngOnInit() {
|
|
461
|
-
var _a, _b;
|
|
462
332
|
this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
|
|
463
333
|
this.eventTrigger = this.caseEdit.eventTrigger;
|
|
464
334
|
this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
|
|
465
335
|
this.editForm = this.caseEdit.form;
|
|
466
336
|
this.wizard = this.caseEdit.wizard;
|
|
467
337
|
this.showSummaryFields = this.sortFieldsByShowSummaryContent(this.eventTrigger.case_fields);
|
|
468
|
-
this.isSubmitting = false;
|
|
338
|
+
this.caseEdit.isSubmitting = false;
|
|
469
339
|
this.contextFields = this.getCaseFields();
|
|
470
340
|
// Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
|
|
471
341
|
// a FlagLauncher field in the event trigger
|
|
472
|
-
this.
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
this.pageTitle = this.
|
|
476
|
-
: CaseEditSubmitTitles.CHECK_YOUR_ANSWERS;
|
|
477
|
-
this.isLinkedCasesSubmission = this.eventTrigger.case_fields.some(caseField => FieldsUtils.isComponentLauncherCaseField(caseField));
|
|
342
|
+
this.caseEdit.isCaseFlagSubmission = this.eventTrigger.case_fields.some(caseField => FieldsUtils.isFlagLauncherCaseField(caseField));
|
|
343
|
+
this.caseEdit.isLinkedCasesSubmission =
|
|
344
|
+
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isComponentLauncherCaseField(caseField));
|
|
345
|
+
this.pageTitle = this.caseEdit.isCaseFlagSubmission ? 'Review flag details' : 'Check your answers';
|
|
478
346
|
}
|
|
479
347
|
ngOnDestroy() {
|
|
348
|
+
/* istanbul ignore else */
|
|
480
349
|
if (this.profileSubscription) {
|
|
481
350
|
this.profileSubscription.unsubscribe();
|
|
482
351
|
}
|
|
483
352
|
}
|
|
484
353
|
submit() {
|
|
485
|
-
this.
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
if (taskStr) {
|
|
491
|
-
taskInSessionStorage = JSON.parse(taskStr);
|
|
492
|
-
}
|
|
493
|
-
if (taskInSessionStorage && taskInSessionStorage.case_id === this.getCaseId()) {
|
|
494
|
-
// Show event completion component to perform event completion checks
|
|
495
|
-
this.eventCompletionParams = {
|
|
496
|
-
caseId: this.getCaseId(),
|
|
497
|
-
eventId: this.getEventId(),
|
|
498
|
-
task: taskInSessionStorage
|
|
499
|
-
};
|
|
500
|
-
this.eventCompletionChecksRequired = true;
|
|
501
|
-
}
|
|
502
|
-
else {
|
|
503
|
-
// Task not in session storage, proceed to submit
|
|
504
|
-
const caseEventData = this.generateCaseEventData();
|
|
505
|
-
this.caseSubmit(caseEventData);
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
onEventCanBeCompleted(eventCanBeCompleted) {
|
|
509
|
-
if (eventCanBeCompleted) {
|
|
510
|
-
// Submit
|
|
511
|
-
const caseEventData = this.generateCaseEventData();
|
|
512
|
-
this.caseSubmit(caseEventData);
|
|
513
|
-
}
|
|
514
|
-
else {
|
|
515
|
-
// Navigate to tasks tab on case details page
|
|
516
|
-
this.router.navigate([`/cases/case-details/${this.getCaseId()}/tasks`], { relativeTo: this.route });
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
generateCaseEventData() {
|
|
520
|
-
const caseEventData = {
|
|
521
|
-
data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(this.editForm.get('data'), this.eventTrigger.case_fields))),
|
|
522
|
-
event: this.editForm.value.event
|
|
523
|
-
};
|
|
524
|
-
this.formValueService.clearNonCaseFields(caseEventData.data, this.eventTrigger.case_fields);
|
|
525
|
-
this.formValueService.removeNullLabels(caseEventData.data, this.eventTrigger.case_fields);
|
|
526
|
-
this.formValueService.removeEmptyDocuments(caseEventData.data, this.eventTrigger.case_fields);
|
|
527
|
-
// Remove collection fields that have "min" validation of greater than zero set on the FieldType but are empty;
|
|
528
|
-
// these will fail validation
|
|
529
|
-
this.formValueService.removeEmptyCollectionsWithMinValidation(caseEventData.data, this.eventTrigger.case_fields);
|
|
530
|
-
// If this is a Case Flag submission (and thus a FlagLauncher field is present in the event trigger), the flag
|
|
531
|
-
// details data needs populating for each Flags field, then the FlagLauncher field needs removing
|
|
532
|
-
if (this.caseFlagField) {
|
|
533
|
-
this.formValueService.populateFlagDetailsFromCaseFields(caseEventData.data, this.eventTrigger.case_fields);
|
|
534
|
-
this.formValueService.removeFlagLauncherField(caseEventData.data, this.eventTrigger.case_fields);
|
|
535
|
-
}
|
|
536
|
-
if (this.isLinkedCasesSubmission) {
|
|
537
|
-
this.formValueService.populateLinkedCasesDetailsFromCaseFields(caseEventData.data, this.eventTrigger.case_fields);
|
|
538
|
-
this.formValueService.removeComponentLauncherField(caseEventData.data, this.eventTrigger.case_fields);
|
|
539
|
-
}
|
|
540
|
-
caseEventData.event_token = this.eventTrigger.event_token;
|
|
541
|
-
caseEventData.ignore_warning = this.ignoreWarning;
|
|
542
|
-
if (this.caseEdit.confirmation) {
|
|
543
|
-
caseEventData.data = {};
|
|
544
|
-
}
|
|
545
|
-
return caseEventData;
|
|
546
|
-
}
|
|
547
|
-
caseSubmit(caseEventData) {
|
|
548
|
-
this.caseEdit.submit(caseEventData)
|
|
549
|
-
.subscribe(response => {
|
|
550
|
-
this.caseNotifier.cachedCaseView = null;
|
|
551
|
-
this.sessionStorageService.removeItem('eventUrl');
|
|
552
|
-
const confirmation = this.buildConfirmation(response);
|
|
553
|
-
if (confirmation && (confirmation.getHeader() || confirmation.getBody())) {
|
|
554
|
-
this.caseEdit.confirm(confirmation);
|
|
555
|
-
}
|
|
556
|
-
else {
|
|
557
|
-
this.caseEdit.submitted.emit({ caseId: response['id'], status: this.getStatus(response) });
|
|
558
|
-
}
|
|
559
|
-
}, error => {
|
|
560
|
-
this.error = error;
|
|
561
|
-
this.callbackErrorsSubject.next(this.error);
|
|
562
|
-
if (this.error.details) {
|
|
563
|
-
this.formErrorService
|
|
564
|
-
.mapFieldErrors(this.error.details.field_errors, this.editForm.controls['data'], 'validation');
|
|
565
|
-
}
|
|
566
|
-
this.isSubmitting = false;
|
|
567
|
-
});
|
|
568
|
-
}
|
|
569
|
-
/**
|
|
570
|
-
* Traverse *all* values of a {@link FormGroup}, including those for disabled fields (i.e. hidden ones), replacing the
|
|
571
|
-
* value of any that are hidden AND have `retain_hidden_value` set to `true` in the corresponding `CaseField`, with
|
|
572
|
-
* the *original* value held in the `CaseField` object.
|
|
573
|
-
*
|
|
574
|
-
* This is as per design in EUI-3622, where any user-driven updates to hidden fields with `retain_hidden_value` =
|
|
575
|
-
* `true` are ignored (thus retaining the value displayed originally).
|
|
576
|
-
*
|
|
577
|
-
* * For Complex field types, the replacement above is performed recursively for all hidden sub-fields with
|
|
578
|
-
* `retain_hidden_value` = `true`.
|
|
579
|
-
*
|
|
580
|
-
* * For Collection field types, including collections of Complex and Document field types, the replacement is
|
|
581
|
-
* performed for all fields in the collection.
|
|
582
|
-
*
|
|
583
|
-
* @param formGroup The `FormGroup` instance whose raw values are to be traversed
|
|
584
|
-
* @param caseFields The array of {@link CaseField} domain model objects corresponding to fields in `formGroup`
|
|
585
|
-
* @param parentField Reference to the parent `CaseField`. Used for retrieving the sub-field values of a Complex field
|
|
586
|
-
* to perform recursive replacement - the sub-field `CaseField`s themselves do *not* contain any values
|
|
587
|
-
* @returns An object with the *raw* form value data (as key-value pairs), with any value replacements as necessary
|
|
588
|
-
*/
|
|
589
|
-
replaceHiddenFormValuesWithOriginalCaseData(formGroup, caseFields, parentField) {
|
|
590
|
-
// Get the raw form value data, which includes the values of any disabled controls, as key-value pairs
|
|
591
|
-
const rawFormValueData = formGroup.getRawValue();
|
|
592
|
-
// Place all case fields in a lookup object, so they can be retrieved by id
|
|
593
|
-
const caseFieldsLookup = {};
|
|
594
|
-
for (let i = 0, len = caseFields.length; i < len; i++) {
|
|
595
|
-
caseFieldsLookup[caseFields[i].id] = caseFields[i];
|
|
596
|
-
}
|
|
597
|
-
/**
|
|
598
|
-
* Replace any form value with the original, where its CaseField is hidden AND has the retain_hidden_value flag set
|
|
599
|
-
* to true.
|
|
600
|
-
*
|
|
601
|
-
* If the CaseField's `hidden` attribute is null or undefined, then check this attribute in the parent CaseField (if
|
|
602
|
-
* one exists). This is occurring (and is possibly a bug) when a CaseField is a sub-field of a Complex type, or an
|
|
603
|
-
* item in a Collection type.
|
|
604
|
-
*
|
|
605
|
-
* If the field is a Complex type with retain_hidden_value = true, perform a recursive replacement for all (hidden)
|
|
606
|
-
* sub-fields with retain_hidden_value = true, using their original CaseField values (from the `formatted_value`
|
|
607
|
-
* attribute).
|
|
608
|
-
*
|
|
609
|
-
* If the field is a Collection type with retain_hidden_value = true, the entire collection is replaced with the
|
|
610
|
-
* original from `formatted_value`. This applies to *all* types of Collections.
|
|
611
|
-
*/
|
|
612
|
-
Object.keys(rawFormValueData).forEach((key) => {
|
|
613
|
-
const caseField = caseFieldsLookup[key];
|
|
614
|
-
// If caseField.hidden is NOT truthy and also NOT equal to false, then it must be null/undefined (remember that
|
|
615
|
-
// both null and undefined are equal to *neither false nor true*)
|
|
616
|
-
if (caseField && caseField.retain_hidden_value &&
|
|
617
|
-
(caseField.hidden || (caseField.hidden !== false && parentField && parentField.hidden))) {
|
|
618
|
-
if (caseField.field_type.type === 'Complex') {
|
|
619
|
-
// Note: Deliberate use of equality (==) and non-equality (!=) operators for null checks throughout, to
|
|
620
|
-
// handle both null and undefined values
|
|
621
|
-
if (caseField.value !== null) {
|
|
622
|
-
// Call this function recursively to replace the Complex field's sub-fields as necessary, passing the
|
|
623
|
-
// CaseField itself (the sub-fields do not contain any values, so these need to be obtained from the
|
|
624
|
-
// parent)
|
|
625
|
-
// Update rawFormValueData for this field
|
|
626
|
-
// creating form group and adding control into it in case caseField is of complext type and and part of formGroup
|
|
627
|
-
const form = new FormGroup({});
|
|
628
|
-
if (formGroup.controls[key].value) {
|
|
629
|
-
Object.keys(formGroup.controls[key].value).forEach((item) => {
|
|
630
|
-
form.addControl(item, new FormControl(formGroup.controls[key].value[item]));
|
|
631
|
-
});
|
|
632
|
-
}
|
|
633
|
-
rawFormValueData[key] = this.replaceHiddenFormValuesWithOriginalCaseData(form, caseField.field_type.complex_fields, caseField);
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
else {
|
|
637
|
-
// Default case also handles collections of *all* types; the entire collection in rawFormValueData will be
|
|
638
|
-
// replaced with the original from formatted_value
|
|
639
|
-
// Use the CaseField's existing *formatted_value* from the parent, if available. (This is necessary for
|
|
640
|
-
// Complex fields, whose sub-fields do not hold any values in the model.) Otherwise, use formatted_value
|
|
641
|
-
// from the CaseField itself.
|
|
642
|
-
if (parentField && parentField.formatted_value) {
|
|
643
|
-
rawFormValueData[key] = parentField.formatted_value[caseField.id];
|
|
644
|
-
}
|
|
645
|
-
else {
|
|
646
|
-
rawFormValueData[key] = caseField.formatted_value;
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
}
|
|
354
|
+
this.caseEdit.submitForm({
|
|
355
|
+
eventTrigger: this.eventTrigger,
|
|
356
|
+
form: this.editForm,
|
|
357
|
+
submit: this.caseEdit.submit,
|
|
358
|
+
caseDetails: this.caseEdit.caseDetails,
|
|
650
359
|
});
|
|
651
|
-
return rawFormValueData;
|
|
652
360
|
}
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
replaceEmptyComplexFieldValues(data) {
|
|
661
|
-
Object.keys(data).forEach((key) => {
|
|
662
|
-
if (!Array.isArray(data[key]) && typeof data[key] === 'object' && !FieldsUtils.containsNonEmptyValues(data[key])) {
|
|
663
|
-
data[key] = null;
|
|
664
|
-
}
|
|
361
|
+
onEventCanBeCompleted(eventCanBeCompleted) {
|
|
362
|
+
this.caseEdit.onEventCanBeCompleted({
|
|
363
|
+
eventTrigger: this.eventTrigger,
|
|
364
|
+
eventCanBeCompleted,
|
|
365
|
+
caseDetails: this.caseEdit.caseDetails,
|
|
366
|
+
form: this.editForm,
|
|
367
|
+
submit: this.caseEdit.submit,
|
|
665
368
|
});
|
|
666
|
-
return data;
|
|
667
|
-
}
|
|
668
|
-
getStatus(response) {
|
|
669
|
-
return this.hasCallbackFailed(response) ? response['callback_response_status'] : response['delete_draft_response_status'];
|
|
670
|
-
}
|
|
671
|
-
hasCallbackFailed(response) {
|
|
672
|
-
return response['callback_response_status'] !== 'CALLBACK_COMPLETED';
|
|
673
369
|
}
|
|
674
370
|
get hasErrors() {
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
&& this.error.callbackErrors.length;
|
|
371
|
+
var _a, _b, _c;
|
|
372
|
+
return (_c = (_b = (_a = this.caseEdit) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.callbackErrors) === null || _c === void 0 ? void 0 : _c.length;
|
|
678
373
|
}
|
|
679
374
|
navigateToPage(pageId) {
|
|
680
375
|
this.caseEdit.navigateToPage(pageId);
|
|
681
376
|
}
|
|
682
377
|
callbackErrorsNotify(errorContext) {
|
|
683
|
-
this.ignoreWarning = errorContext.ignoreWarning;
|
|
378
|
+
this.caseEdit.ignoreWarning = errorContext.ignoreWarning;
|
|
684
379
|
this.triggerText = errorContext.triggerText;
|
|
685
380
|
}
|
|
686
381
|
summaryCaseField(field) {
|
|
382
|
+
/* istanbul ignore else */
|
|
687
383
|
if (null === this.editForm.get('data').get(field.id)) {
|
|
688
384
|
// If not in form, return field itself
|
|
689
385
|
return field;
|
|
@@ -712,12 +408,15 @@ export class CaseEditSubmitComponent {
|
|
|
712
408
|
return !this.caseFieldService.isReadOnly(field);
|
|
713
409
|
}
|
|
714
410
|
checkYourAnswerFieldsToDisplayExists() {
|
|
411
|
+
/* istanbul ignore else */
|
|
715
412
|
if (!this.eventTrigger.show_summary) {
|
|
716
413
|
return false;
|
|
717
414
|
}
|
|
718
415
|
for (const page of this.wizard.pages) {
|
|
416
|
+
/* istanbul ignore else */
|
|
719
417
|
if (this.isShown(page)) {
|
|
720
418
|
for (const field of page.case_fields) {
|
|
419
|
+
/* istanbul ignore else */
|
|
721
420
|
if (this.canShowFieldInCYA(field)) {
|
|
722
421
|
// at least one field needs showing
|
|
723
422
|
return true;
|
|
@@ -732,16 +431,7 @@ export class CaseEditSubmitComponent {
|
|
|
732
431
|
return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
|
|
733
432
|
}
|
|
734
433
|
showEventNotes() {
|
|
735
|
-
|
|
736
|
-
// Display event notes related controls only if the following conditions are met
|
|
737
|
-
// 1. show_event_notes flag is set to true
|
|
738
|
-
// 2. profile is not a solicitor
|
|
739
|
-
// 3. is not a case flags journey, as it uses a custom check your answers component
|
|
740
|
-
if (this.eventTrigger.show_event_notes) {
|
|
741
|
-
return !((_a = this.profile) === null || _a === void 0 ? void 0 : _a.isSolicitor())
|
|
742
|
-
&& !this.caseFlagField;
|
|
743
|
-
}
|
|
744
|
-
return false;
|
|
434
|
+
return this.eventTrigger.show_event_notes === true;
|
|
745
435
|
}
|
|
746
436
|
getLastPageShown() {
|
|
747
437
|
let lastPage;
|
|
@@ -754,6 +444,7 @@ export class CaseEditSubmitComponent {
|
|
|
754
444
|
return lastPage;
|
|
755
445
|
}
|
|
756
446
|
previous() {
|
|
447
|
+
/* istanbul ignore else */
|
|
757
448
|
if (this.hasPrevious()) {
|
|
758
449
|
this.navigateToPage(this.getLastPageShown().id);
|
|
759
450
|
}
|
|
@@ -769,13 +460,8 @@ export class CaseEditSubmitComponent {
|
|
|
769
460
|
canShowFieldInCYA(field) {
|
|
770
461
|
return field.show_summary_change_option;
|
|
771
462
|
}
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
return new Confirmation(response['id'], response['callback_response_status'], response['after_submit_callback_response']['confirmation_header'], response['after_submit_callback_response']['confirmation_body']);
|
|
775
|
-
}
|
|
776
|
-
else {
|
|
777
|
-
return null;
|
|
778
|
-
}
|
|
463
|
+
isSolicitor() {
|
|
464
|
+
return this.profile.isSolicitor();
|
|
779
465
|
}
|
|
780
466
|
sortFieldsByShowSummaryContent(fields) {
|
|
781
467
|
return this.orderService
|
|
@@ -789,10 +475,7 @@ export class CaseEditSubmitComponent {
|
|
|
789
475
|
return this.eventTrigger.case_fields;
|
|
790
476
|
}
|
|
791
477
|
getCaseId() {
|
|
792
|
-
return
|
|
793
|
-
}
|
|
794
|
-
getEventId() {
|
|
795
|
-
return this.editForm.value.event.id;
|
|
478
|
+
return this.caseEdit.getCaseId(this.caseEdit.caseDetails);
|
|
796
479
|
}
|
|
797
480
|
getCaseTitle() {
|
|
798
481
|
return (this.caseEdit.caseDetails && this.caseEdit.caseDetails.state &&
|
|
@@ -818,15 +501,15 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
|
818
501
|
}
|
|
819
502
|
return a.show_summary_content_option - b.show_summary_content_option;
|
|
820
503
|
};
|
|
821
|
-
CaseEditSubmitComponent.ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(i1.CaseEditComponent), i0.ɵɵdirectiveInject(i2.
|
|
822
|
-
CaseEditSubmitComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [
|
|
823
|
-
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template,
|
|
504
|
+
CaseEditSubmitComponent.ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(i1.CaseEditComponent), i0.ɵɵdirectiveInject(i2.FieldsUtils), i0.ɵɵdirectiveInject(i2.CaseFieldService), i0.ɵɵdirectiveInject(i3.ActivatedRoute), i0.ɵɵdirectiveInject(i2.OrderService), i0.ɵɵdirectiveInject(i2.ProfileNotifier)); };
|
|
505
|
+
CaseEditSubmitComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [3, "error"], [3, "callbackErrorsSubject", "callbackErrorsContext"], [1, "check-your-answers", 3, "formGroup", "submit"], [1, "form-group", "form-group-related"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], ["type", "submit", 1, "button", 3, "disabled"], [1, "cancel"], ["href", "javascript:void(0)", 3, "click"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], [1, "valign-top", "case-field-label"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event", 4, "ngIf"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50"], [3, "eventCompletionParams", "eventCanBeCompleted"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
|
|
506
|
+
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 22, 16, "div", 0);
|
|
824
507
|
i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
|
|
825
508
|
} if (rf & 2) {
|
|
826
|
-
i0.ɵɵproperty("ngIf", !ctx.
|
|
509
|
+
i0.ɵɵproperty("ngIf", !ctx.caseEdit.isEventCompletionChecksRequired);
|
|
827
510
|
i0.ɵɵadvance(1);
|
|
828
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
829
|
-
} }, styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:1px solid #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-bottom:0}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.
|
|
511
|
+
i0.ɵɵproperty("ngIf", ctx.caseEdit.isEventCompletionChecksRequired);
|
|
512
|
+
} }, styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:1px solid #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-bottom:0}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
|
|
830
513
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
|
|
831
514
|
type: Component,
|
|
832
515
|
args: [{
|
|
@@ -834,5 +517,5 @@ CaseEditSubmitComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEditSubmitCom
|
|
|
834
517
|
templateUrl: 'case-edit-submit.html',
|
|
835
518
|
styleUrls: ['../case-edit.scss']
|
|
836
519
|
}]
|
|
837
|
-
}], function () { return [{ type: i1.CaseEditComponent }, { type: i2.
|
|
838
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1lZGl0LXN1Ym1pdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3IvY2FzZS1lZGl0LXN1Ym1pdC9jYXNlLWVkaXQtc3VibWl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQtc3VibWl0L2Nhc2UtZWRpdC1zdWJtaXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFHN0MsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZUFBZSxFQUNmLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSx1QkFBdUIsRUFBeUIsTUFBTSxhQUFhLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLFdBQVcsQ0FBQztBQUU3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cEMsT0FBTyxxQkFBcUIsQ0FBQztTQUM5QjthQUFNO1lBQ0wsT0FBTyxRQUFRLENBQUM7U0FDakI7SUFDSCxDQUFDOztBQS9hc0IsNkRBQXFDLEdBQUcsQ0FBQyxDQUFZLEVBQUUsQ0FBWSxFQUFVLEVBQUU7SUFDcEcsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLDJCQUEyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsMkJBQTJCLENBQUM7SUFDeEYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLDJCQUEyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsMkJBQTJCLENBQUM7SUFFeEYsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzVCO0lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLE9BQU8sQ0FBQyxDQUFDLENBQUM7S0FDWDtJQUNELE9BQU8sQ0FBQyxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztBQUN2RSxDQUFDLENBQUE7OEZBakNVLHVCQUF1Qjs0REFBdkIsdUJBQXVCO1FDOUJwQywwRUFxSU07UUFDTixvSEFHNEI7O1FBekl0Qix5REFBb0M7UUFzSWQsZUFBbUM7UUFBbkMsd0RBQW1DOzt1RkR4R2xELHVCQUF1QjtjQUxuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsV0FBVyxFQUFFLHVCQUF1QjtnQkFDcEMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VFdmVudERhdGEsIENhc2VFdmVudFRyaWdnZXIsIENhc2VGaWVsZCwgSHR0cEVycm9yLCBQcm9maWxlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vd29yay1hbGxvY2F0aW9uL1Rhc2snO1xuaW1wb3J0IHtcbiAgQ2FzZUZpZWxkU2VydmljZSxcbiAgRmllbGRzVXRpbHMsXG4gIEZvcm1FcnJvclNlcnZpY2UsXG4gIEZvcm1WYWx1ZVNlcnZpY2UsXG4gIE9yZGVyU2VydmljZSxcbiAgUHJvZmlsZU5vdGlmaWVyLFxuICBTZXNzaW9uU3RvcmFnZVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsbGJhY2tFcnJvcnNDb21wb25lbnQsIENhbGxiYWNrRXJyb3JzQ29udGV4dCB9IGZyb20gJy4uLy4uL2Vycm9yJztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vLi4vcGFsZXR0ZSc7XG5pbXBvcnQgeyBDYXNlRWRpdFBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9jYXNlLWVkaXQtcGFnZS9jYXNlLWVkaXQtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZUVkaXRDb21wb25lbnQgfSBmcm9tICcuLi9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb24sIFdpemFyZCwgV2l6YXJkUGFnZSB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBFdmVudENvbXBsZXRpb25QYXJhbXMgfSBmcm9tICcuLi9kb21haW4vZXZlbnQtY29tcGxldGlvbi1wYXJhbXMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FzZUVkaXRTdWJtaXRUaXRsZXMgfSBmcm9tICcuL2Nhc2UtZWRpdC1zdWJtaXQtdGl0bGVzLmVudW0nO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZWRpdC1zdWJtaXQnLFxuICB0ZW1wbGF0ZVVybDogJ2Nhc2UtZWRpdC1zdWJtaXQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLi9jYXNlLWVkaXQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhc2VFZGl0U3VibWl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZXZlbnRUcmlnZ2VyOiBDYXNlRXZlbnRUcmlnZ2VyO1xuICBwdWJsaWMgZWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGVycm9yOiBIdHRwRXJyb3I7XG4gIHB1YmxpYyBjYWxsYmFja0Vycm9yc1N1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBpZ25vcmVXYXJuaW5nID0gZmFsc2U7XG4gIHB1YmxpYyB0cmlnZ2VyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgd2l6YXJkOiBXaXphcmQ7XG4gIHB1YmxpYyBwcm9maWxlOiBQcm9maWxlO1xuICBwdWJsaWMgc2hvd1N1bW1hcnlGaWVsZHM6IENhc2VGaWVsZFtdO1xuICBwdWJsaWMgcGFsZXR0ZUNvbnRleHQ6IFBhbGV0dGVDb250ZXh0ID0gUGFsZXR0ZUNvbnRleHQuQ0hFQ0tfWU9VUl9BTlNXRVI7XG4gIHB1YmxpYyBpc1N1Ym1pdHRpbmc6IGJvb2xlYW47XG4gIHB1YmxpYyBwcm9maWxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjb250ZXh0RmllbGRzOiBDYXNlRmllbGRbXTtcbiAgcHVibGljIHRhc2s6IFRhc2s7XG4gIHB1YmxpYyBldmVudENvbXBsZXRpb25QYXJhbXM6IEV2ZW50Q29tcGxldGlvblBhcmFtcztcbiAgcHVibGljIGV2ZW50Q29tcGxldGlvbkNoZWNrc1JlcXVpcmVkID0gZmFsc2U7XG4gIHB1YmxpYyBjYXNlRmxhZ0ZpZWxkOiBDYXNlRmllbGQ7XG4gIHB1YmxpYyBwYWdlVGl0bGU6IHN0cmluZztcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNTdWJtaXNzaW9uID0gZmFsc2U7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTSE9XX1NVTU1BUllfQ09OVEVOVF9DT01QQVJFX0ZVTkNUSU9OID0gKGE6IENhc2VGaWVsZCwgYjogQ2FzZUZpZWxkKTogbnVtYmVyID0+IHtcbiAgICBjb25zdCBhQ2FzZUZpZWxkID0gYS5zaG93X3N1bW1hcnlfY29udGVudF9vcHRpb24gPT09IDAgfHwgYS5zaG93X3N1bW1hcnlfY29udGVudF9vcHRpb247XG4gICAgY29uc3QgYkNhc2VGaWVsZCA9IGIuc2hvd19zdW1tYXJ5X2NvbnRlbnRfb3B0aW9uID09PSAwIHx8IGIuc2hvd19zdW1tYXJ5X2NvbnRlbnRfb3B0aW9uO1xuXG4gICAgaWYgKCFhQ2FzZUZpZWxkKSB7XG4gICAgICByZXR1cm4gIWJDYXNlRmllbGQgPyAwIDogMTtcbiAgICB9XG5cbiAgICBpZiAoIWJDYXNlRmllbGQpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgcmV0dXJuIGEuc2hvd19zdW1tYXJ5X2NvbnRlbnRfb3B0aW9uIC0gYi5zaG93X3N1bW1hcnlfY29udGVudF9vcHRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgLy8gRVVJLTM0NTIuXG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBjaGVjayB0aGUgdmFsaWRpdHkgb2YgdGhlIGVkaXRGb3JtIGFzIGl0IGlzIHJlYWRvbmx5LlxuICAgIC8vIFRoaXMgd2FzIGNhdXNpbmcgaXNzdWVzIHdpdGggaGlkZGVuIGZpZWxkcyB0aGF0IGFyZW4ndCB3YW50ZWQgYnV0IGhhdmVcbiAgICAvLyBub3QgYmVlbiBkaXNhYmxlZC5cbiAgICByZXR1cm4gdGhpcy5pc1N1Ym1pdHRpbmcgfHwgdGhpcy5oYXNFcnJvcnM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VFZGl0OiBDYXNlRWRpdENvbXBvbmVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZVNlcnZpY2U6IEZvcm1WYWx1ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRXJyb3JTZXJ2aWNlOiBGb3JtRXJyb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmllbGRzVXRpbHM6IEZpZWxkc1V0aWxzLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUZpZWxkU2VydmljZTogQ2FzZUZpZWxkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9maWxlTm90aWZpZXI6IFByb2ZpbGVOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucHJvZmlsZVN1YnNjcmlwdGlvbiA9IHRoaXMucHJvZmlsZU5vdGlmaWVyLnByb2ZpbGUuc3Vic2NyaWJlKF8gPT4gdGhpcy5wcm9maWxlID0gXyk7XG4gICAgdGhpcy5ldmVudFRyaWdnZXIgPSB0aGlzLmNhc2VFZGl0LmV2ZW50VHJpZ2dlcjtcbiAgICB0aGlzLnRyaWdnZXJUZXh0ID0gdGhpcy5ldmVudFRyaWdnZXIuZW5kX2J1dHRvbl9sYWJlbCB8fCBDYWxsYmFja0Vycm9yc0NvbXBvbmVudC5UUklHR0VSX1RFWFRfU1VCTUlUO1xuICAgIHRoaXMuZWRpdEZvcm0gPSB0aGlzLmNhc2VFZGl0LmZvcm07XG4gICAgdGhpcy53aXphcmQgPSB0aGlzLmNhc2VFZGl0LndpemFyZDtcbiAgICB0aGlzLnNob3dTdW1tYXJ5RmllbGRzID0gdGhpcy5zb3J0RmllbGRzQnlTaG93U3VtbWFyeUNvbnRlbnQodGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5jb250ZXh0RmllbGRzID0gdGhpcy5nZXRDYXNlRmllbGRzKCk7XG4gICAgLy8gSW5kaWNhdGVzIGlmIHRoZSBzdWJtaXNzaW9uIGlzIGZvciBhIENhc2UgRmxhZywgYXMgb3Bwb3NlZCB0byBhIFwicmVndWxhclwiIGZvcm0gc3VibWlzc2lvbiwgYnkgdGhlIHByZXNlbmNlIG9mXG4gICAgLy8gYSBGbGFnTGF1bmNoZXIgZmllbGQgaW4gdGhlIGV2ZW50IHRyaWdnZXJcbiAgICB0aGlzLmNhc2VGbGFnRmllbGQgPSB0aGlzLmV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcy5maW5kKFxuICAgICAgY2FzZUZpZWxkID0+IEZpZWxkc1V0aWxzLmlzRmxhZ0xhdW5jaGVyQ2FzZUZpZWxkKGNhc2VGaWVsZCkpO1xuICAgIGNvbnN0IGlzQ2FzZUZsYWdFeHRlcm5hbE1vZGUgPSB0aGlzLmNhc2VGbGFnRmllbGQ/LmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIgPT09ICcjQVJHVU1FTlQoVVBEQVRFLEVYVEVSTkFMKScgfHxcbiAgICAgIHRoaXMuY2FzZUZsYWdGaWVsZD8uZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciA9PT0gJyNBUkdVTUVOVChDUkVBVEUsRVhURVJOQUwpJztcbiAgICB0aGlzLnBhZ2VUaXRsZSA9IHRoaXMuY2FzZUZsYWdGaWVsZCA/IChpc0Nhc2VGbGFnRXh0ZXJuYWxNb2RlID8gQ2FzZUVkaXRTdWJtaXRUaXRsZXMuUkVWSUVXX1NVUFBPUlRfUkVRVUVTVCA6IENhc2VFZGl0U3VibWl0VGl0bGVzLlJFVklFV19GTEFHX0RFVEFJTFMpXG4gICAgICA6IENhc2VFZGl0U3VibWl0VGl0bGVzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgICB0aGlzLmlzTGlua2VkQ2FzZXNTdWJtaXNzaW9uID0gdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHMuc29tZShcbiAgICAgIGNhc2VGaWVsZCA9PiBGaWVsZHNVdGlscy5pc0NvbXBvbmVudExhdW5jaGVyQ2FzZUZpZWxkKGNhc2VGaWVsZCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb2ZpbGVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMucHJvZmlsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1N1Ym1pdHRpbmcgPSB0cnVlO1xuXG4gICAgLy8gV2UgaGF2ZSB0byBydW4gdGhlIGV2ZW50IGNvbXBsZXRpb24gY2hlY2tzIGlmIHRhc2sgaW4gc2Vzc2lvbiBzdG9yYWdlXG4gICAgLy8gYW5kIGlmIHRoZSB0YXNrIGlzIGluIHNlc3Npb24gc3RvcmFnZSwgdGhlbiBpcyBpdCBhc3NvY2lhdGVkIHRvIHRoZSBjYXNlXG4gICAgbGV0IHRhc2tJblNlc3Npb25TdG9yYWdlOiBUYXNrO1xuICAgIGNvbnN0IHRhc2tTdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd0YXNrVG9Db21wbGV0ZScpO1xuICAgIGlmICh0YXNrU3RyKSB7XG4gICAgICB0YXNrSW5TZXNzaW9uU3RvcmFnZSA9IEpTT04ucGFyc2UodGFza1N0cik7XG4gICAgfVxuXG4gICAgaWYgKHRhc2tJblNlc3Npb25TdG9yYWdlICYmIHRhc2tJblNlc3Npb25TdG9yYWdlLmNhc2VfaWQgPT09IHRoaXMuZ2V0Q2FzZUlkKCkpIHtcbiAgICAgIC8vIFNob3cgZXZlbnQgY29tcGxldGlvbiBjb21wb25lbnQgdG8gcGVyZm9ybSBldmVudCBjb21wbGV0aW9uIGNoZWNrc1xuICAgICAgdGhpcy5ldmVudENvbXBsZXRpb25QYXJhbXMgPSB7XG4gICAgICAgIGNhc2VJZDogdGhpcy5nZXRDYXNlSWQoKSxcbiAgICAgICAgZXZlbnRJZDogdGhpcy5nZXRFdmVudElkKCksXG4gICAgICAgIHRhc2s6IHRhc2tJblNlc3Npb25TdG9yYWdlXG4gICAgICB9O1xuICAgICAgdGhpcy5ldmVudENvbXBsZXRpb25DaGVja3NSZXF1aXJlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRhc2sgbm90IGluIHNlc3Npb24gc3RvcmFnZSwgcHJvY2VlZCB0byBzdWJtaXRcbiAgICAgIGNvbnN0IGNhc2VFdmVudERhdGEgPSB0aGlzLmdlbmVyYXRlQ2FzZUV2ZW50RGF0YSgpO1xuICAgICAgdGhpcy5jYXNlU3VibWl0KGNhc2VFdmVudERhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkV2ZW50Q2FuQmVDb21wbGV0ZWQoZXZlbnRDYW5CZUNvbXBsZXRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChldmVudENhbkJlQ29tcGxldGVkKSB7XG4gICAgICAvLyBTdWJtaXRcbiAgICAgIGNvbnN0IGNhc2VFdmVudERhdGEgPSB0aGlzLmdlbmVyYXRlQ2FzZUV2ZW50RGF0YSgpO1xuICAgICAgdGhpcy5jYXNlU3VibWl0KGNhc2VFdmVudERhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOYXZpZ2F0ZSB0byB0YXNrcyB0YWIgb24gY2FzZSBkZXRhaWxzIHBhZ2VcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke3RoaXMuZ2V0Q2FzZUlkKCl9L3Rhc2tzYF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlQ2FzZUV2ZW50RGF0YSgpOiBDYXNlRXZlbnREYXRhIHtcbiAgICBjb25zdCBjYXNlRXZlbnREYXRhOiBDYXNlRXZlbnREYXRhID0ge1xuICAgICAgZGF0YTogdGhpcy5yZXBsYWNlRW1wdHlDb21wbGV4RmllbGRWYWx1ZXMoXG4gICAgICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5zYW5pdGlzZShcbiAgICAgICAgICB0aGlzLnJlcGxhY2VIaWRkZW5Gb3JtVmFsdWVzV2l0aE9yaWdpbmFsQ2FzZURhdGEoXG4gICAgICAgICAgICB0aGlzLmVkaXRGb3JtLmdldCgnZGF0YScpIGFzIEZvcm1Hcm91cCwgdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpKSksXG4gICAgICBldmVudDogdGhpcy5lZGl0Rm9ybS52YWx1ZS5ldmVudFxuICAgIH0gYXMgQ2FzZUV2ZW50RGF0YTtcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UuY2xlYXJOb25DYXNlRmllbGRzKGNhc2VFdmVudERhdGEuZGF0YSwgdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5yZW1vdmVOdWxsTGFiZWxzKGNhc2VFdmVudERhdGEuZGF0YSwgdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5yZW1vdmVFbXB0eURvY3VtZW50cyhjYXNlRXZlbnREYXRhLmRhdGEsIHRoaXMuZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICAvLyBSZW1vdmUgY29sbGVjdGlvbiBmaWVsZHMgdGhhdCBoYXZlIFwibWluXCIgdmFsaWRhdGlvbiBvZiBncmVhdGVyIHRoYW4gemVybyBzZXQgb24gdGhlIEZpZWxkVHlwZSBidXQgYXJlIGVtcHR5O1xuICAgIC8vIHRoZXNlIHdpbGwgZmFpbCB2YWxpZGF0aW9uXG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZUVtcHR5Q29sbGVjdGlvbnNXaXRoTWluVmFsaWRhdGlvbihjYXNlRXZlbnREYXRhLmRhdGEsIHRoaXMuZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICAvLyBJZiB0aGlzIGlzIGEgQ2FzZSBGbGFnIHN1Ym1pc3Npb24gKGFuZCB0aHVzIGEgRmxhZ0xhdW5jaGVyIGZpZWxkIGlzIHByZXNlbnQgaW4gdGhlIGV2ZW50IHRyaWdnZXIpLCB0aGUgZmxhZ1xuICAgIC8vIGRldGFpbHMgZGF0YSBuZWVkcyBwb3B1bGF0aW5nIGZvciBlYWNoIEZsYWdzIGZpZWxkLCB0aGVuIHRoZSBGbGFnTGF1bmNoZXIgZmllbGQgbmVlZHMgcmVtb3ZpbmdcbiAgICBpZiAodGhpcy5jYXNlRmxhZ0ZpZWxkKSB7XG4gICAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucG9wdWxhdGVGbGFnRGV0YWlsc0Zyb21DYXNlRmllbGRzKGNhc2VFdmVudERhdGEuZGF0YSwgdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZUZsYWdMYXVuY2hlckZpZWxkKGNhc2VFdmVudERhdGEuZGF0YSwgdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0xpbmtlZENhc2VzU3VibWlzc2lvbikge1xuICAgICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnBvcHVsYXRlTGlua2VkQ2FzZXNEZXRhaWxzRnJvbUNhc2VGaWVsZHMoY2FzZUV2ZW50RGF0YS5kYXRhLCB0aGlzLmV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcyk7XG4gICAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlQ29tcG9uZW50TGF1bmNoZXJGaWVsZChjYXNlRXZlbnREYXRhLmRhdGEsIHRoaXMuZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICB9XG4gICAgY2FzZUV2ZW50RGF0YS5ldmVudF90b2tlbiA9IHRoaXMuZXZlbnRUcmlnZ2VyLmV2ZW50X3Rva2VuO1xuICAgIGNhc2VFdmVudERhdGEuaWdub3JlX3dhcm5pbmcgPSB0aGlzLmlnbm9yZVdhcm5pbmc7XG4gICAgaWYgKHRoaXMuY2FzZUVkaXQuY29uZmlybWF0aW9uKSB7XG4gICAgICBjYXNlRXZlbnREYXRhLmRhdGEgPSB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2FzZUV2ZW50RGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgY2FzZVN1Ym1pdChjYXNlRXZlbnREYXRhOiBDYXNlRXZlbnREYXRhKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlRWRpdC5zdWJtaXQoY2FzZUV2ZW50RGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldyA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnZXZlbnRVcmwnKTtcbiAgICAgICAgICBjb25zdCBjb25maXJtYXRpb246IENvbmZpcm1hdGlvbiA9IHRoaXMuYnVpbGRDb25maXJtYXRpb24ocmVzcG9uc2UpO1xuICAgICAgICAgIGlmIChjb25maXJtYXRpb24gJiYgKGNvbmZpcm1hdGlvbi5nZXRIZWFkZXIoKSB8fCBjb25maXJtYXRpb24uZ2V0Qm9keSgpKSkge1xuICAgICAgICAgICAgdGhpcy5jYXNlRWRpdC5jb25maXJtKGNvbmZpcm1hdGlvbik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2FzZUVkaXQuc3VibWl0dGVkLmVtaXQoe2Nhc2VJZDogcmVzcG9uc2VbJ2lkJ10sIHN0YXR1czogdGhpcy5nZXRTdGF0dXMocmVzcG9uc2UpfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yO1xuICAgICAgICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0Lm5leHQodGhpcy5lcnJvcik7XG4gICAgICAgICAgaWYgKHRoaXMuZXJyb3IuZGV0YWlscykge1xuICAgICAgICAgICAgdGhpcy5mb3JtRXJyb3JTZXJ2aWNlXG4gICAgICAgICAgICAgIC5tYXBGaWVsZEVycm9ycyh0aGlzLmVycm9yLmRldGFpbHMuZmllbGRfZXJyb3JzLCB0aGlzLmVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ10gYXMgRm9ybUdyb3VwLCAndmFsaWRhdGlvbicpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYXZlcnNlICphbGwqIHZhbHVlcyBvZiBhIHtAbGluayBGb3JtR3JvdXB9LCBpbmNsdWRpbmcgdGhvc2UgZm9yIGRpc2FibGVkIGZpZWxkcyAoaS5lLiBoaWRkZW4gb25lcyksIHJlcGxhY2luZyB0aGVcbiAgICogdmFsdWUgb2YgYW55IHRoYXQgYXJlIGhpZGRlbiBBTkQgaGF2ZSBgcmV0YWluX2hpZGRlbl92YWx1ZWAgc2V0IHRvIGB0cnVlYCBpbiB0aGUgY29ycmVzcG9uZGluZyBgQ2FzZUZpZWxkYCwgd2l0aFxuICAgKiB0aGUgKm9yaWdpbmFsKiB2YWx1ZSBoZWxkIGluIHRoZSBgQ2FzZUZpZWxkYCBvYmplY3QuXG4gICAqXG4gICAqIFRoaXMgaXMgYXMgcGVyIGRlc2lnbiBpbiBFVUktMzYyMiwgd2hlcmUgYW55IHVzZXItZHJpdmVuIHVwZGF0ZXMgdG8gaGlkZGVuIGZpZWxkcyB3aXRoIGByZXRhaW5faGlkZGVuX3ZhbHVlYCA9XG4gICAqIGB0cnVlYCBhcmUgaWdub3JlZCAodGh1cyByZXRhaW5pbmcgdGhlIHZhbHVlIGRpc3BsYXllZCBvcmlnaW5hbGx5KS5cbiAgICpcbiAgICogKiBGb3IgQ29tcGxleCBmaWVsZCB0eXBlcywgdGhlIHJlcGxhY2VtZW50IGFib3ZlIGlzIHBlcmZvcm1lZCByZWN1cnNpdmVseSBmb3IgYWxsIGhpZGRlbiBzdWItZmllbGRzIHdpdGhcbiAgICogYHJldGFpbl9oaWRkZW5fdmFsdWVgID0gYHRydWVgLlxuICAgKlxuICAgKiAqIEZvciBDb2xsZWN0aW9uIGZpZWxkIHR5cGVzLCBpbmNsdWRpbmcgY29sbGVjdGlvbnMgb2YgQ29tcGxleCBhbmQgRG9jdW1lbnQgZmllbGQgdHlwZXMsIHRoZSByZXBsYWNlbWVudCBpc1xuICAgKiBwZXJmb3JtZWQgZm9yIGFsbCBmaWVsZHMgaW4gdGhlIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBmb3JtR3JvdXAgVGhlIGBGb3JtR3JvdXBgIGluc3RhbmNlIHdob3NlIHJhdyB2YWx1ZXMgYXJlIHRvIGJlIHRyYXZlcnNlZFxuICAgKiBAcGFyYW0gY2FzZUZpZWxkcyBUaGUgYXJyYXkgb2Yge0BsaW5rIENhc2VGaWVsZH0gZG9tYWluIG1vZGVsIG9iamVjdHMgY29ycmVzcG9uZGluZyB0byBmaWVsZHMgaW4gYGZvcm1Hcm91cGBcbiAgICogQHBhcmFtIHBhcmVudEZpZWxkIFJlZmVyZW5jZSB0byB0aGUgcGFyZW50IGBDYXNlRmllbGRgLiBVc2VkIGZvciByZXRyaWV2aW5nIHRoZSBzdWItZmllbGQgdmFsdWVzIG9mIGEgQ29tcGxleCBmaWVsZFxuICAgKiB0byBwZXJmb3JtIHJlY3Vyc2l2ZSByZXBsYWNlbWVudCAtIHRoZSBzdWItZmllbGQgYENhc2VGaWVsZGBzIHRoZW1zZWx2ZXMgZG8gKm5vdCogY29udGFpbiBhbnkgdmFsdWVzXG4gICAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIHRoZSAqcmF3KiBmb3JtIHZhbHVlIGRhdGEgKGFzIGtleS12YWx1ZSBwYWlycyksIHdpdGggYW55IHZhbHVlIHJlcGxhY2VtZW50cyBhcyBuZWNlc3NhcnlcbiAgICovXG4gIHByaXZhdGUgcmVwbGFjZUhpZGRlbkZvcm1WYWx1ZXNXaXRoT3JpZ2luYWxDYXNlRGF0YShmb3JtR3JvdXA6IEZvcm1Hcm91cCwgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10sIHBhcmVudEZpZWxkPzogQ2FzZUZpZWxkKTogb2JqZWN0IHtcbiAgICAvLyBHZXQgdGhlIHJhdyBmb3JtIHZhbHVlIGRhdGEsIHdoaWNoIGluY2x1ZGVzIHRoZSB2YWx1ZXMgb2YgYW55IGRpc2FibGVkIGNvbnRyb2xzLCBhcyBrZXktdmFsdWUgcGFpcnNcbiAgICBjb25zdCByYXdGb3JtVmFsdWVEYXRhID0gZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG5cbiAgICAvLyBQbGFjZSBhbGwgY2FzZSBmaWVsZHMgaW4gYSBsb29rdXAgb2JqZWN0LCBzbyB0aGV5IGNhbiBiZSByZXRyaWV2ZWQgYnkgaWRcbiAgICBjb25zdCBjYXNlRmllbGRzTG9va3VwID0ge307XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGNhc2VGaWVsZHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNhc2VGaWVsZHNMb29rdXBbY2FzZUZpZWxkc1tpXS5pZF0gPSBjYXNlRmllbGRzW2ldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2UgYW55IGZvcm0gdmFsdWUgd2l0aCB0aGUgb3JpZ2luYWwsIHdoZXJlIGl0cyBDYXNlRmllbGQgaXMgaGlkZGVuIEFORCBoYXMgdGhlIHJldGFpbl9oaWRkZW5fdmFsdWUgZmxhZyBzZXRcbiAgICAgKiB0byB0cnVlLlxuICAgICAqXG4gICAgICogSWYgdGhlIENhc2VGaWVsZCdzIGBoaWRkZW5gIGF0dHJpYnV0ZSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlbiBjaGVjayB0aGlzIGF0dHJpYnV0ZSBpbiB0aGUgcGFyZW50IENhc2VGaWVsZCAoaWZcbiAgICAgKiBvbmUgZXhpc3RzKS4gVGhpcyBpcyBvY2N1cnJpbmcgKGFuZCBpcyBwb3NzaWJseSBhIGJ1Zykgd2hlbiBhIENhc2VGaWVsZCBpcyBhIHN1Yi1maWVsZCBvZiBhIENvbXBsZXggdHlwZSwgb3IgYW5cbiAgICAgKiBpdGVtIGluIGEgQ29sbGVjdGlvbiB0eXBlLlxuICAgICAqXG4gICAgICogSWYgdGhlIGZpZWxkIGlzIGEgQ29tcGxleCB0eXBlIHdpdGggcmV0YWluX2hpZGRlbl92YWx1ZSA9IHRydWUsIHBlcmZvcm0gYSByZWN1cnNpdmUgcmVwbGFjZW1lbnQgZm9yIGFsbCAoaGlkZGVuKVxuICAgICAqIHN1Yi1maWVsZHMgd2l0aCByZXRhaW5faGlkZGVuX3ZhbHVlID0gdHJ1ZSwgdXNpbmcgdGhlaXIgb3JpZ2luYWwgQ2FzZUZpZWxkIHZhbHVlcyAoZnJvbSB0aGUgYGZvcm1hdHRlZF92YWx1ZWBcbiAgICAgKiBhdHRyaWJ1dGUpLlxuICAgICAqXG4gICAgICogSWYgdGhlIGZpZWxkIGlzIGEgQ29sbGVjdGlvbiB0eXBlIHdpdGggcmV0YWluX2hpZGRlbl92YWx1ZSA9IHRydWUsIHRoZSBlbnRpcmUgY29sbGVjdGlvbiBpcyByZXBsYWNlZCB3aXRoIHRoZVxuICAgICAqIG9yaWdpbmFsIGZyb20gYGZvcm1hdHRlZF92YWx1ZWAuIFRoaXMgYXBwbGllcyB0byAqYWxsKiB0eXBlcyBvZiBDb2xsZWN0aW9ucy5cbiAgICAgKi9cbiAgICBPYmplY3Qua2V5cyhyYXdGb3JtVmFsdWVEYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZDogQ2FzZUZpZWxkID0gY2FzZUZpZWxkc0xvb2t1cFtrZXldO1xuICAgICAgLy8gSWYgY2FzZUZpZWxkLmhpZGRlbiBpcyBOT1QgdHJ1dGh5IGFuZCBhbHNvIE5PVCBlcXVhbCB0byBmYWxzZSwgdGhlbiBpdCBtdXN0IGJlIG51bGwvdW5kZWZpbmVkIChyZW1lbWJlciB0aGF0XG4gICAgICAvLyBib3RoIG51bGwgYW5kIHVuZGVmaW5lZCBhcmUgZXF1YWwgdG8gKm5laXRoZXIgZmFsc2Ugbm9yIHRydWUqKVxuICAgICAgaWYgKGNhc2VGaWVsZCAmJiBjYXNlRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSAmJlxuICAgICAgICAoY2FzZUZpZWxkLmhpZGRlbiB8fCAoY2FzZUZpZWxkLmhpZGRlbiAhPT0gZmFsc2UgJiYgcGFyZW50RmllbGQgJiYgcGFyZW50RmllbGQuaGlkZGVuKSkpIHtcbiAgICAgICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgICAgIC8vIE5vdGU6IERlbGliZXJhdGUgdXNlIG9mIGVxdWFsaXR5ICg9PSkgYW5kIG5vbi1lcXVhbGl0eSAoIT0pIG9wZXJhdG9ycyBmb3IgbnVsbCBjaGVja3MgdGhyb3VnaG91dCwgdG9cbiAgICAgICAgICAvLyBoYW5kbGUgYm90aCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzXG4gICAgICAgICAgaWYgKGNhc2VGaWVsZC52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gQ2FsbCB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5IHRvIHJlcGxhY2UgdGhlIENvbXBsZXggZmllbGQncyBzdWItZmllbGRzIGFzIG5lY2Vzc2FyeSwgcGFzc2luZyB0aGVcbiAgICAgICAgICAgIC8vIENhc2VGaWVsZCBpdHNlbGYgKHRoZSBzdWItZmllbGRzIGRvIG5vdCBjb250YWluIGFueSB2YWx1ZXMsIHNvIHRoZXNlIG5lZWQgdG8gYmUgb2J0YWluZWQgZnJvbSB0aGVcbiAgICAgICAgICAgIC8vIHBhcmVudClcbiAgICAgICAgICAgIC8vIFVwZGF0ZSByYXdGb3JtVmFsdWVEYXRhIGZvciB0aGlzIGZpZWxkXG4gICAgICAgICAgICAvLyBjcmVhdGluZyBmb3JtIGdyb3VwIGFuZCBhZGRpbmcgY29udHJvbCBpbnRvIGl0IGluIGNhc2UgY2FzZUZpZWxkIGlzIG9mIGNvbXBsZXh0IHR5cGUgYW5kIGFuZCBwYXJ0IG9mIGZvcm1Hcm91cFxuICAgICAgICAgICAgY29uc3QgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICAgICAgICBpZiAoZm9ybUdyb3VwLmNvbnRyb2xzW2tleV0udmFsdWUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzW2tleV0udmFsdWUpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBmb3JtLmFkZENvbnRyb2woaXRlbSwgbmV3IEZvcm1Db250cm9sKGZvcm1Hcm91cC5jb250cm9sc1trZXldLnZhbHVlW2l0ZW1dKSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmF3Rm9ybVZhbHVlRGF0YVtrZXldID0gdGhpcy5yZXBsYWNlSGlkZGVuRm9ybVZhbHVlc1dpdGhPcmlnaW5hbENhc2VEYXRhKFxuICAgICAgICAgICAgICBmb3JtLCBjYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcywgY2FzZUZpZWxkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRGVmYXVsdCBjYXNlIGFsc28gaGFuZGxlcyBjb2xsZWN0aW9ucyBvZiAqYWxsKiB0eXBlczsgdGhlIGVudGlyZSBjb2xsZWN0aW9uIGluIHJhd0Zvcm1WYWx1ZURhdGEgd2lsbCBiZVxuICAgICAgICAgIC8vIHJlcGxhY2VkIHdpdGggdGhlIG9yaWdpbmFsIGZyb20gZm9ybWF0dGVkX3ZhbHVlXG4gICAgICAgICAgLy8gVXNlIHRoZSBDYXNlRmllbGQncyBleGlzdGluZyAqZm9ybWF0dGVkX3ZhbHVlKiBmcm9tIHRoZSBwYXJlbnQsIGlmIGF2YWlsYWJsZS4gKFRoaXMgaXMgbmVjZXNzYXJ5IGZvclxuICAgICAgICAgIC8vIENvbXBsZXggZmllbGRzLCB3aG9zZSBzdWItZmllbGRzIGRvIG5vdCBob2xkIGFueSB2YWx1ZXMgaW4gdGhlIG1vZGVsLikgT3RoZXJ3aXNlLCB1c2UgZm9ybWF0dGVkX3ZhbHVlXG4gICAgICAgICAgLy8gZnJvbSB0aGUgQ2FzZUZpZWxkIGl0c2VsZi5cbiAgICAgICAgICBpZiAocGFyZW50RmllbGQgJiYgcGFyZW50RmllbGQuZm9ybWF0dGVkX3ZhbHVlKSB7XG4gICAgICAgICAgICByYXdGb3JtVmFsdWVEYXRhW2tleV0gPSBwYXJlbnRGaWVsZC5mb3JtYXR0ZWRfdmFsdWVbY2FzZUZpZWxkLmlkXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmF3Rm9ybVZhbHVlRGF0YVtrZXldID0gY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByYXdGb3JtVmFsdWVEYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIG5vbi1hcnJheSB2YWx1ZSBvYmplY3RzIHdpdGggYG51bGxgIGZvciBhbnkgQ29tcGxleC10eXBlIGZpZWxkcyB3aG9zZSB2YWx1ZSBpcyBlZmZlY3RpdmVseSBlbXB0eSwgaS5lLlxuICAgKiBhbGwgaXRzIHN1Yi1maWVsZHMgYW5kIGRlc2NlbmRhbnRzIGFyZSBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBvYmplY3QgdHJlZSByZXByZXNlbnRpbmcgYWxsIHRoZSBmb3JtIGZpZWxkIGRhdGFcbiAgICogQHJldHVybnMgVGhlIGZvcm0gZmllbGQgZGF0YSBtb2RpZmllZCBhY2NvcmRpbmdseVxuICAgKi9cbiAgcHJpdmF0ZSByZXBsYWNlRW1wdHlDb21wbGV4RmllbGRWYWx1ZXMoZGF0YTogb2JqZWN0KTogb2JqZWN0IHtcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhW2tleV0pICYmIHR5cGVvZiBkYXRhW2tleV0gPT09ICdvYmplY3QnICYmICFGaWVsZHNVdGlscy5jb250YWluc05vbkVtcHR5VmFsdWVzKGRhdGFba2V5XSkpIHtcbiAgICAgICAgZGF0YVtrZXldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGF0dXMocmVzcG9uc2U6IG9iamVjdCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzQ2FsbGJhY2tGYWlsZWQocmVzcG9uc2UpID8gcmVzcG9uc2VbJ2NhbGxiYWNrX3Jlc3BvbnNlX3N0YXR1cyddIDogcmVzcG9uc2VbJ2RlbGV0ZV9kcmFmdF9yZXNwb25zZV9zdGF0dXMnXTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ2FsbGJhY2tGYWlsZWQocmVzcG9uc2U6IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXNwb25zZVsnY2FsbGJhY2tfcmVzcG9uc2Vfc3RhdHVzJ10gIT09ICdDQUxMQkFDS19DT01QTEVURUQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yXG4gICAgICAmJiB0aGlzLmVycm9yLmNhbGxiYWNrRXJyb3JzXG4gICAgICAmJiB0aGlzLmVycm9yLmNhbGxiYWNrRXJyb3JzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvUGFnZShwYWdlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUVkaXQubmF2aWdhdGVUb1BhZ2UocGFnZUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxsYmFja0Vycm9yc05vdGlmeShlcnJvckNvbnRleHQ6IENhbGxiYWNrRXJyb3JzQ29udGV4dCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlV2FybmluZyA9IGVycm9yQ29udGV4dC5pZ25vcmVXYXJuaW5nO1xuICAgIHRoaXMudHJpZ2dlclRleHQgPSBlcnJvckNvbnRleHQudHJpZ2dlclRleHQ7XG4gIH1cblxuICBwdWJsaWMgc3VtbWFyeUNhc2VGaWVsZChmaWVsZDogQ2FzZUZpZWxkKTogQ2FzZUZpZWxkIHtcbiAgICBpZiAobnVsbCA9PT0gdGhpcy5lZGl0Rm9ybS5nZXQoJ2RhdGEnKS5nZXQoZmllbGQuaWQpKSB7XG4gICAgICAvLyBJZiBub3QgaW4gZm9ybSwgcmV0dXJuIGZpZWxkIGl0c2VsZlxuICAgICAgcmV0dXJuIGZpZWxkO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lRmllbGQ6IENhc2VGaWVsZCA9IHRoaXMuZmllbGRzVXRpbHMuY2xvbmVDYXNlRmllbGQoZmllbGQpO1xuICAgIGNsb25lRmllbGQudmFsdWUgPSB0aGlzLmVkaXRGb3JtLmdldCgnZGF0YScpLmdldChmaWVsZC5pZCkudmFsdWU7XG5cbiAgICByZXR1cm4gY2xvbmVGaWVsZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZXZlbnRUcmlnZ2VyLmNhbl9zYXZlX2RyYWZ0KSB7XG4gICAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldChDYXNlRWRpdENvbXBvbmVudC5PUklHSU5fUVVFUllfUEFSQU0pID09PSAndmlld0RyYWZ0Jykge1xuICAgICAgICB0aGlzLmNhc2VFZGl0LmNhbmNlbGxlZC5lbWl0KHtzdGF0dXM6IENhc2VFZGl0UGFnZUNvbXBvbmVudC5SRVNVTUVEX0ZPUk1fRElTQ0FSRH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jYXNlRWRpdC5jYW5jZWxsZWQuZW1pdCh7c3RhdHVzOiBDYXNlRWRpdFBhZ2VDb21wb25lbnQuTkVXX0ZPUk1fRElTQ0FSRH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhc2VFZGl0LmNhbmNlbGxlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzTGFiZWwoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZFNlcnZpY2UuaXNMYWJlbChmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgaXNDaGFuZ2VBbGxvd2VkKGZpZWxkOiBDYXNlRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuY2FzZUZpZWxkU2VydmljZS5pc1JlYWRPbmx5KGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1lvdXJBbnN3ZXJGaWVsZHNUb0Rpc3BsYXlFeGlzdHMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmV2ZW50VHJpZ2dlci5zaG93X3N1bW1hcnkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBhZ2Ugb2YgdGhpcy53aXphcmQucGFnZXMpIHtcbiAgICAgIGlmICh0aGlzLmlzU2hvd24ocGFnZSkpIHtcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBwYWdlLmNhc2VfZmllbGRzKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY2FuU2hvd0ZpZWxkSW5DWUEoZmllbGQpKSB7XG4gICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZmllbGQgbmVlZHMgc2hvd2luZ1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZm91bmQgbm8gZmllbGRzIHRvIHNob3cgaW4gQ1lBIHN1bW1hcnkgcGFnZVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkT25seVN1bW1hcnlGaWVsZHNUb0Rpc3BsYXlFeGlzdHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzLnNvbWUoZmllbGQgPT4gZmllbGQuc2hvd19zdW1tYXJ5X2NvbnRlbnRfb3B0aW9uID49IDAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93RXZlbnROb3RlcygpOiBib29sZWFuIHtcbiAgICAvLyBEaXNwbGF5IGV2ZW50IG5vdGVzIHJlbGF0ZWQgY29udHJvbHMgb25seSBpZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldFxuICAgIC8vIDEuIHNob3dfZXZlbnRfbm90ZXMgZmxhZyBpcyBzZXQgdG8gdHJ1ZVxuICAgIC8vIDIuIHByb2ZpbGUgaXMgbm90IGEgc29saWNpdG9yXG4gICAgLy8gMy4gaXMgbm90IGEgY2FzZSBmbGFncyBqb3VybmV5LCBhcyBpdCB1c2VzIGEgY3VzdG9tIGNoZWNrIHlvdXIgYW5zd2VycyBjb21wb25lbnRcbiAgICBpZiAodGhpcy5ldmVudFRyaWdnZXIuc2hvd19ldmVudF9ub3Rlcykge1xuICAgICAgcmV0dXJuICF0aGlzLnByb2ZpbGU/LmlzU29saWNpdG9yKClcbiAgICAgICAgJiYgIXRoaXMuY2FzZUZsYWdGaWVsZDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXN0UGFnZVNob3duKCk6IFdpemFyZFBhZ2Uge1xuICAgIGxldCBsYXN0UGFnZTogV2l6YXJkUGFnZTtcbiAgICB0aGlzLndpemFyZC5yZXZlcnNlKCkuZm9yRWFjaChwYWdlID0+IHtcbiAgICAgIGlmICghbGFzdFBhZ2UgJiYgdGhpcy5pc1Nob3duKHBhZ2UpKSB7XG4gICAgICAgIGxhc3RQYWdlID0gcGFnZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBub2luc3BlY3Rpb24gSlNVbnVzZWRBc3NpZ25tZW50XG4gICAgcmV0dXJuIGxhc3RQYWdlO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc1ByZXZpb3VzKCkpIHtcbiAgICAgIHRoaXMubmF2aWdhdGVUb1BhZ2UodGhpcy5nZXRMYXN0UGFnZVNob3duKCkuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNQcmV2aW91cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldExhc3RQYWdlU2hvd24oKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1Nob3duKHBhZ2U6IFdpemFyZFBhZ2UpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmZpZWxkc1V0aWxzXG4gICAgICAubWVyZ2VDYXNlRmllbGRzQW5kRm9ybUZpZWxkcyh0aGlzLmV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcywgdGhpcy5lZGl0Rm9ybS5jb250cm9sc1snZGF0YSddLnZhbHVlKTtcbiAgICByZXR1cm4gcGFnZS5wYXJzZWRTaG93Q29uZGl0aW9uLm1hdGNoKGZpZWxkcyk7XG4gIH1cblxuICBwdWJsaWMgY2FuU2hvd0ZpZWxkSW5DWUEoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZC5zaG93X3N1bW1hcnlfY2hhbmdlX29wdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDb25maXJtYXRpb24ocmVzcG9uc2U6IG9iamVjdCk6IENvbmZpcm1hdGlvbiB7XG4gICAgaWYgKHJlc3BvbnNlWydhZnRlcl9zdWJtaXRfY2FsbGJhY2tfcmVzcG9uc2UnXSkge1xuICAgICAgcmV0dXJuIG5ldyBDb25maXJtYXRpb24oXG4gICAgICAgIHJlc3BvbnNlWydpZCddLFxuICAgICAgICByZXNwb25zZVsnY2FsbGJhY2tfcmVzcG9uc2Vfc3RhdHVzJ10sXG4gICAgICAgIHJlc3BvbnNlWydhZnRlcl9zdWJtaXRfY2FsbGJhY2tfcmVzcG9uc2UnXVsnY29uZmlybWF0aW9uX2hlYWRlciddLFxuICAgICAgICByZXNwb25zZVsnYWZ0ZXJfc3VibWl0X2NhbGxiYWNrX3Jlc3BvbnNlJ11bJ2NvbmZpcm1hdGlvbl9ib2R5J11cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydEZpZWxkc0J5U2hvd1N1bW1hcnlDb250ZW50KGZpZWxkczogQ2FzZUZpZWxkW10pOiBDYXNlRmllbGRbXSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJTZXJ2aWNlXG4gICAgICAuc29ydChmaWVsZHMsIENhc2VFZGl0U3VibWl0Q29tcG9uZW50LlNIT1dfU1VNTUFSWV9DT05URU5UX0NPTVBBUkVfRlVOQ1RJT04pXG4gICAgICAuZmlsdGVyKGNmID0+IGNmLnNob3dfc3VtbWFyeV9jb250ZW50X29wdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogQ2FzZUZpZWxkW10ge1xuICAgIGlmICh0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzKSB7XG4gICAgICByZXR1cm4gRmllbGRzVXRpbHMuZ2V0Q2FzZUZpZWxkcyh0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzID8gdGhpcy5jYXNlRWRpdC5jYXNlRGV0YWlscy5jYXNlX2lkIDogJycpO1xuICB9XG5cbiAgcHVibGljIGdldEV2ZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0Rm9ybS52YWx1ZS5ldmVudC5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMgJiYgdGhpcy5jYXNlRWRpdC5jYXNlRGV0YWlscy5zdGF0ZSAmJlxuICAgIHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMuc3RhdGUudGl0bGVfZGlzcGxheSA/IHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMuc3RhdGUudGl0bGVfZGlzcGxheSA6ICcnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYW5jZWxUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZXZlbnRUcmlnZ2VyLmNhbl9zYXZlX2RyYWZ0KSB7XG4gICAgICByZXR1cm4gJ1JldHVybiB0byBjYXNlIGxpc3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ0NhbmNlbCc7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiIWV2ZW50Q29tcGxldGlvbkNoZWNrc1JlcXVpcmVkXCI+XG4gIDwhLS0gRXZlbnQgdHJpZ2dlciBuYW1lIC0tPlxuICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj57eyBldmVudFRyaWdnZXIubmFtZSB8IHJweFRyYW5zbGF0ZX19PC9oMT5cblxuICA8IS0tQ2FzZSBJRCBvciBUaXRsZSAtLT5cbiAgPGRpdiAqbmdJZj1cImdldENhc2VUaXRsZSgpOyB0aGVuIHRpdGxlQmxvY2s7IGVsc2UgaWRCbG9ja1wiPjwvZGl2PlxuICA8bmctdGVtcGxhdGUgI3RpdGxlQmxvY2s+XG4gICAgPGNjZC1tYXJrZG93biBbY29udGVudF09XCJnZXRDYXNlVGl0bGUoKSB8IGNjZENhc2VUaXRsZTogY29udGV4dEZpZWxkcyA6IGVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ11cIj48L2NjZC1tYXJrZG93bj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNpZEJsb2NrPlxuICAgIDxoMiAqbmdJZj1cImdldENhc2VJZCgpXCIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+I3t7IGdldENhc2VJZCgpIHwgY2NkQ2FzZVJlZmVyZW5jZSB9fTwvaDI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBHZW5lcmljIGVycm9yIGhlYWRpbmcgYW5kIGVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIG9ubHkgaWYgdGhlcmUgYXJlIG5vIHNwZWNpZmljIGNhbGxiYWNrIGVycm9ycyBvciB3YXJuaW5ncywgb3Igbm8gZXJyb3IgZGV0YWlscyAtLT5cbiAgPGRpdiAqbmdJZj1cImVycm9yICYmICghKGVycm9yLmNhbGxiYWNrRXJyb3JzIHx8IGVycm9yLmNhbGxiYWNrV2FybmluZ3MgfHwgZXJyb3IuZGV0YWlscykgJiYgIWVycm9yLm1lc3NhZ2UpXCIgY2xhc3M9XCJlcnJvci1zdW1tYXJ5XCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgICA8aDEgY2xhc3M9XCJoZWFkaW5nLWgxIGVycm9yLXN1bW1hcnktaGVhZGluZ1wiIGlkPVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiPlxuICAgICAge3snU29tZXRoaW5nIHdlbnQgd3JvbmcnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2gxPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCIgaWQ9XCJlZGl0LWNhc2UtZXZlbnRfZXJyb3Itc3VtbWFyeS1ib2R5XCI+XG4gICAgICA8cD57e1wiV2UncmUgd29ya2luZyB0byBmaXggdGhlIHByb2JsZW0uIFRyeSBhZ2FpbiBzaG9ydGx5LlwiIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgICA8cD48YSBocmVmPVwiZ2V0LWhlbHBcIiB0YXJnZXQ9XCJfYmxhbmtcIj57eydDb250YWN0IHVzJyB8IHJweFRyYW5zbGF0ZX19PC9hPiB7e1wiaWYgeW91J3JlIHN0aWxsIGhhdmluZyBwcm9ibGVtc1wiIHwgcnB4VHJhbnNsYXRlfX0uPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPCEtLSBFdmVudCBlcnJvciBoZWFkaW5nIGFuZCBlcnJvciBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCBpZiB0aGVyZSBhcmUgc3BlY2lmaWMgZXJyb3IgZGV0YWlscyAtLT5cbiAgPGRpdiAqbmdJZj1cImVycm9yICYmIChlcnJvci5kZXRhaWxzIHx8IGVycm9yLm1lc3NhZ2UpXCIgY2xhc3M9XCJlcnJvci1zdW1tYXJ5XCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgICA8aDMgY2xhc3M9XCJoZWFkaW5nLWgzIGVycm9yLXN1bW1hcnktaGVhZGluZ1wiIGlkPVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiPlxuICAgICAge3tcIlRoZSBldmVudCBjb3VsZCBub3QgYmUgY3JlYXRlZFwiIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2gzPlxuICAgIDxwPnt7ZXJyb3IubWVzc2FnZX19PC9wPlxuICAgIDx1bCAqbmdJZj1cImVycm9yLmRldGFpbHM/LmZpZWxkX2Vycm9yc1wiIGNsYXNzPVwiZXJyb3Itc3VtbWFyeS1saXN0XCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGZpZWxkRXJyb3Igb2YgZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnNcIiBjbGFzcz1cImNjZC1lcnJvci1zdW1tYXJ5LWxpXCI+e3tmaWVsZEVycm9yLm1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fTwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG4gIDxjY2QtY2FsbGJhY2stZXJyb3JzIFtjYWxsYmFja0Vycm9yc1N1YmplY3RdPVwiY2FsbGJhY2tFcnJvcnNTdWJqZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2FsbGJhY2tFcnJvcnNDb250ZXh0KT1cImNhbGxiYWNrRXJyb3JzTm90aWZ5KCRldmVudClcIj48L2NjZC1jYWxsYmFjay1lcnJvcnM+XG5cbiAgPGZvcm0gY2xhc3M9XCJjaGVjay15b3VyLWFuc3dlcnNcIiBbZm9ybUdyb3VwXT1cImVkaXRGb3JtXCIgKHN1Ym1pdCk9XCJzdWJtaXQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGVja1lvdXJBbnN3ZXJGaWVsZHNUb0Rpc3BsYXlFeGlzdHMoKVwiPlxuXG4gICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+e3twYWdlVGl0bGUgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiAqbmdJZj1cIiFjYXNlRmxhZ0ZpZWxkXCI+e3snQ2hlY2sgdGhlIGluZm9ybWF0aW9uIGJlbG93IGNhcmVmdWxseS4nIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG5cbiAgICAgIDx0YWJsZSBjbGFzcz1cImZvcm0tdGFibGVcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjaGVjayB5b3VyIGFuc3dlcnMgdGFibGUnIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZSBvZiB3aXphcmQucGFnZXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaG93bihwYWdlKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgcGFnZVxuICAgICAgICAgICAgfCBjY2RQYWdlRmllbGRzOiBlZGl0Rm9ybVxuICAgICAgICAgICAgfCBjY2RSZWFkRmllbGRzRmlsdGVyOiBmYWxzZSA6dW5kZWZpbmVkIDp0cnVlIDogZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVxuICAgICAgICAgICAgfCBjY2RDWUFQYWdlTGFiZWxGaWx0ZXJcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhblNob3dGaWVsZEluQ1lBKGZpZWxkKVwiPlxuICAgICAgICAgICAgICAgIDx0ciBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiZmllbGRcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVwiIFtjb250ZXh0RmllbGRzXT1cImNvbnRleHRGaWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cIiFpc0xhYmVsKGZpZWxkKSAmJiAhY2FzZUZsYWdGaWVsZFwiIGNsYXNzPVwidmFsaWduLXRvcCBjYXNlLWZpZWxkLWxhYmVsXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tmaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJmb3JtLWNlbGwgY2FzZS1maWVsZC1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyduby1ib3R0b20tYm9yZGVyJzogY2FzZUZsYWdGaWVsZH1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2xzcGFuXT1cImlzTGFiZWwoZmllbGQpID8gJzInIDogJzEnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZFxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVwiIFt0b3BMZXZlbEZvcm1Hcm91cF09XCJlZGl0Rm9ybS5jb250cm9sc1snZGF0YSddXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInN1bW1hcnlDYXNlRmllbGQoZmllbGQpXCIgW2NvbnRleHRdPVwicGFsZXR0ZUNvbnRleHRcIiBbY2FzZUZpZWxkc109XCJjb250ZXh0RmllbGRzXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNhc2VGbGFnRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsaWduLXRvcCBjaGVjay15b3VyLWFuc3dlcnNfX2NoYW5nZSBjYXNlLWZpZWxkLWNoYW5nZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiaXNDaGFuZ2VBbGxvd2VkKGZpZWxkKVwiIChjbGljayk9XCJuYXZpZ2F0ZVRvUGFnZShwYWdlLmlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX0ge3sgZmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGUgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZWFkT25seVN1bW1hcnlGaWVsZHNUb0Rpc3BsYXlFeGlzdHMoKVwiPlxuXG4gICAgICA8dGFibGUgY2xhc3M9XCJzdW1tYXJ5LWZpZWxkc1wiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ3N1bW1hcnkgZmllbGRzIHRhYmxlJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2Ygc2hvd1N1bW1hcnlGaWVsZHNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiIShmaWVsZCB8IGNjZElzQ29tcG91bmQpXCI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybS5jb250cm9sc1snZGF0YSddXCIgW2NvbnRleHRGaWVsZHNdPVwiY29udGV4dEZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgPHRoIGlkPVwic3VtbWFyeS1maWVsZC1sYWJlbFwiPnt7ZmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJmb3JtLWNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVwiIFtjYXNlRmllbGRdPVwic3VtbWFyeUNhc2VGaWVsZChmaWVsZClcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDx0ciAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIiBjbGFzcz1cImNvbXBvdW5kLWZpZWxkXCIgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybS5jb250cm9sc1snZGF0YSddXCIgW2NvbnRleHRGaWVsZHNdPVwiY29udGV4dEZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbZm9ybUdyb3VwXT1cImVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ11cIiBbY2FzZUZpZWxkXT1cInN1bW1hcnlDYXNlRmllbGQoZmllbGQpXCIgW2Nhc2VGaWVsZHNdPVwiY29udGV4dEZpZWxkc1wiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RXZlbnROb3RlcygpXCI+XG4gICAgICA8ZmllbGRzZXQgaWQ9XCJmaWVsZHNldC1ldmVudFwiIGZvcm1Hcm91cE5hbWU9XCJldmVudFwiPlxuICAgICAgICA8bGVnZW5kIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj48L2xlZ2VuZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmllbGQtdHJpZ2dlci1zdW1tYXJ5XCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgICAgICB7eydFdmVudCBzdW1tYXJ5IChvcHRpb25hbCknIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCI+e3snQSBmZXcgd29yZHMgZGVzY3JpYmluZyB0aGUgcHVycG9zZSBvZiB0aGUgZXZlbnQuJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJmaWVsZC10cmlnZ2VyLXN1bW1hcnlcIiBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzAgd2lkdGgtNTBcIiBmb3JtQ29udHJvbE5hbWU9XCJzdW1tYXJ5XCIgbWF4bGVuZ3RoPVwiMTAyNFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmllbGQtdHJpZ2dlci1kZXNjcmlwdGlvblwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0V2ZW50IGRlc2NyaXB0aW9uKG9wdGlvbmFsKScgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgPHRleHRhcmVhIGlkPVwiZmllbGQtdHJpZ2dlci1kZXNjcmlwdGlvblwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMCB3aWR0aC01MFwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNjU1MzZcIj5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZm9ybS1ncm91cC1yZWxhdGVkXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cIiFoYXNQcmV2aW91cygpIHx8IGlzU3VibWl0dGluZ1wiIChjbGljayk9XCJwcmV2aW91cygpXCI+XG4gICAgICAgIHt7J1ByZXZpb3VzJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgY2xhc3M9XCJidXR0b25cIj5cbiAgICAgICAge3t0cmlnZ2VyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8cCBjbGFzcz1cImNhbmNlbFwiPlxuICAgICAgPGEgKGNsaWNrKT1cImNhbmNlbCgpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpc1N1Ym1pdHRpbmdcIj5cbiAgICAgICAge3tnZXRDYW5jZWxUZXh0KCkgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9hPlxuICAgIDwvcD5cbiAgPC9mb3JtPlxuPC9kaXY+XG48Y2NkLWNhc2UtZXZlbnQtY29tcGxldGlvbiAqbmdJZj1cImV2ZW50Q29tcGxldGlvbkNoZWNrc1JlcXVpcmVkXCJcbiAgW2V2ZW50Q29tcGxldGlvblBhcmFtc109XCJldmVudENvbXBsZXRpb25QYXJhbXNcIlxuICAoZXZlbnRDYW5CZUNvbXBsZXRlZCk9XCJvbkV2ZW50Q2FuQmVDb21wbGV0ZWQoJGV2ZW50KVwiPlxuPC9jY2QtY2FzZS1ldmVudC1jb21wbGV0aW9uPlxuIl19
|
|
520
|
+
}], function () { return [{ type: i1.CaseEditComponent }, { type: i2.FieldsUtils }, { type: i2.CaseFieldService }, { type: i3.ActivatedRoute }, { type: i2.OrderService }, { type: i2.ProfileNotifier }]; }, null); })();
|
|
521
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1lZGl0LXN1Ym1pdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3IvY2FzZS1lZGl0LXN1Ym1pdC9jYXNlLWVkaXQtc3VibWl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQtc3VibWl0L2Nhc2UtZWRpdC1zdWJtaXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJakQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsWUFBWSxFQUNaLGVBQWUsR0FDaEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsdUJBQXVCLEVBQXlCLE1BQU0sYUFBYSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztJQ1ZuRSxzQkFBaUU7OztJQUUvRCxtQ0FBa0g7Ozs7SUFBcEcsNkhBQW9GOzs7SUFHbEcsOEJBQTJDO0lBQUEsWUFBcUM7O0lBQUEsaUJBQUs7OztJQUExQyxlQUFxQztJQUFyQyx5RUFBcUM7OztJQUFoRiwyRkFBcUY7OztJQUFoRix5Q0FBaUI7OztJQVlwQixnQ0FBNkQ7SUFBQSxzREFBc0M7SUFBQSxpQkFBTzs7O0lBYTlG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cEMsT0FBTyxxQkFBcUIsQ0FBQztTQUM5QjthQUFNO1lBQ0wsT0FBTyxRQUFRLENBQUM7U0FDakI7SUFDSCxDQUFDOztBQXpOc0IsNkRBQXFDLEdBQUcsQ0FBQyxDQUFZLEVBQUUsQ0FBWSxFQUFVLEVBQUU7SUFDcEcsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLDJCQUEyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsMkJBQTJCLENBQUM7SUFDeEYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLDJCQUEyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsMkJBQTJCLENBQUM7SUFFeEYsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzVCO0lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLE9BQU8sQ0FBQyxDQUFDLENBQUM7S0FDWDtJQUNELE9BQU8sQ0FBQyxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztBQUN2RSxDQUFDLENBQUE7OEZBekJVLHVCQUF1Qjs0REFBdkIsdUJBQXVCO1FDeEJwQywwRUFrR007UUFDTixvSEFHNEI7O1FBdEd0QixvRUFBK0M7UUFtR3pCLGVBQThDO1FBQTlDLG1FQUE4Qzs7dUZEM0U3RCx1QkFBdUI7Y0FMbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlRXZlbnRUcmlnZ2VyLCBDYXNlRmllbGQsIFByb2ZpbGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vVGFzayc7XG5pbXBvcnQge1xuICBDYXNlRmllbGRTZXJ2aWNlLFxuICBGaWVsZHNVdGlscyxcbiAgT3JkZXJTZXJ2aWNlLFxuICBQcm9maWxlTm90aWZpZXIsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENhbGxiYWNrRXJyb3JzQ29tcG9uZW50LCBDYWxsYmFja0Vycm9yc0NvbnRleHQgfSBmcm9tICcuLi8uLi9lcnJvcic7XG5pbXBvcnQgeyBQYWxldHRlQ29udGV4dCB9IGZyb20gJy4uLy4uL3BhbGV0dGUnO1xuaW1wb3J0IHsgQ2FzZUVkaXRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FzZS1lZGl0LXBhZ2UvY2FzZS1lZGl0LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2FzZS1lZGl0L2Nhc2UtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2l6YXJkLCBXaXphcmRQYWdlIH0gZnJvbSAnLi4vZG9tYWluJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWVkaXQtc3VibWl0JyxcbiAgdGVtcGxhdGVVcmw6ICdjYXNlLWVkaXQtc3VibWl0Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vY2FzZS1lZGl0LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRWRpdFN1Ym1pdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGV2ZW50VHJpZ2dlcjogQ2FzZUV2ZW50VHJpZ2dlcjtcbiAgcHVibGljIGVkaXRGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyB0cmlnZ2VyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgd2l6YXJkOiBXaXphcmQ7XG4gIHB1YmxpYyBwcm9maWxlOiBQcm9maWxlO1xuICBwdWJsaWMgc2hvd1N1bW1hcnlGaWVsZHM6IENhc2VGaWVsZFtdO1xuICBwdWJsaWMgcGFsZXR0ZUNvbnRleHQ6IFBhbGV0dGVDb250ZXh0ID0gUGFsZXR0ZUNvbnRleHQuQ0hFQ0tfWU9VUl9BTlNXRVI7XG4gIHB1YmxpYyBwcm9maWxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjb250ZXh0RmllbGRzOiBDYXNlRmllbGRbXTtcbiAgcHVibGljIHRhc2s6IFRhc2s7XG4gIHB1YmxpYyBwYWdlVGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNIT1dfU1VNTUFSWV9DT05URU5UX0NPTVBBUkVfRlVOQ1RJT04gPSAoYTogQ2FzZUZpZWxkLCBiOiBDYXNlRmllbGQpOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IGFDYXNlRmllbGQgPSBhLnNob3dfc3VtbWFyeV9jb250ZW50X29wdGlvbiA9PT0gMCB8fCBhLnNob3dfc3VtbWFyeV9jb250ZW50X29wdGlvbjtcbiAgICBjb25zdCBiQ2FzZUZpZWxkID0gYi5zaG93X3N1bW1hcnlfY29udGVudF9vcHRpb24gPT09IDAgfHwgYi5zaG93X3N1bW1hcnlfY29udGVudF9vcHRpb247XG5cbiAgICBpZiAoIWFDYXNlRmllbGQpIHtcbiAgICAgIHJldHVybiAhYkNhc2VGaWVsZCA/IDAgOiAxO1xuICAgIH1cblxuICAgIGlmICghYkNhc2VGaWVsZCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICByZXR1cm4gYS5zaG93X3N1bW1hcnlfY29udGVudF9vcHRpb24gLSBiLnNob3dfc3VtbWFyeV9jb250ZW50X29wdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAvLyBFVUktMzQ1Mi5cbiAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGNoZWNrIHRoZSB2YWxpZGl0eSBvZiB0aGUgZWRpdEZvcm0gYXMgaXQgaXMgcmVhZG9ubHkuXG4gICAgLy8gVGhpcyB3YXMgY2F1c2luZyBpc3N1ZXMgd2l0aCBoaWRkZW4gZmllbGRzIHRoYXQgYXJlbid0IHdhbnRlZCBidXQgaGF2ZVxuICAgIC8vIG5vdCBiZWVuIGRpc2FibGVkLlxuICAgIHJldHVybiB0aGlzLmNhc2VFZGl0LmlzU3VibWl0dGluZyB8fCB0aGlzLmhhc0Vycm9ycztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBjYXNlRWRpdDogQ2FzZUVkaXRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWVsZHNVdGlsczogRmllbGRzVXRpbHMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRmllbGRTZXJ2aWNlOiBDYXNlRmllbGRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9maWxlTm90aWZpZXI6IFByb2ZpbGVOb3RpZmllcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcm9maWxlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9maWxlTm90aWZpZXIucHJvZmlsZS5zdWJzY3JpYmUoXyA9PiB0aGlzLnByb2ZpbGUgPSBfKTtcbiAgICB0aGlzLmV2ZW50VHJpZ2dlciA9IHRoaXMuY2FzZUVkaXQuZXZlbnRUcmlnZ2VyO1xuICAgIHRoaXMudHJpZ2dlclRleHQgPSB0aGlzLmV2ZW50VHJpZ2dlci5lbmRfYnV0dG9uX2xhYmVsIHx8IENhbGxiYWNrRXJyb3JzQ29tcG9uZW50LlRSSUdHRVJfVEVYVF9TVUJNSVQ7XG4gICAgdGhpcy5lZGl0Rm9ybSA9IHRoaXMuY2FzZUVkaXQuZm9ybTtcbiAgICB0aGlzLndpemFyZCA9IHRoaXMuY2FzZUVkaXQud2l6YXJkO1xuICAgIHRoaXMuc2hvd1N1bW1hcnlGaWVsZHMgPSB0aGlzLnNvcnRGaWVsZHNCeVNob3dTdW1tYXJ5Q29udGVudCh0aGlzLmV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcyk7XG4gICAgdGhpcy5jYXNlRWRpdC5pc1N1Ym1pdHRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNvbnRleHRGaWVsZHMgPSB0aGlzLmdldENhc2VGaWVsZHMoKTtcbiAgICAvLyBJbmRpY2F0ZXMgaWYgdGhlIHN1Ym1pc3Npb24gaXMgZm9yIGEgQ2FzZSBGbGFnLCBhcyBvcHBvc2VkIHRvIGEgXCJyZWd1bGFyXCIgZm9ybSBzdWJtaXNzaW9uLCBieSB0aGUgcHJlc2VuY2Ugb2ZcbiAgICAvLyBhIEZsYWdMYXVuY2hlciBmaWVsZCBpbiB0aGUgZXZlbnQgdHJpZ2dlclxuICAgIHRoaXMuY2FzZUVkaXQuaXNDYXNlRmxhZ1N1Ym1pc3Npb24gPSB0aGlzLmV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcy5zb21lKGNhc2VGaWVsZCA9PiBGaWVsZHNVdGlscy5pc0ZsYWdMYXVuY2hlckNhc2VGaWVsZChjYXNlRmllbGQpKTtcbiAgICB0aGlzLmNhc2VFZGl0LmlzTGlua2VkQ2FzZXNTdWJtaXNzaW9uID1cbiAgICAgIHRoaXMuZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzLnNvbWUoY2FzZUZpZWxkID0+IEZpZWxkc1V0aWxzLmlzQ29tcG9uZW50TGF1bmNoZXJDYXNlRmllbGQoY2FzZUZpZWxkKSk7XG4gICAgdGhpcy5wYWdlVGl0bGUgPSB0aGlzLmNhc2VFZGl0LmlzQ2FzZUZsYWdTdWJtaXNzaW9uID8gJ1JldmlldyBmbGFnIGRldGFpbHMnIDogJ0NoZWNrIHlvdXIgYW5zd2Vycyc7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMucHJvZmlsZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5wcm9maWxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VFZGl0LnN1Ym1pdEZvcm0oe1xuICAgICAgZXZlbnRUcmlnZ2VyOiB0aGlzLmV2ZW50VHJpZ2dlcixcbiAgICAgIGZvcm06IHRoaXMuZWRpdEZvcm0sXG4gICAgICBzdWJtaXQ6IHRoaXMuY2FzZUVkaXQuc3VibWl0LFxuICAgICAgY2FzZURldGFpbHM6IHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25FdmVudENhbkJlQ29tcGxldGVkKGV2ZW50Q2FuQmVDb21wbGV0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VFZGl0Lm9uRXZlbnRDYW5CZUNvbXBsZXRlZCh7XG4gICAgICBldmVudFRyaWdnZXI6IHRoaXMuZXZlbnRUcmlnZ2VyLFxuICAgICAgZXZlbnRDYW5CZUNvbXBsZXRlZCxcbiAgICAgIGNhc2VEZXRhaWxzOiB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzLFxuICAgICAgZm9ybTogdGhpcy5lZGl0Rm9ybSxcbiAgICAgIHN1Ym1pdDogdGhpcy5jYXNlRWRpdC5zdWJtaXQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUVkaXQ/LmVycm9yPy5jYWxsYmFja0Vycm9ycz8ubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9QYWdlKHBhZ2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlRWRpdC5uYXZpZ2F0ZVRvUGFnZShwYWdlSWQpO1xuICB9XG5cbiAgcHVibGljIGNhbGxiYWNrRXJyb3JzTm90aWZ5KGVycm9yQ29udGV4dDogQ2FsbGJhY2tFcnJvcnNDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5jYXNlRWRpdC5pZ25vcmVXYXJuaW5nID0gZXJyb3JDb250ZXh0Lmlnbm9yZVdhcm5pbmc7XG4gICAgdGhpcy50cmlnZ2VyVGV4dCA9IGVycm9yQ29udGV4dC50cmlnZ2VyVGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBzdW1tYXJ5Q2FzZUZpZWxkKGZpZWxkOiBDYXNlRmllbGQpOiBDYXNlRmllbGQge1xuICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChudWxsID09PSB0aGlzLmVkaXRGb3JtLmdldCgnZGF0YScpLmdldChmaWVsZC5pZCkpIHtcbiAgICAgIC8vIElmIG5vdCBpbiBmb3JtLCByZXR1cm4gZmllbGQgaXRzZWxmXG4gICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxuXG4gICAgY29uc3QgY2xvbmVGaWVsZDogQ2FzZUZpZWxkID0gdGhpcy5maWVsZHNVdGlscy5jbG9uZUNhc2VGaWVsZChmaWVsZCk7XG4gICAgY2xvbmVGaWVsZC52YWx1ZSA9IHRoaXMuZWRpdEZvcm0uZ2V0KCdkYXRhJykuZ2V0KGZpZWxkLmlkKS52YWx1ZTtcblxuICAgIHJldHVybiBjbG9uZUZpZWxkO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ldmVudFRyaWdnZXIuY2FuX3NhdmVfZHJhZnQpIHtcbiAgICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KENhc2VFZGl0Q29tcG9uZW50Lk9SSUdJTl9RVUVSWV9QQVJBTSkgPT09ICd2aWV3RHJhZnQnKSB7XG4gICAgICAgIHRoaXMuY2FzZUVkaXQuY2FuY2VsbGVkLmVtaXQoe3N0YXR1czogQ2FzZUVkaXRQYWdlQ29tcG9uZW50LlJFU1VNRURfRk9STV9ESVNDQVJEfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhc2VFZGl0LmNhbmNlbGxlZC5lbWl0KHtzdGF0dXM6IENhc2VFZGl0UGFnZUNvbXBvbmVudC5ORVdfRk9STV9ESVNDQVJEfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FzZUVkaXQuY2FuY2VsbGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNMYWJlbChmaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkU2VydmljZS5pc0xhYmVsKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NoYW5nZUFsbG93ZWQoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5jYXNlRmllbGRTZXJ2aWNlLmlzUmVhZE9ubHkoZmllbGQpO1xuICB9XG5cbiAgcHVibGljIGNoZWNrWW91ckFuc3dlckZpZWxkc1RvRGlzcGxheUV4aXN0cygpOiBib29sZWFuIHtcbiAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuZXZlbnRUcmlnZ2VyLnNob3dfc3VtbWFyeSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcGFnZSBvZiB0aGlzLndpemFyZC5wYWdlcykge1xuICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy5pc1Nob3duKHBhZ2UpKSB7XG4gICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgcGFnZS5jYXNlX2ZpZWxkcykge1xuICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmNhblNob3dGaWVsZEluQ1lBKGZpZWxkKSkge1xuICAgICAgICAgICAgLy8gYXQgbGVhc3Qgb25lIGZpZWxkIG5lZWRzIHNob3dpbmdcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZvdW5kIG5vIGZpZWxkcyB0byBzaG93IGluIENZQSBzdW1tYXJ5IHBhZ2VcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgcmVhZE9ubHlTdW1tYXJ5RmllbGRzVG9EaXNwbGF5RXhpc3RzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcy5zb21lKGZpZWxkID0+IGZpZWxkLnNob3dfc3VtbWFyeV9jb250ZW50X29wdGlvbiA+PSAwICk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0V2ZW50Tm90ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRUcmlnZ2VyLnNob3dfZXZlbnRfbm90ZXMgPT09IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGdldExhc3RQYWdlU2hvd24oKTogV2l6YXJkUGFnZSB7XG4gICAgbGV0IGxhc3RQYWdlOiBXaXphcmRQYWdlO1xuICAgIHRoaXMud2l6YXJkLnJldmVyc2UoKS5mb3JFYWNoKHBhZ2UgPT4ge1xuICAgICAgaWYgKCFsYXN0UGFnZSAmJiB0aGlzLmlzU2hvd24ocGFnZSkpIHtcbiAgICAgICAgbGFzdFBhZ2UgPSBwYWdlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIG5vaW5zcGVjdGlvbiBKU1VudXNlZEFzc2lnbm1lbnRcbiAgICByZXR1cm4gbGFzdFBhZ2U7XG4gIH1cblxuICBwdWJsaWMgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaGFzUHJldmlvdXMoKSkge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvUGFnZSh0aGlzLmdldExhc3RQYWdlU2hvd24oKS5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1ByZXZpb3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0TGFzdFBhZ2VTaG93bigpO1xuICB9XG5cbiAgcHVibGljIGlzU2hvd24ocGFnZTogV2l6YXJkUGFnZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMuZmllbGRzVXRpbHNcbiAgICAgIC5tZXJnZUNhc2VGaWVsZHNBbmRGb3JtRmllbGRzKHRoaXMuZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzLCB0aGlzLmVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ10udmFsdWUpO1xuICAgIHJldHVybiBwYWdlLnBhcnNlZFNob3dDb25kaXRpb24ubWF0Y2goZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5TaG93RmllbGRJbkNZQShmaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkLnNob3dfc3VtbWFyeV9jaGFuZ2Vfb3B0aW9uO1xuICB9XG5cbiAgcHVibGljIGlzU29saWNpdG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGUuaXNTb2xpY2l0b3IoKTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydEZpZWxkc0J5U2hvd1N1bW1hcnlDb250ZW50KGZpZWxkczogQ2FzZUZpZWxkW10pOiBDYXNlRmllbGRbXSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJTZXJ2aWNlXG4gICAgICAuc29ydChmaWVsZHMsIENhc2VFZGl0U3VibWl0Q29tcG9uZW50LlNIT1dfU1VNTUFSWV9DT05URU5UX0NPTVBBUkVfRlVOQ1RJT04pXG4gICAgICAuZmlsdGVyKGNmID0+IGNmLnNob3dfc3VtbWFyeV9jb250ZW50X29wdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogQ2FzZUZpZWxkW10ge1xuICAgIGlmICh0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzKSB7XG4gICAgICByZXR1cm4gRmllbGRzVXRpbHMuZ2V0Q2FzZUZpZWxkcyh0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudFRyaWdnZXIuY2FzZV9maWVsZHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUVkaXQuZ2V0Q2FzZUlkKHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMpO1xuICB9XG5cbiAgcHVibGljIGdldENhc2VUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5jYXNlRWRpdC5jYXNlRGV0YWlscyAmJiB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzLnN0YXRlICYmXG4gICAgdGhpcy5jYXNlRWRpdC5jYXNlRGV0YWlscy5zdGF0ZS50aXRsZV9kaXNwbGF5ID8gdGhpcy5jYXNlRWRpdC5jYXNlRGV0YWlscy5zdGF0ZS50aXRsZV9kaXNwbGF5IDogJycpO1xuICB9XG5cbiAgcHVibGljIGdldENhbmNlbFRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5ldmVudFRyaWdnZXIuY2FuX3NhdmVfZHJhZnQpIHtcbiAgICAgIHJldHVybiAnUmV0dXJuIHRvIGNhc2UgbGlzdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnQ2FuY2VsJztcbiAgICB9XG4gIH1cbn0iLCI8ZGl2ICpuZ0lmPVwiIWNhc2VFZGl0LmlzRXZlbnRDb21wbGV0aW9uQ2hlY2tzUmVxdWlyZWRcIj5cbiAgPCEtLSBFdmVudCB0cmlnZ2VyIG5hbWUgLS0+XG4gIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiPnt7IGV2ZW50VHJpZ2dlci5uYW1lfX08L2gxPlxuXG4gIDwhLS1DYXNlIElEIG9yIFRpdGxlIC0tPlxuICA8ZGl2ICpuZ0lmPVwiZ2V0Q2FzZVRpdGxlKCk7IHRoZW4gdGl0bGVCbG9jazsgZWxzZSBpZEJsb2NrXCI+PC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjdGl0bGVCbG9jaz5cbiAgICA8Y2NkLW1hcmtkb3duIFtjb250ZW50XT1cImdldENhc2VUaXRsZSgpIHwgY2NkQ2FzZVRpdGxlOiBjb250ZXh0RmllbGRzIDogZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVwiPjwvY2NkLW1hcmtkb3duPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2lkQmxvY2s+XG4gICAgPGgyICpuZ0lmPVwiZ2V0Q2FzZUlkKClcIiBjbGFzcz1cImhlYWRpbmctaDJcIj4je3sgZ2V0Q2FzZUlkKCkgfCBjY2RDYXNlUmVmZXJlbmNlIH19PC9oMj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8Y2NkLWNhc2UtZWRpdC1nZW5lcmljLWVycm9ycyBbZXJyb3JdPVwiY2FzZUVkaXQuZXJyb3JcIj48L2NjZC1jYXNlLWVkaXQtZ2VuZXJpYy1lcnJvcnM+XG5cbiAgPGNjZC1jYWxsYmFjay1lcnJvcnMgW2NhbGxiYWNrRXJyb3JzU3ViamVjdF09XCJjYXNlRWRpdC5jYWxsYmFja0Vycm9yc1N1YmplY3RcIlxuICAgICAgICAgICAgICAgICAgICAgIChjYWxsYmFja0Vycm9yc0NvbnRleHQpPVwiY2FsbGJhY2tFcnJvcnNOb3RpZnkoJGV2ZW50KVwiPjwvY2NkLWNhbGxiYWNrLWVycm9ycz5cblxuICA8Zm9ybSBjbGFzcz1cImNoZWNrLXlvdXItYW5zd2Vyc1wiIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm1cIiAoc3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrWW91ckFuc3dlckZpZWxkc1RvRGlzcGxheUV4aXN0cygpXCI+XG5cbiAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIj57e3BhZ2VUaXRsZX19PC9oMj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiICpuZ0lmPVwiIWNhc2VFZGl0LmlzQ2FzZUZsYWdTdWJtaXNzaW9uXCI+Q2hlY2sgdGhlIGluZm9ybWF0aW9uIGJlbG93IGNhcmVmdWxseS48L3NwYW4+XG5cbiAgICAgIDx0YWJsZSBjbGFzcz1cImZvcm0tdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY2hlY2sgeW91ciBhbnN3ZXJzIHRhYmxlXCI+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZSBvZiB3aXphcmQucGFnZXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaG93bihwYWdlKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgcGFnZVxuICAgICAgICAgICAgfCBjY2RQYWdlRmllbGRzOiBlZGl0Rm9ybVxuICAgICAgICAgICAgfCBjY2RSZWFkRmllbGRzRmlsdGVyOiBmYWxzZSA6dW5kZWZpbmVkIDp0cnVlIDogZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVxuICAgICAgICAgICAgfCBjY2RDWUFQYWdlTGFiZWxGaWx0ZXJcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhblNob3dGaWVsZEluQ1lBKGZpZWxkKVwiPlxuICAgICAgICAgICAgICAgIDx0ciBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiZmllbGRcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVwiIFtjb250ZXh0RmllbGRzXT1cImNvbnRleHRGaWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cIiFpc0xhYmVsKGZpZWxkKSAmJiAhY2FzZUVkaXQuaXNDYXNlRmxhZ1N1Ym1pc3Npb25cIiBjbGFzcz1cInZhbGlnbi10b3AgY2FzZS1maWVsZC1sYWJlbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7ZmllbGQubGFiZWx9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZm9ybS1jZWxsIGNhc2UtZmllbGQtY29udGVudFwiIFthdHRyLmNvbHNwYW5dPVwiaXNMYWJlbChmaWVsZCkgPyAnMicgOiAnMSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybS5jb250cm9sc1snZGF0YSddXCIgW3RvcExldmVsRm9ybUdyb3VwXT1cImVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ11cIlxuICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwic3VtbWFyeUNhc2VGaWVsZChmaWVsZClcIiBbY29udGV4dF09XCJwYWxldHRlQ29udGV4dFwiIFtjYXNlRmllbGRzXT1cImNvbnRleHRGaWVsZHNcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbGlnbi10b3AgY2hlY2steW91ci1hbnN3ZXJzX19jaGFuZ2UgY2FzZS1maWVsZC1jaGFuZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCJpc0NoYW5nZUFsbG93ZWQoZmllbGQpXCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9QYWdlKHBhZ2UuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCIgYXR0ci5hcmlhLWxhYmVsPVwiQ2hhbmdlIHt7IGZpZWxkLmxhYmVsIH19XCI+Q2hhbmdlPC9zcGFuPjwvYT5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZWFkT25seVN1bW1hcnlGaWVsZHNUb0Rpc3BsYXlFeGlzdHMoKVwiPlxuXG4gICAgICA8dGFibGUgY2xhc3M9XCJzdW1tYXJ5LWZpZWxkc1wiIGFyaWEtZGVzY3JpYmVkYnk9XCJzdW1tYXJ5IGZpZWxkcyB0YWJsZVwiPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2Ygc2hvd1N1bW1hcnlGaWVsZHNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiIShmaWVsZCB8IGNjZElzQ29tcG91bmQpXCI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybS5jb250cm9sc1snZGF0YSddXCIgW2NvbnRleHRGaWVsZHNdPVwiY29udGV4dEZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgPHRoIGlkPVwic3VtbWFyeS1maWVsZC1sYWJlbFwiPnt7ZmllbGQubGFiZWx9fTwvdGg+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJmb3JtLWNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXVwiIFtjYXNlRmllbGRdPVwic3VtbWFyeUNhc2VGaWVsZChmaWVsZClcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDx0ciAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIiBjbGFzcz1cImNvbXBvdW5kLWZpZWxkXCIgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybS5jb250cm9sc1snZGF0YSddXCIgW2NvbnRleHRGaWVsZHNdPVwiY29udGV4dEZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbZm9ybUdyb3VwXT1cImVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ11cIiBbY2FzZUZpZWxkXT1cInN1bW1hcnlDYXNlRmllbGQoZmllbGQpXCIgW2Nhc2VGaWVsZHNdPVwiY29udGV4dEZpZWxkc1wiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RXZlbnROb3RlcygpXCI+XG4gICAgICA8ZmllbGRzZXQgaWQ9XCJmaWVsZHNldC1ldmVudFwiIGZvcm1Hcm91cE5hbWU9XCJldmVudFwiICpuZ0lmPVwicHJvZmlsZSAmJiAhaXNTb2xpY2l0b3IoKVwiPlxuICAgICAgICA8bGVnZW5kIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj48L2xlZ2VuZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmllbGQtdHJpZ2dlci1zdW1tYXJ5XCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgICAgICBFdmVudCBzdW1tYXJ5IChvcHRpb25hbClcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCI+QSBmZXcgd29yZHMgZGVzY3JpYmluZyB0aGUgcHVycG9zZSBvZiB0aGUgZXZlbnQuPC9zcGFuPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJmaWVsZC10cmlnZ2VyLXN1bW1hcnlcIiBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzAgd2lkdGgtNTBcIiBmb3JtQ29udHJvbE5hbWU9XCJzdW1tYXJ5XCIgbWF4bGVuZ3RoPVwiMTAyNFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmllbGQtdHJpZ2dlci1kZXNjcmlwdGlvblwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkV2ZW50IGRlc2NyaXB0aW9uIChvcHRpb25hbCk8L2xhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cImZpZWxkLXRyaWdnZXItZGVzY3JpcHRpb25cIiBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzAgd2lkdGgtNTBcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjY1NTM2XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGZvcm0tZ3JvdXAtcmVsYXRlZFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhaGFzUHJldmlvdXMoKSB8fCBjYXNlRWRpdC5pc1N1Ym1pdHRpbmdcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPlByZXZpb3VzPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIGNsYXNzPVwiYnV0dG9uXCI+e3t0cmlnZ2VyVGV4dH19PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPHAgY2xhc3M9XCJjYW5jZWxcIj48YSAoY2xpY2spPVwiY2FuY2VsKClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW2NsYXNzLmRpc2FibGVkXT1cImNhc2VFZGl0LmlzU3VibWl0dGluZ1wiPnt7Z2V0Q2FuY2VsVGV4dCgpfX08L2E+PC9wPlxuICA8L2Zvcm0+XG48L2Rpdj5cbjxjY2QtY2FzZS1ldmVudC1jb21wbGV0aW9uICpuZ0lmPVwiY2FzZUVkaXQuaXNFdmVudENvbXBsZXRpb25DaGVja3NSZXF1aXJlZFwiXG4gIFtldmVudENvbXBsZXRpb25QYXJhbXNdPVwiY2FzZUVkaXQuZXZlbnRDb21wbGV0aW9uUGFyYW1zXCJcbiAgKGV2ZW50Q2FuQmVDb21wbGV0ZWQpPVwib25FdmVudENhbkJlQ29tcGxldGVkKCRldmVudClcIj5cbjwvY2NkLWNhc2UtZXZlbnQtY29tcGxldGlvbj5cbiJdfQ==
|