@hmcts/ccd-case-ui-toolkit 6.19.13-rc1 → 6.19.13-welsh-translation-FirstErrorPipe-fix
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 +9845 -4911
- 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/shared/components/case-editor/case-edit/case-edit.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +1 -1
- package/esm2015/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.js +1 -1
- package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +2 -11
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.js +7 -0
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +167 -128
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +17 -21
- package/esm2015/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.js +2 -3
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +19 -0
- package/esm2015/lib/shared/components/case-editor/services/cases.service.js +6 -1
- package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +5 -18
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +77 -49
- package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +5 -2
- package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.js +76 -33
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +264 -45
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +144 -73
- package/esm2015/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.js +181 -0
- package/esm2015/lib/shared/components/palette/case-flag/components/index.js +4 -1
- package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +72 -77
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +133 -101
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +21 -8
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +223 -114
- package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.js +292 -0
- package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +465 -109
- 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/add-comments-error-message.enum.js +2 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.js +3 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.js +12 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.js +15 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.js +13 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +3 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.js +11 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +9 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.js +3 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.js +4 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.js +5 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +7 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.js +10 -7
- package/esm2015/lib/shared/components/palette/case-flag/index.js +2 -1
- package/esm2015/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.js +41 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/index.js +5 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.js +41 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.js +109 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.js +77 -0
- package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +153 -51
- package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +387 -171
- package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +34 -37
- package/esm2015/lib/shared/components/palette/complex/read-complex-field.component.js +9 -7
- package/esm2015/lib/shared/components/palette/complex/sort-order.js +7 -0
- package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +4 -5
- package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/index.js +3 -1
- package/esm2015/lib/shared/components/palette/markdown/index.js +2 -1
- package/esm2015/lib/shared/components/palette/markdown/markdown-component.module.js +42 -0
- package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/palette.module.js +147 -50
- package/esm2015/lib/shared/components/palette/palette.service.js +4 -2
- package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/query-management/__mocks__/index.js +210 -0
- package/esm2015/lib/shared/components/palette/query-management/components/index.js +13 -0
- package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.js +45 -0
- package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.js +154 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.js +69 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.js +64 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.js +316 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-details/query-details.component.js +380 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.js +25 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-list/query-list.component.js +181 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.js +78 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.js +125 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.js +239 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.js +120 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/index.js +6 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.js +5 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.js +10 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/query-management/index.js +7 -0
- package/esm2015/lib/shared/components/palette/query-management/models/case-queries-collection.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/index.js +8 -0
- package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-create-context.enum.js +9 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.js +18 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.js +41 -0
- package/esm2015/lib/shared/components/palette/query-management/read-query-management-field.component.js +128 -0
- package/esm2015/lib/shared/components/palette/query-management/utils/query-management.utils.js +22 -0
- package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/utils/first-error.pipe.js +16 -9
- package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +7 -5
- package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +8 -8
- package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +17 -2
- package/esm2015/lib/shared/domain/case-view/case-view-event-ids.enum.js +6 -0
- package/esm2015/lib/shared/domain/case-view/case-view-trigger.model.js +1 -2
- package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +3 -1
- package/esm2015/lib/shared/fixture/shared.test.fixture.js +2 -1
- package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +16 -0
- package/esm2015/lib/shared/pipes/generic/index.js +2 -0
- package/esm2015/lib/shared/pipes/index.js +3 -2
- package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
- package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +9 -3
- package/esm2015/lib/shared/services/fields/fields.utils.js +21 -3
- package/esm2015/lib/shared/services/form/form-value.service.js +14 -11
- package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +2 -1
- package/esm2015/lib/shared/services/request/request.options.builder.js +7 -1
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +8433 -4028
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts +6 -0
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts.map +1 -0
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -1
- 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 +17 -20
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +11 -0
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -0
- package/lib/shared/components/case-editor/services/cases.service.d.ts +1 -0
- package/lib/shared/components/case-editor/services/cases.service.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 +6 -2
- 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.module.d.ts +4 -4
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +6 -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 +23 -8
- 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 +2 -1
- 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/confirm-flag-status/confirm-flag-status.component.d.ts +28 -0
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/components/index.d.ts +3 -0
- 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 +4 -8
- 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-control-names.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +10 -8
- 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 +2 -1
- 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 +16 -9
- 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-add-translation-form/update-flag-add-translation-form.component.d.ts +27 -0
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +26 -11
- 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 +1 -10
- 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 +12 -1
- 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 +1 -0
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +3 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts +11 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +14 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +12 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +2 -1
- 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 +11 -3
- 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/confirm-status-error-message.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/index.d.ts +8 -1
- 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 +2 -1
- 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 +3 -0
- 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-add-translation-error-message.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +5 -1
- 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 +7 -2
- 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 +7 -4
- 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 +1 -0
- package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +19 -0
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +18 -0
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +25 -0
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +21 -0
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +12 -8
- 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 +51 -26
- 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 +3 -2
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/sort-order.d.ts +6 -0
- package/lib/shared/components/palette/complex/sort-order.d.ts.map +1 -0
- package/lib/shared/components/palette/index.d.ts +2 -0
- package/lib/shared/components/palette/index.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/index.d.ts +1 -0
- package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +13 -0
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +1 -0
- package/lib/shared/components/palette/palette.module.d.ts +140 -118
- 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/palette/query-management/__mocks__/index.d.ts +11 -0
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/index.d.ts +13 -0
- package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +8 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +22 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +11 -0
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +10 -0
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +30 -0
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +16 -0
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +9 -0
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +18 -0
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +20 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +20 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +11 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +21 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/index.d.ts +6 -0
- package/lib/shared/components/palette/query-management/enums/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts +4 -0
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +5 -0
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +9 -0
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts +5 -0
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/index.d.ts +7 -0
- package/lib/shared/components/palette/query-management/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +27 -0
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/index.d.ts +8 -0
- package/lib/shared/components/palette/query-management/models/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +5 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts +6 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts +8 -0
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +7 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +10 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +22 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +18 -0
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +12 -0
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -0
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts +8 -5
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
- package/lib/shared/domain/case-flag/flag-type.model.d.ts +6 -1
- package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +5 -0
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +1 -0
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +0 -1
- 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 +3 -1
- package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
- package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +8 -0
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +1 -0
- package/lib/shared/pipes/generic/index.d.ts +2 -0
- package/lib/shared/pipes/generic/index.d.ts.map +1 -0
- package/lib/shared/pipes/index.d.ts +2 -1
- package/lib/shared/pipes/index.d.ts.map +1 -1
- package/lib/shared/pipes/pipes.module.d.ts +3 -2
- package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +3 -2
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.utils.d.ts +1 -0
- package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
- package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
- package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -33,13 +33,12 @@ function WriteCaseLinkFieldComponent_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
33
33
|
function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
34
34
|
i0.ɵɵelementStart(0, "span", 8);
|
|
35
35
|
i0.ɵɵtext(1);
|
|
36
|
-
i0.ɵɵpipe(2, "
|
|
37
|
-
i0.ɵɵpipe(3, "ccdFirstError");
|
|
36
|
+
i0.ɵɵpipe(2, "ccdFirstError");
|
|
38
37
|
i0.ɵɵelementEnd();
|
|
39
38
|
} if (rf & 2) {
|
|
40
39
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
41
40
|
i0.ɵɵadvance(1);
|
|
42
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵ
|
|
41
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label), " ");
|
|
43
42
|
} }
|
|
44
43
|
const _c1 = function (a0) { return { "form-group-error": a0 }; };
|
|
45
44
|
export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
|
|
@@ -99,7 +98,7 @@ WriteCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseLink
|
|
|
99
98
|
i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_span_2_Template, 4, 5, "span", 2);
|
|
100
99
|
i0.ɵɵelementEnd();
|
|
101
100
|
i0.ɵɵtemplate(3, WriteCaseLinkFieldComponent_span_3_Template, 3, 3, "span", 3);
|
|
102
|
-
i0.ɵɵtemplate(4, WriteCaseLinkFieldComponent_span_4_Template,
|
|
101
|
+
i0.ɵɵtemplate(4, WriteCaseLinkFieldComponent_span_4_Template, 3, 4, "span", 4);
|
|
103
102
|
i0.ɵɵelement(5, "input", 5);
|
|
104
103
|
i0.ɵɵelementEnd();
|
|
105
104
|
} if (rf & 2) {
|
|
@@ -126,4 +125,4 @@ const ɵWriteCaseLinkFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheri
|
|
|
126
125
|
type: ViewChild,
|
|
127
126
|
args: ['writeComplexFieldComponent']
|
|
128
127
|
}] }); })();
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7O0lDRmxGLCtCQUFpRDtJQUFBLFlBQTRDOzs7SUFBQSxpQkFBTzs7O0lBQW5ELGVBQTRDO0lBQTVDLGtGQUE0Qzs7O0lBRS9GLCtCQUFvRDtJQUFBLFlBQXNDOztJQUFBLGlCQUFPOzs7SUFBN0MsZUFBc0M7SUFBdEMsc0VBQXNDOzs7SUFDMUYsK0JBQWdJO0lBQzlILFlBQ0Y7O0lBQUEsaUJBQU87OztJQURMLGVBQ0Y7SUFERSxpSEFDRjs7O0FER0YsTUFBTSxPQUFPLDJCQUE0QixTQUFRLDJCQUEyQjtJQVFuRSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxTQUFTLENBQUM7Z0JBQ3RELGFBQWEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUN4RixDQUFDLEVBQUUsSUFBSSxDQUFjLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztnQkFDdEQsYUFBYSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2FBQzFELENBQUMsRUFBRSxJQUFJLENBQWMsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFFdkUsZ0hBQWdIO1FBQ2hILHNFQUFzRTtRQUN0RSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNsRSxLQUFLLE1BQU0sZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFO2dCQUN2RSxnQkFBZ0IsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO2FBQzNFO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1lBQzFELElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDakIsSUFBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFHO29CQUM1QyxPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFDRCxPQUFPLEVBQUMsS0FBSyxFQUFFLDRDQUE0QyxFQUFDLENBQUM7YUFDOUQ7aUJBQU07Z0JBQ0wsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO29CQUNuQixPQUFPLEVBQUMsS0FBSyxFQUFFLDRDQUE0QyxFQUFDLENBQUM7aUJBQzlEO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxXQUFtQjtRQUM1QyxJQUFJLENBQUMsV0FBVyxFQUFJO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7OzBJQW5EVSwyQkFBMkI7Z0VBQTNCLDJCQUEyQjs7Ozs7O1FDVnhDLDhCQUFzSjtRQUNwSixnQ0FBb0I7UUFDbEIsOEVBQW9HO1FBQ3RHLGlCQUFRO1FBQ1IsOEVBQWlHO1FBQ2pHLDhFQUVPO1FBQ1AsMkJBQW1HO1FBQ3JHLGlCQUFNOztRQVRrQiw2SkFBNkg7UUFDNUksZUFBWTtRQUFaLDhCQUFZO1FBQ1MsZUFBcUI7UUFBckIsMENBQXFCO1FBRXhCLGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNyQixlQUFpRztRQUFqRyw4SEFBaUc7UUFHeEYsZUFBVztRQUFYLDZCQUFXLHlDQUFBOzt3RkRFdEMsMkJBQTJCO3VGQUEzQiwyQkFBMkI7Y0FKdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSw0QkFBNEI7YUFDMUM7Z0JBT1EsMEJBQTBCO2tCQURoQyxTQUFTO21CQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcGxleC93cml0ZS1jb21wbGV4LWZpZWxkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1jYXNlLWxpbmstZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJ3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjYXNlUmVmZXJlbmNlQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBwdWJsaWMgY2FzZUxpbmtHcm91cDogRm9ybUdyb3VwO1xuXG4gIEBWaWV3Q2hpbGQoJ3dyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50JylcbiAgcHVibGljIHdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50OiBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudDtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICB0aGlzLmNhc2VMaW5rR3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgQ2FzZVJlZmVyZW5jZTogbmV3IEZvcm1Db250cm9sKHRoaXMuY2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgfSksIHRydWUpIGFzIEZvcm1Hcm91cDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYXNlTGlua0dyb3VwID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIENhc2VSZWZlcmVuY2U6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIH0pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICAgIHRoaXMuY2FzZVJlZmVyZW5jZUNvbnRyb2wgPSB0aGlzLmNhc2VMaW5rR3JvdXAuY29udHJvbHNbJ0Nhc2VSZWZlcmVuY2UnXTtcbiAgICB0aGlzLmNhc2VSZWZlcmVuY2VDb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5jYXNlUmVmZXJlbmNlVmFsaWRhdG9yKCkpO1xuXG4gICAgLy8gRW5zdXJlIHRoYXQgYWxsIHN1Yi1maWVsZHMgaW5oZXJpdCB0aGUgc2FtZSB2YWx1ZSBmb3IgcmV0YWluX2hpZGRlbl92YWx1ZSBhcyB0aGlzIHBhcmVudDsgYWx0aG91Z2ggYSBDYXNlTGlua1xuICAgIC8vIGZpZWxkIHVzZXMgdGhlIENvbXBsZXggdHlwZSwgaXQgaXMgbWVhbnQgdG8gYmUgdHJlYXRlZCBhcyBvbmUgZmllbGRcbiAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcGxleCcpIHtcbiAgICAgIGZvciAoY29uc3QgY2FzZUxpbmtTdWJGaWVsZCBvZiB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzKSB7XG4gICAgICAgIGNhc2VMaW5rU3ViRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYXNlUmVmZXJlbmNlVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xuICAgICAgaWYgKGNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgaWYgKCB0aGlzLnZhbGlkQ2FzZVJlZmVyZW5jZShjb250cm9sLnZhbHVlKSApIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge2Vycm9yOiAnUGxlYXNlIHVzZSBhIHZhbGlkIDE2IERpZ2l0IENhc2UgUmVmZXJlbmNlJ307XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY29udHJvbC50b3VjaGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHtlcnJvcjogJ1BsZWFzZSB1c2UgYSB2YWxpZCAxNiBEaWdpdCBDYXNlIFJlZmVyZW5jZSd9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZENhc2VSZWZlcmVuY2UodmFsdWVTdHJpbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghdmFsdWVTdHJpbmcgKSAge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxiXFxcXGR7NH1bIC1dP1xcXFxkezR9WyAtXT9cXFxcZHs0fVsgLV0/XFxcXGR7NH1cXFxcYiQnKS50ZXN0KHZhbHVlU3RyaW5nLnRyaW0oKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogIWNhc2VSZWZlcmVuY2VDb250cm9sLnZhbGlkICYmIChjYXNlUmVmZXJlbmNlQ29udHJvbC5kaXJ0eSB8fCBjYXNlUmVmZXJlbmNlQ29udHJvbC50b3VjaGVkKX1cIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWQoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbFwiICpuZ0lmPVwiY2FzZUZpZWxkLmxhYmVsXCI+e3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlZmVyZW5jZUNvbnRyb2wuZXJyb3JzICYmIChjYXNlUmVmZXJlbmNlQ29udHJvbC5kaXJ0eSB8fCBjYXNlUmVmZXJlbmNlQ29udHJvbC50b3VjaGVkKVwiPlxuICAgIHt7Y2FzZVJlZmVyZW5jZUNvbnRyb2wuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWx9fVxuICA8L3NwYW4+XG4gIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzBcIiBbaWRdPVwiaWQoKVwiIHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImNhc2VSZWZlcmVuY2VDb250cm9sXCI+XG48L2Rpdj5cbiJdfQ==
|
package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Component, Input, QueryList, ViewChildren } from '@angular/core';
|
|
1
|
+
import { ChangeDetectorRef, Component, Input, QueryList, ViewChildren } from '@angular/core';
|
|
2
2
|
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
|
|
4
4
|
import { ScrollToService } from '@nicky-lenaers/ngx-scroll-to';
|
|
5
5
|
import { plainToClassFromExist } from 'class-transformer';
|
|
6
|
-
import { finalize } from 'rxjs/operators';
|
|
7
6
|
import { FieldType } from '../../../domain/definition/field-type.model';
|
|
8
7
|
import { CaseField } from '../../../domain/definition/case-field.model';
|
|
9
8
|
import { FieldsUtils } from '../../../services/fields/fields.utils';
|
|
@@ -29,18 +28,17 @@ function WriteCollectionFieldComponent_h2_9_span_1_Template(rf, ctx) { if (rf &
|
|
|
29
28
|
function WriteCollectionFieldComponent_h2_9_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
30
29
|
i0.ɵɵelementStart(0, "span", 10);
|
|
31
30
|
i0.ɵɵtext(1);
|
|
32
|
-
i0.ɵɵpipe(2, "
|
|
33
|
-
i0.ɵɵpipe(3, "ccdFirstError");
|
|
31
|
+
i0.ɵɵpipe(2, "ccdFirstError");
|
|
34
32
|
i0.ɵɵelementEnd();
|
|
35
33
|
} if (rf & 2) {
|
|
36
34
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
37
35
|
i0.ɵɵadvance(1);
|
|
38
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵ
|
|
36
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r4.formArray.errors, ctx_r4.caseField.label), " ");
|
|
39
37
|
} }
|
|
40
38
|
function WriteCollectionFieldComponent_h2_9_Template(rf, ctx) { if (rf & 1) {
|
|
41
39
|
i0.ɵɵelementStart(0, "h2", 2);
|
|
42
40
|
i0.ɵɵtemplate(1, WriteCollectionFieldComponent_h2_9_span_1_Template, 3, 3, "span", 7);
|
|
43
|
-
i0.ɵɵtemplate(2, WriteCollectionFieldComponent_h2_9_span_2_Template,
|
|
41
|
+
i0.ɵɵtemplate(2, WriteCollectionFieldComponent_h2_9_span_2_Template, 3, 4, "span", 8);
|
|
44
42
|
i0.ɵɵelementEnd();
|
|
45
43
|
} if (rf & 2) {
|
|
46
44
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -51,45 +49,46 @@ function WriteCollectionFieldComponent_h2_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
51
49
|
} }
|
|
52
50
|
function WriteCollectionFieldComponent_div_10_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
53
51
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
54
|
-
i0.ɵɵelementStart(0, "div",
|
|
55
|
-
i0.ɵɵelementStart(2, "div",
|
|
56
|
-
i0.ɵɵelementStart(3, "div",
|
|
57
|
-
i0.ɵɵelementStart(4, "label",
|
|
58
|
-
i0.ɵɵelementStart(5, "h3",
|
|
52
|
+
i0.ɵɵelementStart(0, "div", 0, 13);
|
|
53
|
+
i0.ɵɵelementStart(2, "div", 14);
|
|
54
|
+
i0.ɵɵelementStart(3, "div", 15);
|
|
55
|
+
i0.ɵɵelementStart(4, "label", 16);
|
|
56
|
+
i0.ɵɵelementStart(5, "h3", 17);
|
|
59
57
|
i0.ɵɵtext(6);
|
|
60
58
|
i0.ɵɵpipe(7, "rpxTranslate");
|
|
61
59
|
i0.ɵɵelementEnd();
|
|
62
60
|
i0.ɵɵelementEnd();
|
|
63
61
|
i0.ɵɵelementEnd();
|
|
64
|
-
i0.ɵɵelementStart(8, "div",
|
|
65
|
-
i0.ɵɵelementStart(9, "button",
|
|
62
|
+
i0.ɵɵelementStart(8, "div", 18);
|
|
63
|
+
i0.ɵɵelementStart(9, "button", 19);
|
|
66
64
|
i0.ɵɵlistener("click", function WriteCollectionFieldComponent_div_10_div_1_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r10); const i_r7 = ctx.index; const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.openModal(i_r7); });
|
|
67
65
|
i0.ɵɵtext(10);
|
|
68
66
|
i0.ɵɵpipe(11, "rpxTranslate");
|
|
69
67
|
i0.ɵɵelementEnd();
|
|
70
68
|
i0.ɵɵelementEnd();
|
|
71
69
|
i0.ɵɵelementEnd();
|
|
72
|
-
i0.ɵɵelement(12, "ccd-field-write",
|
|
70
|
+
i0.ɵɵelement(12, "ccd-field-write", 20);
|
|
73
71
|
i0.ɵɵelementEnd();
|
|
74
72
|
} if (rf & 2) {
|
|
75
73
|
const item_r6 = ctx.$implicit;
|
|
76
74
|
const i_r7 = ctx.index;
|
|
77
75
|
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
76
|
+
i0.ɵɵproperty("id", ctx_r5.buildIdPrefix(i_r7) + i_r7);
|
|
78
77
|
i0.ɵɵadvance(4);
|
|
79
78
|
i0.ɵɵproperty("for", item_r6.prefix + i_r7);
|
|
80
79
|
i0.ɵɵadvance(2);
|
|
81
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7,
|
|
80
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 14, ctx_r5.itemLabel(i_r7)));
|
|
82
81
|
i0.ɵɵadvance(3);
|
|
83
82
|
i0.ɵɵattributeInterpolate1("aria-label", "Remove ", ctx_r5.itemLabel(i_r7), "");
|
|
84
83
|
i0.ɵɵproperty("disabled", ctx_r5.isNotAuthorisedToDelete(i_r7));
|
|
85
84
|
i0.ɵɵadvance(1);
|
|
86
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11,
|
|
85
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 16, "Remove"));
|
|
87
86
|
i0.ɵɵadvance(2);
|
|
88
87
|
i0.ɵɵproperty("caseField", item_r6.caseField)("caseFields", ctx_r5.caseFields)("formGroup", ctx_r5.formGroup)("parent", item_r6.container)("idPrefix", item_r6.prefix)("hidden", item_r6.caseField.hidden)("isExpanded", ctx_r5.isExpanded)("isInSearchBlock", ctx_r5.isInSearchBlock);
|
|
89
88
|
} }
|
|
90
89
|
function WriteCollectionFieldComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
91
90
|
i0.ɵɵelementStart(0, "div", 11);
|
|
92
|
-
i0.ɵɵtemplate(1, WriteCollectionFieldComponent_div_10_div_1_Template, 13,
|
|
91
|
+
i0.ɵɵtemplate(1, WriteCollectionFieldComponent_div_10_div_1_Template, 13, 18, "div", 12);
|
|
93
92
|
i0.ɵɵelementEnd();
|
|
94
93
|
} if (rf & 2) {
|
|
95
94
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -99,7 +98,7 @@ function WriteCollectionFieldComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
99
98
|
} }
|
|
100
99
|
function WriteCollectionFieldComponent_button_11_Template(rf, ctx) { if (rf & 1) {
|
|
101
100
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
102
|
-
i0.ɵɵelementStart(0, "button",
|
|
101
|
+
i0.ɵɵelementStart(0, "button", 21);
|
|
103
102
|
i0.ɵɵlistener("click", function WriteCollectionFieldComponent_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.addItem(false); });
|
|
104
103
|
i0.ɵɵtext(1);
|
|
105
104
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -111,11 +110,12 @@ function WriteCollectionFieldComponent_button_11_Template(rf, ctx) { if (rf & 1)
|
|
|
111
110
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Add new"));
|
|
112
111
|
} }
|
|
113
112
|
export class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
114
|
-
constructor(dialog, scrollToService, profileNotifier) {
|
|
113
|
+
constructor(dialog, scrollToService, profileNotifier, cdRef) {
|
|
115
114
|
super();
|
|
116
115
|
this.dialog = dialog;
|
|
117
116
|
this.scrollToService = scrollToService;
|
|
118
117
|
this.profileNotifier = profileNotifier;
|
|
118
|
+
this.cdRef = cdRef;
|
|
119
119
|
this.caseFields = [];
|
|
120
120
|
this.collItems = [];
|
|
121
121
|
}
|
|
@@ -219,8 +219,9 @@ export class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
219
219
|
return cf;
|
|
220
220
|
}
|
|
221
221
|
buildIdPrefix(index) {
|
|
222
|
+
var _a;
|
|
222
223
|
const prefix = `${this.idPrefix}${this.caseField.id}_`;
|
|
223
|
-
if (this.caseField.field_type.collection_field_type.type === 'Complex') {
|
|
224
|
+
if (((_a = this.caseField.field_type.collection_field_type) === null || _a === void 0 ? void 0 : _a.type) === 'Complex') {
|
|
224
225
|
return `${prefix}${index}_`;
|
|
225
226
|
}
|
|
226
227
|
return prefix;
|
|
@@ -243,21 +244,17 @@ export class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
243
244
|
const prefix = this.buildIdPrefix(index);
|
|
244
245
|
const container = this.getContainer(index);
|
|
245
246
|
this.collItems.push({ caseField, item, index, prefix, container });
|
|
246
|
-
//
|
|
247
|
+
// Update DOM required after pushing a new item to do the next steps (i.e. scrolling and focusing)
|
|
248
|
+
this.cdRef.detectChanges();
|
|
247
249
|
if (doScroll) {
|
|
248
|
-
|
|
249
|
-
this.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
})
|
|
254
|
-
.pipe(finalize(() => this.focusLastItem()))
|
|
255
|
-
.subscribe(() => { }, console.error);
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
setTimeout(() => this.focusLastItem());
|
|
250
|
+
this.scrollToService.scrollTo({
|
|
251
|
+
target: `${this.buildIdPrefix(index)}${index}`,
|
|
252
|
+
duration: 1000,
|
|
253
|
+
offset: -150,
|
|
254
|
+
})
|
|
255
|
+
.subscribe(() => { }, console.error);
|
|
260
256
|
}
|
|
257
|
+
this.focusLastItem();
|
|
261
258
|
}
|
|
262
259
|
isCollectionDynamic() {
|
|
263
260
|
if (!this.caseField.field_type || !this.caseField.field_type.collection_field_type) {
|
|
@@ -407,13 +404,13 @@ export class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
407
404
|
return notSimple.indexOf(caseField.field_type.collection_field_type.type) < 0;
|
|
408
405
|
}
|
|
409
406
|
}
|
|
410
|
-
WriteCollectionFieldComponent.ɵfac = function WriteCollectionFieldComponent_Factory(t) { return new (t || WriteCollectionFieldComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.ScrollToService), i0.ɵɵdirectiveInject(i3.ProfileNotifier)); };
|
|
407
|
+
WriteCollectionFieldComponent.ɵfac = function WriteCollectionFieldComponent_Factory(t) { return new (t || WriteCollectionFieldComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.ScrollToService), i0.ɵɵdirectiveInject(i3.ProfileNotifier), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
411
408
|
WriteCollectionFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCollectionFieldComponent, selectors: [["ccd-write-collection-field"]], viewQuery: function WriteCollectionFieldComponent_Query(rf, ctx) { if (rf & 1) {
|
|
412
409
|
i0.ɵɵviewQuery(_c0, 1);
|
|
413
410
|
} if (rf & 2) {
|
|
414
411
|
let _t;
|
|
415
412
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.items = _t);
|
|
416
|
-
} }, inputs: { caseFields: "caseFields", formGroup: "formGroup" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 13, consts: [[1, "form-group", 3, "id"], [1, "panel", "collection-indicator"], [1, "heading-h2", "error-spacing"], ["type", "button", 1, "button", "write-collection-add-item__top", 3, "disabled", "click"], ["class", "heading-h2 error-spacing", 4, "ngIf"], ["class", "form-group", 3, "hidden", 4, "ngIf"], ["class", "button write-collection-add-item__bottom", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "form-hint"], [1, "error-message"], [1, "form-group", 3, "hidden"], ["class", "form-group",
|
|
413
|
+
} }, inputs: { caseFields: "caseFields", formGroup: "formGroup" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 13, consts: [[1, "form-group", 3, "id"], [1, "panel", "collection-indicator"], [1, "heading-h2", "error-spacing"], ["type", "button", 1, "button", "write-collection-add-item__top", 3, "disabled", "click"], ["class", "heading-h2 error-spacing", 4, "ngIf"], ["class", "form-group", 3, "hidden", 4, "ngIf"], ["class", "button write-collection-add-item__bottom", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "form-hint"], [1, "error-message"], [1, "form-group", 3, "hidden"], ["class", "form-group", 3, "id", 4, "ngFor", "ngForOf"], ["collectionItem", ""], [1, "collection-title"], [1, "float-left"], [3, "for"], [1, "heading-h3"], [1, "float-right"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], [3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock"], ["type", "button", 1, "button", "write-collection-add-item__bottom", 3, "disabled", "click"]], template: function WriteCollectionFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
417
414
|
i0.ɵɵelementStart(0, "div", 0);
|
|
418
415
|
i0.ɵɵelementStart(1, "div", 1);
|
|
419
416
|
i0.ɵɵelementStart(2, "h2", 2);
|
|
@@ -453,7 +450,7 @@ WriteCollectionFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCollec
|
|
|
453
450
|
templateUrl: './write-collection-field.html',
|
|
454
451
|
styleUrls: ['./collection-field.scss']
|
|
455
452
|
}]
|
|
456
|
-
}], function () { return [{ type: i1.MatDialog }, { type: i2.ScrollToService }, { type: i3.ProfileNotifier }]; }, { caseFields: [{
|
|
453
|
+
}], function () { return [{ type: i1.MatDialog }, { type: i2.ScrollToService }, { type: i3.ProfileNotifier }, { type: i0.ChangeDetectorRef }]; }, { caseFields: [{
|
|
457
454
|
type: Input
|
|
458
455
|
}], formGroup: [{
|
|
459
456
|
type: Input
|
|
@@ -461,4 +458,4 @@ WriteCollectionFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCollec
|
|
|
461
458
|
type: ViewChildren,
|
|
462
459
|
args: ['collectionItem']
|
|
463
460
|
}] }); })();
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29sbGVjdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb2xsZWN0aW9uL3dyaXRlLWNvbGxlY3Rpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29sbGVjdGlvbi93cml0ZS1jb2xsZWN0aW9uLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLFFBQVEsRUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7OztJQ05yRiwrQkFBb0Q7SUFBQSxZQUF1Qzs7SUFBQSxpQkFBTzs7O0lBQTlDLGVBQXVDO0lBQXZDLHNFQUF1Qzs7O0lBQzNGLGdDQUFxRDtJQUNuRCxZQUNGOzs7SUFBQSxpQkFBTzs7O0lBREwsZUFDRjtJQURFLDRIQUNGOzs7SUFKRiw2QkFBcUY7SUFDbkYscUZBQWtHO0lBQ2xHLHFGQUVPO0lBQ1QsaUJBQUs7OztJQUpJLGVBQXlCO0lBQXpCLGlEQUF5QjtJQUN6QixlQUFzQjtJQUF0Qiw4Q0FBc0I7Ozs7SUFPN0IsbUNBQXNGO0lBQ3BGLCtCQUE4QjtJQUM1QiwrQkFBd0I7SUFDdEIsaUNBQStCO0lBQUEsOEJBQXVCO0lBQUEsWUFBK0I7O0lBQUEsaUJBQUs7SUFBQSxpQkFBUTtJQUNwRyxpQkFBTTtJQUNOLCtCQUF5QjtJQUN2QixrQ0FFb0Q7SUFGRSxxT0FBc0I7SUFFeEIsYUFBMkI7O0lBQUEsaUJBQVM7SUFDMUYsaUJBQU07SUFDUixpQkFBTTtJQUNOLHVDQVFrQjtJQUNwQixpQkFBTTs7Ozs7SUFqQk8sZUFBdUI7SUFBdkIsMkNBQXVCO0lBQXdCLGVBQStCO0lBQS9CLG1FQUErQjtJQUs3RSxlQUEyQztJQUEzQywrRUFBMkM7SUFEM0MsK0RBQXVDO0lBQ0ssZUFBMkI7SUFBM0Isc0RBQTJCO0lBR2xFLGVBQTRCO0lBQTVCLDZDQUE0QixpQ0FBQSwrQkFBQSw2QkFBQSw0QkFBQSxvQ0FBQSxpQ0FBQSwyQ0FBQTs7O0lBYmpELCtCQUFzRztJQUVwRyx3RkFvQk07SUFFUixpQkFBTTs7O0lBeEJrQixnREFBMkI7SUFFUixlQUFjO0lBQWQsMENBQWM7Ozs7SUF3QnpELGtDQUE2TTtJQUF0SSxnTUFBaUIsS0FBSyxLQUFFO0lBQThHLFlBQTZCOztJQUFBLGlCQUFTOzs7SUFBbkosc0ZBQTBEO0lBQW1ELGVBQTZCO0lBQTdCLHFEQUE2Qjs7QURYOU8sTUFBTSxPQUFPLDZCQUE4QixTQUFRLDJCQUEyQjtJQWdCNUUsWUFBNkIsTUFBaUIsRUFDM0IsZUFBZ0MsRUFDaEMsZUFBZ0M7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFKbUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBaEI1QyxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQVlwQixjQUFTLEdBQXFCLEVBQUUsQ0FBQztJQU9qRCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsa0VBQWtFO1lBQ3hGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFGO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQWMsQ0FBQztRQUM1RSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQ3hELE1BQU0sTUFBTSxHQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEtBQUssRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUNuQztZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQUksRUFBRSxLQUFhLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDdEQ7Ozs7Ozs7Ozs7OztXQVlHO1FBQ0gsSUFBSSxLQUFnQixDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JELEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQWMsQ0FBQztTQUMvQzthQUFNO1lBQ0wsS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDakQsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFnQixDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEMsb0RBQW9EO2dCQUNwRCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNsQztTQUNGO2FBQU07WUFDTCxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQWMsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDMUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDN0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN0QyxtRUFBbUU7b0JBQ25FLGdEQUFnRDtvQkFDaEQsNEJBQTRCO2lCQUM3QjtnQkFDRCxrREFBa0Q7Z0JBQ2xELEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBZ0IsQ0FBQztRQUN4Qyx1RUFBdUU7UUFDdkUsd0NBQXdDO1FBQ3hDLHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsRUFBRSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM1QjtRQUVEOzs7V0FHRztRQUVILHlEQUF5RDtRQUN6RCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBRUQsMkNBQTJDO1FBQzNDLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRTtZQUNoQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1NBQ2hCO2FBQU07WUFDTCxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3pCO1FBRUQsU0FBUztRQUNULE1BQU0sRUFBRSxHQUFjLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEUscUJBQXFCLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxXQUFXLENBQUMsa0NBQWtDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUNoQyxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEUsT0FBTyxHQUFHLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQztTQUM3QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLE9BQU8sQ0FBQyxRQUFpQjtRQUM5QixpR0FBaUc7UUFDakcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFM0IsSUFBSyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRztZQUNoQyxJQUFJLHFCQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sR0FBRyxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRSxJQUFZLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBRSxDQUFDO1NBQzlEO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDOUMsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRW5FLHNHQUFzRztRQUN0RyxJQUFJLFFBQVEsRUFBRTtZQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7b0JBQzVCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxFQUFFO29CQUM5QyxRQUFRLEVBQUUsSUFBSTtvQkFDZCxNQUFNLEVBQUUsQ0FBQyxHQUFHO2lCQUNiLENBQUM7cUJBQ0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztxQkFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRTtZQUNsRixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssa0JBQWtCLENBQUM7SUFDbkYsQ0FBQztJQUVPLFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsS0FBSztRQUN6RCxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5RSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUcsSUFBSSxTQUFTLENBQUMsY0FBYyxFQUFFO1lBQzVCLFNBQVMsQ0FBQyxjQUFjO2lCQUNyQixNQUFNLENBQUMsQ0FBQyxFQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM5QyxHQUFHLENBQUMsQ0FBQyxFQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDN0M7UUFFRCwrRUFBK0U7UUFDL0UsOEVBQThFO1FBQzlFLE9BQU8scUJBQXFCLENBQUMsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUM1QyxFQUFFO1lBQ0YsVUFBVSxFQUFFLFNBQVM7WUFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZTtZQUN0RixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsSUFBSSxLQUFLLFlBQVksU0FBUyxFQUFFO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFjLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9FLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQWE7O1FBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDN0I7WUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7bUJBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDL0M7WUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksT0FB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QUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7OzBHQXJWVSw2QkFBNkI7a0VBQTdCLDZCQUE2Qjs7Ozs7O1FDOUIxQyw4QkFBb0M7UUFFbEMsOEJBQXdDO1FBRXRDLDZCQUFxQztRQUNuQyxZQUNGOzs7UUFBQSxpQkFBSztRQUNMLGlDQUF1SjtRQUFuRiwwR0FBUyxZQUFRLElBQUksQ0FBQyxJQUFDO1FBQTRELFlBQTRCOztRQUFBLGlCQUFTO1FBQzVMLDRFQUtLO1FBRUwsZ0ZBd0JNO1FBRU4sc0ZBQW1QO1FBRXJQLGlCQUFNO1FBRVIsaUJBQU07O1FBN0NrQiw2QkFBVztRQUs3QixlQUNGO1FBREUsMEZBQ0Y7UUFDNEYsZUFBMEQ7UUFBMUQsZ0ZBQTBEO1FBQUMsZUFBNEI7UUFBNUIsc0RBQTRCO1FBQzdJLGVBQTZDO1FBQTdDLHNFQUE2QztRQU85QixlQUErQztRQUEvQyx3RUFBK0M7UUEwQndELGVBQStDO1FBQS9DLHdFQUErQzs7dUZEWGxNLDZCQUE2QjtjQUx6QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDdkM7d0hBR1EsVUFBVTtrQkFEaEIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQVNXLEtBQUs7a0JBRHJCLFlBQVk7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTY3JvbGxUb1NlcnZpY2UgfSBmcm9tICdAbmlja3ktbGVuYWVycy9uZ3gtc2Nyb2xsLXRvJztcbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9maWVsZC10eXBlLm1vZGVsJztcblxuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3Byb2ZpbGUvcHJvZmlsZS5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS9mb3JtLXZhbGlkYXRvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlTm90aWZpZXIgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcm9maWxlL3Byb2ZpbGUubm90aWZpZXInO1xuaW1wb3J0IHsgUmVtb3ZlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9yZW1vdmUtZGlhbG9nL3JlbW92ZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcblxudHlwZSBDb2xsZWN0aW9uSXRlbSA9IHtcbiAgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG4gIGl0ZW06IGFueTtcbiAgcHJlZml4OiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG4gIGNvbnRhaW5lcjogRm9ybUdyb3VwO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLWNvbGxlY3Rpb24tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtY29sbGVjdGlvbi1maWVsZC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbi1maWVsZC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVDb2xsZWN0aW9uRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZm9ybUFycmF5OiBGb3JtQXJyYXk7XG5cbiAgcHVibGljIHByb2ZpbGU6IFByb2ZpbGU7XG4gIHB1YmxpYyBwcm9maWxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgQFZpZXdDaGlsZHJlbignY29sbGVjdGlvbkl0ZW0nKVxuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIHB1YmxpYyByZWFkb25seSBjb2xsSXRlbXM6IENvbGxlY3Rpb25JdGVtW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9TZXJ2aWNlOiBTY3JvbGxUb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9maWxlTm90aWZpZXI6IFByb2ZpbGVOb3RpZmllclxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7IC8vIG1lYW5pbmcgSSBhbSBub3QgcmVuZGVyZWQgb24gdGhlIHNlYXJjaC93b3JrYmFza2V0IGlucHV0IGZpbHRlclxuICAgICAgdGhpcy5wcm9maWxlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9maWxlTm90aWZpZXIucHJvZmlsZS5zdWJzY3JpYmUoXyA9PiB0aGlzLnByb2ZpbGUgPSBfKTtcbiAgICB9XG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUgPSB0aGlzLmNhc2VGaWVsZC52YWx1ZSB8fCBbXTtcbiAgICB0aGlzLmZvcm1BcnJheSA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQXJyYXkoW10pLCB0cnVlKSBhcyBGb3JtQXJyYXk7XG4gICAgdGhpcy5mb3JtQXJyYXlbJ2Nhc2VGaWVsZCddID0gdGhpcy5jYXNlRmllbGQ7XG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBwcmVmaXg6IHN0cmluZyA9IHRoaXMuYnVpbGRJZFByZWZpeChpbmRleCk7XG4gICAgICBjb25zdCBjYXNlRmllbGQgPSB0aGlzLmJ1aWxkQ2FzZUZpZWxkKGl0ZW0sIGluZGV4KTtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0Q29udGFpbmVyKGluZGV4KTtcbiAgICAgIGlmICh0aGlzLmNvbGxJdGVtcy5sZW5ndGggPD0gaW5kZXgpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXMubGVuZ3RoID0gaW5kZXggKyAxO1xuICAgICAgfVxuICAgICAgdGhpcy5jb2xsSXRlbXNbaW5kZXhdID0geyBjYXNlRmllbGQsIGl0ZW0sIHByZWZpeCwgaW5kZXgsIGNvbnRhaW5lciB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb2ZpbGVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMucHJvZmlsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZENhc2VGaWVsZChpdGVtLCBpbmRleDogbnVtYmVyLCBpc05ldyA9IGZhbHNlKTogQ2FzZUZpZWxkIHtcbiAgICAvKipcbiAgICAgKiBXaGF0IGZvbGxvdyBpcyBjb2RlIHRoYXQgbWFrZXMgbWUgd2FudCB0byBnbyBqdW1wIGluIHRoZSBzaG93ZXIhXG4gICAgICogQmFzaWNhbGx5LCB3ZSBsYW5kIGluIGhlcmUgcmVwZWF0ZWRseSBiZWNhdXNlIG9mIHRoZSBiaW5kaW5nLCBhbmRcbiAgICAgKiB0aGlzIGlzIHdoYXQgYXBwZWFycyB0byBiZSBoYXBwZW5pbmc6XG4gICAgICogICAxLiB0aGlzLmZvcm1BcnJheSBjb250YWlucyBubyBjb250cm9scyBhdCBhbGwuXG4gICAgICogICAgICB0aGlzLmZvcm1BcnJheS52YWx1ZSA9IFtdO1xuICAgICAqICAgMi4gdGhpcy5mb3JtQXJyYXkgY29udGFpbnMgYSBGb3JtR3JvdXAsIHdoaWNoIGNvbnRhaW5zIGEgc2luZ2xlXG4gICAgICogICAgICBGb3JtQ29udHJvbCB3aXRoIHRoZSBpZCAnY29kZScuXG4gICAgICogICAgICB0aGlzLmZvcm1BcnJheS52YWx1ZSA9IFt7IGNvZGU6IG51bGwgfV1cbiAgICAgKiAgIDMuIHRoaXMuZm9ybUFycmF5IGNvbnRhaW5zIHdoYXQgaXMgYmVpbmcgc2V0IHVwIGJlbG93LlxuICAgICAqICAgICAgdGhpcy5mb3JtQXJyYXkudmFsdWUgPSBbeyBjb2RlOiBudWxsLCBpZDogbnVsbCwgdmFsdWU6IHsgY29kZTogbnVsbCB9IH1dXG4gICAgICogICA0LCA1LCA2LCBldGMgLSB0aGUgc2FtZSBhcyAzLlxuICAgICAqL1xuICAgIGxldCBncm91cDogRm9ybUdyb3VwO1xuICAgIGlmICh0aGlzLmZvcm1BcnJheSAmJiAoaW5kZXggPCB0aGlzLmZvcm1BcnJheS5sZW5ndGgpKSB7XG4gICAgICBncm91cCA9IHRoaXMuZm9ybUFycmF5LmF0KGluZGV4KSBhcyBGb3JtR3JvdXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlO1xuICAgIGlmICh0aGlzLmlzQ29sbGVjdGlvbk9mU2ltcGxlVHlwZSh0aGlzLmNhc2VGaWVsZCkpIHtcbiAgICAgIHZhbHVlID0gZ3JvdXAuZ2V0KCd2YWx1ZScpIGFzIEZvcm1Db250cm9sO1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IG5ldyBGb3JtQ29udHJvbChpdGVtLnZhbHVlKTtcbiAgICAgICAgLy8gTm93IGFkZCB0aGUgdmFsdWUgRm9ybUNvbnRyb2wgdG8gdGhlIG91dGVyIGdyb3VwLlxuICAgICAgICBncm91cC5hZGRDb250cm9sKCd2YWx1ZScsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSBncm91cC5nZXQoJ3ZhbHVlJykgYXMgRm9ybUdyb3VwO1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhncm91cC5jb250cm9scykpIHtcbiAgICAgICAgICB2YWx1ZS5hZGRDb250cm9sKGtleSwgZ3JvdXAuZ2V0KGtleSkpO1xuICAgICAgICAgIC8vIERPTidUIHJlbW92ZSB0aGUgY29udHJvbCBmb3IgdGhpcyBrZXkgZnJvbSB0aGUgb3V0ZXIgZ3JvdXAgb3IgaXRcbiAgICAgICAgICAvLyBnb2VzIGF3cnkuIFNvIERPTidUIHVuY29tbWVudCB0aGUgYmVsb3cgbGluZSFcbiAgICAgICAgICAvLyBncm91cC5yZW1vdmVDb250cm9sKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm93IGFkZCB0aGUgdmFsdWUgRm9ybUdyb3VwIHRvIHRoZSBvdXRlciBncm91cC5cbiAgICAgICAgZ3JvdXAuYWRkQ29udHJvbCgndmFsdWUnLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBpZCA9IGdyb3VwLmdldCgnaWQnKSBhcyBGb3JtQ29udHJvbDtcbiAgICAvLyBJZiB3ZSdyZSBub3QgaW4gc2NlbmFyaW8gMywgYWJvdmUsIHdlIG5lZWQgdG8gZG8gc29tZSBqaWdnZXJ5IHBva2VyeVxuICAgIC8vIGFuZCBzZXQgdXAgdGhlIGlkIGFuZCB2YWx1ZSBjb250cm9scy5cbiAgICAvLyBBbHNvIHNldCB1cCBhbiBpZCBjb250cm9sIGlmIGl0IGRvZXNuJ3QgeWV0IGV4aXN0LlxuICAgIGlmICghaWQpIHtcbiAgICAgIGlkID0gbmV3IEZvcm1Db250cm9sKGl0ZW0uaWQpO1xuICAgICAgZ3JvdXAuYWRkQ29udHJvbCgnaWQnLCBpZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWdhaW4sIHZlcnkgc29ycnkuIEkndmUgbm90IGZvdW5kIGEgYmV0dGVyIHdheSB0byBwcm9kdWNlIHRoZVxuICAgICAqIG91dHB1dCBuZWVkZWQgZm9yIHdoYXQgbmVlZHMgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyIHlldC5cbiAgICAgKi9cblxuICAgIC8vIE5vdywgYWRkIHRoZSBvdXRlciBncm91cCB0byB0aGUgYXJyYXkgKG9yIHJlcGxhY2UgaXQpLlxuICAgIGlmIChpbmRleCA8IHRoaXMuZm9ybUFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5mb3JtQXJyYXkuc2V0Q29udHJvbChpbmRleCwgZ3JvdXApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1BcnJheS5wdXNoKGdyb3VwKTtcbiAgICB9XG5cbiAgICAvLyBOb3cgc2V0IHVwIHRoZSBDYXNlRmllbGQgYW5kIHZhbGlkYXRpb24uXG4gICAgbGV0IGNmaWQ6IHN0cmluZztcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgY2ZpZCA9ICd2YWx1ZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNmaWQgPSBpbmRleC50b1N0cmluZygpO1xuICAgIH1cblxuICAgIC8vIGlzTmV3OlxuICAgIGNvbnN0IGNmOiBDYXNlRmllbGQgPSB0aGlzLm5ld0Nhc2VGaWVsZChjZmlkLCBpdGVtLCBpbmRleCwgaXNOZXcpO1xuICAgIEZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKGNmLCB2YWx1ZSk7XG4gICAgRmllbGRzVXRpbHMuYWRkQ2FzZUZpZWxkQW5kQ29tcG9uZW50UmVmZXJlbmNlcyh2YWx1ZSwgY2YsIHRoaXMpO1xuICAgIHJldHVybiBjZjtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZElkUHJlZml4KGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByZWZpeCA9IGAke3RoaXMuaWRQcmVmaXh9JHt0aGlzLmNhc2VGaWVsZC5pZH1fYDtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICByZXR1cm4gYCR7cHJlZml4fSR7aW5kZXh9X2A7XG4gICAgfVxuICAgIHJldHVybiBwcmVmaXg7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hGaWx0ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJblNlYXJjaEJsb2NrICYmIHRoaXMuY29sbEl0ZW1zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgYWRkSXRlbShkb1Njcm9sbDogYm9vbGVhbik6IHZvaWQge1xuICAgIC8vIE1hbnVhbGx5IHJlc2V0dGluZyBlcnJvcnMgaXMgcmVxdWlyZWQgdG8gcHJldmVudCBgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvcmBcbiAgICB0aGlzLmZvcm1BcnJheS5zZXRFcnJvcnMobnVsbCk7XG4gICAgbGV0IGl0ZW0gPSB7IHZhbHVlOiBudWxsIH07XG5cbiAgICBpZiAoIHRoaXMuaXNDb2xsZWN0aW9uRHluYW1pYygpICkge1xuICAgICAgaXRlbSAgPSB7Li4udGhpcy5jYXNlRmllbGQudmFsdWVbdGhpcy5jYXNlRmllbGQudmFsdWUubGVuZ3RoIC0gMV19O1xuICAgICAgY29uc3Qga2V5OiBudW1iZXIgPSBOdW1iZXIoaXRlbVsnaWQnXVtpdGVtWydpZCddLmxlbmd0aCAtIDFdKSArIDE7XG4gICAgICAoaXRlbSBhcyBhbnkpLmlkID0gaXRlbVsnaWQnXS5yZXBsYWNlKC8uJC8sIGtleS50b1N0cmluZygpICk7XG4gICAgfVxuICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLnB1c2goaXRlbSk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNhc2VGaWVsZC52YWx1ZS5sZW5ndGggLSAxO1xuICAgIGNvbnN0IGNhc2VGaWVsZDogQ2FzZUZpZWxkID0gdGhpcy5idWlsZENhc2VGaWVsZChpdGVtLCBpbmRleCwgdHJ1ZSk7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5idWlsZElkUHJlZml4KGluZGV4KTtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldENvbnRhaW5lcihpbmRleCk7XG4gICAgdGhpcy5jb2xsSXRlbXMucHVzaCh7IGNhc2VGaWVsZCwgaXRlbSwgaW5kZXgsIHByZWZpeCwgY29udGFpbmVyIH0pO1xuXG4gICAgLy8gVGltZW91dCBpcyByZXF1aXJlZCBmb3IgdGhlIGNvbGxlY3Rpb24gaXRlbSB0byBiZSByZW5kZXJlZCBiZWZvcmUgaXQgY2FuIGJlIHNjcm9sbGVkIHRvIG9yIGZvY3VzZWQuXG4gICAgaWYgKGRvU2Nyb2xsKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb1NlcnZpY2Uuc2Nyb2xsVG8oe1xuICAgICAgICAgIHRhcmdldDogYCR7dGhpcy5idWlsZElkUHJlZml4KGluZGV4KX0ke2luZGV4fWAsXG4gICAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICAgICAgb2Zmc2V0OiAtMTUwLFxuICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuZm9jdXNMYXN0SXRlbSgpKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHsgfSwgY29uc29sZS5lcnJvcik7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvY3VzTGFzdEl0ZW0oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbGxlY3Rpb25EeW5hbWljKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZSB8fCAhdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkID09PSAnRHluYW1pY1JhZGlvTGlzdCc7XG4gIH1cblxuICBwcml2YXRlIG5ld0Nhc2VGaWVsZChpZDogc3RyaW5nLCBpdGVtLCBpbmRleCwgaXNOZXcgPSBmYWxzZSkge1xuICAgIGNvbnN0IGlzTm90QXV0aG9yaXNlZFRvVXBkYXRlID0gIWlzTmV3ICYmIHRoaXMuaXNOb3RBdXRob3Jpc2VkVG9VcGRhdGUoaW5kZXgpO1xuXG4gICAgY29uc3QgZmllbGRUeXBlID0gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBGaWVsZFR5cGUoKSwgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUpO1xuICAgIGlmIChmaWVsZFR5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgIGZpZWxkVHlwZS5jb21wbGV4X2ZpZWxkc1xuICAgICAgICAuZmlsdGVyKChjZjogQ2FzZUZpZWxkKSA9PiAhIWNmLnNob3dfY29uZGl0aW9uKVxuICAgICAgICAubWFwKChjZjogQ2FzZUZpZWxkKSA9PiBjZi5oaWRkZW4gPSB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGJpdCBzZXR0aW5nIHRoZSBoaWRkZW4gZmxhZyBoZXJlIGFzIGl0J3MgYW4gaXRlbSBpbiB0aGUgYXJyYXkgYW5kXG4gICAgLy8gaXRzIGhpZGRlbiBzdGF0ZSBpc24ndCBpbmRlcGVuZGVudGx5IHJlLWV2YWx1YXRlZCB3aGVuIHRoZSBmb3JtIGlzIGNoYW5nZWQuXG4gICAgcmV0dXJuIHBsYWluVG9DbGFzc0Zyb21FeGlzdChuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkLFxuICAgICAgZmllbGRfdHlwZTogZmllbGRUeXBlLFxuICAgICAgZGlzcGxheV9jb250ZXh0OiBpc05vdEF1dGhvcmlzZWRUb1VwZGF0ZSA/ICdSRUFET05MWScgOiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQsXG4gICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgYWNsczogdGhpcy5jYXNlRmllbGQuYWNsc1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb250YWluZXIoaW5kZXg6IG51bWJlcik6IEZvcm1Hcm91cCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1BcnJheS5hdChpbmRleCkuZ2V0KCd2YWx1ZScpO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtQXJyYXkuYXQoaW5kZXgpIGFzIEZvcm1Hcm91cDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTGFzdEl0ZW0oKSB7XG4gICAgY29uc3QgaXRlbTogYW55ID0gdGhpcy5pdGVtcy5sYXN0Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvcm0tY29udHJvbCcpO1xuICAgIGlmIChpdGVtKSB7XG4gICAgICBpdGVtLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMucmVzZXRJZHMoaW5kZXgpO1xuICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5mb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldElkcyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZm9yIChsZXQgaSA9IGluZGV4OyBpIDwgdGhpcy5jb2xsSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvdW50ZXIgPSBpICsgMTtcbiAgICAgIGlmICh0aGlzLmNvbGxJdGVtc1tpXS5pbmRleCAmJiB0aGlzLmNvbGxJdGVtc1tpXS5pbmRleCA9PT0gY291bnRlcikge1xuICAgICAgICB0aGlzLmNvbGxJdGVtc1tpXS5pbmRleCA9IGk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNvbGxJdGVtc1tpXS5jYXNlRmllbGQgJiYgdGhpcy5jb2xsSXRlbXNbaV0uY2FzZUZpZWxkLmlkXG4gICAgICAgICYmIHRoaXMuY29sbEl0ZW1zW2ldLmNhc2VGaWVsZC5pZCA9PT0gY291bnRlci50b1N0cmluZygpKSB7XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zW2ldLmNhc2VGaWVsZC5pZCA9IGkudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaWRQcmVmaXgxID0gdGhpcy5jb2xsSXRlbXNbaV0ucHJlZml4ID8gdGhpcy5jb2xsSXRlbXNbaV0ucHJlZml4LnJlcGxhY2UoYF8ke2NvdW50ZXIudG9TdHJpbmcoKX1gLCBgXyR7aS50b1N0cmluZygpfWApIDogJyc7XG4gICAgICBjb25zdCBpZFByZWZpeDFDdXJyZW50ID0gaWRQcmVmaXgxLnJlcGxhY2UoYF8ke2kudG9TdHJpbmcoKX1gLCBgXyR7Y291bnRlci50b1N0cmluZygpfWApO1xuXG4gICAgICBpZiAodGhpcy5jb2xsSXRlbXNbaV0ucHJlZml4ICYmIHRoaXMuY29sbEl0ZW1zW2ldLnByZWZpeCA9PT0gaWRQcmVmaXgxQ3VycmVudCkge1xuICAgICAgICB0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXggPSBpZFByZWZpeDE7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlkUHJlZml4QXZhaWxhYmxlID0gISF0aGlzLmNvbGxJdGVtc1tpXS5jb250YWluZXI/LlsnY29tcG9uZW50J10/LmlkUHJlZml4O1xuXG4gICAgICBjb25zdCBpZFByZWZpeDIgPSBpZFByZWZpeEF2YWlsYWJsZSA/XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zW2ldLmNvbnRhaW5lclsnY29tcG9uZW50J10uaWRQcmVmaXgucmVwbGFjZShgXyR7Y291bnRlci50b1N0cmluZygpfWAsIGBfJHtpLnRvU3RyaW5nKCl9YCkgOiAnJztcbiAgICAgIGNvbnN0IGlkUHJlZml4MmN1cnJlbnQgPSBpZFByZWZpeDIucmVwbGFjZShgXyR7aS50b1N0cmluZygpfWAsIGBfJHtjb3VudGVyLnRvU3RyaW5nKCl9YCk7XG5cbiAgICAgIGlmIChpZFByZWZpeEF2YWlsYWJsZSAmJiB0aGlzLmNvbGxJdGVtc1tpXS5jb250YWluZXJbJ2NvbXBvbmVudCddLmlkUHJlZml4ID09PSBpZFByZWZpeDJjdXJyZW50KSB7XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zW2ldLmNvbnRhaW5lclsnY29tcG9uZW50J10uaWRQcmVmaXggPSBpZFByZWZpeDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGl0ZW1MYWJlbChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGluZGV4KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5jYXNlRmllbGQubGFiZWx9ICR7aW5kZXggKyAxfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZC5sYWJlbDtcbiAgfVxuXG4gIHB1YmxpYyBpc05vdEF1dGhvcmlzZWRUb0NyZWF0ZSgpIHtcbiAgICBpZiAodGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAhdGhpcy5nZXRDb2xsZWN0aW9uUGVybWlzc2lvbih0aGlzLmNhc2VGaWVsZCwgJ2FsbG93SW5zZXJ0Jyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29sbGVjdGlvblBlcm1pc3Npb24oZmllbGQ6IENhc2VGaWVsZCwgdHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIgJiZcbiAgICAgIGZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIuc3BsaXQoJyMnKVxuICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS5zdGFydHNXaXRoKCdDT0xMRUNUSU9OKCcpKVswXVxuICAgICAgICAuaW5jbHVkZXModHlwZSk7XG4gIH1cblxuICBwdWJsaWMgaXNOb3RBdXRob3Jpc2VkVG9VcGRhdGUoaW5kZXgpIHtcbiAgICBpZiAodGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIFdhcyByZWFzc2VzZWQgYXMgcGFydCBvZiBFVUktMzUwNS4gVGhlcmUgaXMgc3RpbGwgYSBjYXZlYXQgYXJvdW5kIENSRCwgYnV0IHRoYXQgd2FzIGRlZW1lZCBhbiB1bmxpa2VseSBzY2VuYXJpb1xuICAgIGNvbnN0IGlkID0gdGhpcy5nZXRDb250cm9sSWRBdChpbmRleCk7XG4gICAgaWYgKGlkKSB7XG4gICAgICBpZiAoISF0aGlzLnByb2ZpbGUudXNlciAmJiAhIXRoaXMucHJvZmlsZS51c2VyLmlkYW0pIHtcbiAgICAgICAgY29uc3QgdXBkYXRlUm9sZSA9IHRoaXMucHJvZmlsZS51c2VyLmlkYW0ucm9sZXMuZmluZChyb2xlID0+IHRoaXMuaGFzVXBkYXRlQWNjZXNzKHJvbGUpKTtcbiAgICAgICAgcmV0dXJuICF1cGRhdGVSb2xlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgaGFzVXBkYXRlQWNjZXNzKHJvbGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuY2FzZUZpZWxkLmFjbHMuZmluZChhY2wgPT4gYWNsLnJvbGUgPT09IHJvbGUgJiYgYWNsLnVwZGF0ZSA9PT0gdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaXNOb3RBdXRob3Jpc2VkVG9EZWxldGUoaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gU2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlIGlmIGNyZWF0aW5nIGEgY2FzZSBldmVuIGlmIFwiRFwiIGlzIGFic2VudCwgaGVuY2U6XG4gICAgY29uc3QgaWQgPSB0aGlzLmdldENvbnRyb2xJZEF0KGluZGV4KTtcbiAgICByZXR1cm4gISFpZCAmJiAhdGhpcy5nZXRDb2xsZWN0aW9uUGVybWlzc2lvbih0aGlzLmNhc2VGaWVsZCwgJ2FsbG93RGVsZXRlJyk7XG4gIH1cblxuICBwdWJsaWMgb3Blbk1vZGFsKGk6IG51bWJlcikge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcbiAgICBkaWFsb2dDb25maWcuYXJpYUxhYmVsID0gJ0xhYmVsJztcbiAgICBkaWFsb2dDb25maWcuaGVpZ2h0ID0gJzIyMHB4JztcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnNTUwcHgnO1xuICAgIGRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzID0gJ2RpYWxvZyc7XG5cbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcbiAgICBkaWFsb2dDb25maWcucG9zaXRpb24gPSB7XG4gICAgICB0b3A6IGAke3dpbmRvdy5pbm5lckhlaWdodCAvIDIgLSAxMTB9cHhgLCBsZWZ0OiBgJHt3aW5kb3cuaW5uZXJXaWR0aCAvIDIgLSAyNzV9cHhgXG4gICAgfTtcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oUmVtb3ZlRGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSAnUmVtb3ZlJykge1xuICAgICAgICB0aGlzLnJlbW92ZUl0ZW0oaSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllZCBmdWxsIHNvbHV0aW9uIGFzIHBhcnQgb2YgRVVJLTM1MDVcbiAgICovXG4gIHByaXZhdGUgZ2V0Q29udHJvbElkQXQoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG5cbiAgICAvLyB0aGlzLmZvcm1BcnJheSBjb250YWlucyBbIEZvcm1Hcm91cCggaWQ6IEZvcm1Db250cm9sLCB2YWx1ZTogRm9ybUdyb3VwICksIC4uLiBdLlxuICAgIC8vIEhlcmUsIHdlIG5lZWQgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgaWQgRm9ybUNvbnRyb2wuXG4gICAgY29uc3QgZ3JvdXA6IEZvcm1Hcm91cCA9IHRoaXMuZm9ybUFycmF5LmF0KGluZGV4KSBhcyBGb3JtR3JvdXA7XG4gICAgY29uc3QgY29udHJvbDogRm9ybUNvbnRyb2wgPSBncm91cC5nZXQoJ2lkJykgYXMgRm9ybUNvbnRyb2w7XG4gICAgcmV0dXJuIGNvbnRyb2wgPyBjb250cm9sLnZhbHVlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbGxlY3Rpb25PZlNpbXBsZVR5cGUoY2FzZUZpZWxkOiBDYXNlRmllbGQpIHtcbiAgICBjb25zdCBub3RTaW1wbGUgPSBbJ0NvbGxlY3Rpb24nLCAnQ29tcGxleCddO1xuICAgIHJldHVybiBub3RTaW1wbGUuaW5kZXhPZihjYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSkgPCAwO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtpZF09XCJpZCgpXCI+XG5cbiAgPGRpdiBjbGFzcz1cInBhbmVsIGNvbGxlY3Rpb24taW5kaWNhdG9yXCI+XG5cbiAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLWgyIGVycm9yLXNwYWNpbmdcIj5cbiAgICAgIHt7KGNhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwpIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgPC9oMj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHdyaXRlLWNvbGxlY3Rpb24tYWRkLWl0ZW1fX3RvcFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkSXRlbSh0cnVlKVwiIFtkaXNhYmxlZF09XCJpc05vdEF1dGhvcmlzZWRUb0NyZWF0ZSgpIHx8IGlzU2VhcmNoRmlsdGVyKClcIj57eydBZGQgbmV3JyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMiBlcnJvci1zcGFjaW5nXCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0IHx8IGZvcm1BcnJheS5lcnJvcnNcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiIGNsYXNzPVwiZm9ybS1oaW50XCI+e3tjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJmb3JtQXJyYXkuZXJyb3JzXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAgICAgIHt7KGZvcm1BcnJheS5lcnJvcnMgfCBjY2RGaXJzdEVycm9yOmNhc2VGaWVsZC5sYWJlbCApIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIiAqbmdJZj1cImNhc2VGaWVsZC52YWx1ZSAmJiBjYXNlRmllbGQudmFsdWUubGVuZ3RoXCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sbEl0ZW1zOyBsZXQgaSA9IGluZGV4XCIgI2NvbGxlY3Rpb25JdGVtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi10aXRsZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdC1sZWZ0XCI+XG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpdGVtLnByZWZpeCArIGlcIj48aDMgY2xhc3M9XCJoZWFkaW5nLWgzXCI+e3tpdGVtTGFiZWwoaSkgfCBycHhUcmFuc2xhdGV9fTwvaDM+PC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtcmlnaHRcIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3Blbk1vZGFsKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTm90QXV0aG9yaXNlZFRvRGVsZXRlKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwiUmVtb3ZlIHt7IGl0ZW1MYWJlbChpKSB9fVwiPnt7J1JlbW92ZScgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGNjZC1maWVsZC13cml0ZSBbY2FzZUZpZWxkXT1cIml0ZW0uY2FzZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF09XCJpdGVtLmNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2lkUHJlZml4XT1cIml0ZW0ucHJlZml4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIml0ZW0uY2FzZUZpZWxkLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2lzSW5TZWFyY2hCbG9ja109XCJpc0luU2VhcmNoQmxvY2tcIj5cbiAgICAgICAgPC9jY2QtZmllbGQtd3JpdGU+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiB3cml0ZS1jb2xsZWN0aW9uLWFkZC1pdGVtX19ib3R0b21cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFkZEl0ZW0oZmFsc2UpXCIgW2Rpc2FibGVkXT1cImlzTm90QXV0aG9yaXNlZFRvQ3JlYXRlKCkgfHwgaXNTZWFyY2hGaWx0ZXIoKVwiICpuZ0lmPVwiY2FzZUZpZWxkLnZhbHVlICYmIGNhc2VGaWVsZC52YWx1ZS5sZW5ndGhcIj57eydBZGQgbmV3JyB8IHJweFRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|
|
461
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29sbGVjdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb2xsZWN0aW9uL3dyaXRlLWNvbGxlY3Rpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29sbGVjdGlvbi93cml0ZS1jb2xsZWN0aW9uLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIs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QUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQWE7O1FBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDN0I7WUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7bUJBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDL0M7WUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFD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O1FDN0IxQyw4QkFBb0M7UUFFbEMsOEJBQXdDO1FBRXRDLDZCQUFxQztRQUNuQyxZQUNGOzs7UUFBQSxpQkFBSztRQUNMLGlDQUF1SjtRQUFuRiwwR0FBUyxZQUFRLElBQUksQ0FBQyxJQUFDO1FBQTRELFlBQTRCOztRQUFBLGlCQUFTO1FBQzVMLDRFQUtLO1FBRUwsZ0ZBd0JNO1FBRU4sc0ZBQW1QO1FBRXJQLGlCQUFNO1FBRVIsaUJBQU07O1FBN0NrQiw2QkFBVztRQUs3QixlQUNGO1FBREUsMEZBQ0Y7UUFDNEYsZUFBMEQ7UUFBMUQsZ0ZBQTBEO1FBQUMsZUFBNEI7UUFBNUIsc0RBQTRCO1FBQzdJLGVBQTZDO1FBQTdDLHNFQUE2QztRQU85QixlQUErQztRQUEvQyx3RUFBK0M7UUEwQndELGVBQStDO1FBQS9DLHdFQUErQzs7dUZEWmxNLDZCQUE2QjtjQUx6QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDdkM7d0pBR1EsVUFBVTtrQkFEaEIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQVNXLEtBQUs7a0JBRHJCLFlBQVk7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU2Nyb2xsVG9TZXJ2aWNlIH0gZnJvbSAnQG5pY2t5LWxlbmFlcnMvbmd4LXNjcm9sbC10byc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2ZpZWxkLXR5cGUubW9kZWwnO1xuXG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFByb2ZpbGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vcHJvZmlsZS9wcm9maWxlLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmllbGRzL2ZpZWxkcy51dGlscyc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtL2Zvcm0tdmFsaWRhdG9ycy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2ZpbGVOb3RpZmllciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Byb2ZpbGUvcHJvZmlsZS5ub3RpZmllcic7XG5pbXBvcnQgeyBSZW1vdmVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kaWFsb2dzL3JlbW92ZS1kaWFsb2cvcmVtb3ZlLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuXG50eXBlIENvbGxlY3Rpb25JdGVtID0ge1xuICBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbiAgaXRlbTogYW55O1xuICBwcmVmaXg6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgY29udGFpbmVyOiBGb3JtR3JvdXA7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtY29sbGVjdGlvbi1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1jb2xsZWN0aW9uLWZpZWxkLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2xsZWN0aW9uLWZpZWxkLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUNvbGxlY3Rpb25GaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBmb3JtQXJyYXk6IEZvcm1BcnJheTtcblxuICBwdWJsaWMgcHJvZmlsZTogUHJvZmlsZTtcbiAgcHVibGljIHByb2ZpbGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBAVmlld0NoaWxkcmVuKCdjb2xsZWN0aW9uSXRlbScpXG4gIHByaXZhdGUgcmVhZG9ubHkgaXRlbXM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgcHVibGljIHJlYWRvbmx5IGNvbGxJdGVtczogQ29sbGVjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb1NlcnZpY2U6IFNjcm9sbFRvU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2ZpbGVOb3RpZmllcjogUHJvZmlsZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHsgLy8gbWVhbmluZyBJIGFtIG5vdCByZW5kZXJlZCBvbiB0aGUgc2VhcmNoL3dvcmtiYXNrZXQgaW5wdXQgZmlsdGVyXG4gICAgICB0aGlzLnByb2ZpbGVTdWJzY3JpcHRpb24gPSB0aGlzLnByb2ZpbGVOb3RpZmllci5wcm9maWxlLnN1YnNjcmliZShfID0+IHRoaXMucHJvZmlsZSA9IF8pO1xuICAgIH1cbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlIHx8IFtdO1xuICAgIHRoaXMuZm9ybUFycmF5ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1BcnJheShbXSksIHRydWUpIGFzIEZvcm1BcnJheTtcbiAgICB0aGlzLmZvcm1BcnJheVsnY2FzZUZpZWxkJ10gPSB0aGlzLmNhc2VGaWVsZDtcbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeDogc3RyaW5nID0gdGhpcy5idWlsZElkUHJlZml4KGluZGV4KTtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZCA9IHRoaXMuYnVpbGRDYXNlRmllbGQoaXRlbSwgaW5kZXgpO1xuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXIoaW5kZXgpO1xuICAgICAgaWYgKHRoaXMuY29sbEl0ZW1zLmxlbmd0aCA8PSBpbmRleCkge1xuICAgICAgICB0aGlzLmNvbGxJdGVtcy5sZW5ndGggPSBpbmRleCArIDE7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbGxJdGVtc1tpbmRleF0gPSB7IGNhc2VGaWVsZCwgaXRlbSwgcHJlZml4LCBpbmRleCwgY29udGFpbmVyIH07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvZmlsZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5wcm9maWxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJ1aWxkQ2FzZUZpZWxkKGl0ZW0sIGluZGV4OiBudW1iZXIsIGlzTmV3ID0gZmFsc2UpOiBDYXNlRmllbGQge1xuICAgIC8qKlxuICAgICAqIFdoYXQgZm9sbG93IGlzIGNvZGUgdGhhdCBtYWtlcyBtZSB3YW50IHRvIGdvIGp1bXAgaW4gdGhlIHNob3dlciFcbiAgICAgKiBCYXNpY2FsbHksIHdlIGxhbmQgaW4gaGVyZSByZXBlYXRlZGx5IGJlY2F1c2Ugb2YgdGhlIGJpbmRpbmcsIGFuZFxuICAgICAqIHRoaXMgaXMgd2hhdCBhcHBlYXJzIHRvIGJlIGhhcHBlbmluZzpcbiAgICAgKiAgIDEuIHRoaXMuZm9ybUFycmF5IGNvbnRhaW5zIG5vIGNvbnRyb2xzIGF0IGFsbC5cbiAgICAgKiAgICAgIHRoaXMuZm9ybUFycmF5LnZhbHVlID0gW107XG4gICAgICogICAyLiB0aGlzLmZvcm1BcnJheSBjb250YWlucyBhIEZvcm1Hcm91cCwgd2hpY2ggY29udGFpbnMgYSBzaW5nbGVcbiAgICAgKiAgICAgIEZvcm1Db250cm9sIHdpdGggdGhlIGlkICdjb2RlJy5cbiAgICAgKiAgICAgIHRoaXMuZm9ybUFycmF5LnZhbHVlID0gW3sgY29kZTogbnVsbCB9XVxuICAgICAqICAgMy4gdGhpcy5mb3JtQXJyYXkgY29udGFpbnMgd2hhdCBpcyBiZWluZyBzZXQgdXAgYmVsb3cuXG4gICAgICogICAgICB0aGlzLmZvcm1BcnJheS52YWx1ZSA9IFt7IGNvZGU6IG51bGwsIGlkOiBudWxsLCB2YWx1ZTogeyBjb2RlOiBudWxsIH0gfV1cbiAgICAgKiAgIDQsIDUsIDYsIGV0YyAtIHRoZSBzYW1lIGFzIDMuXG4gICAgICovXG4gICAgbGV0IGdyb3VwOiBGb3JtR3JvdXA7XG4gICAgaWYgKHRoaXMuZm9ybUFycmF5ICYmIChpbmRleCA8IHRoaXMuZm9ybUFycmF5Lmxlbmd0aCkpIHtcbiAgICAgIGdyb3VwID0gdGhpcy5mb3JtQXJyYXkuYXQoaW5kZXgpIGFzIEZvcm1Hcm91cDtcbiAgICB9IGVsc2Uge1xuICAgICAgZ3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU7XG4gICAgaWYgKHRoaXMuaXNDb2xsZWN0aW9uT2ZTaW1wbGVUeXBlKHRoaXMuY2FzZUZpZWxkKSkge1xuICAgICAgdmFsdWUgPSBncm91cC5nZXQoJ3ZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHZhbHVlID0gbmV3IEZvcm1Db250cm9sKGl0ZW0udmFsdWUpO1xuICAgICAgICAvLyBOb3cgYWRkIHRoZSB2YWx1ZSBGb3JtQ29udHJvbCB0byB0aGUgb3V0ZXIgZ3JvdXAuXG4gICAgICAgIGdyb3VwLmFkZENvbnRyb2woJ3ZhbHVlJywgdmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IGdyb3VwLmdldCgndmFsdWUnKSBhcyBGb3JtR3JvdXA7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHZhbHVlID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGdyb3VwLmNvbnRyb2xzKSkge1xuICAgICAgICAgIHZhbHVlLmFkZENvbnRyb2woa2V5LCBncm91cC5nZXQoa2V5KSk7XG4gICAgICAgICAgLy8gRE9OJ1QgcmVtb3ZlIHRoZSBjb250cm9sIGZvciB0aGlzIGtleSBmcm9tIHRoZSBvdXRlciBncm91cCBvciBpdFxuICAgICAgICAgIC8vIGdvZXMgYXdyeS4gU28gRE9OJ1QgdW5jb21tZW50IHRoZSBiZWxvdyBsaW5lIVxuICAgICAgICAgIC8vIGdyb3VwLnJlbW92ZUNvbnRyb2woa2V5KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBOb3cgYWRkIHRoZSB2YWx1ZSBGb3JtR3JvdXAgdG8gdGhlIG91dGVyIGdyb3VwLlxuICAgICAgICBncm91cC5hZGRDb250cm9sKCd2YWx1ZScsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IGlkID0gZ3JvdXAuZ2V0KCdpZCcpIGFzIEZvcm1Db250cm9sO1xuICAgIC8vIElmIHdlJ3JlIG5vdCBpbiBzY2VuYXJpbyAzLCBhYm92ZSwgd2UgbmVlZCB0byBkbyBzb21lIGppZ2dlcnkgcG9rZXJ5XG4gICAgLy8gYW5kIHNldCB1cCB0aGUgaWQgYW5kIHZhbHVlIGNvbnRyb2xzLlxuICAgIC8vIEFsc28gc2V0IHVwIGFuIGlkIGNvbnRyb2wgaWYgaXQgZG9lc24ndCB5ZXQgZXhpc3QuXG4gICAgaWYgKCFpZCkge1xuICAgICAgaWQgPSBuZXcgRm9ybUNvbnRyb2woaXRlbS5pZCk7XG4gICAgICBncm91cC5hZGRDb250cm9sKCdpZCcsIGlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZ2FpbiwgdmVyeSBzb3JyeS4gSSd2ZSBub3QgZm91bmQgYSBiZXR0ZXIgd2F5IHRvIHByb2R1Y2UgdGhlXG4gICAgICogb3V0cHV0IG5lZWRlZCBmb3Igd2hhdCBuZWVkcyB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXIgeWV0LlxuICAgICAqL1xuXG4gICAgLy8gTm93LCBhZGQgdGhlIG91dGVyIGdyb3VwIHRvIHRoZSBhcnJheSAob3IgcmVwbGFjZSBpdCkuXG4gICAgaWYgKGluZGV4IDwgdGhpcy5mb3JtQXJyYXkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZvcm1BcnJheS5zZXRDb250cm9sKGluZGV4LCBncm91cCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUFycmF5LnB1c2goZ3JvdXApO1xuICAgIH1cblxuICAgIC8vIE5vdyBzZXQgdXAgdGhlIENhc2VGaWVsZCBhbmQgdmFsaWRhdGlvbi5cbiAgICBsZXQgY2ZpZDogc3RyaW5nO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICBjZmlkID0gJ3ZhbHVlJztcbiAgICB9IGVsc2Uge1xuICAgICAgY2ZpZCA9IGluZGV4LnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgLy8gaXNOZXc6XG4gICAgY29uc3QgY2Y6IENhc2VGaWVsZCA9IHRoaXMubmV3Q2FzZUZpZWxkKGNmaWQsIGl0ZW0sIGluZGV4LCBpc05ldyk7XG4gICAgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLmFkZFZhbGlkYXRvcnMoY2YsIHZhbHVlKTtcbiAgICBGaWVsZHNVdGlscy5hZGRDYXNlRmllbGRBbmRDb21wb25lbnRSZWZlcmVuY2VzKHZhbHVlLCBjZiwgdGhpcyk7XG4gICAgcmV0dXJuIGNmO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkSWRQcmVmaXgoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gYCR7dGhpcy5pZFByZWZpeH0ke3RoaXMuY2FzZUZpZWxkLmlkfV9gO1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZT8udHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICByZXR1cm4gYCR7cHJlZml4fSR7aW5kZXh9X2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByZWZpeDtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlYXJjaEZpbHRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luU2VhcmNoQmxvY2sgJiYgdGhpcy5jb2xsSXRlbXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRJdGVtKGRvU2Nyb2xsOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gTWFudWFsbHkgcmVzZXR0aW5nIGVycm9ycyBpcyByZXF1aXJlZCB0byBwcmV2ZW50IGBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yYFxuICAgIHRoaXMuZm9ybUFycmF5LnNldEVycm9ycyhudWxsKTtcbiAgICBsZXQgaXRlbSA9IHsgdmFsdWU6IG51bGwgfTtcblxuICAgIGlmICggdGhpcy5pc0NvbGxlY3Rpb25EeW5hbWljKCkgKSB7XG4gICAgICBpdGVtICA9IHsuLi50aGlzLmNhc2VGaWVsZC52YWx1ZVt0aGlzLmNhc2VGaWVsZC52YWx1ZS5sZW5ndGggLSAxXX07XG4gICAgICBjb25zdCBrZXk6IG51bWJlciA9IE51bWJlcihpdGVtWydpZCddW2l0ZW1bJ2lkJ10ubGVuZ3RoIC0gMV0pICsgMTtcbiAgICAgIChpdGVtIGFzIGFueSkuaWQgPSBpdGVtWydpZCddLnJlcGxhY2UoLy4kLywga2V5LnRvU3RyaW5nKCkgKTtcbiAgICB9XG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUucHVzaChpdGVtKTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgY2FzZUZpZWxkOiBDYXNlRmllbGQgPSB0aGlzLmJ1aWxkQ2FzZUZpZWxkKGl0ZW0sIGluZGV4LCB0cnVlKTtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLmJ1aWxkSWRQcmVmaXgoaW5kZXgpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0Q29udGFpbmVyKGluZGV4KTtcbiAgICB0aGlzLmNvbGxJdGVtcy5wdXNoKHsgY2FzZUZpZWxkLCBpdGVtLCBpbmRleCwgcHJlZml4LCBjb250YWluZXIgfSk7XG5cbiAgICAvLyBVcGRhdGUgRE9NIHJlcXVpcmVkIGFmdGVyIHB1c2hpbmcgYSBuZXcgaXRlbSB0byBkbyB0aGUgbmV4dCBzdGVwcyAoaS5lLiBzY3JvbGxpbmcgYW5kIGZvY3VzaW5nKVxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKGRvU2Nyb2xsKSB7XG4gICAgICB0aGlzLnNjcm9sbFRvU2VydmljZS5zY3JvbGxUbyh7XG4gICAgICAgIHRhcmdldDogYCR7dGhpcy5idWlsZElkUHJlZml4KGluZGV4KX0ke2luZGV4fWAsXG4gICAgICAgIGR1cmF0aW9uOiAxMDAwLFxuICAgICAgICBvZmZzZXQ6IC0xNTAsXG4gICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHsgfSwgY29uc29sZS5lcnJvcik7XG4gICAgfVxuXG4gICAgdGhpcy5mb2N1c0xhc3RJdGVtKCk7XG4gIH1cblxuICBwcml2YXRlIGlzQ29sbGVjdGlvbkR5bmFtaWMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlIHx8ICF0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdEeW5hbWljUmFkaW9MaXN0JztcbiAgfVxuXG4gIHByaXZhdGUgbmV3Q2FzZUZpZWxkKGlkOiBzdHJpbmcsIGl0ZW0sIGluZGV4LCBpc05ldyA9IGZhbHNlKSB7XG4gICAgY29uc3QgaXNOb3RBdXRob3Jpc2VkVG9VcGRhdGUgPSAhaXNOZXcgJiYgdGhpcy5pc05vdEF1dGhvcmlzZWRUb1VwZGF0ZShpbmRleCk7XG5cbiAgICBjb25zdCBmaWVsZFR5cGUgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IEZpZWxkVHlwZSgpLCB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSk7XG4gICAgaWYgKGZpZWxkVHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgZmllbGRUeXBlLmNvbXBsZXhfZmllbGRzXG4gICAgICAgIC5maWx0ZXIoKGNmOiBDYXNlRmllbGQpID0+ICEhY2Yuc2hvd19jb25kaXRpb24pXG4gICAgICAgIC5tYXAoKGNmOiBDYXNlRmllbGQpID0+IGNmLmhpZGRlbiA9IHRydWUpO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgYml0IHNldHRpbmcgdGhlIGhpZGRlbiBmbGFnIGhlcmUgYXMgaXQncyBhbiBpdGVtIGluIHRoZSBhcnJheSBhbmRcbiAgICAvLyBpdHMgaGlkZGVuIHN0YXRlIGlzbid0IGluZGVwZW5kZW50bHkgcmUtZXZhbHVhdGVkIHdoZW4gdGhlIGZvcm0gaXMgY2hhbmdlZC5cbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQsXG4gICAgICBmaWVsZF90eXBlOiBmaWVsZFR5cGUsXG4gICAgICBkaXNwbGF5X2NvbnRleHQ6IGlzTm90QXV0aG9yaXNlZFRvVXBkYXRlID8gJ1JFQURPTkxZJyA6IHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCxcbiAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgbGFiZWw6IG51bGwsXG4gICAgICBhY2xzOiB0aGlzLmNhc2VGaWVsZC5hY2xzXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnRhaW5lcihpbmRleDogbnVtYmVyKTogRm9ybUdyb3VwIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUFycmF5LmF0KGluZGV4KS5nZXQoJ3ZhbHVlJyk7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1BcnJheS5hdChpbmRleCkgYXMgRm9ybUdyb3VwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNMYXN0SXRlbSgpIHtcbiAgICBjb25zdCBpdGVtOiBhbnkgPSB0aGlzLml0ZW1zLmxhc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1jb250cm9sJyk7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGl0ZW0uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY29sbEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5yZXNldElkcyhpbmRleCk7XG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0SWRzKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gaW5kZXg7IGkgPCB0aGlzLmNvbGxJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY291bnRlciA9IGkgKyAxO1xuICAgICAgaWYgKHRoaXMuY29sbEl0ZW1zW2ldLmluZGV4ICYmIHRoaXMuY29sbEl0ZW1zW2ldLmluZGV4ID09PSBjb3VudGVyKSB7XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zW2ldLmluZGV4ID0gaTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29sbEl0ZW1zW2ldLmNhc2VGaWVsZCAmJiB0aGlzLmNvbGxJdGVtc1tpXS5jYXNlRmllbGQuaWRcbiAgICAgICAgJiYgdGhpcy5jb2xsSXRlbXNbaV0uY2FzZUZpZWxkLmlkID09PSBjb3VudGVyLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0uY2FzZUZpZWxkLmlkID0gaS50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpZFByZWZpeDEgPSB0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXggPyB0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXgucmVwbGFjZShgXyR7Y291bnRlci50b1N0cmluZygpfWAsIGBfJHtpLnRvU3RyaW5nKCl9YCkgOiAnJztcbiAgICAgIGNvbnN0IGlkUHJlZml4MUN1cnJlbnQgPSBpZFByZWZpeDEucmVwbGFjZShgXyR7aS50b1N0cmluZygpfWAsIGBfJHtjb3VudGVyLnRvU3RyaW5nKCl9YCk7XG5cbiAgICAgIGlmICh0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXggJiYgdGhpcy5jb2xsSXRlbXNbaV0ucHJlZml4ID09PSBpZFByZWZpeDFDdXJyZW50KSB7XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zW2ldLnByZWZpeCA9IGlkUHJlZml4MTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaWRQcmVmaXhBdmFpbGFibGUgPSAhIXRoaXMuY29sbEl0ZW1zW2ldLmNvbnRhaW5lcj8uWydjb21wb25lbnQnXT8uaWRQcmVmaXg7XG5cbiAgICAgIGNvbnN0IGlkUHJlZml4MiA9IGlkUHJlZml4QXZhaWxhYmxlID9cbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0uY29udGFpbmVyWydjb21wb25lbnQnXS5pZFByZWZpeC5yZXBsYWNlKGBfJHtjb3VudGVyLnRvU3RyaW5nKCl9YCwgYF8ke2kudG9TdHJpbmcoKX1gKSA6ICcnO1xuICAgICAgY29uc3QgaWRQcmVmaXgyY3VycmVudCA9IGlkUHJlZml4Mi5yZXBsYWNlKGBfJHtpLnRvU3RyaW5nKCl9YCwgYF8ke2NvdW50ZXIudG9TdHJpbmcoKX1gKTtcblxuICAgICAgaWYgKGlkUHJlZml4QXZhaWxhYmxlICYmIHRoaXMuY29sbEl0ZW1zW2ldLmNvbnRhaW5lclsnY29tcG9uZW50J10uaWRQcmVmaXggPT09IGlkUHJlZml4MmN1cnJlbnQpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0uY29udGFpbmVyWydjb21wb25lbnQnXS5pZFByZWZpeCA9IGlkUHJlZml4MjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXRlbUxhYmVsKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmNhc2VGaWVsZC5sYWJlbH0gJHtpbmRleCArIDF9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLmxhYmVsO1xuICB9XG5cbiAgcHVibGljIGlzTm90QXV0aG9yaXNlZFRvQ3JlYXRlKCkge1xuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLmdldENvbGxlY3Rpb25QZXJtaXNzaW9uKHRoaXMuY2FzZUZpZWxkLCAnYWxsb3dJbnNlcnQnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2xsZWN0aW9uUGVybWlzc2lvbihmaWVsZDogQ2FzZUZpZWxkLCB0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciAmJlxuICAgICAgZmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci5zcGxpdCgnIycpXG4gICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnN0YXJ0c1dpdGgoJ0NPTExFQ1RJT04oJykpWzBdXG4gICAgICAgIC5pbmNsdWRlcyh0eXBlKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05vdEF1dGhvcmlzZWRUb1VwZGF0ZShpbmRleCkge1xuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gV2FzIHJlYXNzZXNlZCBhcyBwYXJ0IG9mIEVVSS0zNTA1LiBUaGVyZSBpcyBzdGlsbCBhIGNhdmVhdCBhcm91bmQgQ1JELCBidXQgdGhhdCB3YXMgZGVlbWVkIGFuIHVubGlrZWx5IHNjZW5hcmlvXG4gICAgY29uc3QgaWQgPSB0aGlzLmdldENvbnRyb2xJZEF0KGluZGV4KTtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGlmICghIXRoaXMucHJvZmlsZS51c2VyICYmICEhdGhpcy5wcm9maWxlLnVzZXIuaWRhbSkge1xuICAgICAgICBjb25zdCB1cGRhdGVSb2xlID0gdGhpcy5wcm9maWxlLnVzZXIuaWRhbS5yb2xlcy5maW5kKHJvbGUgPT4gdGhpcy5oYXNVcGRhdGVBY2Nlc3Mocm9sZSkpO1xuICAgICAgICByZXR1cm4gIXVwZGF0ZVJvbGU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNVcGRhdGVBY2Nlc3Mocm9sZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jYXNlRmllbGQuYWNscy5maW5kKGFjbCA9PiBhY2wucm9sZSA9PT0gcm9sZSAmJiBhY2wudXBkYXRlID09PSB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05vdEF1dGhvcmlzZWRUb0RlbGV0ZShpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBTaG91bGQgYmUgYWJsZSB0byBkZWxldGUgaWYgY3JlYXRpbmcgYSBjYXNlIGV2ZW4gaWYgXCJEXCIgaXMgYWJzZW50LCBoZW5jZTpcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0Q29udHJvbElkQXQoaW5kZXgpO1xuICAgIHJldHVybiAhIWlkICYmICF0aGlzLmdldENvbGxlY3Rpb25QZXJtaXNzaW9uKHRoaXMuY2FzZUZpZWxkLCAnYWxsb3dEZWxldGUnKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuTW9kYWwoaTogbnVtYmVyKSB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSB0cnVlO1xuICAgIGRpYWxvZ0NvbmZpZy5hcmlhTGFiZWwgPSAnTGFiZWwnO1xuICAgIGRpYWxvZ0NvbmZpZy5oZWlnaHQgPSAnMjIwcHgnO1xuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICc1NTBweCc7XG4gICAgZGlhbG9nQ29uZmlnLnBhbmVsQ2xhc3MgPSAnZGlhbG9nJztcblxuICAgIGRpYWxvZ0NvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbiA9IGZhbHNlO1xuICAgIGRpYWxvZ0NvbmZpZy5wb3NpdGlvbiA9IHtcbiAgICAgIHRvcDogYCR7d2luZG93LmlubmVySGVpZ2h0IC8gMiAtIDExMH1weGAsIGxlZnQ6IGAke3dpbmRvdy5pbm5lcldpZHRoIC8gMiAtIDI3NX1weGBcbiAgICB9O1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZW1vdmVEaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgPT09ICdSZW1vdmUnKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlSXRlbShpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVkIGZ1bGwgc29sdXRpb24gYXMgcGFydCBvZiBFVUktMzUwNVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb250cm9sSWRBdChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcblxuICAgIC8vIHRoaXMuZm9ybUFycmF5IGNvbnRhaW5zIFsgRm9ybUdyb3VwKCBpZDogRm9ybUNvbnRyb2wsIHZhbHVlOiBGb3JtR3JvdXAgKSwgLi4uIF0uXG4gICAgLy8gSGVyZSwgd2UgbmVlZCB0byBnZXQgdGhlIHZhbHVlIG9mIHRoZSBpZCBGb3JtQ29udHJvbC5cbiAgICBjb25zdCBncm91cDogRm9ybUdyb3VwID0gdGhpcy5mb3JtQXJyYXkuYXQoaW5kZXgpIGFzIEZvcm1Hcm91cDtcbiAgICBjb25zdCBjb250cm9sOiBGb3JtQ29udHJvbCA9IGdyb3VwLmdldCgnaWQnKSBhcyBGb3JtQ29udHJvbDtcbiAgICByZXR1cm4gY29udHJvbCA/IGNvbnRyb2wudmFsdWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzQ29sbGVjdGlvbk9mU2ltcGxlVHlwZShjYXNlRmllbGQ6IENhc2VGaWVsZCkge1xuICAgIGNvbnN0IG5vdFNpbXBsZSA9IFsnQ29sbGVjdGlvbicsICdDb21wbGV4J107XG4gICAgcmV0dXJuIG5vdFNpbXBsZS5pbmRleE9mKGNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS50eXBlKSA8IDA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2lkXT1cImlkKClcIj5cblxuICA8ZGl2IGNsYXNzPVwicGFuZWwgY29sbGVjdGlvbi1pbmRpY2F0b3JcIj5cblxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDIgZXJyb3Itc3BhY2luZ1wiPlxuICAgICAge3soY2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbCkgfCBycHhUcmFuc2xhdGUgfX1cbiAgICA8L2gyPlxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gd3JpdGUtY29sbGVjdGlvbi1hZGQtaXRlbV9fdG9wXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJhZGRJdGVtKHRydWUpXCIgW2Rpc2FibGVkXT1cImlzTm90QXV0aG9yaXNlZFRvQ3JlYXRlKCkgfHwgaXNTZWFyY2hGaWx0ZXIoKVwiPnt7J0FkZCBuZXcnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLWgyIGVycm9yLXNwYWNpbmdcIiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHQgfHwgZm9ybUFycmF5LmVycm9yc1wiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCIgY2xhc3M9XCJmb3JtLWhpbnRcIj57e2Nhc2VGaWVsZC5oaW50X3RleHQgfCBycHhUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cImZvcm1BcnJheS5lcnJvcnNcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICAgICAge3soZm9ybUFycmF5LmVycm9ycyB8IGNjZEZpcnN0RXJyb3I6Y2FzZUZpZWxkLmxhYmVsKX19XG4gICAgICA8L3NwYW4+XG4gICAgPC9oMj5cblxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2hpZGRlbl09XCJjYXNlRmllbGQuaGlkZGVuXCIgKm5nSWY9XCJjYXNlRmllbGQudmFsdWUgJiYgY2FzZUZpZWxkLnZhbHVlLmxlbmd0aFwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2xsSXRlbXM7IGxldCBpID0gaW5kZXhcIiAjY29sbGVjdGlvbkl0ZW1cbiAgICAgICAgICAgW2lkXT1cInRoaXMuYnVpbGRJZFByZWZpeChpKSArIGlcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtbGVmdFwiPlxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaXRlbS5wcmVmaXggKyBpXCI+PGgzIGNsYXNzPVwiaGVhZGluZy1oM1wiPnt7aXRlbUxhYmVsKGkpIHwgcnB4VHJhbnNsYXRlfX08L2gzPjwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LXJpZ2h0XCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Nb2RhbChpKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc05vdEF1dGhvcmlzZWRUb0RlbGV0ZShpKVwiXG4gICAgICAgICAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlJlbW92ZSB7eyBpdGVtTGFiZWwoaSkgfX1cIj57eydSZW1vdmUnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxjY2QtZmllbGQtd3JpdGUgW2Nhc2VGaWVsZF09XCJpdGVtLmNhc2VGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZHNdPVwiY2FzZUZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdPVwiaXRlbS5jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpZFByZWZpeF09XCJpdGVtLnByZWZpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLmNhc2VGaWVsZC5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0luU2VhcmNoQmxvY2tdPVwiaXNJblNlYXJjaEJsb2NrXCI+XG4gICAgICAgIDwvY2NkLWZpZWxkLXdyaXRlPlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gd3JpdGUtY29sbGVjdGlvbi1hZGQtaXRlbV9fYm90dG9tXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJhZGRJdGVtKGZhbHNlKVwiIFtkaXNhYmxlZF09XCJpc05vdEF1dGhvcmlzZWRUb0NyZWF0ZSgpIHx8IGlzU2VhcmNoRmlsdGVyKClcIiAqbmdJZj1cImNhc2VGaWVsZC52YWx1ZSAmJiBjYXNlRmllbGQudmFsdWUubGVuZ3RoXCI+e3snQWRkIG5ldycgfCBycHhUcmFuc2xhdGUgfX08L2J1dHRvbj5cblxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -27,6 +27,7 @@ export class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
27
27
|
this.paletteContext = PaletteContext;
|
|
28
28
|
}
|
|
29
29
|
ngOnInit() {
|
|
30
|
+
var _a;
|
|
30
31
|
super.ngOnInit();
|
|
31
32
|
if (this.caseField.display_context_parameter) {
|
|
32
33
|
this.context = PaletteContext.TABLE_VIEW;
|
|
@@ -38,14 +39,15 @@ export class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
if (this.caseField.field_type) {
|
|
41
|
-
this.caseField.field_type.complex_fields.forEach(field => {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
(_a = this.caseField.field_type.complex_fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
|
|
43
|
+
var _a, _b, _c;
|
|
44
|
+
if (field && field.isDynamic()) {
|
|
45
|
+
field.list_items = (_a = this.caseField.value[field.id]) === null || _a === void 0 ? void 0 : _a.list_items;
|
|
44
46
|
field.value = {
|
|
45
47
|
list_items: field.list_items,
|
|
46
|
-
value: this.caseField.value[field.id].value && this.caseField.value[field.id].value.code
|
|
47
|
-
this.caseField.value[field.id].value.code
|
|
48
|
-
this.caseField.value[field.id].value
|
|
48
|
+
value: ((_b = this.caseField.value[field.id]) === null || _b === void 0 ? void 0 : _b.value) && this.caseField.value[field.id].value.code
|
|
49
|
+
? this.caseField.value[field.id].value.code
|
|
50
|
+
: (_c = this.caseField.value[field.id]) === null || _c === void 0 ? void 0 : _c.value
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
});
|
|
@@ -76,4 +78,4 @@ const ɵReadComplexFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInherite
|
|
|
76
78
|
}], null, { caseFields: [{
|
|
77
79
|
type: Input
|
|
78
80
|
}] }); })();
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7SUNGbEUsZ0RBTzhCOzs7SUFMNUIsNENBQXVCLGlDQUFBLDJCQUFBLCtDQUFBLDZCQUFBOzs7SUFNekIsNkRBTTJDOzs7SUFKekMsNENBQXVCLDJCQUFBLCtDQUFBLDZCQUFBOzs7SUFLekIsa0RBT2dDOzs7SUFMOUIsNENBQXVCLGlDQUFBLDJCQUFBLCtDQUFBLDZCQUFBOztBRFQzQixNQUFNLE9BQU8seUJBQTBCLFNBQVEsMEJBQTBCO0lBSnpFOztRQU9TLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBRTdCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO0tBMkJ4QztJQXpCUSxRQUFROztRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUU7WUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDO1NBQzFDO2FBQU07WUFDTCwyQkFBMkI7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDO2FBQ3ZDO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFO1lBQzdCLE1BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYywwQ0FBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7O2dCQUN4RCxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUU7b0JBQzlCLEtBQUssQ0FBQyxVQUFVLFNBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQywwQ0FBRSxVQUFVLENBQUM7b0JBQzlELEtBQUssQ0FBQyxLQUFLLEdBQUc7d0JBQ1osVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO3dCQUM1QixLQUFLLEVBQUUsT0FBQSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLDBDQUFFLEtBQUssS0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUk7NEJBQ3ZGLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUk7NEJBQzNDLENBQUMsT0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLDBDQUFFLEtBQUs7cUJBQzFDLENBQUM7aUJBQ0g7WUFDSCxDQUFDLEVBQUU7U0FDSjtJQUNILENBQUM7O29JQTlCVSx5QkFBeUI7OERBQXpCLHlCQUF5QjtRQ1R0QyxnQ0FBbUM7UUFDakMsd0hBTzhCO1FBQzlCLGtKQU0yQztRQUMzQyw0SEFPZ0M7UUFDbEMsMEJBQWU7O1FBeEJELHNDQUFvQjtRQUU3QixlQUE4QztRQUE5QyxtRUFBOEM7UUFROUMsZUFBdUM7UUFBdkMsNERBQXVDOztzRkREL0IseUJBQXlCO3VGQUF6Qix5QkFBeUI7Y0FKckMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFdBQVcsRUFBRSwyQkFBMkI7YUFDekM7Z0JBSVEsVUFBVTtrQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9wYWxldHRlLWNvbnRleHQuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuXG4gIHB1YmxpYyBwYWxldHRlQ29udGV4dCA9IFBhbGV0dGVDb250ZXh0O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyKSB7XG4gICAgICB0aGlzLmNvbnRleHQgPSBQYWxldHRlQ29udGV4dC5UQUJMRV9WSUVXO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkZWZhdWx0IHRvIGRlZmF1bHQgdmlld3NcbiAgICAgIGlmICghdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciAmJiB0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gUGFsZXR0ZUNvbnRleHQuREVGQVVMVDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHM/LmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICBpZiAoZmllbGQgJiYgZmllbGQuaXNEeW5hbWljKCkpIHtcbiAgICAgICAgICBmaWVsZC5saXN0X2l0ZW1zID0gdGhpcy5jYXNlRmllbGQudmFsdWVbZmllbGQuaWRdPy5saXN0X2l0ZW1zO1xuICAgICAgICAgIGZpZWxkLnZhbHVlID0ge1xuICAgICAgICAgICAgbGlzdF9pdGVtczogZmllbGQubGlzdF9pdGVtcyxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNhc2VGaWVsZC52YWx1ZVtmaWVsZC5pZF0/LnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlW2ZpZWxkLmlkXS52YWx1ZS5jb2RlXG4gICAgICAgICAgICAgID8gdGhpcy5jYXNlRmllbGQudmFsdWVbZmllbGQuaWRdLnZhbHVlLmNvZGVcbiAgICAgICAgICAgICAgOiB0aGlzLmNhc2VGaWVsZC52YWx1ZVtmaWVsZC5pZF0/LnZhbHVlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRleHRcIj5cbiAgPGNjZC1yZWFkLWNvbXBsZXgtZmllbGQtcmF3XG4gICAgKm5nU3dpdGNoQ2FzZT1cInBhbGV0dGVDb250ZXh0LkNIRUNLX1lPVVJfQU5TV0VSXCJcbiAgICBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiXG4gICAgW2Nhc2VGaWVsZHNdPVwiY2FzZUZpZWxkc1wiXG4gICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgW3RvcExldmVsRm9ybUdyb3VwXT1cInRvcExldmVsRm9ybUdyb3VwXCJcbiAgICBbaWRQcmVmaXhdPVwiaWRQcmVmaXhcIlxuICA+PC9jY2QtcmVhZC1jb21wbGV4LWZpZWxkLXJhdz5cbiAgPGNjZC1yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZVxuICAgICpuZ1N3aXRjaENhc2U9XCJwYWxldHRlQ29udGV4dC5UQUJMRV9WSUVXXCJcbiAgICBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiXG4gICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgW3RvcExldmVsRm9ybUdyb3VwXT1cInRvcExldmVsRm9ybUdyb3VwXCJcbiAgICBbaWRQcmVmaXhdPVwiaWRQcmVmaXhcIlxuICA+PC9jY2QtcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGU+XG4gIDxjY2QtcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlXG4gICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCJcbiAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwidG9wTGV2ZWxGb3JtR3JvdXBcIlxuICAgIFtpZFByZWZpeF09XCJpZFByZWZpeFwiXG4gID48L2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var SortOrder;
|
|
2
|
+
(function (SortOrder) {
|
|
3
|
+
SortOrder[SortOrder["ASCENDING"] = 0] = "ASCENDING";
|
|
4
|
+
SortOrder[SortOrder["DESCENDING"] = 1] = "DESCENDING";
|
|
5
|
+
SortOrder[SortOrder["UNSORTED"] = 2] = "UNSORTED";
|
|
6
|
+
})(SortOrder || (SortOrder = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvc29ydC1vcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQUVYO0FBRkQsV0FBWSxTQUFTO0lBQ25CLG1EQUFTLENBQUE7SUFBRSxxREFBVSxDQUFBO0lBQUUsaURBQVEsQ0FBQTtBQUNqQyxDQUFDLEVBRlcsU0FBUyxLQUFULFNBQVMsUUFFcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTb3J0T3JkZXIge1xuICBBU0NFTkRJTkcsIERFU0NFTkRJTkcsIFVOU09SVEVEXG59XG4iXX0=
|
|
@@ -33,13 +33,12 @@ function WriteDateFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
33
33
|
function WriteDateFieldComponent_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
34
34
|
i0.ɵɵelementStart(0, "span", 7);
|
|
35
35
|
i0.ɵɵtext(1);
|
|
36
|
-
i0.ɵɵpipe(2, "
|
|
37
|
-
i0.ɵɵpipe(3, "ccdFirstError");
|
|
36
|
+
i0.ɵɵpipe(2, "ccdFirstError");
|
|
38
37
|
i0.ɵɵelementEnd();
|
|
39
38
|
} if (rf & 2) {
|
|
40
39
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
41
40
|
i0.ɵɵadvance(1);
|
|
42
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵ
|
|
41
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.dateControl.errors, ctx_r2.caseField.label), " ");
|
|
43
42
|
} }
|
|
44
43
|
const _c0 = function (a0) { return { "form-group-error": a0 }; };
|
|
45
44
|
export class WriteDateFieldComponent extends AbstractFieldWriteComponent {
|
|
@@ -58,7 +57,7 @@ WriteDateFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDateFieldCom
|
|
|
58
57
|
i0.ɵɵtemplate(3, WriteDateFieldComponent_span_3_Template, 4, 5, "span", 1);
|
|
59
58
|
i0.ɵɵelementEnd();
|
|
60
59
|
i0.ɵɵtemplate(4, WriteDateFieldComponent_span_4_Template, 3, 3, "span", 2);
|
|
61
|
-
i0.ɵɵtemplate(5, WriteDateFieldComponent_span_5_Template,
|
|
60
|
+
i0.ɵɵtemplate(5, WriteDateFieldComponent_span_5_Template, 3, 4, "span", 3);
|
|
62
61
|
i0.ɵɵelement(6, "cut-date-input", 4);
|
|
63
62
|
i0.ɵɵpipe(7, "ccdIsMandatory");
|
|
64
63
|
i0.ɵɵelementEnd();
|
|
@@ -82,4 +81,4 @@ const ɵWriteDateFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedF
|
|
|
82
81
|
templateUrl: './write-date-field.html'
|
|
83
82
|
}]
|
|
84
83
|
}], null, null); })();
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZGF0ZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9kYXRlL3dyaXRlLWRhdGUtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZGF0ZS93cml0ZS1kYXRlLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7Ozs7SUNFckYsK0JBQWlEO0lBQUEsWUFBK0M7OztJQUFBLGlCQUFPOzs7SUFBdEQsZUFBK0M7SUFBL0Msa0ZBQStDOzs7SUFFbEcsK0JBQW9EO0lBQUEsWUFBc0M7O0lBQUEsaUJBQU87OztJQUE3QyxlQUFzQztJQUF0QyxzRUFBc0M7OztJQUMxRiwrQkFBb0g7SUFDbEgsWUFDRjs7SUFBQSxpQkFBTzs7O0lBREwsZUFDRjtJQURFLHdHQUNGOzs7QURESixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsMkJBQTJCO0lBRy9ELFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBZ0IsQ0FBQztJQUNoRyxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNyRCxDQUFDOzs4SEFUVSx1QkFBdUI7NERBQXZCLHVCQUF1QjtRQ1JwQyw4QkFBZ0s7UUFFOUosZ0NBQVU7UUFDUiw4QkFBUTtRQUNOLDBFQUF1RztRQUN6RyxpQkFBUztRQUNULDBFQUFpRztRQUNqRywwRUFFTztRQUNQLG9DQUk2RDs7UUFFL0QsaUJBQVc7UUFDYixpQkFBTTs7UUFqQjRCLDZCQUFXLHlJQUFBO1FBSWIsZUFBcUI7UUFBckIsMENBQXFCO1FBRXhCLGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNyQixlQUFxRjtRQUFyRixzSEFBcUY7UUFHbEcsZUFBVztRQUFYLDZCQUFXLGdDQUFBLG1EQUFBLDJGQUFBLGdDQUFBOztvRkRGbEIsdUJBQXVCO3VGQUF2Qix1QkFBdUI7Y0FKbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFdBQVcsRUFBRSx5QkFBeUI7YUFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1kYXRlLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWRhdGUtZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVEYXRlRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZGF0ZUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGVDb250cm9sID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Db250cm9sKHRoaXMuY2FzZUZpZWxkLnZhbHVlKSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgaXNEYXRlVGltZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5pZCA9PT0gJ0RhdGVUaW1lJztcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBib3R0b20tMzBcIiBbaWRdPVwiaWQoKVwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGRhdGVDb250cm9sICYmICFkYXRlQ29udHJvbC52YWxpZCAmJiAoZGF0ZUNvbnRyb2wuZGlydHkgfHwgZGF0ZUNvbnRyb2wudG91Y2hlZCl9XCI+XG5cbiAgPGZpZWxkc2V0PlxuICAgIDxsZWdlbmQ+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7KGNhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwpIHwgcnB4VHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvbGVnZW5kPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJkYXRlQ29udHJvbCAmJiBkYXRlQ29udHJvbC5lcnJvcnMgJiYgKGRhdGVDb250cm9sLmRpcnR5IHx8IGRhdGVDb250cm9sLnRvdWNoZWQpXCI+XG4gICAgICB7eyhkYXRlQ29udHJvbC5lcnJvcnMgfCBjY2RGaXJzdEVycm9yOmNhc2VGaWVsZC5sYWJlbCl9fVxuICAgIDwvc3Bhbj5cbiAgICA8Y3V0LWRhdGUtaW5wdXQgW2lkXT1cImlkKClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNEYXRlVGltZV09XCJpc0RhdGVUaW1lKClcIlxuICAgICAgICAgICAgICAgICAgICBbbWFuZGF0b3J5XT1cImNhc2VGaWVsZCB8IGNjZElzTWFuZGF0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgW2lzSW52YWxpZF09XCJkYXRlQ29udHJvbC5lcnJvcnMgJiYgKGRhdGVDb250cm9sLmRpcnR5IHx8IGRhdGVDb250cm9sLnRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRhdGVDb250cm9sXCI+PC9jdXQtZGF0ZS1pbnB1dD5cblxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
|