@hmcts/ccd-case-ui-toolkit 6.19.3-qm-respond-event-completion → 6.19.4
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 +3011 -7327
- 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 +1 -1
- 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-submit/case-edit-submit.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +28 -24
- package/esm2015/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.js +3 -2
- 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/cases.service.js +1 -6
- package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +10 -5
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +41 -53
- package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +2 -5
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +13 -8
- 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 +30 -59
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +42 -244
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +73 -144
- package/esm2015/lib/shared/components/palette/case-flag/components/index.js +1 -4
- package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +73 -38
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +101 -133
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +7 -15
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +113 -186
- package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +97 -308
- 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-step.enum.js +1 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +2 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.js +3 -8
- package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +2 -8
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.js +2 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.js +1 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.js +1 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +2 -4
- package/esm2015/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.js +4 -8
- package/esm2015/lib/shared/components/palette/case-flag/index.js +1 -2
- package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +50 -121
- package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +130 -234
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +33 -31
- package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +43 -20
- package/esm2015/lib/shared/components/palette/index.js +1 -3
- package/esm2015/lib/shared/components/palette/markdown/index.js +1 -2
- package/esm2015/lib/shared/components/palette/palette.module.js +52 -150
- package/esm2015/lib/shared/components/palette/palette.service.js +2 -4
- package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +1 -1
- package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +5 -7
- package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +4 -5
- package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +2 -17
- package/esm2015/lib/shared/domain/case-view/case-view-trigger.model.js +2 -1
- package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +1 -3
- package/esm2015/lib/shared/domain/definition/jurisdiction.model.js +1 -1
- package/esm2015/lib/shared/fixture/shared.test.fixture.js +1 -2
- package/esm2015/lib/shared/pipes/index.js +2 -3
- package/esm2015/lib/shared/pipes/pipes.module.js +5 -9
- package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +3 -9
- package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +6 -2
- package/esm2015/lib/shared/services/request/request.options.builder.js +1 -7
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +2198 -6026
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts +20 -17
- 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/cases.service.d.ts +0 -1
- 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 +1 -3
- 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/create-case-filters/create-case-filters.component.d.ts +3 -1
- package/lib/shared/components/create-case-filters/create-case-filters.component.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 +3 -3
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +5 -20
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/index.d.ts +0 -3
- package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +8 -4
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +8 -10
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +8 -12
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +9 -19
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +10 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +0 -6
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +0 -1
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +1 -2
- 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-status.enum.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +3 -8
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/index.d.ts +1 -7
- package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +1 -2
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +0 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +1 -3
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +2 -4
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +3 -7
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/index.d.ts +0 -1
- package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +8 -11
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +24 -23
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -3
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts +8 -4
- package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/index.d.ts +0 -2
- package/lib/shared/components/palette/index.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/index.d.ts +0 -1
- package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.module.d.ts +118 -140
- 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/domain/case-flag/flag-type.model.d.ts +1 -6
- package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +1 -0
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts.map +1 -1
- package/lib/shared/domain/definition/display-context-enum.model.d.ts +1 -3
- package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
- package/lib/shared/domain/definition/jurisdiction.model.d.ts +1 -0
- package/lib/shared/domain/definition/jurisdiction.model.d.ts.map +1 -1
- package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
- package/lib/shared/pipes/index.d.ts +1 -2
- package/lib/shared/pipes/index.d.ts.map +1 -1
- package/lib/shared/pipes/pipes.module.d.ts +2 -3
- package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +2 -3
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts +3 -2
- 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
- package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +0 -19
- package/esm2015/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.js +0 -181
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.js +0 -292
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.js +0 -9
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.js +0 -12
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.js +0 -41
- package/esm2015/lib/shared/components/palette/case-flag/pipes/index.js +0 -5
- package/esm2015/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.js +0 -41
- package/esm2015/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.js +0 -109
- package/esm2015/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.js +0 -77
- package/esm2015/lib/shared/components/palette/markdown/markdown-component.module.js +0 -42
- package/esm2015/lib/shared/components/palette/query-management/__mocks__/index.js +0 -210
- package/esm2015/lib/shared/components/palette/query-management/components/index.js +0 -13
- package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.js +0 -45
- package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.js +0 -111
- package/esm2015/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.js +0 -69
- package/esm2015/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.js +0 -64
- package/esm2015/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.js +0 -316
- package/esm2015/lib/shared/components/palette/query-management/components/query-details/query-details.component.js +0 -344
- package/esm2015/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.js +0 -25
- package/esm2015/lib/shared/components/palette/query-management/components/query-list/query-list.component.js +0 -181
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.js +0 -78
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.js +0 -125
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.js +0 -239
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.js +0 -120
- package/esm2015/lib/shared/components/palette/query-management/enums/index.js +0 -6
- package/esm2015/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.js +0 -5
- package/esm2015/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.js +0 -10
- package/esm2015/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.js +0 -6
- package/esm2015/lib/shared/components/palette/query-management/index.js +0 -7
- package/esm2015/lib/shared/components/palette/query-management/models/case-queries-collection.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/models/index.js +0 -8
- package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/models/query-create-context.enum.js +0 -9
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.js +0 -2
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.js +0 -18
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.js +0 -41
- package/esm2015/lib/shared/components/palette/query-management/read-query-management-field.component.js +0 -136
- package/esm2015/lib/shared/components/palette/query-management/utils/query-management.utils.js +0 -22
- package/esm2015/lib/shared/domain/case-view/case-view-event-ids.enum.js +0 -6
- package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +0 -16
- package/esm2015/lib/shared/pipes/generic/index.js +0 -2
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +0 -11
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +0 -28
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +0 -27
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +0 -8
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +0 -11
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +0 -19
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts +0 -5
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +0 -18
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +0 -25
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +0 -21
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +0 -1
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +0 -13
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +0 -11
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/index.d.ts +0 -13
- package/lib/shared/components/palette/query-management/components/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +0 -8
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +0 -14
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +0 -11
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +0 -10
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +0 -30
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +0 -16
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +0 -9
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +0 -18
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +0 -20
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +0 -20
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +0 -11
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +0 -21
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/enums/index.d.ts +0 -6
- package/lib/shared/components/palette/query-management/enums/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts +0 -4
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +0 -5
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +0 -9
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts +0 -5
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/index.d.ts +0 -7
- package/lib/shared/components/palette/query-management/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +0 -27
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/index.d.ts +0 -8
- package/lib/shared/components/palette/query-management/models/index.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +0 -5
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts +0 -6
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts +0 -8
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +0 -7
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +0 -10
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +0 -22
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +0 -18
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +0 -12
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +0 -1
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +0 -5
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +0 -1
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +0 -8
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +0 -1
- package/lib/shared/pipes/generic/index.d.ts +0 -2
- package/lib/shared/pipes/generic/index.d.ts.map +0 -1
|
@@ -4,9 +4,10 @@ import { MatDialog } from '@angular/material/dialog';
|
|
|
4
4
|
import { AbstractAppConfig } from '../../../../app.config';
|
|
5
5
|
import { Constants } from '../../../commons/constants';
|
|
6
6
|
import { DocumentManagementService } from '../../../services/document-management/document-management.service';
|
|
7
|
+
import { JurisdictionService } from '../../../services/jurisdiction/jurisdiction.service';
|
|
7
8
|
import { CaseNotifier } from '../../case-editor/services/case.notifier';
|
|
8
9
|
import { DocumentDialogComponent } from '../../dialogs/document-dialog/document-dialog.component';
|
|
9
|
-
import { initDialog } from '../../helpers';
|
|
10
|
+
import { initDialog } from '../../helpers/init-dialog-helper';
|
|
10
11
|
import { AbstractFieldWriteComponent } from '../base-field/abstract-field-write.component';
|
|
11
12
|
import { FileUploadStateService } from './file-upload-state.service';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
@@ -15,6 +16,7 @@ import * as i2 from "../../case-editor/services/case.notifier";
|
|
|
15
16
|
import * as i3 from "../../../services/document-management/document-management.service";
|
|
16
17
|
import * as i4 from "@angular/material/dialog";
|
|
17
18
|
import * as i5 from "./file-upload-state.service";
|
|
19
|
+
import * as i6 from "../../../services/jurisdiction/jurisdiction.service";
|
|
18
20
|
const _c0 = ["fileInput"];
|
|
19
21
|
function WriteDocumentFieldComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
20
22
|
i0.ɵɵelementStart(0, "span", 12);
|
|
@@ -44,17 +46,18 @@ function WriteDocumentFieldComponent_ccd_read_document_field_10_Template(rf, ctx
|
|
|
44
46
|
} }
|
|
45
47
|
const _c1 = function (a0) { return { "form-group-error bottom-30": a0 }; };
|
|
46
48
|
export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
47
|
-
constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService) {
|
|
49
|
+
constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
|
|
48
50
|
super();
|
|
49
51
|
this.appConfig = appConfig;
|
|
50
52
|
this.caseNotifier = caseNotifier;
|
|
51
53
|
this.documentManagement = documentManagement;
|
|
52
54
|
this.dialog = dialog;
|
|
53
55
|
this.fileUploadStateService = fileUploadStateService;
|
|
56
|
+
this.jurisdictionService = jurisdictionService;
|
|
54
57
|
this.valid = true;
|
|
55
58
|
}
|
|
56
59
|
clickout(event) {
|
|
57
|
-
// Capturing the event of
|
|
60
|
+
// Capturing the event of the associated ElementRef <input type="file" #fileInpu
|
|
58
61
|
if (this.fileInput.nativeElement.contains(event.target)) {
|
|
59
62
|
this.clickInsideTheDocument = true;
|
|
60
63
|
}
|
|
@@ -64,6 +67,10 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
64
67
|
}
|
|
65
68
|
ngOnInit() {
|
|
66
69
|
this.secureModeOn = this.appConfig.getDocumentSecureMode();
|
|
70
|
+
console.info('writeDocumentField.ngInit: secure mode = ' + this.secureModeOn);
|
|
71
|
+
if (this.secureModeOn) {
|
|
72
|
+
this.subscribeToCaseDetails();
|
|
73
|
+
}
|
|
67
74
|
this.dialogConfig = initDialog();
|
|
68
75
|
// EUI-3403. The field was not being registered when there was no value and the field
|
|
69
76
|
// itself was not mandatory, which meant that show_conditions would not be evaluated.
|
|
@@ -76,9 +83,6 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
76
83
|
else {
|
|
77
84
|
this.createDocumentForm(document);
|
|
78
85
|
}
|
|
79
|
-
if (this.appConfig.getDocumentSecureMode()) {
|
|
80
|
-
this.subscribeToCaseDetails();
|
|
81
|
-
}
|
|
82
86
|
}
|
|
83
87
|
ngOnDestroy() {
|
|
84
88
|
if (this.fileUploadSubscription) {
|
|
@@ -87,8 +91,11 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
87
91
|
if (this.dialogSubscription) {
|
|
88
92
|
this.dialogSubscription.unsubscribe();
|
|
89
93
|
}
|
|
90
|
-
if (this.
|
|
91
|
-
this.
|
|
94
|
+
if (this.caseNotifierSubscription) {
|
|
95
|
+
this.caseNotifierSubscription.unsubscribe();
|
|
96
|
+
}
|
|
97
|
+
if (this.jurisdictionSubs) {
|
|
98
|
+
this.jurisdictionSubs.unsubscribe();
|
|
92
99
|
}
|
|
93
100
|
}
|
|
94
101
|
isUploadInProgress() {
|
|
@@ -139,7 +146,9 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
139
146
|
triggerReplace() {
|
|
140
147
|
if (this.confirmReplaceResult === 'Replace') {
|
|
141
148
|
this.openFileDialog();
|
|
149
|
+
return true;
|
|
142
150
|
}
|
|
151
|
+
return false;
|
|
143
152
|
}
|
|
144
153
|
getUploadedFileName() {
|
|
145
154
|
if (this.uploadedDocument) {
|
|
@@ -173,10 +182,29 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
173
182
|
this.triggerReplace();
|
|
174
183
|
});
|
|
175
184
|
}
|
|
185
|
+
// Depending on the context, we can get the case type and jurisdiction from different sources
|
|
186
|
+
// If we are running an event, the caseNotifier will have the current case
|
|
187
|
+
// If we are creating a case, the case doesn't exist yet, so the caseNotifier can't help
|
|
188
|
+
// Instead we can use the eventTrigger to get the case type, and the jurisdiction service to
|
|
189
|
+
// get the currently selected jurisdiction
|
|
176
190
|
subscribeToCaseDetails() {
|
|
177
|
-
this.
|
|
191
|
+
this.caseNotifierSubscription = this.caseNotifier.caseView.subscribe({
|
|
178
192
|
next: (caseDetails) => {
|
|
179
|
-
|
|
193
|
+
var _a, _b;
|
|
194
|
+
this.caseTypeId = caseDetails === null || caseDetails === void 0 ? void 0 : caseDetails.case_id;
|
|
195
|
+
this.jurisdictionId = (_b = (_a = caseDetails === null || caseDetails === void 0 ? void 0 : caseDetails.case_type) === null || _a === void 0 ? void 0 : _a.jurisdiction) === null || _b === void 0 ? void 0 : _b.id;
|
|
196
|
+
console.info(`caseNotifier.next: caseType=${this.caseTypeId} juris=${this.jurisdictionId}`);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
this.jurisdictionSubs = this.jurisdictionService.selectedJurisdictionBS.subscribe({
|
|
200
|
+
next: (jurisdiction) => {
|
|
201
|
+
if (jurisdiction) {
|
|
202
|
+
this.jurisdictionId = jurisdiction.id;
|
|
203
|
+
if (jurisdiction.currentCaseType) {
|
|
204
|
+
this.caseTypeId = jurisdiction.currentCaseType.id;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
console.info(`selectedJurisdiction.next: caseType=${this.caseTypeId} juris=${this.jurisdictionId}`);
|
|
180
208
|
}
|
|
181
209
|
});
|
|
182
210
|
}
|
|
@@ -240,13 +268,8 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
240
268
|
documentUpload.append('files', selectedFile, selectedFile.name);
|
|
241
269
|
documentUpload.append('classification', 'PUBLIC');
|
|
242
270
|
if (this.appConfig.getDocumentSecureMode()) {
|
|
243
|
-
const caseTypeId = this.
|
|
244
|
-
|
|
245
|
-
this.caseDetails.case_type.id ? this.caseDetails.case_type.id : null;
|
|
246
|
-
const caseTypeJurisdictionId = this.caseDetails &&
|
|
247
|
-
this.caseDetails.case_type &&
|
|
248
|
-
this.caseDetails.case_type.jurisdiction &&
|
|
249
|
-
this.caseDetails.case_type.jurisdiction.id ? this.caseDetails.case_type.jurisdiction.id : null;
|
|
271
|
+
const caseTypeId = this.caseTypeId ? this.caseTypeId : null;
|
|
272
|
+
const caseTypeJurisdictionId = this.jurisdictionId ? this.jurisdictionId : null;
|
|
250
273
|
documentUpload.append('caseTypeId', caseTypeId);
|
|
251
274
|
documentUpload.append('jurisdictionId', caseTypeJurisdictionId);
|
|
252
275
|
}
|
|
@@ -293,7 +316,7 @@ WriteDocumentFieldComponent.DOCUMENT_HASH = 'document_hash';
|
|
|
293
316
|
WriteDocumentFieldComponent.UPLOAD_ERROR_FILE_REQUIRED = 'File required';
|
|
294
317
|
WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE = 'Document upload facility is not available at the moment';
|
|
295
318
|
WriteDocumentFieldComponent.UPLOAD_WAITING_FILE_STATUS = 'Uploading...';
|
|
296
|
-
WriteDocumentFieldComponent.ɵfac = function WriteDocumentFieldComponent_Factory(t) { return new (t || WriteDocumentFieldComponent)(i0.ɵɵdirectiveInject(i1.AbstractAppConfig), i0.ɵɵdirectiveInject(i2.CaseNotifier), i0.ɵɵdirectiveInject(i3.DocumentManagementService), i0.ɵɵdirectiveInject(i4.MatDialog), i0.ɵɵdirectiveInject(i5.FileUploadStateService)); };
|
|
319
|
+
WriteDocumentFieldComponent.ɵfac = function WriteDocumentFieldComponent_Factory(t) { return new (t || WriteDocumentFieldComponent)(i0.ɵɵdirectiveInject(i1.AbstractAppConfig), i0.ɵɵdirectiveInject(i2.CaseNotifier), i0.ɵɵdirectiveInject(i3.DocumentManagementService), i0.ɵɵdirectiveInject(i4.MatDialog), i0.ɵɵdirectiveInject(i5.FileUploadStateService), i0.ɵɵdirectiveInject(i6.JurisdictionService)); };
|
|
297
320
|
WriteDocumentFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDocumentFieldComponent, selectors: [["ccd-write-document-field"]], viewQuery: function WriteDocumentFieldComponent_Query(rf, ctx) { if (rf & 1) {
|
|
298
321
|
i0.ɵɵviewQuery(_c0, 1);
|
|
299
322
|
} if (rf & 2) {
|
|
@@ -362,11 +385,11 @@ WriteDocumentFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDocument
|
|
|
362
385
|
selector: 'ccd-write-document-field',
|
|
363
386
|
templateUrl: './write-document-field.html'
|
|
364
387
|
}]
|
|
365
|
-
}], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.CaseNotifier }, { type: i3.DocumentManagementService }, { type: i4.MatDialog }, { type: i5.FileUploadStateService }]; }, { fileInput: [{
|
|
388
|
+
}], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.CaseNotifier }, { type: i3.DocumentManagementService }, { type: i4.MatDialog }, { type: i5.FileUploadStateService }, { type: i6.JurisdictionService }]; }, { fileInput: [{
|
|
366
389
|
type: ViewChild,
|
|
367
390
|
args: ['fileInput', { static: false }]
|
|
368
391
|
}], clickout: [{
|
|
369
392
|
type: HostListener,
|
|
370
393
|
args: ['document:click', ['$event']]
|
|
371
394
|
}] }); })();
|
|
372
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7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UUFBQyxlQUFrQztRQUFsQyw2REFBa0M7O3VGREFwSywyQkFBMkI7Y0FKdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7b01BVW1ELFNBQVM7a0JBQTFELFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQTRCbEMsUUFBUTtrQkFEZCxZQUFZO21CQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcvY2FzZS12aWV3Lm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50RGF0YSwgRm9ybURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RvY3VtZW50L2RvY3VtZW50LWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgSHR0cEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2h0dHAvaHR0cC1lcnJvci5tb2RlbCc7XG5pbXBvcnQgeyBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9kb2N1bWVudC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZS5ub3RpZmllcic7XG5pbXBvcnQgeyBEb2N1bWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvZG9jdW1lbnQtZGlhbG9nL2RvY3VtZW50LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgaW5pdERpYWxvZyB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFN0YXRlU2VydmljZSB9IGZyb20gJy4vZmlsZS11cGxvYWQtc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1kb2N1bWVudC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1kb2N1bWVudC1maWVsZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfVVJMID0gJ2RvY3VtZW50X3VybCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfQklOQVJZX1VSTCA9ICdkb2N1bWVudF9iaW5hcnlfdXJsJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9GSUxFTkFNRSA9ICdkb2N1bWVudF9maWxlbmFtZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfSEFTSCA9ICdkb2N1bWVudF9oYXNoJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCA9ICdGaWxlIHJlcXVpcmVkJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfTk9UX0FWQUlMQUJMRSA9ICdEb2N1bWVudCB1cGxvYWQgZmFjaWxpdHkgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfV0FJVElOR19GSUxFX1NUQVRVUyA9ICdVcGxvYWRpbmcuLi4nO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGU6IEZpbGU7XG4gIHB1YmxpYyB2YWxpZCA9IHRydWU7XG4gIHB1YmxpYyBmaWxlVXBsb2FkTWVzc2FnZXM6IHN0cmluZztcbiAgcHVibGljIGNvbmZpcm1SZXBsYWNlUmVzdWx0OiBzdHJpbmc7XG4gIHB1YmxpYyBjbGlja0luc2lkZVRoZURvY3VtZW50OiBib29sZWFuO1xuXG4gIHB1YmxpYyBmaWxlVXBsb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBkaWFsb2dTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VFdmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwcml2YXRlIHVwbG9hZGVkRG9jdW1lbnQ6IEZvcm1Hcm91cDtcbiAgcHJpdmF0ZSBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZztcbiAgcHJpdmF0ZSBzZWN1cmVNb2RlT246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudE1hbmFnZW1lbnQ6IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsZVVwbG9hZFN0YXRlU2VydmljZTogRmlsZVVwbG9hZFN0YXRlU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIGNsaWNrb3V0KGV2ZW50KSB7XG4gICAgLy8gQ2FwdHVyaW5nIHRoZSBldmVudCBvZiBvZiB0aGUgYXNzb2NpYXRlZCAgRWxlbWVudFJlZiA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHVcblxuICAgIGlmICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuY2xpY2tJbnNpZGVUaGVEb2N1bWVudCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsZVZhbGlkYXRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VjdXJlTW9kZU9uID0gdGhpcy5hcHBDb25maWcuZ2V0RG9jdW1lbnRTZWN1cmVNb2RlKCk7XG4gICAgdGhpcy5kaWFsb2dDb25maWcgPSBpbml0RGlhbG9nKCk7XG4gICAgLy8gRVVJLTM0MDMuIFRoZSBmaWVsZCB3YXMgbm90IGJlaW5nIHJlZ2lzdGVyZWQgd2hlbiB0aGVyZSB3YXMgbm8gdmFsdWUgYW5kIHRoZSBmaWVsZFxuICAgIC8vIGl0c2VsZiB3YXMgbm90IG1hbmRhdG9yeSwgd2hpY2ggbWVhbnQgdGhhdCBzaG93X2NvbmRpdGlvbnMgd291bGQgbm90IGJlIGV2YWx1YXRlZC5cbiAgICAvLyBJJ3ZlIGNsZWFuZWQgdXAgdGhlIGxvZ2ljIGFuZCBpdCdzIG5vdyBhbHdheXMgcmVnaXN0ZXJlZC5cbiAgICBsZXQgZG9jdW1lbnQgPSB0aGlzLmNhc2VGaWVsZC52YWx1ZSB8fCB7IGRvY3VtZW50X3VybDogbnVsbCwgZG9jdW1lbnRfYmluYXJ5X3VybDogbnVsbCwgZG9jdW1lbnRfZmlsZW5hbWU6IG51bGwgfTtcbiAgICBkb2N1bWVudCA9IHRoaXMuc2VjdXJlTW9kZU9uICYmICFkb2N1bWVudC5kb2N1bWVudF9oYXNoID8geyAuLi5kb2N1bWVudCwgZG9jdW1lbnRfaGFzaDogbnVsbCB9IDogZG9jdW1lbnQ7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtV2l0aFZhbGlkYXRvcihkb2N1bWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKGRvY3VtZW50KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hcHBDb25maWcuZ2V0RG9jdW1lbnRTZWN1cmVNb2RlKCkpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9DYXNlRGV0YWlscygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlhbG9nU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jYXNlRXZlbnRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZUV2ZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzVXBsb2FkSW5Qcm9ncmVzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLmlzVXBsb2FkSW5Qcm9ncmVzcygpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbFVwbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbGVVcGxvYWRTdGF0ZVNlcnZpY2Uuc2V0VXBsb2FkSW5Qcm9ncmVzcyhmYWxzZSk7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMucmVzZXRVcGxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlVmFsaWRhdGlvbnNPblRhYigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FNYW5kYXRvcnlDb21wb25lbnQoKSkge1xuICAgICAgaWYgKHRoaXMudmFsaWRhdGVGb3JtVXBsb2FkZWREb2N1bWVudCgpKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX0ZJTEVfUkVRVUlSRUQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlQ2hhbmdlRXZlbnQoZmlsZUlucHV0OiBhbnkpOiB2b2lkIHtcblxuICAgIGlmIChmaWxlSW5wdXQudGFyZ2V0LmZpbGVzWzBdKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IGZpbGVJbnB1dC50YXJnZXQuZmlsZXNbMF07XG4gICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9XQUlUSU5HX0ZJTEVfU1RBVFVTKTtcbiAgICAgIGNvbnN0IGRvY3VtZW50VXBsb2FkOiBGb3JtRGF0YSA9IHRoaXMuYnVpbGREb2N1bWVudFVwbG9hZERhdGEodGhpcy5zZWxlY3RlZEZpbGUpO1xuICAgICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3ModHJ1ZSk7XG5cbiAgICAgIHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbiA9IHRoaXMuZG9jdW1lbnRNYW5hZ2VtZW50LnVwbG9hZEZpbGUoZG9jdW1lbnRVcGxvYWQpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXN1bHREb2N1bWVudDogRG9jdW1lbnREYXRhKSA9PiB0aGlzLmhhbmRsZURvY3VtZW50VXBsb2FkUmVzdWx0KHJlc3VsdERvY3VtZW50KSxcbiAgICAgICAgZXJyb3I6IChlcnJvcjogSHR0cEVycm9yKSA9PiB0aGlzLmhhbmRsZURvY3VtZW50VXBsb2FkRXJyb3IoZXJyb3IpXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldFVwbG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuRmlsZURpYWxvZygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsZVNlbGVjdEV2ZW50KCk6IHZvaWQge1xuICAgIGlmICgodGhpcy5jYXNlRmllbGQudmFsdWUgJiYgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUpIHx8XG4gICAgICAodGhpcy5zZWxlY3RlZEZpbGUgJiYgdGhpcy5zZWxlY3RlZEZpbGUubmFtZSkpIHtcbiAgICAgIHRoaXMub3BlbkRpYWxvZyh0aGlzLmRpYWxvZ0NvbmZpZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbkZpbGVEaWFsb2coKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlclJlcGxhY2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlybVJlcGxhY2VSZXN1bHQgPT09ICdSZXBsYWNlJykge1xuICAgICAgdGhpcy5vcGVuRmlsZURpYWxvZygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRVcGxvYWRlZEZpbGVOYW1lKCk6IGFueSB7XG4gICAgaWYgKHRoaXMudXBsb2FkZWREb2N1bWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0ZJTEVOQU1FKS52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0VXBsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gbnVsbDtcbiAgICBpZiAodGhpcy5pc0FNYW5kYXRvcnlDb21wb25lbnQoKSkge1xuICAgICAgdGhpcy51cGRhdGVEb2N1bWVudEZvcm0obnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWxlVmFsaWRhdGlvbnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIGlmICh0aGlzLmNsaWNrSW5zaWRlVGhlRG9jdW1lbnQgJiYgdGhpcy52YWxpZGF0ZUZvcm1VcGxvYWRlZERvY3VtZW50KCkgJiYgIXRoaXMuaXNVcExvYWRpbmdBRmlsZSgpKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX0ZJTEVfUkVRVUlSRUQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRpYWxvZyhkaWFsb2dDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERvY3VtZW50RGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuICAgIHRoaXMuZGlhbG9nU3Vic2NyaXB0aW9uID0gZGlhbG9nUmVmLmJlZm9yZUNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgdGhpcy5jb25maXJtUmVwbGFjZVJlc3VsdCA9IHJlc3VsdDtcbiAgICAgIHRoaXMudHJpZ2dlclJlcGxhY2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9DYXNlRGV0YWlscygpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FNYW5kYXRvcnlDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCAmJiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09IENvbnN0YW50cy5NQU5EQVRPUlk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoZmlsZVVwbG9hZE1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsaWQgPSBmYWxzZTtcbiAgICB0aGlzLmZpbGVVcGxvYWRNZXNzYWdlcyA9IGZpbGVVcGxvYWRNZXNzYWdlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VwTG9hZGluZ0FGaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbGVVcGxvYWRNZXNzYWdlcyA9PT0gV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9XQUlUSU5HX0ZJTEVfU1RBVFVTO1xuICB9XG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtVXBsb2FkZWREb2N1bWVudCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMudXBsb2FkZWREb2N1bWVudCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbGV0IHZhbGlkYXRpb24gPSAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfVVJMKS52YWxpZCAmJlxuICAgICAgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0JJTkFSWV9VUkwpLnZhbGlkICYmXG4gICAgICAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfRklMRU5BTUUpLnZhbGlkO1xuXG4gICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICB2YWxpZGF0aW9uID0gdmFsaWRhdGlvbiAmJiAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfSEFTSCkudmFsaWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRpb247XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURvY3VtZW50Rm9ybSh1cmw6IHN0cmluZywgYmluYXJ5VXJsOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIGRvY3VtZW50SGFzaD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX1VSTCkuc2V0VmFsdWUodXJsKTtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9CSU5BUllfVVJMKS5zZXRWYWx1ZShiaW5hcnlVcmwpO1xuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0ZJTEVOQU1FKS5zZXRWYWx1ZShmaWxlbmFtZSk7XG4gICAgaWYgKGRvY3VtZW50SGFzaCkge1xuICAgICAgdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfSEFTSCkuc2V0VmFsdWUoZG9jdW1lbnRIYXNoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50Rm9ybVdpdGhWYWxpZGF0b3IoZG9jdW1lbnQ6IEZvcm1Eb2N1bWVudCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgIGRvY3VtZW50X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH07XG5cbiAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHRoaXMuc2VjdXJlTW9kZU9uID8ge1xuICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAuLi57IGRvY3VtZW50X2hhc2g6ICBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfaGFzaCkgfVxuICAgIH0gOiBkb2N1bWVudEZvcm1Hcm91cDtcblxuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoZG9jdW1lbnRGb3JtR3JvdXApLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50Rm9ybShkb2N1bWVudDogRm9ybURvY3VtZW50KTogdm9pZCB7XG4gICAgbGV0IGRvY3VtZW50Rm9ybUdyb3VwID0ge1xuICAgICAgZG9jdW1lbnRfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfdXJsKSxcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsKSxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWUpXG4gICAgfTtcblxuICAgIGRvY3VtZW50Rm9ybUdyb3VwID0gdGhpcy5zZWN1cmVNb2RlT24gPyB7XG4gICAgICAuLi5kb2N1bWVudEZvcm1Hcm91cCxcbiAgICAgIC4uLnsgZG9jdW1lbnRfaGFzaDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2hhc2gpIH1cbiAgICB9IDogZG9jdW1lbnRGb3JtR3JvdXA7XG5cbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKGRvY3VtZW50Rm9ybUdyb3VwKSwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvck1lc3NhZ2UoZXJyb3I6IEh0dHBFcnJvcik6IHN0cmluZyB7XG4gICAgLy8gRG9jdW1lbnQgTWFuYWdlbWVudCB1bmF2YWlsYWJsZVxuICAgIGlmICgwID09PSBlcnJvci5zdGF0dXMgfHwgNTAyID09PSBlcnJvci5zdGF0dXMpIHtcbiAgICAgIHJldHVybiBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX05PVF9BVkFJTEFCTEU7XG4gICAgfVxuICAgIHJldHVybiBlcnJvci5lcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGREb2N1bWVudFVwbG9hZERhdGEoc2VsZWN0ZWRGaWxlOiBGaWxlKTogRm9ybURhdGEge1xuICAgIGNvbnN0IGRvY3VtZW50VXBsb2FkOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnZmlsZXMnLCBzZWxlY3RlZEZpbGUsIHNlbGVjdGVkRmlsZS5uYW1lKTtcbiAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2NsYXNzaWZpY2F0aW9uJywgJ1BVQkxJQycpO1xuXG4gICAgaWYgKHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50U2VjdXJlTW9kZSgpKSB7XG4gICAgICBjb25zdCBjYXNlVHlwZUlkID0gdGhpcy5jYXNlRGV0YWlscyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5pZCA/IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkIDogbnVsbDtcbiAgICAgIGNvbnN0IGNhc2VUeXBlSnVyaXNkaWN0aW9uSWQgPSB0aGlzLmNhc2VEZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmp1cmlzZGljdGlvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQgPyB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQgOiBudWxsO1xuICAgICAgZG9jdW1lbnRVcGxvYWQuYXBwZW5kKCdjYXNlVHlwZUlkJywgY2FzZVR5cGVJZCk7XG4gICAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2p1cmlzZGljdGlvbklkJywgY2FzZVR5cGVKdXJpc2RpY3Rpb25JZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvY3VtZW50VXBsb2FkO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEb2N1bWVudFVwbG9hZFJlc3VsdChyZXN1bHQ6IERvY3VtZW50RGF0YSk6IHZvaWQge1xuICAgIGlmICghdGhpcy51cGxvYWRlZERvY3VtZW50KSB7XG4gICAgICBpZiAodGhpcy5zZWN1cmVNb2RlT24pIHtcbiAgICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm0oe2RvY3VtZW50X3VybDogbnVsbCwgZG9jdW1lbnRfYmluYXJ5X3VybDogbnVsbCwgZG9jdW1lbnRfZmlsZW5hbWU6IG51bGwsIGRvY3VtZW50X2hhc2g6IG51bGx9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKHtkb2N1bWVudF91cmw6IG51bGwsIGRvY3VtZW50X2JpbmFyeV91cmw6IG51bGwsIGRvY3VtZW50X2ZpbGVuYW1lOiBudWxsfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZG9jdW1lbnQgPSB0aGlzLnNlY3VyZU1vZGVPbiA/IHJlc3VsdC5kb2N1bWVudHNbMF0gOiByZXN1bHQuX2VtYmVkZGVkLmRvY3VtZW50c1swXTtcblxuICAgIGlmICh0aGlzLnNlY3VyZU1vZGVPbikge1xuICAgICAgdGhpcy51cGRhdGVEb2N1bWVudEZvcm0oXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5zZWxmLmhyZWYsXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5iaW5hcnkuaHJlZixcbiAgICAgICAgZG9jdW1lbnQub3JpZ2luYWxEb2N1bWVudE5hbWUsXG4gICAgICAgIGRvY3VtZW50Lmhhc2hUb2tlblxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVEb2N1bWVudEZvcm0oXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5zZWxmLmhyZWYsXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5iaW5hcnkuaHJlZixcbiAgICAgICAgZG9jdW1lbnQub3JpZ2luYWxEb2N1bWVudE5hbWUsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcblxuICAgIC8vIHJlZnJlc2ggcmVwbGFjZWQgZG9jdW1lbnQgaW5mb1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfYmluYXJ5X3VybCA9IGRvY3VtZW50Ll9saW5rcy5iaW5hcnkuaHJlZjtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQub3JpZ2luYWxEb2N1bWVudE5hbWU7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF91cmwgPSBkb2N1bWVudC5fbGlua3Muc2VsZi5ocmVmO1xuXG4gICAgICBpZiAodGhpcy5zZWN1cmVNb2RlT24pIHtcbiAgICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfaGFzaCA9IGRvY3VtZW50Lmhhc2hUb2tlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURvY3VtZW50VXBsb2FkRXJyb3IoZXJyb3I6IEh0dHBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuZmlsZVVwbG9hZE1lc3NhZ2VzID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UoZXJyb3IpO1xuICAgIHRoaXMudmFsaWQgPSBmYWxzZTtcbiAgICB0aGlzLmZpbGVVcGxvYWRTdGF0ZVNlcnZpY2Uuc2V0VXBsb2FkSW5Qcm9ncmVzcyhmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yIGJvdHRvbS0zMCc6ICF2YWxpZH1cIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWQoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGF0dHIuYXJpYS1sYWJlbD1cInt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19XCI+e3soY2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbCkgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgPC9sYWJlbD5cbiAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIj57e2Nhc2VGaWVsZC5oaW50X3RleHQgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmaWxlVXBsb2FkTWVzc2FnZXMgJiYgIXZhbGlkXCI+e3tmaWxlVXBsb2FkTWVzc2FnZXMgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cblxuICA8ZGl2PlxuICAgIDwhLS08c3BhbiAqbmdJZj1cImdldFVwbG9hZGVkRmlsZU5hbWUoKVwiIGNsYXNzPVwidGV4dC0xNlwiPkZpbGUgbmFtZToge3tnZXRVcGxvYWRlZEZpbGVOYW1lKCl9fTwvc3Bhbj4tLT5cbiAgICA8Y2NkLXJlYWQtZG9jdW1lbnQtZmllbGQgKm5nSWY9XCJjYXNlRmllbGRcIiBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiPjwvY2NkLXJlYWQtZG9jdW1lbnQtZmllbGQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlJz5cblxuICAgIDxkaXYgW2lkXT1cImNyZWF0ZUVsZW1lbnRJZCgnZmlsZUlucHV0V3JhcHBlcicpXCIgKGNsaWNrKT1cImZpbGVTZWxlY3RFdmVudCgpXCI+PC9kaXY+XG4gICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtpZF09XCJpZCgpXCIgdHlwZT1cImZpbGVcIiAoa2V5ZG93bi5UYWIpPVwiZmlsZVZhbGlkYXRpb25zT25UYWIoKVwiIChjaGFuZ2UpPVwiZmlsZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgICAgICAgICBhY2NlcHQ9XCJ7e2Nhc2VGaWVsZC5maWVsZF90eXBlLnJlZ3VsYXJfZXhwcmVzc2lvbn19XCIgI2ZpbGVJbnB1dC8+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBib3R0b20tMzBcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJDYW5jZWwgdXBsb2FkXCIgKGNsaWNrKT1cImNhbmNlbFVwbG9hZCgpXCIgW2Rpc2FibGVkXT1cIiFpc1VwbG9hZEluUHJvZ3Jlc3MoKVwiPnt7J0NhbmNlbCB1cGxvYWQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
395
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNG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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldy9jYXNlLXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgRG9jdW1lbnREYXRhLCBGb3JtRG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZG9jdW1lbnQvZG9jdW1lbnQtZGF0YS5tb2RlbCdcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9odHRwL2h0dHAtZXJyb3IubW9kZWwnO1xuaW1wb3J0IHsgRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RvY3VtZW50LW1hbmFnZW1lbnQvZG9jdW1lbnQtbWFuYWdlbWVudC5zZXJ2aWNlJ1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlLm5vdGlmaWVyJztcbmltcG9ydCB7IERvY3VtZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9kb2N1bWVudC1kaWFsb2cvZG9jdW1lbnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbml0RGlhbG9nIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbml0LWRpYWxvZy1oZWxwZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFN0YXRlU2VydmljZSB9IGZyb20gJy4vZmlsZS11cGxvYWQtc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1kb2N1bWVudC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1kb2N1bWVudC1maWVsZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfVVJMID0gJ2RvY3VtZW50X3VybCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfQklOQVJZX1VSTCA9ICdkb2N1bWVudF9iaW5hcnlfdXJsJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9GSUxFTkFNRSA9ICdkb2N1bWVudF9maWxlbmFtZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfSEFTSCA9ICdkb2N1bWVudF9oYXNoJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCA9ICdGaWxlIHJlcXVpcmVkJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfTk9UX0FWQUlMQUJMRSA9ICdEb2N1bWVudCB1cGxvYWQgZmFjaWxpdHkgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfV0FJVElOR19GSUxFX1NUQVRVUyA9ICdVcGxvYWRpbmcuLi4nO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGU6IEZpbGU7XG4gIHB1YmxpYyB2YWxpZCA9IHRydWU7XG4gIHB1YmxpYyBmaWxlVXBsb2FkTWVzc2FnZXM6IHN0cmluZztcbiAgcHVibGljIGNvbmZpcm1SZXBsYWNlUmVzdWx0OiBzdHJpbmc7XG4gIHB1YmxpYyBjbGlja0luc2lkZVRoZURvY3VtZW50OiBib29sZWFuO1xuXG4gIC8vIHRoZXNlIGFyZSBwdWJsaWMgc28gdGhhdCB0aGV5IGNhbiBiZSBtb2NrZWQgZm9yIHRlc3RzXG4gIHB1YmxpYyBmaWxlVXBsb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBkaWFsb2dTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VOb3RpZmllclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMganVyaXNkaWN0aW9uU3ViczogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgdXBsb2FkZWREb2N1bWVudDogRm9ybUdyb3VwO1xuICBwcml2YXRlIGRpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnO1xuICBwcml2YXRlIHNlY3VyZU1vZGVPbjogYm9vbGVhbjtcblxuICBwdWJsaWMganVyaXNkaWN0aW9uSWQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VUeXBlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50TWFuYWdlbWVudDogRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlVXBsb2FkU3RhdGVTZXJ2aWNlOiBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkganVyaXNkaWN0aW9uU2VydmljZTogSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIGNsaWNrb3V0KGV2ZW50KSB7XG4gICAgLy8gQ2FwdHVyaW5nIHRoZSBldmVudCBvZiB0aGUgYXNzb2NpYXRlZCAgRWxlbWVudFJlZiA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHVcblxuICAgIGlmICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuY2xpY2tJbnNpZGVUaGVEb2N1bWVudCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsZVZhbGlkYXRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VjdXJlTW9kZU9uID0gdGhpcy5hcHBDb25maWcuZ2V0RG9jdW1lbnRTZWN1cmVNb2RlKCk7XG4gICAgY29uc29sZS5pbmZvKCd3cml0ZURvY3VtZW50RmllbGQubmdJbml0OiBzZWN1cmUgbW9kZSA9ICcgKyB0aGlzLnNlY3VyZU1vZGVPbik7XG4gICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvQ2FzZURldGFpbHMoKTtcbiAgICB9XG4gICAgdGhpcy5kaWFsb2dDb25maWcgPSBpbml0RGlhbG9nKCk7XG4gICAgLy8gRVVJLTM0MDMuIFRoZSBmaWVsZCB3YXMgbm90IGJlaW5nIHJlZ2lzdGVyZWQgd2hlbiB0aGVyZSB3YXMgbm8gdmFsdWUgYW5kIHRoZSBmaWVsZFxuICAgIC8vIGl0c2VsZiB3YXMgbm90IG1hbmRhdG9yeSwgd2hpY2ggbWVhbnQgdGhhdCBzaG93X2NvbmRpdGlvbnMgd291bGQgbm90IGJlIGV2YWx1YXRlZC5cbiAgICAvLyBJJ3ZlIGNsZWFuZWQgdXAgdGhlIGxvZ2ljIGFuZCBpdCdzIG5vdyBhbHdheXMgcmVnaXN0ZXJlZC5cbiAgICBsZXQgZG9jdW1lbnQgPSB0aGlzLmNhc2VGaWVsZC52YWx1ZSB8fCB7IGRvY3VtZW50X3VybDogbnVsbCwgZG9jdW1lbnRfYmluYXJ5X3VybDogbnVsbCwgZG9jdW1lbnRfZmlsZW5hbWU6IG51bGwgfTtcbiAgICBkb2N1bWVudCA9IHRoaXMuc2VjdXJlTW9kZU9uICYmICFkb2N1bWVudC5kb2N1bWVudF9oYXNoID8geyAuLi5kb2N1bWVudCwgZG9jdW1lbnRfaGFzaDogbnVsbCB9IDogZG9jdW1lbnQ7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtV2l0aFZhbGlkYXRvcihkb2N1bWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKGRvY3VtZW50KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kaWFsb2dTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNhc2VOb3RpZmllclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5qdXJpc2RpY3Rpb25TdWJzKSB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvblN1YnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNVcGxvYWRJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UuaXNVcGxvYWRJblByb2dyZXNzKCk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsVXBsb2FkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5yZXNldFVwbG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGZpbGVWYWxpZGF0aW9uc09uVGFiKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICBpZiAodGhpcy52YWxpZGF0ZUZvcm1VcGxvYWRlZERvY3VtZW50KCkpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVDaGFuZ2VFdmVudChmaWxlSW5wdXQ6IGFueSk6IHZvaWQge1xuXG4gICAgaWYgKGZpbGVJbnB1dC50YXJnZXQuZmlsZXNbMF0pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZUlucHV0LnRhcmdldC5maWxlc1swXTtcbiAgICAgIHRoaXMuZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX1dBSVRJTkdfRklMRV9TVEFUVVMpO1xuICAgICAgY29uc3QgZG9jdW1lbnRVcGxvYWQ6IEZvcm1EYXRhID0gdGhpcy5idWlsZERvY3VtZW50VXBsb2FkRGF0YSh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdGF0ZVNlcnZpY2Uuc2V0VXBsb2FkSW5Qcm9ncmVzcyh0cnVlKTtcblxuICAgICAgdGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uID0gdGhpcy5kb2N1bWVudE1hbmFnZW1lbnQudXBsb2FkRmlsZShkb2N1bWVudFVwbG9hZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3VsdERvY3VtZW50OiBEb2N1bWVudERhdGEpID0+IHRoaXMuaGFuZGxlRG9jdW1lbnRVcGxvYWRSZXN1bHQocmVzdWx0RG9jdW1lbnQpLFxuICAgICAgICBlcnJvcjogKGVycm9yOiBIdHRwRXJyb3IpID0+IHRoaXMuaGFuZGxlRG9jdW1lbnRVcGxvYWRFcnJvcihlcnJvcilcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0VXBsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5GaWxlRGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlU2VsZWN0RXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLmNhc2VGaWVsZC52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9maWxlbmFtZSkgfHxcbiAgICAgICh0aGlzLnNlbGVjdGVkRmlsZSAmJiB0aGlzLnNlbGVjdGVkRmlsZS5uYW1lKSkge1xuICAgICAgdGhpcy5vcGVuRGlhbG9nKHRoaXMuZGlhbG9nQ29uZmlnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuRmlsZURpYWxvZygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyUmVwbGFjZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5jb25maXJtUmVwbGFjZVJlc3VsdCA9PT0gJ1JlcGxhY2UnKSB7XG4gICAgICB0aGlzLm9wZW5GaWxlRGlhbG9nKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldFVwbG9hZGVkRmlsZU5hbWUoKTogYW55IHtcbiAgICBpZiAodGhpcy51cGxvYWRlZERvY3VtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfRklMRU5BTUUpLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRVcGxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBudWxsO1xuICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShudWxsLCBudWxsLCBudWxsKTtcbiAgICAgIHRoaXMuZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX0ZJTEVfUkVRVUlSRUQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbGlkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbGVWYWxpZGF0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FNYW5kYXRvcnlDb21wb25lbnQoKSkge1xuICAgICAgaWYgKHRoaXMuY2xpY2tJbnNpZGVUaGVEb2N1bWVudCAmJiB0aGlzLnZhbGlkYXRlRm9ybVVwbG9hZGVkRG9jdW1lbnQoKSAmJiAhdGhpcy5pc1VwTG9hZGluZ0FGaWxlKCkpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRGlhbG9nKGRpYWxvZ0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRG9jdW1lbnREaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICAgdGhpcy5kaWFsb2dTdWJzY3JpcHRpb24gPSBkaWFsb2dSZWYuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICB0aGlzLmNvbmZpcm1SZXBsYWNlUmVzdWx0ID0gcmVzdWx0O1xuICAgICAgdGhpcy50cmlnZ2VyUmVwbGFjZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gRGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0LCB3ZSBjYW4gZ2V0IHRoZSBjYXNlIHR5cGUgYW5kIGp1cmlzZGljdGlvbiBmcm9tIGRpZmZlcmVudCBzb3VyY2VzXG4gIC8vIElmIHdlIGFyZSBydW5uaW5nIGFuIGV2ZW50LCB0aGUgY2FzZU5vdGlmaWVyIHdpbGwgaGF2ZSB0aGUgY3VycmVudCBjYXNlXG4gIC8vIElmIHdlIGFyZSBjcmVhdGluZyBhIGNhc2UsIHRoZSBjYXNlIGRvZXNuJ3QgZXhpc3QgeWV0LCBzbyB0aGUgY2FzZU5vdGlmaWVyIGNhbid0IGhlbHBcbiAgLy8gSW5zdGVhZCB3ZSBjYW4gdXNlIHRoZSBldmVudFRyaWdnZXIgdG8gZ2V0IHRoZSBjYXNlIHR5cGUsIGFuZCB0aGUganVyaXNkaWN0aW9uIHNlcnZpY2UgdG9cbiAgLy8gZ2V0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQganVyaXNkaWN0aW9uXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9DYXNlRGV0YWlscygpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VOb3RpZmllclN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoY2FzZURldGFpbHM6IENhc2VWaWV3KSA9PiB7XG4gICAgICAgIHRoaXMuY2FzZVR5cGVJZCA9IGNhc2VEZXRhaWxzPy5jYXNlX2lkO1xuICAgICAgICB0aGlzLmp1cmlzZGljdGlvbklkID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZT8uanVyaXNkaWN0aW9uPy5pZDtcbiAgICAgICAgY29uc29sZS5pbmZvKGBjYXNlTm90aWZpZXIubmV4dDogY2FzZVR5cGU9JHt0aGlzLmNhc2VUeXBlSWR9IGp1cmlzPSR7dGhpcy5qdXJpc2RpY3Rpb25JZH1gKVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU3VicyA9IHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5zZWxlY3RlZEp1cmlzZGljdGlvbkJTLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoanVyaXNkaWN0aW9uKSA9PiB7XG4gICAgICAgIGlmIChqdXJpc2RpY3Rpb24pIHtcbiAgICAgICAgICB0aGlzLmp1cmlzZGljdGlvbklkID0ganVyaXNkaWN0aW9uLmlkO1xuICAgICAgICAgIGlmIChqdXJpc2RpY3Rpb24uY3VycmVudENhc2VUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmNhc2VUeXBlSWQgPSBqdXJpc2RpY3Rpb24uY3VycmVudENhc2VUeXBlLmlkXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUuaW5mbyhgc2VsZWN0ZWRKdXJpc2RpY3Rpb24ubmV4dDogY2FzZVR5cGU9JHt0aGlzLmNhc2VUeXBlSWR9IGp1cmlzPSR7dGhpcy5qdXJpc2RpY3Rpb25JZH1gKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FNYW5kYXRvcnlDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCAmJiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09IENvbnN0YW50cy5NQU5EQVRPUlk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoZmlsZVVwbG9hZE1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsaWQgPSBmYWxzZTtcbiAgICB0aGlzLmZpbGVVcGxvYWRNZXNzYWdlcyA9IGZpbGVVcGxvYWRNZXNzYWdlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VwTG9hZGluZ0FGaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbGVVcGxvYWRNZXNzYWdlcyA9PT0gV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9XQUlUSU5HX0ZJTEVfU1RBVFVTO1xuICB9XG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtVXBsb2FkZWREb2N1bWVudCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMudXBsb2FkZWREb2N1bWVudCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbGV0IHZhbGlkYXRpb24gPSAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfVVJMKS52YWxpZCAmJlxuICAgICAgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0JJTkFSWV9VUkwpLnZhbGlkICYmXG4gICAgICAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfRklMRU5BTUUpLnZhbGlkO1xuXG4gICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICB2YWxpZGF0aW9uID0gdmFsaWRhdGlvbiAmJiAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfSEFTSCkudmFsaWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRpb247XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURvY3VtZW50Rm9ybSh1cmw6IHN0cmluZywgYmluYXJ5VXJsOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIGRvY3VtZW50SGFzaD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX1VSTCkuc2V0VmFsdWUodXJsKTtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9CSU5BUllfVVJMKS5zZXRWYWx1ZShiaW5hcnlVcmwpO1xuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0ZJTEVOQU1FKS5zZXRWYWx1ZShmaWxlbmFtZSk7XG4gICAgaWYgKGRvY3VtZW50SGFzaCkge1xuICAgICAgdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfSEFTSCkuc2V0VmFsdWUoZG9jdW1lbnRIYXNoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50Rm9ybVdpdGhWYWxpZGF0b3IoZG9jdW1lbnQ6IEZvcm1Eb2N1bWVudCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgIGRvY3VtZW50X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH07XG5cbiAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHRoaXMuc2VjdXJlTW9kZU9uID8ge1xuICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAuLi57IGRvY3VtZW50X2hhc2g6ICBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfaGFzaCkgfVxuICAgIH0gOiBkb2N1bWVudEZvcm1Hcm91cDtcblxuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoZG9jdW1lbnRGb3JtR3JvdXApLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50Rm9ybShkb2N1bWVudDogRm9ybURvY3VtZW50KTogdm9pZCB7XG4gICAgbGV0IGRvY3VtZW50Rm9ybUdyb3VwID0ge1xuICAgICAgZG9jdW1lbnRfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfdXJsKSxcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsKSxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWUpXG4gICAgfTtcblxuICAgIGRvY3VtZW50Rm9ybUdyb3VwID0gdGhpcy5zZWN1cmVNb2RlT24gPyB7XG4gICAgICAuLi5kb2N1bWVudEZvcm1Hcm91cCxcbiAgICAgIC4uLnsgZG9jdW1lbnRfaGFzaDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2hhc2gpIH1cbiAgICB9IDogZG9jdW1lbnRGb3JtR3JvdXA7XG5cbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKGRvY3VtZW50Rm9ybUdyb3VwKSwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvck1lc3NhZ2UoZXJyb3I6IEh0dHBFcnJvcik6IHN0cmluZyB7XG4gICAgLy8gRG9jdW1lbnQgTWFuYWdlbWVudCB1bmF2YWlsYWJsZVxuICAgIGlmICgwID09PSBlcnJvci5zdGF0dXMgfHwgNTAyID09PSBlcnJvci5zdGF0dXMpIHtcbiAgICAgIHJldHVybiBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX05PVF9BVkFJTEFCTEU7XG4gICAgfVxuICAgIHJldHVybiBlcnJvci5lcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGREb2N1bWVudFVwbG9hZERhdGEoc2VsZWN0ZWRGaWxlOiBGaWxlKTogRm9ybURhdGEge1xuICAgIGNvbnN0IGRvY3VtZW50VXBsb2FkOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnZmlsZXMnLCBzZWxlY3RlZEZpbGUsIHNlbGVjdGVkRmlsZS5uYW1lKTtcbiAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2NsYXNzaWZpY2F0aW9uJywgJ1BVQkxJQycpO1xuXG4gICAgaWYgKHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50U2VjdXJlTW9kZSgpKSB7XG4gICAgICBjb25zdCBjYXNlVHlwZUlkID0gdGhpcy5jYXNlVHlwZUlkID8gdGhpcy5jYXNlVHlwZUlkIDogbnVsbDtcbiAgICAgIGNvbnN0IGNhc2VUeXBlSnVyaXNkaWN0aW9uSWQgPSB0aGlzLmp1cmlzZGljdGlvbklkPyB0aGlzLmp1cmlzZGljdGlvbklkICA6IG51bGw7XG4gICAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2Nhc2VUeXBlSWQnLCBjYXNlVHlwZUlkKTtcbiAgICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnanVyaXNkaWN0aW9uSWQnLCBjYXNlVHlwZUp1cmlzZGljdGlvbklkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZG9jdW1lbnRVcGxvYWQ7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURvY3VtZW50VXBsb2FkUmVzdWx0KHJlc3VsdDogRG9jdW1lbnREYXRhKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnVwbG9hZGVkRG9jdW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLnNlY3VyZU1vZGVPbikge1xuICAgICAgICB0aGlzLmNyZWF0ZURvY3VtZW50Rm9ybSh7ZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCwgZG9jdW1lbnRfaGFzaDogbnVsbH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm0oe2RvY3VtZW50X3VybDogbnVsbCwgZG9jdW1lbnRfYmluYXJ5X3VybDogbnVsbCwgZG9jdW1lbnRfZmlsZW5hbWU6IG51bGx9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuc2VjdXJlTW9kZU9uID8gcmVzdWx0LmRvY3VtZW50c1swXSA6IHJlc3VsdC5fZW1iZWRkZWQuZG9jdW1lbnRzWzBdO1xuXG4gICAgaWYgKHRoaXMuc2VjdXJlTW9kZU9uKSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLnNlbGYuaHJlZixcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmLFxuICAgICAgICBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZSxcbiAgICAgICAgZG9jdW1lbnQuaGFzaFRva2VuXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLnNlbGYuaHJlZixcbiAgICAgICAgZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmLFxuICAgICAgICBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3MoZmFsc2UpO1xuXG4gICAgLy8gcmVmcmVzaCByZXBsYWNlZCBkb2N1bWVudCBpbmZvXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9iaW5hcnlfdXJsID0gZG9jdW1lbnQuX2xpbmtzLmJpbmFyeS5ocmVmO1xuICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUgPSBkb2N1bWVudC5vcmlnaW5hbERvY3VtZW50TmFtZTtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X3VybCA9IGRvY3VtZW50Ll9saW5rcy5zZWxmLmhyZWY7XG5cbiAgICAgIGlmICh0aGlzLnNlY3VyZU1vZGVPbikge1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9oYXNoID0gZG9jdW1lbnQuaGFzaFRva2VuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRG9jdW1lbnRVcGxvYWRFcnJvcihlcnJvcjogSHR0cEVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPSB0aGlzLmdldEVycm9yTWVzc2FnZShlcnJvcik7XG4gICAgdGhpcy52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3IgYm90dG9tLTMwJzogIXZhbGlkfVwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX1cIj57eyhjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsKSB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZpbGVVcGxvYWRNZXNzYWdlcyAmJiAhdmFsaWRcIj57e2ZpbGVVcGxvYWRNZXNzYWdlcyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuXG4gIDxkaXY+XG4gICAgPCEtLTxzcGFuICpuZ0lmPVwiZ2V0VXBsb2FkZWRGaWxlTmFtZSgpXCIgY2xhc3M9XCJ0ZXh0LTE2XCI+RmlsZSBuYW1lOiB7e2dldFVwbG9hZGVkRmlsZU5hbWUoKX19PC9zcGFuPi0tPlxuICAgIDxjY2QtcmVhZC1kb2N1bWVudC1maWVsZCAqbmdJZj1cImNhc2VGaWVsZFwiIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCI+PC9jY2QtcmVhZC1kb2N1bWVudC1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmUnPlxuXG4gICAgPGRpdiBbaWRdPVwiY3JlYXRlRWxlbWVudElkKCdmaWxlSW5wdXRXcmFwcGVyJylcIiAoY2xpY2spPVwiZmlsZVNlbGVjdEV2ZW50KClcIj48L2Rpdj5cbiAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm90dG9tLTMwXCIgW2lkXT1cImlkKClcIiB0eXBlPVwiZmlsZVwiIChrZXlkb3duLlRhYik9XCJmaWxlVmFsaWRhdGlvbnNPblRhYigpXCIgKGNoYW5nZSk9XCJmaWxlQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgIGFjY2VwdD1cInt7Y2FzZUZpZWxkLmZpZWxkX3R5cGUucmVndWxhcl9leHByZXNzaW9ufX1cIiAjZmlsZUlucHV0Lz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGJvdHRvbS0zMFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNhbmNlbCB1cGxvYWRcIiAoY2xpY2spPVwiY2FuY2VsVXBsb2FkKClcIiBbZGlzYWJsZWRdPVwiIWlzVXBsb2FkSW5Qcm9ncmVzcygpXCI+e3snQ2FuY2VsIHVwbG9hZCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './../case-editor/case-event-completion';
|
|
2
1
|
export * from './address';
|
|
3
2
|
export * from './base-field';
|
|
4
3
|
export * from './case-file-view';
|
|
@@ -29,11 +28,10 @@ export * from './palette.module';
|
|
|
29
28
|
export * from './palette.service';
|
|
30
29
|
export * from './payment';
|
|
31
30
|
export * from './phone-uk';
|
|
32
|
-
export * from './query-management';
|
|
33
31
|
export * from './text';
|
|
34
32
|
export * from './text-area';
|
|
35
33
|
export * from './unsupported-field.component';
|
|
36
34
|
export * from './utils';
|
|
37
35
|
export * from './waystopay';
|
|
38
36
|
export * from './yes-no';
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZsYWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWxpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGxleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtbXVsdGktc2VsZWN0LWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLXJhZGlvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9lbWFpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpeGVkLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9maXhlZC1yYWRpby1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vaGlzdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2p1ZGljaWFsLXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYWJlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmtlZC1jYXNlcyc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uZXktZ2JwJztcbmV4cG9ydCAqIGZyb20gJy4vbXVsdGktc2VsZWN0LWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1zdW1tYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFsZXR0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWxldHRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUtdWsnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1hcmVhJztcbmV4cG9ydCAqIGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi93YXlzdG9wYXknO1xuZXhwb3J0ICogZnJvbSAnLi95ZXMtbm8nO1xuXG4iXX0=
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export * from './markdown.component';
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9tYXJrZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcmtkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtkb3duLWNvbXBvbmVudC5tb2R1bGUnO1xuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9tYXJrZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZG93bi5jb21wb25lbnQnO1xuIl19
|