vcomply-workflow-engine 3.5.3 → 3.5.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/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +897 -0
- package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +204 -0
- package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +1569 -0
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +774 -0
- package/esm2022/lib/configurations.mjs +6 -0
- package/esm2022/lib/confirmation-alert/confirmation-alert.component.mjs +28 -0
- package/esm2022/lib/constants/link-responsibility.constants.mjs +9 -0
- package/esm2022/lib/constants/time.constants.mjs +3 -0
- package/esm2022/lib/create-documents/create-documents.component.mjs +145 -0
- package/esm2022/lib/formgroup/cs-checkbox/cs-checkbox.component.mjs +36 -0
- package/esm2022/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/formgroup/cs-radio/cs-radio.component.mjs +34 -0
- package/esm2022/lib/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/formgroup/cs-select/cs-select.component.mjs +95 -0
- package/esm2022/lib/formgroup/cs-switch/cs-switch.component.mjs +31 -0
- package/esm2022/lib/formgroup/formgroup.module.mjs +56 -0
- package/esm2022/lib/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/formgroup/select/cs-option/cs-option.component.mjs +42 -0
- package/esm2022/lib/formgroup/select/cs-select/cs-select.component.mjs +106 -0
- package/esm2022/lib/formgroup/select/select.module.mjs +21 -0
- package/esm2022/lib/formgroup/select/select.service.mjs +48 -0
- package/esm2022/lib/interfaces/categoryList.mjs +2 -0
- package/esm2022/lib/interfaces/confirmation-alert.mjs +2 -0
- package/esm2022/lib/interfaces/issue-data.mjs +2 -0
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +1212 -0
- package/esm2022/lib/more-option/more-option.component.mjs +790 -0
- package/esm2022/lib/pipes/data-type.pipe.mjs +16 -0
- package/esm2022/lib/pipes/dom-sanitizer.pipe.mjs +24 -0
- package/esm2022/lib/pipes/filter.pipe.mjs +24 -0
- package/esm2022/lib/pipes/is-read-more.pipe.mjs +21 -0
- package/esm2022/lib/pipes/list-mapper.pipe.mjs +21 -0
- package/esm2022/lib/pipes/pipes.module.mjs +67 -0
- package/esm2022/lib/pipes/search.pipe.mjs +37 -0
- package/esm2022/lib/pipes/space-breaker.pipe.mjs +21 -0
- package/esm2022/lib/pipes/uncategorized-filter.pipe.mjs +21 -0
- package/esm2022/lib/pipes/user-filter.pipe.mjs +30 -0
- package/esm2022/lib/services/bulk-upload.service.mjs +44 -0
- package/esm2022/lib/services/common.service.mjs +41 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +265 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +73 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.mjs +347 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.mjs +124 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/build.module.mjs +111 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.mjs +74 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.mjs +18 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.mjs +179 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/error.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/question.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +104 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.mjs +101 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/move/move.component.mjs +103 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.mjs +27 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.mjs +49 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview.module.mjs +152 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.mjs +19 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.mjs +252 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.mjs +163 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.mjs +118 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +97 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +493 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment.module.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/editor.service.mjs +635 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/result-criteria.service.mjs +48 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/validator.service.mjs +546 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +207 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.service.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-preview/assessment-preview.module.mjs +113 -0
- package/esm2022/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/date-time/date-time.component.mjs +53 -0
- package/esm2022/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/device/device.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/page-header/page-header.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/pipes/get-section-order.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +62 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/section-details/section-details.component.mjs +20 -0
- package/esm2022/lib/sharedComponents/assessment-preview/select-question/select-question.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/welcome/welcome.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category.model.mjs +2 -0
- package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +72 -0
- package/esm2022/lib/sharedComponents/bulk-view/bulk-view.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +84 -0
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +166 -0
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +92 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +315 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.mjs +25 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +149 -0
- package/esm2022/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.mjs +48 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +77 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/directive/autofocus.directive.mjs +22 -0
- package/esm2022/lib/sharedComponents/directive/conditional-focus.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/directive/drag-drop.directive.mjs +52 -0
- package/esm2022/lib/sharedComponents/directive/input-trim.directive.mjs +21 -0
- package/esm2022/lib/sharedComponents/directive/scroll-in-view.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +184 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.component.mjs +122 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.module.mjs +20 -0
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +308 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.mjs +38 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +429 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.mjs +43 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +95 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +297 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +218 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +303 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +152 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.mjs +21 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +199 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.mjs +12 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +223 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +170 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +189 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +214 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +253 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +133 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +200 -0
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +573 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +300 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +216 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.mjs +29 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +296 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.mjs +110 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +227 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +212 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +259 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +472 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/program-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/restapi.service.mjs +149 -0
- package/esm2022/lib/sharedComponents/link-program/tooltip-validation.pipe.mjs +28 -0
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +221 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +176 -0
- package/esm2022/lib/sharedComponents/pipes/array-filter.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/filterPipe.mjs +30 -0
- package/esm2022/lib/sharedComponents/pipes/rcTreeToolTip.pipe.mjs +26 -0
- package/esm2022/lib/sharedComponents/pipes/short-merge.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/pipes/spaceTrim.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/within-data.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +88 -0
- package/esm2022/lib/sharedComponents/program-listing/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +739 -0
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +82 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/rc-list.module.mjs +40 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +125 -0
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +81 -0
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +44 -0
- package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +102 -0
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/v-loader/loader/loader.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/v-loader.module.mjs +19 -0
- package/esm2022/lib/ui-kit/action-dialog/action-dialog.module.mjs +21 -0
- package/esm2022/lib/ui-kit/action-dialog/active/active.component.mjs +32 -0
- package/esm2022/lib/ui-kit/action-dialog/deactivate/deactivate.component.mjs +33 -0
- package/esm2022/lib/ui-kit/action-dialog/delete/delete.component.mjs +26 -0
- package/esm2022/lib/ui-kit/action-dialog/duplicate/duplicate.component.mjs +28 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.module.mjs +22 -0
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +3 -0
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +14 -0
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +88 -0
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +58 -0
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
- package/esm2022/lib/ui-kit/directive/directive.module.mjs +24 -0
- package/esm2022/lib/ui-kit/directive/stop-propagation.directive.mjs +20 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader.module.mjs +22 -0
- package/esm2022/lib/ui-kit/format-html.pipe.mjs +20 -0
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +31 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +100 -0
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +32 -0
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +60 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.module.mjs +18 -0
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +45 -0
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +116 -0
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-event.directive.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-longpress.directive.mjs +44 -0
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +138 -0
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +97 -0
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +23 -0
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +15 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.component.mjs +109 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.directive.mjs +34 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.module.mjs +31 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.service.mjs +14 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.component.mjs +51 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -0
- package/esm2022/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +220 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +156 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +831 -0
- package/esm2022/lib/workflow/grc-object/grc-object.module.mjs +64 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +95 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.mjs +110 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +118 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes.component.mjs +100 -0
- package/esm2022/lib/workflow/shared/components/attributes/date-picker/date-picker.component.mjs +116 -0
- package/esm2022/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +216 -0
- package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +119 -0
- package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +198 -0
- package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +202 -0
- package/esm2022/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +191 -0
- package/esm2022/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +86 -0
- package/esm2022/lib/workflow/shared/components/list-popup/list-popup.component.mjs +209 -0
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +411 -0
- package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +241 -0
- package/esm2022/lib/workflow/shared/components/table-card/table-card.component.mjs +32 -0
- package/esm2022/lib/workflow/shared/components/text-field/text-field.component.mjs +143 -0
- package/esm2022/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs +56 -0
- package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +11 -0
- package/esm2022/lib/workflow/shared/constants/field-text.constant.mjs +17 -0
- package/esm2022/lib/workflow/shared/constants/grcObject.constant.mjs +88 -0
- package/esm2022/lib/workflow/shared/constants/link-responsibility.constant.mjs +19 -0
- package/esm2022/lib/workflow/shared/constants/message.contstant.mjs +5 -0
- package/esm2022/lib/workflow/shared/constants/pagination-limits.constant.mjs +6 -0
- package/esm2022/lib/workflow/shared/constants/svg-link.constant.mjs +4 -0
- package/esm2022/lib/workflow/shared/constants/validation-message.constant.mjs +8 -0
- package/esm2022/lib/workflow/shared/interfaces/add-grc.mjs +2 -0
- package/esm2022/lib/workflow/shared/services/grc.service.mjs +310 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.mjs +30 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.mjs +48 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.mjs +24 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +32 -0
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +668 -0
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +254 -0
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +3913 -0
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +734 -0
- package/esm2022/lib/workflow-engine.module.mjs +467 -0
- package/esm2022/lib/workflow-engine.service.mjs +14 -0
- package/esm2022/lib/workflow-interfaces/create-policy-form.mjs +2 -0
- package/esm2022/lib/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +1875 -0
- package/esm2022/lib/workflow-program/constants.mjs +51 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +292 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.mjs +22 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-program/create-program-ui/checkbox/checkbox.component.mjs +39 -0
- package/esm2022/lib/workflow-program/create-program-ui/create-program-ui.module.mjs +194 -0
- package/esm2022/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/custom-field/custom-field.component.mjs +82 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +267 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +26 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +68 -0
- package/esm2022/lib/workflow-program/create-program-ui/directives/input-trim.directive.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/file-pill/file-pill.component.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +106 -0
- package/esm2022/lib/workflow-program/create-program-ui/form-field/form-field.component.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +166 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/filter.pipe.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/pager.pipe.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.mjs +17 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +240 -0
- package/esm2022/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +434 -0
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +1550 -0
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +1642 -0
- package/esm2022/lib/workflow-services/add-risk.service.mjs +150 -0
- package/esm2022/lib/workflow-services/assessment.service.mjs +117 -0
- package/esm2022/lib/workflow-services/auth.service.mjs +229 -0
- package/esm2022/lib/workflow-services/frequency.service.mjs +173 -0
- package/esm2022/lib/workflow-services/log-issue.service.mjs +360 -0
- package/esm2022/lib/workflow-services/policy.service.mjs +163 -0
- package/esm2022/lib/workflow-services/programs.service.mjs +319 -0
- package/esm2022/lib/workflow-services/responsibility.service.mjs +293 -0
- package/esm2022/lib/workflow-services/token-decoder.service.mjs +38 -0
- package/esm2022/lib/workflow-services/ui-kit.service.mjs +17 -0
- package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +26 -0
- package/esm2022/public-api.mjs +8 -0
- package/esm2022/vcomply-workflow-engine.mjs +5 -0
- package/fesm2022/vcomply-workflow-engine.mjs +44351 -0
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -0
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +1 -1
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
- package/lib/confirmation-alert/confirmation-alert.component.d.ts +1 -1
- package/lib/create-documents/create-documents.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/formgroup/select/cs-option/cs-option.component.d.ts +1 -1
- package/lib/formgroup/select/cs-select/cs-select.component.d.ts +1 -1
- package/lib/log-an-issue/log-an-issue.component.d.ts +7 -3
- package/lib/more-option/more-option.component.d.ts +1 -1
- package/lib/services/common.service.d.ts +14 -0
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +7 -3
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/section-details/section-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +1 -1
- package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -1
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -1
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +6 -2
- package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +1 -1
- package/lib/sharedComponents/directive/autofocus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/drag-drop.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/input-trim.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +1 -1
- package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -1
- package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +10 -4
- package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +9 -5
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +10 -5
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -1
- package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -1
- package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +1 -1
- package/lib/sharedComponents/list-loader/list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/no-data/no-data.component.d.ts +1 -1
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -1
- package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -1
- package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -1
- package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -1
- package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +1 -1
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -1
- package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -1
- package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +1 -1
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/active/active.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +1 -1
- package/lib/ui-kit/click-outside/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/dialog/dialog-injector.d.ts +2 -2
- package/lib/ui-kit/dialog/dialog.component.d.ts +6 -4
- package/lib/ui-kit/dialog/dialog.service.d.ts +3 -3
- package/lib/ui-kit/dialog/insertion.directive.d.ts +1 -1
- package/lib/ui-kit/directive/stop-propagation.directive.d.ts +1 -1
- package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/ui-kit/line-loader/line-loader.component.d.ts +1 -1
- package/lib/ui-kit/no-data/no-data.component.d.ts +1 -1
- package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover-event.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover-longpress.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover.directive.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +1 -1
- package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +1 -1
- package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +1 -1
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/date-picker/date-picker.component.d.ts +1 -1
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -1
- package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/table-card/table-card.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field/text-field.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field-icon/text-field-icon.component.d.ts +1 -1
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -1
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -1
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -1
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -1
- package/lib/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-policy/workflow-policy.component.d.ts +7 -3
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -1
- package/lib/workflow-program/workflow-program.component.d.ts +1 -1
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/lib/workflow-services/auth.service.d.ts +0 -1
- package/lib/workflow-services/log-issue.service.d.ts +1 -0
- package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -1
- package/package.json +5 -12
|
@@ -0,0 +1,493 @@
|
|
|
1
|
+
import { Component, Input, EventEmitter, Output, HostListener, } from '@angular/core';
|
|
2
|
+
import { AddPageDetailsComponent } from '../components/add-page-details/add-page-details.component';
|
|
3
|
+
import { AssessmentSettingsComponent } from '../components/assessment-settings/assessment-settings.component';
|
|
4
|
+
import { EditorService } from '../services/editor.service';
|
|
5
|
+
import { DeleteComponent } from '../../../ui-kit/action-dialog/delete/delete.component';
|
|
6
|
+
import { ActiveComponent } from '../../../ui-kit/action-dialog/active/active.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../../ui-kit/dialog/dialog.service";
|
|
9
|
+
import * as i2 from "../services/editor.service";
|
|
10
|
+
import * as i3 from "@angular/router";
|
|
11
|
+
import * as i4 from "../../../ui-kit/snack-bar/snack-bar.service";
|
|
12
|
+
import * as i5 from "@angular/common";
|
|
13
|
+
import * as i6 from "../../../ui-kit/tooltip/tooltip.directive";
|
|
14
|
+
import * as i7 from "../../../ui-kit/popover/popover.component";
|
|
15
|
+
import * as i8 from "../../../ui-kit/popover/popover.directive";
|
|
16
|
+
import * as i9 from "../components/preview/preview-wrapper/preview-wrapper.component";
|
|
17
|
+
import * as i10 from "../components/question-type/question-type.component";
|
|
18
|
+
import * as i11 from "../components/editor-wrapper/editor-wrapper.component";
|
|
19
|
+
import * as i12 from "../components/toolkit/toolkit.component";
|
|
20
|
+
import * as i13 from "../components/page-header/page-header.component";
|
|
21
|
+
import * as i14 from "../components/welcome-thankyou/welcome-thankyou.component";
|
|
22
|
+
export class CreateAssessmentContainerComponent {
|
|
23
|
+
set assessmentData(value) {
|
|
24
|
+
this.initializeAssessment(value);
|
|
25
|
+
}
|
|
26
|
+
set checkpointData(value) {
|
|
27
|
+
this.initializeCheckpoint(value);
|
|
28
|
+
}
|
|
29
|
+
/* When the "Escape" key is pressed, it emits an event to set the value of "isUploaded" to
|
|
30
|
+
false. and left popup will close. */
|
|
31
|
+
onKeydownHandler(event) {
|
|
32
|
+
this.setIsUploaded.emit(false);
|
|
33
|
+
}
|
|
34
|
+
constructor(dialog, editorService,
|
|
35
|
+
// private layoutService: LayoutService,
|
|
36
|
+
route, snackbar, router) {
|
|
37
|
+
this.dialog = dialog;
|
|
38
|
+
this.editorService = editorService;
|
|
39
|
+
this.route = route;
|
|
40
|
+
this.snackbar = snackbar;
|
|
41
|
+
this.router = router;
|
|
42
|
+
this.showCollapse = false;
|
|
43
|
+
this.expandPage = false;
|
|
44
|
+
this.hideQuestion = false;
|
|
45
|
+
this.assessmentId = '';
|
|
46
|
+
this.assessmentName = '';
|
|
47
|
+
this.assessmentCategory = '';
|
|
48
|
+
this.assessmentControlId = '';
|
|
49
|
+
this.assessmentCurrentState = 'DRAFT';
|
|
50
|
+
this.pageMode = 'EDIT';
|
|
51
|
+
this.isLoaded = false;
|
|
52
|
+
this.openPortal = '';
|
|
53
|
+
this.setIsUploaded = new EventEmitter();
|
|
54
|
+
this.postAssessment = new EventEmitter();
|
|
55
|
+
this.entitySettings = {
|
|
56
|
+
panelTitle: '',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
ngOnInit() {
|
|
60
|
+
this.editorService.addPage();
|
|
61
|
+
this.editorService.numberOfPages();
|
|
62
|
+
// this.initializeAssessment();
|
|
63
|
+
}
|
|
64
|
+
triggerPreviewWithValidation() {
|
|
65
|
+
this.editorService.activeQuestionIndex.next(-10);
|
|
66
|
+
this.editorService.activeQuestion = -10;
|
|
67
|
+
}
|
|
68
|
+
initializeAssessment(assessmentData) {
|
|
69
|
+
if (assessmentData) {
|
|
70
|
+
this.editorService.formsPage = assessmentData.assessmentData;
|
|
71
|
+
this.assessmentName = assessmentData.metadata.assessment_name;
|
|
72
|
+
this.assessmentCategory = assessmentData.metadata.category_arr;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
initializeCheckpoint(checkpointData) {
|
|
76
|
+
if (checkpointData && Object.keys(checkpointData)?.length > 0) {
|
|
77
|
+
this.editorService.formsPage = checkpointData;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
setAllPages() {
|
|
81
|
+
this.editorService.allPages = [
|
|
82
|
+
...new Set(this.editorService.formsPage.elements.map((ele) => ele.page)),
|
|
83
|
+
];
|
|
84
|
+
this.getPageName(1);
|
|
85
|
+
}
|
|
86
|
+
addPageDetails() {
|
|
87
|
+
const ref = this.dialog.open(AddPageDetailsComponent, {
|
|
88
|
+
data: {
|
|
89
|
+
page: this.editorService.currentPageNumber,
|
|
90
|
+
pageDetails: this.editorService.currentPageDetails,
|
|
91
|
+
ref: this.editorService,
|
|
92
|
+
},
|
|
93
|
+
position: 'RIGHT',
|
|
94
|
+
background: 'black',
|
|
95
|
+
});
|
|
96
|
+
ref.afterClosed.subscribe((data) => {
|
|
97
|
+
this.generatePageDropdown();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
assessmentSettings() {
|
|
101
|
+
this.entitySettings = this.getSettingsData();
|
|
102
|
+
const ref = this.dialog.open(AssessmentSettingsComponent, {
|
|
103
|
+
data: { settings: this.entitySettings, service: this.editorService },
|
|
104
|
+
position: 'RIGHT',
|
|
105
|
+
background: 'black',
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
getSettingsData() {
|
|
109
|
+
let settings = {
|
|
110
|
+
panelTitle: `Assessment settings`,
|
|
111
|
+
settingsElements: [],
|
|
112
|
+
};
|
|
113
|
+
settings.settingsElements.push({
|
|
114
|
+
type: 'ASSESSMENT',
|
|
115
|
+
entityType: 'ASSESSMENT',
|
|
116
|
+
isVisible: true,
|
|
117
|
+
isEnabled: this.editorService.formsPage.settings.assessmentMode,
|
|
118
|
+
helpingText: 'You can configure scores for the questions and analyze the responses submitted by the respondent based on these scores.',
|
|
119
|
+
defaultScore: this.editorService.formsPage.settings.defaultScore,
|
|
120
|
+
negativeScoreCriteria: this.editorService.formsPage.settings.negativeScoreCriteria,
|
|
121
|
+
negativeScore: this.editorService.formsPage.settings.negativeScore,
|
|
122
|
+
weightageEnabled: this.editorService.formsPage.settings.weightageEnabled,
|
|
123
|
+
settingTitle: 'ASSESSMENT MODE',
|
|
124
|
+
settingEnableText: `Enable assessment mode for this assessment`,
|
|
125
|
+
updateType: 'LAZY',
|
|
126
|
+
});
|
|
127
|
+
settings.settingsElements.push({
|
|
128
|
+
type: 'RESPONSE_SEGMENT',
|
|
129
|
+
entityType: 'ASSESSMENT',
|
|
130
|
+
helpingText: 'Response segments let you divide the responses into separate parts or sections for easier analysis of data and assist in decision making.',
|
|
131
|
+
isVisible: true,
|
|
132
|
+
isEnabled: this.editorService.formsPage.responseSegment['isEnabled'] ?? false,
|
|
133
|
+
settingTitle: 'RESPONSE SEGMENTS',
|
|
134
|
+
settingEnableText: `Configure Response Segments for this assessment`,
|
|
135
|
+
updateType: 'LAZY',
|
|
136
|
+
segmentData: this.editorService.formsPage.responseSegment,
|
|
137
|
+
});
|
|
138
|
+
return settings;
|
|
139
|
+
}
|
|
140
|
+
clickCollapse() {
|
|
141
|
+
this.showCollapse = !this.showCollapse;
|
|
142
|
+
}
|
|
143
|
+
clickExpand() {
|
|
144
|
+
this.expandPage = true;
|
|
145
|
+
}
|
|
146
|
+
closeExpand() {
|
|
147
|
+
this.expandPage = false;
|
|
148
|
+
}
|
|
149
|
+
deletePage() {
|
|
150
|
+
const ref = this.dialog.open(DeleteComponent, {
|
|
151
|
+
data: { message: `This action will <strong>remove</strong> this page.` },
|
|
152
|
+
position: 'CENTER',
|
|
153
|
+
background: 'black',
|
|
154
|
+
});
|
|
155
|
+
ref.afterClosed.subscribe((data) => {
|
|
156
|
+
if (data === true) {
|
|
157
|
+
this.deletePageConfirm(true);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
deletePageConfirm(confirmDelete) {
|
|
162
|
+
if (confirmDelete) {
|
|
163
|
+
this.editorService.allPages = this.editorService.allPages.filter((pageNum) => pageNum !== this.editorService.currentPageNumber);
|
|
164
|
+
this.editorService.allPages = this.updatePageNumbersForAllPages(this.editorService.allPages);
|
|
165
|
+
this.editorService.formsPage.pageDetailsList =
|
|
166
|
+
this.editorService.formsPage.pageDetailsList.filter((pageDetail) => pageDetail.pageNumber !== this.editorService.currentPageNumber);
|
|
167
|
+
this.editorService.formsPage.pageDetailsList =
|
|
168
|
+
this.updatePageNumberForPageDetails(this.editorService.formsPage.pageDetailsList);
|
|
169
|
+
this.editorService.formsPage.elements =
|
|
170
|
+
this.editorService.formsPage.elements.filter((elementDetail) => elementDetail.page !== this.editorService.currentPageNumber);
|
|
171
|
+
this.editorService.formsPage.elements = this.updatePageNumberForQuestions(this.editorService.formsPage.elements);
|
|
172
|
+
if (this.editorService.currentPageNumber > 1) {
|
|
173
|
+
this.editorService.currentPageNumber -= 1;
|
|
174
|
+
}
|
|
175
|
+
this.getPageName(this.editorService.currentPageNumber);
|
|
176
|
+
this.checkForPageDetails();
|
|
177
|
+
}
|
|
178
|
+
this.editorService.activeQuestion = -10;
|
|
179
|
+
}
|
|
180
|
+
updatePageNumbersForAllPages(arrayToBeUpdated) {
|
|
181
|
+
for (let i = 0; i < arrayToBeUpdated.length; i++) {
|
|
182
|
+
if (i >= this.editorService.currentPageNumber - 1) {
|
|
183
|
+
arrayToBeUpdated[i] -= 1;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return arrayToBeUpdated;
|
|
187
|
+
}
|
|
188
|
+
updatePageNumberForPageDetails(arrayToBeUpdated) {
|
|
189
|
+
arrayToBeUpdated.forEach((element) => {
|
|
190
|
+
if (element.pageNumber >= this.editorService.currentPageNumber) {
|
|
191
|
+
element.pageNumber -= 1;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
return arrayToBeUpdated;
|
|
195
|
+
}
|
|
196
|
+
updatePageNumberForQuestions(arrayToBeUpdated) {
|
|
197
|
+
arrayToBeUpdated.forEach((element) => {
|
|
198
|
+
if (element.page >= this.editorService.currentPageNumber) {
|
|
199
|
+
element.page -= 1;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
return arrayToBeUpdated;
|
|
203
|
+
}
|
|
204
|
+
openQuestion() {
|
|
205
|
+
this.hideQuestion = true;
|
|
206
|
+
}
|
|
207
|
+
closeQuestion() {
|
|
208
|
+
this.hideQuestion = false;
|
|
209
|
+
}
|
|
210
|
+
deleteQuestionWithValidation(index) {
|
|
211
|
+
if (index === 'welcome') {
|
|
212
|
+
this.editorService.formsPage.hasWelcome = false;
|
|
213
|
+
this.editorService.currentPageNumber = 1;
|
|
214
|
+
this.editorService.stepIdentifier = 'pagescreen';
|
|
215
|
+
}
|
|
216
|
+
this.editorService.deleteQuestion(index);
|
|
217
|
+
}
|
|
218
|
+
checkforError(mode) {
|
|
219
|
+
const errorQuestionIndex = this.editorService?.formsPage?.elements?.findIndex((element, index) => element?.errorArray &&
|
|
220
|
+
Object.values(element?.errorArray)?.length > 0);
|
|
221
|
+
if (errorQuestionIndex >= 0) {
|
|
222
|
+
if (mode === 'full') {
|
|
223
|
+
this.editorService.currentPageNumber =
|
|
224
|
+
this.editorService.formsPage.elements[errorQuestionIndex].page;
|
|
225
|
+
}
|
|
226
|
+
if (mode !== 'partial') {
|
|
227
|
+
// this.getPageName(this.editorService.currentPageNumber);
|
|
228
|
+
this.editorService.activeQuestion = errorQuestionIndex;
|
|
229
|
+
this.editorService.activeQuestionIndex.next(errorQuestionIndex);
|
|
230
|
+
const question = document.getElementById(this.editorService.formsPage.elements[errorQuestionIndex].name);
|
|
231
|
+
setTimeout(() => {
|
|
232
|
+
if (question) {
|
|
233
|
+
question.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
234
|
+
}
|
|
235
|
+
}, 200);
|
|
236
|
+
}
|
|
237
|
+
if (mode === 'save') {
|
|
238
|
+
this.editorService.activeQuestion = -10;
|
|
239
|
+
this.editorService.activeQuestionIndex.next(-10);
|
|
240
|
+
}
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
if (mode === 'save') {
|
|
245
|
+
this.editorService.activeQuestion = -10;
|
|
246
|
+
this.editorService.activeQuestionIndex.next(-10);
|
|
247
|
+
}
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
generatePageDropdown() {
|
|
252
|
+
const list = [];
|
|
253
|
+
if (this.editorService.formsPage.hasWelcome === true) {
|
|
254
|
+
list.push({
|
|
255
|
+
value: -1,
|
|
256
|
+
template: `<span class="page-number">Welcome Screen</span>`,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
if (this.editorService.formsPage.hasThanks === true) {
|
|
260
|
+
list.push({
|
|
261
|
+
value: -2,
|
|
262
|
+
template: `<span class="page-number">Thank you Screen</span>`,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
this.editorService.allPages.forEach((element) => {
|
|
266
|
+
list.push({
|
|
267
|
+
value: element,
|
|
268
|
+
template: this.getPageNameForDropdown(element),
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
return list;
|
|
272
|
+
}
|
|
273
|
+
getPageNameForDropdown(pageNumber) {
|
|
274
|
+
let pageValue = `<span class="page-number">Page ${pageNumber}</span>`;
|
|
275
|
+
this.editorService.formsPage.pageDetailsList.forEach((pageDetail) => {
|
|
276
|
+
if (pageDetail.pageNumber === pageNumber && pageDetail.pageName !== '') {
|
|
277
|
+
pageValue = `<span class="page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3">PAGE</span>
|
|
278
|
+
<span class="page-number vx-fs-11 vx-paragraph-txt">${pageDetail.pageNumber}</span>`;
|
|
279
|
+
//pageValue = `<span class="page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3">Page </span> <span ${pageDetail.pageNumber}</span> <span class="page-number vx-fs-11 vx-paragraph-txt"> ${pageDetail.pageName}</span>`;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
return pageValue;
|
|
283
|
+
}
|
|
284
|
+
pageChanged(evt) {
|
|
285
|
+
if (evt.value === -1) {
|
|
286
|
+
this.setIdentifier('welcomescreen');
|
|
287
|
+
}
|
|
288
|
+
else if (evt.value === -2) {
|
|
289
|
+
this.setIdentifier('thankyouscreen');
|
|
290
|
+
}
|
|
291
|
+
else if (evt.value >= 0) {
|
|
292
|
+
this.editorService.currentPageNumber = evt?.value;
|
|
293
|
+
this.setIdentifier('pagescreen');
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
setIdentifier(screen) {
|
|
297
|
+
this.changeToInactive();
|
|
298
|
+
if (screen === 'welcomescreen') {
|
|
299
|
+
this.editorService.stepIdentifier = 'welcomescreen';
|
|
300
|
+
this.editorService.currentPageNumber = -1;
|
|
301
|
+
}
|
|
302
|
+
if (screen === 'thankyouscreen') {
|
|
303
|
+
this.editorService.stepIdentifier = 'thankyouscreen';
|
|
304
|
+
this.editorService.currentPageNumber = -2;
|
|
305
|
+
}
|
|
306
|
+
if (screen === 'pagescreen') {
|
|
307
|
+
this.editorService.stepIdentifier = 'pagescreen';
|
|
308
|
+
if (this.editorService.allPages.length === 0) {
|
|
309
|
+
this.editorService.addPage();
|
|
310
|
+
this.editorService.currentPageNumber = 1;
|
|
311
|
+
}
|
|
312
|
+
else if (this.editorService.currentPageNumber === -1 ||
|
|
313
|
+
this.editorService.currentPageNumber === -2) {
|
|
314
|
+
this.editorService.currentPageNumber =
|
|
315
|
+
this.editorService.allPages.length;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
this.getPageName(this.editorService.currentPageNumber);
|
|
319
|
+
}
|
|
320
|
+
getPageName(pageNumber) {
|
|
321
|
+
this.editorService.currentPageDetails = {
|
|
322
|
+
pageName: '',
|
|
323
|
+
pageNumber: 0,
|
|
324
|
+
pageDescription: '',
|
|
325
|
+
};
|
|
326
|
+
this.editorService.formsPage.pageDetailsList.forEach((pageDetail) => {
|
|
327
|
+
if (pageDetail.pageNumber === pageNumber) {
|
|
328
|
+
this.editorService.currentPageDetails.pageNumber =
|
|
329
|
+
pageDetail.pageNumber;
|
|
330
|
+
this.editorService.currentPageDetails.pageName = pageDetail.pageName;
|
|
331
|
+
this.editorService.currentPageDetails.pageDescription =
|
|
332
|
+
pageDetail.pageDescription;
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
this.checkForPageDetails();
|
|
336
|
+
}
|
|
337
|
+
checkForPageDetails() {
|
|
338
|
+
if (this.editorService.currentPageDetails === undefined ||
|
|
339
|
+
this.editorService.currentPageDetails.pageName === '') {
|
|
340
|
+
this.editorService.showAddPageOption = true;
|
|
341
|
+
this.editorService.showPageDetails = false;
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
this.editorService.showAddPageOption = false;
|
|
345
|
+
this.editorService.showPageDetails = true;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
changeToInactive() {
|
|
349
|
+
this.editorService.activeQuestion = -5;
|
|
350
|
+
this.editorService.activeQuestionIndex.next(-5);
|
|
351
|
+
}
|
|
352
|
+
addNewPage() {
|
|
353
|
+
this.editorService.addPage();
|
|
354
|
+
this.editorService.currentPageDetails = {
|
|
355
|
+
pageName: '',
|
|
356
|
+
pageNumber: this.editorService.currentPageNumber,
|
|
357
|
+
pageDescription: '',
|
|
358
|
+
};
|
|
359
|
+
this.editorService.showPageDetails = false;
|
|
360
|
+
this.editorService.showAddPageOption = true;
|
|
361
|
+
this.generatePageDropdown();
|
|
362
|
+
}
|
|
363
|
+
capitalizeString(stringValue) {
|
|
364
|
+
return stringValue[0].toUpperCase() + stringValue.slice(1);
|
|
365
|
+
}
|
|
366
|
+
onDeletePageClick() {
|
|
367
|
+
// this.showDeletePopup = true;
|
|
368
|
+
}
|
|
369
|
+
isPageEmpty() {
|
|
370
|
+
if (![
|
|
371
|
+
...new Set(this.editorService.formsPage.elements.map((element) => element.page)),
|
|
372
|
+
].includes(this.editorService.currentPageNumber)) {
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
submitAfterErrorCheck(mode) {
|
|
380
|
+
this.editorService.activeQuestionIndex.next(-10);
|
|
381
|
+
this.editorService.activeQuestion = -10;
|
|
382
|
+
if (this.editorService.stepIdentifier === 'welcomescreen' ||
|
|
383
|
+
this.editorService.stepIdentifier === 'thankyouscreen') {
|
|
384
|
+
this.editorService.currentPageNumber = 1;
|
|
385
|
+
this.editorService.stepIdentifier = 'pagescreen';
|
|
386
|
+
}
|
|
387
|
+
//this.pageMode = 'EDIT';
|
|
388
|
+
this.validateWelcomeThankYou();
|
|
389
|
+
setTimeout(() => {
|
|
390
|
+
if (!this.checkforError('full')) {
|
|
391
|
+
for (const question of this.editorService.formsPage.elements) {
|
|
392
|
+
if (!['checkbox', 'dropdown', 'multiple-choice'].includes(question.type)) {
|
|
393
|
+
if (question.choices) {
|
|
394
|
+
question.choices.forEach((element) => {
|
|
395
|
+
element.color = undefined;
|
|
396
|
+
element.score = 1;
|
|
397
|
+
element.isFailed = false;
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
question.otherConfig = { color: '', isFailed: false, score: 0 };
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
this.save(mode);
|
|
404
|
+
}
|
|
405
|
+
}, 200);
|
|
406
|
+
}
|
|
407
|
+
validateWelcomeThankYou() {
|
|
408
|
+
const question = this.editorService.formsPage;
|
|
409
|
+
if (question.hasWelcome === true) {
|
|
410
|
+
if (question.hasWelcomeDescription === true &&
|
|
411
|
+
this.editorService.extract(question.welcomeDescription).length === 0) {
|
|
412
|
+
this.editorService.formsPage.hasWelcomeDescription = false;
|
|
413
|
+
}
|
|
414
|
+
if (question.hasWelcomeImage === true &&
|
|
415
|
+
this.editorService.extract(question.welcomeImage).length === 0) {
|
|
416
|
+
this.editorService.formsPage.hasWelcomeImage = false;
|
|
417
|
+
}
|
|
418
|
+
if (this.editorService.extract(question.welcomeDescription).length === 0 &&
|
|
419
|
+
this.editorService.extract(question.welcomeText).length === 0 &&
|
|
420
|
+
this.editorService.extract(question.welcomeImage).length === 0) {
|
|
421
|
+
this.editorService.formsPage.hasWelcome = false;
|
|
422
|
+
this.editorService.formsPage.hasWelcomeDescription = true;
|
|
423
|
+
this.editorService.formsPage.hasWelcomeImage = true;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
if (question.hasThanks === true) {
|
|
427
|
+
if (question.hasThankyouDescription === true &&
|
|
428
|
+
this.editorService.extract(question.thankyouDescription).length === 0) {
|
|
429
|
+
this.editorService.formsPage.hasThankyouDescription = false;
|
|
430
|
+
}
|
|
431
|
+
if (question.hasThankyouImage === true &&
|
|
432
|
+
this.editorService.extract(question.thankyouImage).length === 0) {
|
|
433
|
+
this.editorService.formsPage.hasThankyouImage = false;
|
|
434
|
+
}
|
|
435
|
+
if (this.editorService.extract(question.thankyouDescription).length === 0 &&
|
|
436
|
+
this.editorService.extract(question.thankyouText).length === 0 &&
|
|
437
|
+
this.editorService.extract(question.thankyouImage).length === 0) {
|
|
438
|
+
this.editorService.formsPage.hasThanks = false;
|
|
439
|
+
this.editorService.formsPage.hasThankyouDescription = true;
|
|
440
|
+
this.editorService.formsPage.hasThankyouImage = true;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
save(mode) {
|
|
445
|
+
if (mode === 'ACTIVE' && this.openPortal !== 'RESPONSIBILITY_CHECKPOINT') {
|
|
446
|
+
const ref = this.dialog.open(ActiveComponent, {
|
|
447
|
+
data: {
|
|
448
|
+
message: `Once published, this assessment will be active and can be associated with a compliance responsibility.`,
|
|
449
|
+
},
|
|
450
|
+
position: 'CENTER',
|
|
451
|
+
background: 'black',
|
|
452
|
+
});
|
|
453
|
+
ref.afterClosed.subscribe({
|
|
454
|
+
next: (res) => {
|
|
455
|
+
if (res === true) {
|
|
456
|
+
this.postAssessment.emit({
|
|
457
|
+
mode: mode,
|
|
458
|
+
assessmentDetails: this.editorService.formsPage,
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
else {
|
|
465
|
+
this.postAssessment.emit({
|
|
466
|
+
mode: mode,
|
|
467
|
+
assessmentDetails: this.editorService.formsPage,
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateAssessmentContainerComponent, deps: [{ token: i1.DialogService }, { token: i2.EditorService }, { token: i3.ActivatedRoute }, { token: i4.SnackBarService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
472
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateAssessmentContainerComponent, selector: "app-create-assessment-container", inputs: { openPortal: "openPortal", assessmentData: ["assessmentJSON", "assessmentData"], checkpointData: ["checkpointJSON", "checkpointData"] }, outputs: { setIsUploaded: "setIsUploaded", postAssessment: "postAssessment" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, providers: [EditorService], ngImport: i0, template: "<ng-container>\r\n <div\r\n *ngIf=\"pageMode === 'EDIT'\"\r\n class=\"create-assessment-container\"\r\n [class.full-page]=\"expandPage\"\r\n >\r\n <div\r\n class=\"create-assessment-head vx-p-2 vx-pl-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"left vx-d-flex vx-align-center\"\r\n [class.with-template-btn]=\"false\"\r\n >\r\n <span\r\n *ngIf=\"assessmentControlId\"\r\n class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-2\"\r\n >{{ assessmentControlId }}</span\r\n >\r\n <i\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"icons arrow-back vx-mr-1\"\r\n (click)=\"setIsUploaded.emit(false)\"\r\n ></i\r\n >\r\n <span\r\n class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\"\r\n [appTooltip]=\"\r\n openPortal === 'RESPONSIBILITY_CHECKPOINT'\r\n ? 'Add Checkpoints'\r\n : assessmentName\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{\r\n openPortal === \"RESPONSIBILITY_CHECKPOINT\"\r\n ? \"Add Checkpoints\"\r\n : assessmentName\r\n }}</span\r\n >\r\n <!-- <button class=\"edit-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center\"><i class=\"icons\"></i></button> -->\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"page-dropdown vx-p-0 vx-pl-1 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n appPopover\r\n (click)=\"action.popover()\"\r\n placement=\"right\"\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber > 0\"\r\n >PAGE {{ editorService?.currentPageNumber }}</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -1\"\r\n >Welcome Screen</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -2\"\r\n >Thankyou Screen</span\r\n >\r\n <!-- <span class=\"page-number vx-fs-11 vx-paragraph-txt\" *ngIf=\"editorService.stepIdentifier=='pagescreen'\">{{editorService?.currentPageDetails?.pageName}}</span> -->\r\n <i class=\"icons arrow vx-fs-10 vx-paragraph-txt\"></i>\r\n </button>\r\n <app-popover #action>\r\n <div class=\"page-dropdown-popup\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li\r\n class=\"vx-d-flex vx-align-center\"\r\n *ngFor=\"let data of generatePageDropdown()\"\r\n >\r\n <button\r\n class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\"\r\n [innerHTML]=\"data?.template\"\r\n (click)=\"pageChanged(data)\"\r\n >\r\n <!-- <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">PAGE</span>\r\n <span class=\"page-number vx-fs-11 vx-paragraph-txt\">1</span>\r\n {{data|json}} -->\r\n </button>\r\n </li>\r\n </ul>\r\n <div\r\n class=\"action-bottom vx-d-flex vx-align-center vx-justify-end vx-p-2\"\r\n >\r\n <button\r\n (click)=\"addNewPage()\"\r\n class=\"add-page vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n ADD NEW PAGE\r\n </button>\r\n </div>\r\n </div>\r\n </app-popover>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"settings-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n (click)=\"assessmentSettings()\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\"></i> ASSESSMENT\r\n SETTINGS\r\n </button>\r\n <button\r\n *ngIf=\"false\"\r\n class=\"template-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\"></i> SAVE AS\r\n TEMPLATE\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"create-assessment-body\">\r\n <ng-container *ngIf=\"editorService.stepIdentifier == 'pagescreen'\">\r\n <div *ngIf=\"isPageEmpty()\" class=\"select-question-part\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"question-inner vx-pl-5 vx-mb-4\">\r\n <!-- <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\"></i> PAGE TITLE</button> -->\r\n <div\r\n class=\"heading vx-fs-18 vx-paragraph-txt vx-text-center vx-w-100\"\r\n >\r\n Select a question type to begin:\r\n </div>\r\n <app-question-type\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-question-type>\r\n </div>\r\n </div>\r\n\r\n <div class=\"floating-bar\">\r\n <div class=\"floating-bar-container\">\r\n <div class=\"right\">\r\n <button class=\"cancel\" (click)=\"setIsUploaded.emit(false)\">\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <ng-template #elseBlock>\r\n <div>\r\n <app-editor-loader></app-editor-loader>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngIf=\"!isPageEmpty() || editorService.currentPageNumber < 0\"\r\n >\r\n <div class=\"editor-section\">\r\n <div class=\"editor-section-body vx-d-flex\">\r\n <app-toolkit\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-toolkit>\r\n\r\n <div class=\"editor-section-inner\">\r\n <app-welcome-thankyou\r\n *ngIf=\"editorService.stepIdentifier == 'welcomescreen'\"\r\n [entityData]=\"editorService?.formsPage\"\r\n [service]=\"editorService\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation('welcome')\"\r\n ></app-welcome-thankyou>\r\n <!-- <app-preview-welcome></app-preview-welcome> -->\r\n <ng-container\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n >\r\n <button\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showAddPageOption\r\n \"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"addPageDetails()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\"></i> PAGE TITLE\r\n </button>\r\n <app-page-header\r\n (edit)=\"addPageDetails()\"\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showPageDetails\r\n \"\r\n [pageName]=\"editorService.currentPageDetails.pageName\"\r\n [pageDescription]=\"\r\n editorService.currentPageDetails.pageDescription\r\n \"\r\n ></app-page-header>\r\n <ng-container\r\n *ngFor=\"\r\n let question of editorService.formsPage.elements;\r\n let questionIndex = index\r\n \"\r\n >\r\n <ng-container\r\n *ngIf=\"\r\n question.page === editorService.currentPageNumber &&\r\n editorService.stepIdentifier == 'pagescreen'\r\n \"\r\n >\r\n <app-editor-wrapper\r\n *ngIf=\"editorService.activeQuestion === questionIndex\"\r\n [service]=\"editorService\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n [openPortal]=\"openPortal\"\r\n (validQuestionData)=\"checkforError($event)\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation($event)\"\r\n (copyQuestion)=\"editorService.copyQuestion($event)\"\r\n ></app-editor-wrapper>\r\n <app-preview-wrapper\r\n *ngIf=\"editorService.activeQuestion !== questionIndex\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n (makeActiveQuestion)=\"\r\n editorService.activeQuestion = $event\r\n \"\r\n ></app-preview-wrapper>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"next-question-area\">\r\n <button\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"openQuestion()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\"></i> NEXT QUESTION\r\n </button>\r\n <div class=\"next-question-popup vx-p-3\" *ngIf=\"hideQuestion\">\r\n <app-question-type\r\n (addQuestion)=\"\r\n editorService.addQuestion($event); closeQuestion()\r\n \"\r\n ></app-question-type>\r\n </div>\r\n <div\r\n class=\"overlay\"\r\n *ngIf=\"hideQuestion\"\r\n (click)=\"closeQuestion()\"\r\n ></div>\r\n </div>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"addNewPage()\"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\"></i> ADD NEW PAGE\r\n </button>\r\n </ng-container>\r\n </div>\r\n\r\n <div\r\n class=\"right-side-btn\"\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n >\r\n <button\r\n *ngIf=\"!expandPage\"\r\n (click)=\"clickExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Expand Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"expandPage\"\r\n (click)=\"closeExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Shrink Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n (click)=\"deletePage()\"\r\n class=\"delete-btn vx-fs-14 vx-txt-red vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Delete Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"editor-section-footer vx-d-flex vx-align-center vx-justify-center vx-mt-4\"\r\n >\r\n <button\r\n (click)=\"setIsUploaded.emit(false)\"\r\n class=\"cancel-btn vx-fs-14 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('DRAFT')\"\r\n [class.disabled]=\"assessmentCurrentState === 'ACTIVE'\"\r\n class=\"white-btn vx-fs-14 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n SAVE AS DRAFT\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n PUBLISH\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n NEXT <i class=\"icons\"></i>\r\n </button>\r\n <!-- <button (click)=\"pageMode = 'PREVIEW'\" class=\"preview-btn vx-fs-20 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Preview'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\"></i></button> -->\r\n <button\r\n *ngIf=\"false\"\r\n class=\"close-btn vx-fs-12 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Close'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- <app-assessment-preview-container *ngIf=\"pageMode === 'PREVIEW'\" [questionDetails]=\"editorService.formsPage\"></app-assessment-preview-container> -->\r\n</ng-container>\r\n\r\n<!-- <app-editor-loader *ngIf=\"!isLoaded\"></app-editor-loader> -->\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";.create-assessment-container{position:relative}.create-assessment-container.full-page{position:fixed;inset:0;width:100vw;height:100vh;margin:0!important;z-index:9}.create-assessment-container.full-page .create-assessment-head{border-radius:0}.create-assessment-container.full-page .create-assessment-body{border-radius:0;height:calc(100vh - 2.5rem)}.create-assessment-container.full-page .create-assessment-body .editor-section-body .right-side-btn{top:4.75rem;right:5rem}.create-assessment-container.full-page .create-assessment-body .editor-section-footer{border-radius:0}.create-assessment-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1;position:relative}.create-assessment-head:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}.create-assessment-head .left{width:calc(100% - 22rem)}.create-assessment-head .left i.arrow-back{cursor:pointer}.create-assessment-head .left .heading{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 10rem)}.create-assessment-head .left button.edit-btn{background:transparent;border:none;border-radius:0}.create-assessment-head .left.with-template-btn{width:calc(100% - 30rem)}.create-assessment-head .right button.page-dropdown{background:#fff;border-radius:.125rem;border:1px solid #BCBCBC;position:relative;height:1.5rem;width:11.5rem}.create-assessment-head .right button.page-dropdown .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.create-assessment-head .right button.page-dropdown .arrow{position:absolute;top:.375rem;right:.5rem}.create-assessment-head .right button.settings-btn{background:#1e5dd3;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-head .right button.template-btn{background:#34aa44;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-body{background:#fff;border-radius:0 0 .125rem .125rem;height:calc(100vh - 2.5rem);scrollbar-width:thin}.create-assessment-body::-webkit-scrollbar-track{background-color:#f1f1f1}.create-assessment-body::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.create-assessment-body app-toolkit{position:sticky;top:0}.create-assessment-body .select-question-part{padding:2rem}.create-assessment-body .select-question-part .question-inner{width:69rem;height:calc(100vh - 11rem);overflow:auto;padding-right:3.75rem;position:relative;left:.625rem}.create-assessment-body .select-question-part .question-inner::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .select-question-part .question-inner .heading{margin-top:4rem;margin-bottom:2rem}.create-assessment-body .select-question-part .floating-bar-container{background:#fff;box-shadow:0 6px 12px #4681ef26;border-radius:4px;border:1px solid #f8f8f8;height:48px;padding:8px 12px;display:flex;justify-content:end;position:relative;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right{display:flex;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right .name{margin-left:15px;color:#707070;font-size:12px;font-weight:500;line-height:18px;display:flex;align-items:center;white-space:nowrap}.create-assessment-body .select-question-part .floating-bar-container .right .name span.required{color:#eb2424;font-size:14px}.create-assessment-body .select-question-part .floating-bar-container .right .name i{margin-left:3px;color:#1e5dd3;cursor:pointer}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select{margin-left:12px;width:125px;display:flex}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box input{height:32px}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box span.arrow{bottom:6px}.create-assessment-body .select-question-part .floating-bar-container .right button{border-radius:2px;height:28px;background:#1e5dd3!important;width:72px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#fff!important;text-transform:uppercase;font-size:11px;font-weight:500;border:1px solid #1e5dd3!important;padding:0;margin:0 0 0 28px}.create-assessment-body .select-question-part .floating-bar-container .right button i{margin-left:8px;font-size:16px}.create-assessment-body .select-question-part .floating-bar-container .right button:disabled{filter:grayscale(1);cursor:not-allowed;opacity:.5;pointer-events:auto}.create-assessment-body .select-question-part .floating-bar-container .right button.cancel{background:transparent!important;border:none!important;color:#eb2424!important;margin-right:0;width:auto;padding:0}.create-assessment-body .editor-section{height:100%}.create-assessment-body .editor-section-body{height:calc(100% - 5.25rem);position:relative;overflow:auto}.create-assessment-body .editor-section-body::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .editor-section-body .right-side-btn{position:fixed;top:180px;right:100px}.create-assessment-body .editor-section-body .right-side-btn button{background:#f8f8f8;border-radius:.125rem;border:none;width:1.5rem;height:1.5rem}.create-assessment-body .editor-section-inner{width:60rem;margin:0 auto;padding:2rem 0;height:100%}@media screen and (max-width: 1366px){.create-assessment-body .editor-section-inner{width:55rem!important}}.create-assessment-body .editor-section-inner .next-question-area{position:relative}.create-assessment-body .editor-section-inner .next-question-area ::ng-deep app-question-type .question-type ul li{width:10rem!important}.create-assessment-body .editor-section-inner .next-question-area .overlay{z-index:8}.create-assessment-body .editor-section-inner .next-question-popup{background:#fff;border-radius:.25rem;box-shadow:0 0 6px #1e5dd326;position:absolute;left:0;right:0;bottom:0;z-index:9}.create-assessment-body .editor-section-footer{background:#fff;border-radius:0 0 .125rem .125rem;box-shadow:0 -3px 6px #1e5dd326;height:4.25rem;position:relative}.create-assessment-body .editor-section-footer button{border-radius:.125rem;width:12.5rem;height:2.75rem;letter-spacing:1.5px}.create-assessment-body .editor-section-footer button.white-btn,.create-assessment-body .editor-section-footer button.cancel-btn{background:#fff;border:1px solid #DBDBDB}.create-assessment-body .editor-section-footer button.blue-btn{background:#1e5dd3;border:none}.create-assessment-body .editor-section-footer button.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}.create-assessment-body .editor-section-footer button.preview-btn{background:#34aa44;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}.create-assessment-body .editor-section-footer button.close-btn{background:#d93b41;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}button.page-title{background:#fff;border:1px dashed #DBDBDB;border-radius:.25rem;height:3.125rem;transition:all .3s ease-in-out}button.page-title:hover{border-color:#1e5dd3;color:#1e5dd3}.page-dropdown-popup{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:11.5rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.page-dropdown-popup ul{list-style-type:none;max-height:12rem;overflow-y:auto}.page-dropdown-popup ul li{border-bottom:1px solid #F1F1F1;list-style-type:none}.page-dropdown-popup ul li:only-child,.page-dropdown-popup ul li:last-of-type{border-bottom:none}.page-dropdown-popup ul li button{background:transparent;border:none;border-radius:0;text-align:left}.page-dropdown-popup ul li button .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.page-dropdown-popup .action-bottom{background:#f8f8f8;border-top:1px solid #F1F1F1;border-radius:0 0 .125rem .125rem}.page-dropdown-popup .action-bottom button{border-radius:.125rem;height:1.5rem}.page-dropdown-popup .action-bottom button.add-page{background:#1e5dd3;border:1px solid #1e5dd3}.page-number{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i7.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "component", type: i9.PreviewWrapperComponent, selector: "app-preview-wrapper", inputs: ["question", "questionIndex"], outputs: ["makeActiveQuestion", "validQuestionData"] }, { kind: "component", type: i10.QuestionTypeComponent, selector: "app-question-type", outputs: ["addQuestion"] }, { kind: "component", type: i11.EditorWrapperComponent, selector: "app-editor-wrapper", inputs: ["openPortal", "questionIndex", "question", "GRS", "service", "editorMode"], outputs: ["validQuestionData", "deleteQuestion", "copyQuestion"] }, { kind: "component", type: i12.ToolkitComponent, selector: "app-toolkit", outputs: ["addQuestion"] }, { kind: "component", type: i13.PageHeaderComponent, selector: "app-page-header", inputs: ["pageName", "pageDescription"], outputs: ["edit"] }, { kind: "component", type: i14.WelcomeThankyouComponent, selector: "app-welcome-thankyou", inputs: ["service", "entityData"], outputs: ["deleteQuestion"] }] }); }
|
|
473
|
+
}
|
|
474
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateAssessmentContainerComponent, decorators: [{
|
|
475
|
+
type: Component,
|
|
476
|
+
args: [{ selector: 'app-create-assessment-container', providers: [EditorService], template: "<ng-container>\r\n <div\r\n *ngIf=\"pageMode === 'EDIT'\"\r\n class=\"create-assessment-container\"\r\n [class.full-page]=\"expandPage\"\r\n >\r\n <div\r\n class=\"create-assessment-head vx-p-2 vx-pl-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"left vx-d-flex vx-align-center\"\r\n [class.with-template-btn]=\"false\"\r\n >\r\n <span\r\n *ngIf=\"assessmentControlId\"\r\n class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-2\"\r\n >{{ assessmentControlId }}</span\r\n >\r\n <i\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"icons arrow-back vx-mr-1\"\r\n (click)=\"setIsUploaded.emit(false)\"\r\n ></i\r\n >\r\n <span\r\n class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\"\r\n [appTooltip]=\"\r\n openPortal === 'RESPONSIBILITY_CHECKPOINT'\r\n ? 'Add Checkpoints'\r\n : assessmentName\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{\r\n openPortal === \"RESPONSIBILITY_CHECKPOINT\"\r\n ? \"Add Checkpoints\"\r\n : assessmentName\r\n }}</span\r\n >\r\n <!-- <button class=\"edit-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center\"><i class=\"icons\"></i></button> -->\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"page-dropdown vx-p-0 vx-pl-1 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n appPopover\r\n (click)=\"action.popover()\"\r\n placement=\"right\"\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber > 0\"\r\n >PAGE {{ editorService?.currentPageNumber }}</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -1\"\r\n >Welcome Screen</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -2\"\r\n >Thankyou Screen</span\r\n >\r\n <!-- <span class=\"page-number vx-fs-11 vx-paragraph-txt\" *ngIf=\"editorService.stepIdentifier=='pagescreen'\">{{editorService?.currentPageDetails?.pageName}}</span> -->\r\n <i class=\"icons arrow vx-fs-10 vx-paragraph-txt\"></i>\r\n </button>\r\n <app-popover #action>\r\n <div class=\"page-dropdown-popup\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li\r\n class=\"vx-d-flex vx-align-center\"\r\n *ngFor=\"let data of generatePageDropdown()\"\r\n >\r\n <button\r\n class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\"\r\n [innerHTML]=\"data?.template\"\r\n (click)=\"pageChanged(data)\"\r\n >\r\n <!-- <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">PAGE</span>\r\n <span class=\"page-number vx-fs-11 vx-paragraph-txt\">1</span>\r\n {{data|json}} -->\r\n </button>\r\n </li>\r\n </ul>\r\n <div\r\n class=\"action-bottom vx-d-flex vx-align-center vx-justify-end vx-p-2\"\r\n >\r\n <button\r\n (click)=\"addNewPage()\"\r\n class=\"add-page vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n ADD NEW PAGE\r\n </button>\r\n </div>\r\n </div>\r\n </app-popover>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"settings-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n (click)=\"assessmentSettings()\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\"></i> ASSESSMENT\r\n SETTINGS\r\n </button>\r\n <button\r\n *ngIf=\"false\"\r\n class=\"template-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\"></i> SAVE AS\r\n TEMPLATE\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"create-assessment-body\">\r\n <ng-container *ngIf=\"editorService.stepIdentifier == 'pagescreen'\">\r\n <div *ngIf=\"isPageEmpty()\" class=\"select-question-part\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"question-inner vx-pl-5 vx-mb-4\">\r\n <!-- <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\"></i> PAGE TITLE</button> -->\r\n <div\r\n class=\"heading vx-fs-18 vx-paragraph-txt vx-text-center vx-w-100\"\r\n >\r\n Select a question type to begin:\r\n </div>\r\n <app-question-type\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-question-type>\r\n </div>\r\n </div>\r\n\r\n <div class=\"floating-bar\">\r\n <div class=\"floating-bar-container\">\r\n <div class=\"right\">\r\n <button class=\"cancel\" (click)=\"setIsUploaded.emit(false)\">\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <ng-template #elseBlock>\r\n <div>\r\n <app-editor-loader></app-editor-loader>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngIf=\"!isPageEmpty() || editorService.currentPageNumber < 0\"\r\n >\r\n <div class=\"editor-section\">\r\n <div class=\"editor-section-body vx-d-flex\">\r\n <app-toolkit\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-toolkit>\r\n\r\n <div class=\"editor-section-inner\">\r\n <app-welcome-thankyou\r\n *ngIf=\"editorService.stepIdentifier == 'welcomescreen'\"\r\n [entityData]=\"editorService?.formsPage\"\r\n [service]=\"editorService\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation('welcome')\"\r\n ></app-welcome-thankyou>\r\n <!-- <app-preview-welcome></app-preview-welcome> -->\r\n <ng-container\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n >\r\n <button\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showAddPageOption\r\n \"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"addPageDetails()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\"></i> PAGE TITLE\r\n </button>\r\n <app-page-header\r\n (edit)=\"addPageDetails()\"\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showPageDetails\r\n \"\r\n [pageName]=\"editorService.currentPageDetails.pageName\"\r\n [pageDescription]=\"\r\n editorService.currentPageDetails.pageDescription\r\n \"\r\n ></app-page-header>\r\n <ng-container\r\n *ngFor=\"\r\n let question of editorService.formsPage.elements;\r\n let questionIndex = index\r\n \"\r\n >\r\n <ng-container\r\n *ngIf=\"\r\n question.page === editorService.currentPageNumber &&\r\n editorService.stepIdentifier == 'pagescreen'\r\n \"\r\n >\r\n <app-editor-wrapper\r\n *ngIf=\"editorService.activeQuestion === questionIndex\"\r\n [service]=\"editorService\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n [openPortal]=\"openPortal\"\r\n (validQuestionData)=\"checkforError($event)\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation($event)\"\r\n (copyQuestion)=\"editorService.copyQuestion($event)\"\r\n ></app-editor-wrapper>\r\n <app-preview-wrapper\r\n *ngIf=\"editorService.activeQuestion !== questionIndex\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n (makeActiveQuestion)=\"\r\n editorService.activeQuestion = $event\r\n \"\r\n ></app-preview-wrapper>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"next-question-area\">\r\n <button\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"openQuestion()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\"></i> NEXT QUESTION\r\n </button>\r\n <div class=\"next-question-popup vx-p-3\" *ngIf=\"hideQuestion\">\r\n <app-question-type\r\n (addQuestion)=\"\r\n editorService.addQuestion($event); closeQuestion()\r\n \"\r\n ></app-question-type>\r\n </div>\r\n <div\r\n class=\"overlay\"\r\n *ngIf=\"hideQuestion\"\r\n (click)=\"closeQuestion()\"\r\n ></div>\r\n </div>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"addNewPage()\"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\"></i> ADD NEW PAGE\r\n </button>\r\n </ng-container>\r\n </div>\r\n\r\n <div\r\n class=\"right-side-btn\"\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n >\r\n <button\r\n *ngIf=\"!expandPage\"\r\n (click)=\"clickExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Expand Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"expandPage\"\r\n (click)=\"closeExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Shrink Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n (click)=\"deletePage()\"\r\n class=\"delete-btn vx-fs-14 vx-txt-red vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Delete Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"editor-section-footer vx-d-flex vx-align-center vx-justify-center vx-mt-4\"\r\n >\r\n <button\r\n (click)=\"setIsUploaded.emit(false)\"\r\n class=\"cancel-btn vx-fs-14 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('DRAFT')\"\r\n [class.disabled]=\"assessmentCurrentState === 'ACTIVE'\"\r\n class=\"white-btn vx-fs-14 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n SAVE AS DRAFT\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n PUBLISH\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n NEXT <i class=\"icons\"></i>\r\n </button>\r\n <!-- <button (click)=\"pageMode = 'PREVIEW'\" class=\"preview-btn vx-fs-20 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Preview'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\"></i></button> -->\r\n <button\r\n *ngIf=\"false\"\r\n class=\"close-btn vx-fs-12 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Close'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- <app-assessment-preview-container *ngIf=\"pageMode === 'PREVIEW'\" [questionDetails]=\"editorService.formsPage\"></app-assessment-preview-container> -->\r\n</ng-container>\r\n\r\n<!-- <app-editor-loader *ngIf=\"!isLoaded\"></app-editor-loader> -->\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";.create-assessment-container{position:relative}.create-assessment-container.full-page{position:fixed;inset:0;width:100vw;height:100vh;margin:0!important;z-index:9}.create-assessment-container.full-page .create-assessment-head{border-radius:0}.create-assessment-container.full-page .create-assessment-body{border-radius:0;height:calc(100vh - 2.5rem)}.create-assessment-container.full-page .create-assessment-body .editor-section-body .right-side-btn{top:4.75rem;right:5rem}.create-assessment-container.full-page .create-assessment-body .editor-section-footer{border-radius:0}.create-assessment-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1;position:relative}.create-assessment-head:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}.create-assessment-head .left{width:calc(100% - 22rem)}.create-assessment-head .left i.arrow-back{cursor:pointer}.create-assessment-head .left .heading{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 10rem)}.create-assessment-head .left button.edit-btn{background:transparent;border:none;border-radius:0}.create-assessment-head .left.with-template-btn{width:calc(100% - 30rem)}.create-assessment-head .right button.page-dropdown{background:#fff;border-radius:.125rem;border:1px solid #BCBCBC;position:relative;height:1.5rem;width:11.5rem}.create-assessment-head .right button.page-dropdown .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.create-assessment-head .right button.page-dropdown .arrow{position:absolute;top:.375rem;right:.5rem}.create-assessment-head .right button.settings-btn{background:#1e5dd3;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-head .right button.template-btn{background:#34aa44;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-body{background:#fff;border-radius:0 0 .125rem .125rem;height:calc(100vh - 2.5rem);scrollbar-width:thin}.create-assessment-body::-webkit-scrollbar-track{background-color:#f1f1f1}.create-assessment-body::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.create-assessment-body app-toolkit{position:sticky;top:0}.create-assessment-body .select-question-part{padding:2rem}.create-assessment-body .select-question-part .question-inner{width:69rem;height:calc(100vh - 11rem);overflow:auto;padding-right:3.75rem;position:relative;left:.625rem}.create-assessment-body .select-question-part .question-inner::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .select-question-part .question-inner .heading{margin-top:4rem;margin-bottom:2rem}.create-assessment-body .select-question-part .floating-bar-container{background:#fff;box-shadow:0 6px 12px #4681ef26;border-radius:4px;border:1px solid #f8f8f8;height:48px;padding:8px 12px;display:flex;justify-content:end;position:relative;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right{display:flex;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right .name{margin-left:15px;color:#707070;font-size:12px;font-weight:500;line-height:18px;display:flex;align-items:center;white-space:nowrap}.create-assessment-body .select-question-part .floating-bar-container .right .name span.required{color:#eb2424;font-size:14px}.create-assessment-body .select-question-part .floating-bar-container .right .name i{margin-left:3px;color:#1e5dd3;cursor:pointer}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select{margin-left:12px;width:125px;display:flex}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box input{height:32px}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box span.arrow{bottom:6px}.create-assessment-body .select-question-part .floating-bar-container .right button{border-radius:2px;height:28px;background:#1e5dd3!important;width:72px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#fff!important;text-transform:uppercase;font-size:11px;font-weight:500;border:1px solid #1e5dd3!important;padding:0;margin:0 0 0 28px}.create-assessment-body .select-question-part .floating-bar-container .right button i{margin-left:8px;font-size:16px}.create-assessment-body .select-question-part .floating-bar-container .right button:disabled{filter:grayscale(1);cursor:not-allowed;opacity:.5;pointer-events:auto}.create-assessment-body .select-question-part .floating-bar-container .right button.cancel{background:transparent!important;border:none!important;color:#eb2424!important;margin-right:0;width:auto;padding:0}.create-assessment-body .editor-section{height:100%}.create-assessment-body .editor-section-body{height:calc(100% - 5.25rem);position:relative;overflow:auto}.create-assessment-body .editor-section-body::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .editor-section-body .right-side-btn{position:fixed;top:180px;right:100px}.create-assessment-body .editor-section-body .right-side-btn button{background:#f8f8f8;border-radius:.125rem;border:none;width:1.5rem;height:1.5rem}.create-assessment-body .editor-section-inner{width:60rem;margin:0 auto;padding:2rem 0;height:100%}@media screen and (max-width: 1366px){.create-assessment-body .editor-section-inner{width:55rem!important}}.create-assessment-body .editor-section-inner .next-question-area{position:relative}.create-assessment-body .editor-section-inner .next-question-area ::ng-deep app-question-type .question-type ul li{width:10rem!important}.create-assessment-body .editor-section-inner .next-question-area .overlay{z-index:8}.create-assessment-body .editor-section-inner .next-question-popup{background:#fff;border-radius:.25rem;box-shadow:0 0 6px #1e5dd326;position:absolute;left:0;right:0;bottom:0;z-index:9}.create-assessment-body .editor-section-footer{background:#fff;border-radius:0 0 .125rem .125rem;box-shadow:0 -3px 6px #1e5dd326;height:4.25rem;position:relative}.create-assessment-body .editor-section-footer button{border-radius:.125rem;width:12.5rem;height:2.75rem;letter-spacing:1.5px}.create-assessment-body .editor-section-footer button.white-btn,.create-assessment-body .editor-section-footer button.cancel-btn{background:#fff;border:1px solid #DBDBDB}.create-assessment-body .editor-section-footer button.blue-btn{background:#1e5dd3;border:none}.create-assessment-body .editor-section-footer button.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}.create-assessment-body .editor-section-footer button.preview-btn{background:#34aa44;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}.create-assessment-body .editor-section-footer button.close-btn{background:#d93b41;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}button.page-title{background:#fff;border:1px dashed #DBDBDB;border-radius:.25rem;height:3.125rem;transition:all .3s ease-in-out}button.page-title:hover{border-color:#1e5dd3;color:#1e5dd3}.page-dropdown-popup{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:11.5rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.page-dropdown-popup ul{list-style-type:none;max-height:12rem;overflow-y:auto}.page-dropdown-popup ul li{border-bottom:1px solid #F1F1F1;list-style-type:none}.page-dropdown-popup ul li:only-child,.page-dropdown-popup ul li:last-of-type{border-bottom:none}.page-dropdown-popup ul li button{background:transparent;border:none;border-radius:0;text-align:left}.page-dropdown-popup ul li button .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.page-dropdown-popup .action-bottom{background:#f8f8f8;border-top:1px solid #F1F1F1;border-radius:0 0 .125rem .125rem}.page-dropdown-popup .action-bottom button{border-radius:.125rem;height:1.5rem}.page-dropdown-popup .action-bottom button.add-page{background:#1e5dd3;border:1px solid #1e5dd3}.page-number{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}\n"] }]
|
|
477
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.EditorService }, { type: i3.ActivatedRoute }, { type: i4.SnackBarService }, { type: i3.Router }]; }, propDecorators: { openPortal: [{
|
|
478
|
+
type: Input
|
|
479
|
+
}], setIsUploaded: [{
|
|
480
|
+
type: Output
|
|
481
|
+
}], postAssessment: [{
|
|
482
|
+
type: Output
|
|
483
|
+
}], assessmentData: [{
|
|
484
|
+
type: Input,
|
|
485
|
+
args: ['assessmentJSON']
|
|
486
|
+
}], checkpointData: [{
|
|
487
|
+
type: Input,
|
|
488
|
+
args: ['checkpointJSON']
|
|
489
|
+
}], onKeydownHandler: [{
|
|
490
|
+
type: HostListener,
|
|
491
|
+
args: ['document:keydown.escape', ['$event']]
|
|
492
|
+
}] } });
|
|
493
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtZWRpdG9yL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDcEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFFOUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdURBQXVELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFReEYsTUFBTSxPQUFPLGtDQUFrQztJQWdCN0MsSUFBNkIsY0FBYyxDQUFDLEtBQVU7UUFDcEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUE2QixjQUFjLENBQUMsS0FBVTtRQUNwRCxJQUFJLENB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QkFDaEQsQ0FBQyxDQUFDO3FCQUNKO2dCQUNILENBQUM7YUFDRixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJO2dCQUNWLGlCQUFpQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUzthQUNoRCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7K0dBM2hCVSxrQ0FBa0M7bUdBQWxDLGtDQUFrQywyV0FGbEMsQ0FBQyxhQUFhLENBQUMsMEJDdkI1QiwwaWdCQTRWQTs7NEZEblVhLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSxpQ0FBaUMsYUFHaEMsQ0FBQyxhQUFhLENBQUM7Z05BYWpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUVzQixjQUFjO3NCQUExQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFHTSxjQUFjO3NCQUExQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFNOEIsZ0JBQWdCO3NCQUFwRSxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRQYWdlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWRkLXBhZ2UtZGV0YWlscy9hZGQtcGFnZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXNzZXNzbWVudC1zZXR0aW5ncy9hc3Nlc3NtZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IERlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9hY3Rpb24tZGlhbG9nL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L2FjdGlvbi1kaWFsb2cvYWN0aXZlL2FjdGl2ZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnXSxcclxuICBwcm92aWRlcnM6IFtFZGl0b3JTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZUFzc2Vzc21lbnRDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNob3dDb2xsYXBzZSA9IGZhbHNlO1xyXG4gIGV4cGFuZFBhZ2UgPSBmYWxzZTtcclxuICBoaWRlUXVlc3Rpb24gPSBmYWxzZTtcclxuICBhc3Nlc3NtZW50SWQgPSAnJztcclxuICBhc3Nlc3NtZW50TmFtZSA9ICcnO1xyXG4gIGFzc2Vzc21lbnRDYXRlZ29yeSA9ICcnO1xyXG4gIGFzc2Vzc21lbnRDb250cm9sSWQgPSAnJztcclxuICBhc3Nlc3NtZW50Q3VycmVudFN0YXRlID0gJ0RSQUZUJztcclxuICBwYWdlTW9kZTogJ0VESVQnIHwgJ1BSRVZJRVcnID0gJ0VESVQnO1xyXG4gIGlzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgb3BlblBvcnRhbDogJ0FTU0VTU01FTlRfSU1QT1JUJyB8ICdSRVNQT05TSUJJTElUWV9DSEVDS1BPSU5UJyB8ICcnID1cclxuICAgICcnO1xyXG4gIEBPdXRwdXQoKSBzZXRJc1VwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwb3N0QXNzZXNzbWVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCdhc3Nlc3NtZW50SlNPTicpIHNldCBhc3Nlc3NtZW50RGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVBc3Nlc3NtZW50KHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KCdjaGVja3BvaW50SlNPTicpIHNldCBjaGVja3BvaW50RGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDaGVja3BvaW50KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qIFdoZW4gdGhlIFwiRXNjYXBlXCIga2V5IGlzIHByZXNzZWQsIGl0IGVtaXRzIGFuIGV2ZW50IHRvIHNldCB0aGUgdmFsdWUgb2YgXCJpc1VwbG9hZGVkXCIgdG9cclxuICBmYWxzZS4gYW5kIGxlZnQgcG9wdXAgd2lsbCBjbG9zZS4gKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoXHJcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudFxyXG4gICkge1xyXG4gICAgdGhpcy5zZXRJc1VwbG9hZGVkLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSAgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWRkUGFnZSgpO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLm51bWJlck9mUGFnZXMoKTtcclxuICAgIC8vIHRoaXMuaW5pdGlhbGl6ZUFzc2Vzc21lbnQoKTtcclxuICB9XHJcbiAgdHJpZ2dlclByZXZpZXdXaXRoVmFsaWRhdGlvbigpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICB9XHJcbiAgaW5pdGlhbGl6ZUFzc2Vzc21lbnQoYXNzZXNzbWVudERhdGE6IGFueSkge1xyXG4gICAgaWYgKGFzc2Vzc21lbnREYXRhKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UgPSBhc3Nlc3NtZW50RGF0YS5hc3Nlc3NtZW50RGF0YTtcclxuICAgICAgdGhpcy5hc3Nlc3NtZW50TmFtZSA9IGFzc2Vzc21lbnREYXRhLm1ldGFkYXRhLmFzc2Vzc21lbnRfbmFtZTtcclxuICAgICAgdGhpcy5hc3Nlc3NtZW50Q2F0ZWdvcnkgPSBhc3Nlc3NtZW50RGF0YS5tZXRhZGF0YS5jYXRlZ29yeV9hcnI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ2hlY2twb2ludChjaGVja3BvaW50RGF0YTogYW55KSB7XHJcbiAgICBpZiAoY2hlY2twb2ludERhdGEgJiYgT2JqZWN0LmtleXMoY2hlY2twb2ludERhdGEpPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UgPSBjaGVja3BvaW50RGF0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFsbFBhZ2VzKCkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gW1xyXG4gICAgICAuLi5uZXcgU2V0KFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubWFwKChlbGU6IGFueSkgPT4gZWxlLnBhZ2UpXHJcbiAgICAgICksXHJcbiAgICBdO1xyXG4gICAgdGhpcy5nZXRQYWdlTmFtZSgxKTtcclxuICB9XHJcblxyXG4gIGFkZFBhZ2VEZXRhaWxzKCkge1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2cub3BlbihBZGRQYWdlRGV0YWlsc0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcGFnZTogdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyLFxyXG4gICAgICAgIHBhZ2VEZXRhaWxzOiB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzLFxyXG4gICAgICAgIHJlZjogdGhpcy5lZGl0b3JTZXJ2aWNlLFxyXG4gICAgICB9LFxyXG4gICAgICBwb3NpdGlvbjogJ1JJR0hUJyxcclxuICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgIH0pO1xyXG4gICAgcmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVQYWdlRHJvcGRvd24oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVudGl0eVNldHRpbmdzOiBhbnkgPSB7XHJcbiAgICBwYW5lbFRpdGxlOiAnJyxcclxuICB9O1xyXG5cclxuICBhc3Nlc3NtZW50U2V0dGluZ3MoKSB7XHJcbiAgICB0aGlzLmVudGl0eVNldHRpbmdzID0gdGhpcy5nZXRTZXR0aW5nc0RhdGEoKTtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXNzZXNzbWVudFNldHRpbmdzQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgc2V0dGluZ3M6IHRoaXMuZW50aXR5U2V0dGluZ3MsIHNlcnZpY2U6IHRoaXMuZWRpdG9yU2VydmljZSB9LFxyXG4gICAgICBwb3NpdGlvbjogJ1JJR0hUJyxcclxuICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2V0dGluZ3NEYXRhKCkge1xyXG4gICAgbGV0IHNldHRpbmdzOiBhbnkgPSB7XHJcbiAgICAgIHBhbmVsVGl0bGU6IGBBc3Nlc3NtZW50IHNldHRpbmdzYCxcclxuXHJcbiAgICAgIHNldHRpbmdzRWxlbWVudHM6IFtdLFxyXG4gICAgfTtcclxuICAgIHNldHRpbmdzLnNldHRpbmdzRWxlbWVudHMucHVzaCh7XHJcbiAgICAgIHR5cGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgZW50aXR5VHlwZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICAgIGlzRW5hYmxlZDogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5zZXR0aW5ncy5hc3Nlc3NtZW50TW9kZSxcclxuICAgICAgaGVscGluZ1RleHQ6XHJcbiAgICAgICAgJ1lvdSBjYW4gY29uZmlndXJlIHNjb3JlcyBmb3IgdGhlIHF1ZXN0aW9ucyBhbmQgYW5hbHl6ZSB0aGUgcmVzcG9uc2VzIHN1Ym1pdHRlZCBieSB0aGUgcmVzcG9uZGVudCBiYXNlZCBvbiB0aGVzZSBzY29yZXMuJyxcclxuICAgICAgZGVmYXVsdFNjb3JlOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLmRlZmF1bHRTY29yZSxcclxuICAgICAgbmVnYXRpdmVTY29yZUNyaXRlcmlhOlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3MubmVnYXRpdmVTY29yZUNyaXRlcmlhLFxyXG4gICAgICBuZWdhdGl2ZVNjb3JlOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLm5lZ2F0aXZlU2NvcmUsXHJcbiAgICAgIHdlaWdodGFnZUVuYWJsZWQ6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3Mud2VpZ2h0YWdlRW5hYmxlZCxcclxuICAgICAgc2V0dGluZ1RpdGxlOiAnQVNTRVNTTUVOVCBNT0RFJyxcclxuICAgICAgc2V0dGluZ0VuYWJsZVRleHQ6IGBFbmFibGUgYXNzZXNzbWVudCBtb2RlIGZvciB0aGlzIGFzc2Vzc21lbnRgLFxyXG4gICAgICB1cGRhdGVUeXBlOiAnTEFaWScsXHJcbiAgICB9KTtcclxuICAgIHNldHRpbmdzLnNldHRpbmdzRWxlbWVudHMucHVzaCh7XHJcbiAgICAgIHR5cGU6ICdSRVNQT05TRV9TRUdNRU5UJyxcclxuICAgICAgZW50aXR5VHlwZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICBoZWxwaW5nVGV4dDpcclxuICAgICAgICAnUmVzcG9uc2Ugc2VnbWVudHMgbGV0IHlvdSBkaXZpZGUgdGhlIHJlc3BvbnNlcyBpbnRvIHNlcGFyYXRlIHBhcnRzIG9yIHNlY3Rpb25zIGZvciBlYXNpZXIgYW5hbHlzaXMgb2YgZGF0YSBhbmQgYXNzaXN0IGluIGRlY2lzaW9uIG1ha2luZy4nLFxyXG4gICAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICAgIGlzRW5hYmxlZDpcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnJlc3BvbnNlU2VnbWVudFsnaXNFbmFibGVkJ10gPz8gZmFsc2UsXHJcbiAgICAgIHNldHRpbmdUaXRsZTogJ1JFU1BPTlNFIFNFR01FTlRTJyxcclxuICAgICAgc2V0dGluZ0VuYWJsZVRleHQ6IGBDb25maWd1cmUgUmVzcG9uc2UgU2VnbWVudHMgZm9yIHRoaXMgYXNzZXNzbWVudGAsXHJcbiAgICAgIHVwZGF0ZVR5cGU6ICdMQVpZJyxcclxuICAgICAgc2VnbWVudERhdGE6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucmVzcG9uc2VTZWdtZW50LFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICBjbGlja0NvbGxhcHNlKCkge1xyXG4gICAgdGhpcy5zaG93Q29sbGFwc2UgPSAhdGhpcy5zaG93Q29sbGFwc2U7XHJcbiAgfVxyXG5cclxuICBjbGlja0V4cGFuZCgpIHtcclxuICAgIHRoaXMuZXhwYW5kUGFnZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZUV4cGFuZCgpIHtcclxuICAgIHRoaXMuZXhwYW5kUGFnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUGFnZSgpIHtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGVsZXRlQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgbWVzc2FnZTogYFRoaXMgYWN0aW9uIHdpbGwgPHN0cm9uZz5yZW1vdmU8L3N0cm9uZz4gdGhpcyBwYWdlLmAgfSxcclxuICAgICAgcG9zaXRpb246ICdDRU5URVInLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnYmxhY2snLFxyXG4gICAgfSk7XHJcbiAgICByZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVBhZ2VDb25maXJtKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVBhZ2VDb25maXJtKGNvbmZpcm1EZWxldGU6IGFueSkge1xyXG4gICAgaWYgKGNvbmZpcm1EZWxldGUpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzLmZpbHRlcihcclxuICAgICAgICAocGFnZU51bTogYW55KSA9PiBwYWdlTnVtICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gdGhpcy51cGRhdGVQYWdlTnVtYmVyc0ZvckFsbFBhZ2VzKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlc1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdCA9XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QuZmlsdGVyKFxyXG4gICAgICAgICAgKHBhZ2VEZXRhaWw6IGFueSkgPT5cclxuICAgICAgICAgICAgcGFnZURldGFpbC5wYWdlTnVtYmVyICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXJcclxuICAgICAgICApO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdCA9XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYWdlTnVtYmVyRm9yUGFnZURldGFpbHMoXHJcbiAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdFxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMgPVxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMuZmlsdGVyKFxyXG4gICAgICAgICAgKGVsZW1lbnREZXRhaWw6IGFueSkgPT5cclxuICAgICAgICAgICAgZWxlbWVudERldGFpbC5wYWdlICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXJcclxuICAgICAgICApO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzID0gdGhpcy51cGRhdGVQYWdlTnVtYmVyRm9yUXVlc3Rpb25zKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHNcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA+IDEpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgLT0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldFBhZ2VOYW1lKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgICAgIHRoaXMuY2hlY2tGb3JQYWdlRGV0YWlscygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBhZ2VOdW1iZXJzRm9yQWxsUGFnZXMoYXJyYXlUb0JlVXBkYXRlZDogYW55KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5VG9CZVVwZGF0ZWQubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgPj0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyIC0gMSkge1xyXG4gICAgICAgIGFycmF5VG9CZVVwZGF0ZWRbaV0gLT0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFycmF5VG9CZVVwZGF0ZWQ7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQYWdlTnVtYmVyRm9yUGFnZURldGFpbHMoYXJyYXlUb0JlVXBkYXRlZDogYW55KSB7XHJcbiAgICBhcnJheVRvQmVVcGRhdGVkLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlbWVudC5wYWdlTnVtYmVyID49IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcikge1xyXG4gICAgICAgIGVsZW1lbnQucGFnZU51bWJlciAtPSAxO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheVRvQmVVcGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGFnZU51bWJlckZvclF1ZXN0aW9ucyhhcnJheVRvQmVVcGRhdGVkOiBhbnkpIHtcclxuICAgIGFycmF5VG9CZVVwZGF0ZWQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LnBhZ2UgPj0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSB7XHJcbiAgICAgICAgZWxlbWVudC5wYWdlIC09IDE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFycmF5VG9CZVVwZGF0ZWQ7XHJcbiAgfVxyXG5cclxuICBvcGVuUXVlc3Rpb24oKSB7XHJcbiAgICB0aGlzLmhpZGVRdWVzdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZVF1ZXN0aW9uKCkge1xyXG4gICAgdGhpcy5oaWRlUXVlc3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVF1ZXN0aW9uV2l0aFZhbGlkYXRpb24oaW5kZXg6IGFueSkge1xyXG4gICAgaWYgKGluZGV4ID09PSAnd2VsY29tZScpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IDE7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9ICdwYWdlc2NyZWVuJztcclxuICAgIH1cclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5kZWxldGVRdWVzdGlvbihpbmRleCk7XHJcbiAgfVxyXG5cclxuICBjaGVja2ZvckVycm9yKG1vZGU/OiBhbnkpIHtcclxuICAgIGNvbnN0IGVycm9yUXVlc3Rpb25JbmRleCA9IHRoaXMuZWRpdG9yU2VydmljZT8uZm9ybXNQYWdlPy5lbGVtZW50cz8uZmluZEluZGV4KFxyXG4gICAgICAoZWxlbWVudDogYW55LCBpbmRleDogYW55KSA9PlxyXG4gICAgICAgIGVsZW1lbnQ/LmVycm9yQXJyYXkgJiZcclxuICAgICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnQ/LmVycm9yQXJyYXkpPy5sZW5ndGggPiAwXHJcbiAgICApO1xyXG4gICAgaWYgKGVycm9yUXVlc3Rpb25JbmRleCA+PSAwKSB7XHJcbiAgICAgIGlmIChtb2RlID09PSAnZnVsbCcpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPVxyXG4gICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50c1tlcnJvclF1ZXN0aW9uSW5kZXhdLnBhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1vZGUgIT09ICdwYXJ0aWFsJykge1xyXG4gICAgICAgIC8vIHRoaXMuZ2V0UGFnZU5hbWUodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gZXJyb3JRdWVzdGlvbkluZGV4O1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoZXJyb3JRdWVzdGlvbkluZGV4KTtcclxuXHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcclxuICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHNbZXJyb3JRdWVzdGlvbkluZGV4XS5uYW1lXHJcbiAgICAgICAgKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICBxdWVzdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMjAwKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW9kZSA9PT0gJ3NhdmUnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAobW9kZSA9PT0gJ3NhdmUnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVBhZ2VEcm9wZG93bigpIHtcclxuICAgIGNvbnN0IGxpc3QgPSBbXTtcclxuICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWUgPT09IHRydWUpIHtcclxuICAgICAgbGlzdC5wdXNoKHtcclxuICAgICAgICB2YWx1ZTogLTEsXHJcbiAgICAgICAgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+V2VsY29tZSBTY3JlZW48L3NwYW4+YCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3MgPT09IHRydWUpIHtcclxuICAgICAgbGlzdC5wdXNoKHtcclxuICAgICAgICB2YWx1ZTogLTIsXHJcbiAgICAgICAgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+VGhhbmsgeW91IFNjcmVlbjwvc3Bhbj5gLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGxpc3QucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6IGVsZW1lbnQsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuZ2V0UGFnZU5hbWVGb3JEcm9wZG93bihlbGVtZW50KSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbGlzdDtcclxuICB9XHJcblxyXG4gIGdldFBhZ2VOYW1lRm9yRHJvcGRvd24ocGFnZU51bWJlcjogYW55KSB7XHJcbiAgICBsZXQgcGFnZVZhbHVlID0gYDxzcGFuIGNsYXNzPVwicGFnZS1udW1iZXJcIj5QYWdlICR7cGFnZU51bWJlcn08L3NwYW4+YDtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0LmZvckVhY2goKHBhZ2VEZXRhaWw6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocGFnZURldGFpbC5wYWdlTnVtYmVyID09PSBwYWdlTnVtYmVyICYmIHBhZ2VEZXRhaWwucGFnZU5hbWUgIT09ICcnKSB7XHJcbiAgICAgICAgcGFnZVZhbHVlID0gYDxzcGFuIGNsYXNzPVwicGFnZS1sYWJlbCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiPlBBR0U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+JHtwYWdlRGV0YWlsLnBhZ2VOdW1iZXJ9PC9zcGFuPmA7XHJcbiAgICAgICAgLy9wYWdlVmFsdWUgPSBgPHNwYW4gY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+UGFnZSA8L3NwYW4+IDxzcGFuICR7cGFnZURldGFpbC5wYWdlTnVtYmVyfTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+ICR7cGFnZURldGFpbC5wYWdlTmFtZX08L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcGFnZVZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcGFnZUNoYW5nZWQoZXZ0OiBhbnkpIHtcclxuICAgIGlmIChldnQudmFsdWUgPT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2V0SWRlbnRpZmllcignd2VsY29tZXNjcmVlbicpO1xyXG4gICAgfSBlbHNlIGlmIChldnQudmFsdWUgPT09IC0yKSB7XHJcbiAgICAgIHRoaXMuc2V0SWRlbnRpZmllcigndGhhbmt5b3VzY3JlZW4nKTtcclxuICAgIH0gZWxzZSBpZiAoZXZ0LnZhbHVlID49IDApIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gZXZ0Py52YWx1ZTtcclxuICAgICAgdGhpcy5zZXRJZGVudGlmaWVyKCdwYWdlc2NyZWVuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRJZGVudGlmaWVyKHNjcmVlbjogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZVRvSW5hY3RpdmUoKTtcclxuICAgIGlmIChzY3JlZW4gPT09ICd3ZWxjb21lc2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAnd2VsY29tZXNjcmVlbic7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IC0xO1xyXG4gICAgfVxyXG4gICAgaWYgKHNjcmVlbiA9PT0gJ3RoYW5reW91c2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAndGhhbmt5b3VzY3JlZW4nO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAtMjtcclxuICAgIH1cclxuICAgIGlmIChzY3JlZW4gPT09ICdwYWdlc2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAncGFnZXNjcmVlbic7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFkZFBhZ2UoKTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAxO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9PT0gLTEgfHxcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPT09IC0yXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9XHJcbiAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMubGVuZ3RoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFBhZ2VOYW1lKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdlTmFtZShwYWdlTnVtYmVyOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMgPSB7XHJcbiAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgcGFnZU51bWJlcjogMCxcclxuICAgICAgcGFnZURlc2NyaXB0aW9uOiAnJyxcclxuICAgIH07XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdC5mb3JFYWNoKChwYWdlRGV0YWlsOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHBhZ2VEZXRhaWwucGFnZU51bWJlciA9PT0gcGFnZU51bWJlcikge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZU51bWJlciA9XHJcbiAgICAgICAgICBwYWdlRGV0YWlsLnBhZ2VOdW1iZXI7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZSA9IHBhZ2VEZXRhaWwucGFnZU5hbWU7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlRGVzY3JpcHRpb24gPVxyXG4gICAgICAgICAgcGFnZURldGFpbC5wYWdlRGVzY3JpcHRpb247XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5jaGVja0ZvclBhZ2VEZXRhaWxzKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0ZvclBhZ2VEZXRhaWxzKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZSA9PT0gJydcclxuICAgICkge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd0FkZFBhZ2VPcHRpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd1BhZ2VEZXRhaWxzID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd0FkZFBhZ2VPcHRpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dQYWdlRGV0YWlscyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VUb0luYWN0aXZlKCkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTU7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25JbmRleC5uZXh0KC01KTtcclxuICB9XHJcblxyXG4gIGFkZE5ld1BhZ2UoKSB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWRkUGFnZSgpO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscyA9IHtcclxuICAgICAgcGFnZU5hbWU6ICcnLFxyXG4gICAgICBwYWdlTnVtYmVyOiB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIsXHJcbiAgICAgIHBhZ2VEZXNjcmlwdGlvbjogJycsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dQYWdlRGV0YWlscyA9IGZhbHNlO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dBZGRQYWdlT3B0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuZ2VuZXJhdGVQYWdlRHJvcGRvd24oKTtcclxuICB9XHJcblxyXG4gIGNhcGl0YWxpemVTdHJpbmcoc3RyaW5nVmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHN0cmluZ1ZhbHVlWzBdLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmdWYWx1ZS5zbGljZSgxKTtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlUGFnZUNsaWNrKCkge1xyXG4gICAgLy8gdGhpcy5zaG93RGVsZXRlUG9wdXAgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaXNQYWdlRW1wdHkoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFbXHJcbiAgICAgICAgLi4ubmV3IFNldChcclxuICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubWFwKFxyXG4gICAgICAgICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50LnBhZ2VcclxuICAgICAgICAgIClcclxuICAgICAgICApLFxyXG4gICAgICBdLmluY2x1ZGVzKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcilcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdEFmdGVyRXJyb3JDaGVjayhtb2RlOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09PSAnd2VsY29tZXNjcmVlbicgfHxcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09PSAndGhhbmt5b3VzY3JlZW4nXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gMTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID0gJ3BhZ2VzY3JlZW4nO1xyXG4gICAgfVxyXG4gICAgLy90aGlzLnBhZ2VNb2RlID0gJ0VESVQnO1xyXG5cclxuICAgIHRoaXMudmFsaWRhdGVXZWxjb21lVGhhbmtZb3UoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmNoZWNrZm9yRXJyb3IoJ2Z1bGwnKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgcXVlc3Rpb24gb2YgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cykge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAhWydjaGVja2JveCcsICdkcm9wZG93bicsICdtdWx0aXBsZS1jaG9pY2UnXS5pbmNsdWRlcyhxdWVzdGlvbi50eXBlKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi5jaG9pY2VzKSB7XHJcbiAgICAgICAgICAgICAgcXVlc3Rpb24uY2hvaWNlcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuY29sb3IgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjb3JlID0gMTtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuaXNGYWlsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBxdWVzdGlvbi5vdGhlckNvbmZpZyA9IHsgY29sb3I6ICcnLCBpc0ZhaWxlZDogZmFsc2UsIHNjb3JlOiAwIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlKTtcclxuICAgICAgfVxyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlV2VsY29tZVRoYW5rWW91KCkge1xyXG4gICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlO1xyXG4gICAgaWYgKHF1ZXN0aW9uLmhhc1dlbGNvbWUgPT09IHRydWUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1dlbGNvbWVEZXNjcmlwdGlvbiA9PT0gdHJ1ZSAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZURlc2NyaXB0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1dlbGNvbWVJbWFnZSA9PT0gdHJ1ZSAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVJbWFnZSkubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZUltYWdlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24ud2VsY29tZVRleHQpLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVJbWFnZSkubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZURlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWVJbWFnZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChxdWVzdGlvbi5oYXNUaGFua3MgPT09IHRydWUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1RoYW5reW91RGVzY3JpcHRpb24gPT09IHRydWUgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdURlc2NyaXB0aW9uKS5sZW5ndGggPT09IDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdURlc2NyaXB0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1RoYW5reW91SW1hZ2UgPT09IHRydWUgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdUltYWdlKS5sZW5ndGggPT09IDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdUltYWdlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91RGVzY3JpcHRpb24pLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91VGV4dCkubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24udGhhbmt5b3VJbWFnZSkubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmtzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdURlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5reW91SW1hZ2UgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYXZlKG1vZGU6ICdEUkFGVCcgfCAnQUNUSVZFJykge1xyXG4gICAgaWYgKG1vZGUgPT09ICdBQ1RJVkUnICYmIHRoaXMub3BlblBvcnRhbCAhPT0gJ1JFU1BPTlNJQklMSVRZX0NIRUNLUE9JTlQnKSB7XHJcbiAgICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aXZlQ29tcG9uZW50LCB7XHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgbWVzc2FnZTogYE9uY2UgcHVibGlzaGVkLCB0aGlzIGFzc2Vzc21lbnQgd2lsbCBiZSBhY3RpdmUgYW5kIGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggYSBjb21wbGlhbmNlIHJlc3BvbnNpYmlsaXR5LmAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb3NpdGlvbjogJ0NFTlRFUicsXHJcbiAgICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnBvc3RBc3Nlc3NtZW50LmVtaXQoe1xyXG4gICAgICAgICAgICAgIG1vZGU6IG1vZGUsXHJcbiAgICAgICAgICAgICAgYXNzZXNzbWVudERldGFpbHM6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wb3N0QXNzZXNzbWVudC5lbWl0KHtcclxuICAgICAgICBtb2RlOiBtb2RlLFxyXG4gICAgICAgIGFzc2Vzc21lbnREZXRhaWxzOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cInBhZ2VNb2RlID09PSAnRURJVCdcIlxyXG4gICAgY2xhc3M9XCJjcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXJcIlxyXG4gICAgW2NsYXNzLmZ1bGwtcGFnZV09XCJleHBhbmRQYWdlXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY3JlYXRlLWFzc2Vzc21lbnQtaGVhZCB2eC1wLTIgdngtcGwtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImxlZnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgW2NsYXNzLndpdGgtdGVtcGxhdGUtYnRuXT1cImZhbHNlXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAqbmdJZj1cImFzc2Vzc21lbnRDb250cm9sSWRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJpZCB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0yXCJcclxuICAgICAgICAgID57eyBhc3Nlc3NtZW50Q29udHJvbElkIH19PC9zcGFuXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxpXHJcbiAgICAgICAgICAqbmdJZj1cIm9wZW5Qb3J0YWwgPT09ICdSRVNQT05TSUJJTElUWV9DSEVDS1BPSU5UJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImljb25zIGFycm93LWJhY2sgdngtbXItMVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2V0SXNVcGxvYWRlZC5lbWl0KGZhbHNlKVwiXHJcbiAgICAgICAgICA+JiN4ZTkxZDs8L2lcclxuICAgICAgICA+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwiaGVhZGluZyB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxyXG4gICAgICAgICAgICBvcGVuUG9ydGFsID09PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcclxuICAgICAgICAgICAgICA/ICdBZGQgQ2hlY2twb2ludHMnXHJcbiAgICAgICAgICAgICAgOiBhc3Nlc3NtZW50TmFtZVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgPnt7XHJcbiAgICAgICAgICAgIG9wZW5Qb3J0YWwgPT09IFwiUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVFwiXHJcbiAgICAgICAgICAgICAgPyBcIkFkZCBDaGVja3BvaW50c1wiXHJcbiAgICAgICAgICAgICAgOiBhc3Nlc3NtZW50TmFtZVxyXG4gICAgICAgICAgfX08L3NwYW5cclxuICAgICAgICA+XHJcbiAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiZWRpdC1idG4gdngtZnMtMTQgdngtdHh0LWJsdWUgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPjwvYnV0dG9uPiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJwYWdlLWRyb3Bkb3duIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicGFnZS1sYWJlbCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA+IDBcIlxyXG4gICAgICAgICAgICA+UEFHRSB7eyBlZGl0b3JTZXJ2aWNlPy5jdXJyZW50UGFnZU51bWJlciB9fTwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID09PSAtMVwiXHJcbiAgICAgICAgICAgID5XZWxjb21lIFNjcmVlbjwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID09PSAtMlwiXHJcbiAgICAgICAgICAgID5UaGFua3lvdSBTY3JlZW48L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCIgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyPT0ncGFnZXNjcmVlbidcIj57e2VkaXRvclNlcnZpY2U/LmN1cnJlbnRQYWdlRGV0YWlscz8ucGFnZU5hbWV9fTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGFycm93IHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHRcIj4mI3hlOWU4OzwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YXBwLXBvcG92ZXIgI2FjdGlvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLWRyb3Bkb3duLXBvcHVwXCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInZ4LXAtMCB2eC1tLTBcIj5cclxuICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBnZW5lcmF0ZVBhZ2VEcm9wZG93bigpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidngtZC1ibG9jayB2eC1wLTIgdngtbS0wIHZ4LXctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkYXRhPy50ZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwYWdlQ2hhbmdlZChkYXRhKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+UEFHRTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+MTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhfGpzb259fSAtLT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1ib3R0b20gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWVuZCB2eC1wLTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld1BhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZC1wYWdlIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEFERCBORVcgUEFHRVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtbGgtNiB2eC1wLTAgdngtcGwtMiB2eC1wci0yIHZ4LW0tMCB2eC1tbC0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImFzc2Vzc21lbnRTZXR0aW5ncygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyIHZ4LWQtZmxleCB2eC1tci0xXCI+JiN4ZTkxMzs8L2k+IEFTU0VTU01FTlRcclxuICAgICAgICAgIFNFVFRJTkdTXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJmYWxzZVwiXHJcbiAgICAgICAgICBjbGFzcz1cInRlbXBsYXRlLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1saC02IHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbS0wIHZ4LW1sLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1kLWZsZXggdngtbXItMVwiPiYjeGU5ZWQ7PC9pPiBTQVZFIEFTXHJcbiAgICAgICAgICBURU1QTEFURVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNyZWF0ZS1hc3Nlc3NtZW50LWJvZHlcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT0gJ3BhZ2VzY3JlZW4nXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlzUGFnZUVtcHR5KClcIiBjbGFzcz1cInNlbGVjdC1xdWVzdGlvbi1wYXJ0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb24taW5uZXIgdngtcGwtNSB2eC1tYi00XCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwicGFnZS10aXRsZSB2eC1mcy0xMSB2eC1mdy02MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW1sLTEgdngtbXItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LXctMTAwXCIgKGNsaWNrKT1cImFkZFBhZ2VEZXRhaWxzKClcIj48aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2IHZ4LW1yLTFcIj4mI3hlOTBhOzwvaT4gUEFHRSBUSVRMRTwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImhlYWRpbmcgdngtZnMtMTggdngtcGFyYWdyYXBoLXR4dCB2eC10ZXh0LWNlbnRlciB2eC13LTEwMFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgU2VsZWN0IGEgcXVlc3Rpb24gdHlwZSB0byBiZWdpbjpcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLXF1ZXN0aW9uLXR5cGVcclxuICAgICAgICAgICAgICAgIChhZGRRdWVzdGlvbik9XCJlZGl0b3JTZXJ2aWNlLmFkZFF1ZXN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgID48L2FwcC1xdWVzdGlvbi10eXBlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdGluZy1iYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0aW5nLWJhci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxcIiAoY2xpY2spPVwic2V0SXNVcGxvYWRlZC5lbWl0KGZhbHNlKVwiPlxyXG4gICAgICAgICAgICAgICAgICBDYW5jZWxcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVkaXRvci1sb2FkZXI+PC9hcHAtZWRpdG9yLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0lmPVwiIWlzUGFnZUVtcHR5KCkgfHwgZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA8IDBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLXNlY3Rpb24tYm9keSB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgPGFwcC10b29sa2l0XHJcbiAgICAgICAgICAgICAgKGFkZFF1ZXN0aW9uKT1cImVkaXRvclNlcnZpY2UuYWRkUXVlc3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2FwcC10b29sa2l0PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZWN0aW9uLWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgPGFwcC13ZWxjb21lLXRoYW5reW91XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT0gJ3dlbGNvbWVzY3JlZW4nXCJcclxuICAgICAgICAgICAgICAgIFtlbnRpdHlEYXRhXT1cImVkaXRvclNlcnZpY2U/LmZvcm1zUGFnZVwiXHJcbiAgICAgICAgICAgICAgICBbc2VydmljZV09XCJlZGl0b3JTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICAgIChkZWxldGVRdWVzdGlvbik9XCJkZWxldGVRdWVzdGlvbldpdGhWYWxpZGF0aW9uKCd3ZWxjb21lJylcIlxyXG4gICAgICAgICAgICAgID48L2FwcC13ZWxjb21lLXRoYW5reW91PlxyXG4gICAgICAgICAgICAgIDwhLS0gPGFwcC1wcmV2aWV3LXdlbGNvbWU+PC9hcHAtcHJldmlldy13ZWxjb21lPiAtLT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT0gJ3BhZ2VzY3JlZW4nXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9PSAncGFnZXNjcmVlbicgJiZcclxuICAgICAgICAgICAgICAgICAgICBlZGl0b3JTZXJ2aWNlLnNob3dBZGRQYWdlT3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS10aXRsZSB2eC1mcy0xMSB2eC1mdy02MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW1iLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC13LTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRQYWdlRGV0YWlscygpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xNiB2eC1tci0xXCI+JiN4ZTkwYTs8L2k+IFBBR0UgVElUTEVcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wYWdlLWhlYWRlclxyXG4gICAgICAgICAgICAgICAgICAoZWRpdCk9XCJhZGRQYWdlRGV0YWlscygpXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICBlZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09ICdwYWdlc2NyZWVuJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvclNlcnZpY2Uuc2hvd1BhZ2VEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgIFtwYWdlTmFtZV09XCJlZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtwYWdlRGVzY3JpcHRpb25dPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZURlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtcGFnZS1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBxdWVzdGlvbiBvZiBlZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cztcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcXVlc3Rpb25JbmRleCA9IGluZGV4XHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb24ucGFnZSA9PT0gZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9PSAncGFnZXNjcmVlbidcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lZGl0b3Itd3JhcHBlclxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID09PSBxdWVzdGlvbkluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzZXJ2aWNlXT1cImVkaXRvclNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbkluZGV4XT1cInF1ZXN0aW9uSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW29wZW5Qb3J0YWxdPVwib3BlblBvcnRhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAodmFsaWRRdWVzdGlvbkRhdGEpPVwiY2hlY2tmb3JFcnJvcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVRdWVzdGlvbik9XCJkZWxldGVRdWVzdGlvbldpdGhWYWxpZGF0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNvcHlRdWVzdGlvbik9XCJlZGl0b3JTZXJ2aWNlLmNvcHlRdWVzdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9hcHAtZWRpdG9yLXdyYXBwZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1wcmV2aWV3LXdyYXBwZXJcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiAhPT0gcXVlc3Rpb25JbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3F1ZXN0aW9uSW5kZXhdPVwicXVlc3Rpb25JbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAobWFrZUFjdGl2ZVF1ZXN0aW9uKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gJGV2ZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2FwcC1wcmV2aWV3LXdyYXBwZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV4dC1xdWVzdGlvbi1hcmVhXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBhZ2UtdGl0bGUgdngtZnMtMTEgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUXVlc3Rpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2IHZ4LW1yLTFcIj4mI3hlOTBhOzwvaT4gTkVYVCBRVUVTVElPTlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5leHQtcXVlc3Rpb24tcG9wdXAgdngtcC0zXCIgKm5nSWY9XCJoaWRlUXVlc3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLXF1ZXN0aW9uLXR5cGVcclxuICAgICAgICAgICAgICAgICAgICAgIChhZGRRdWVzdGlvbik9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5hZGRRdWVzdGlvbigkZXZlbnQpOyBjbG9zZVF1ZXN0aW9uKClcclxuICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvYXBwLXF1ZXN0aW9uLXR5cGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhpZGVRdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUXVlc3Rpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm9wZW5Qb3J0YWwgIT09ICdSRVNQT05TSUJJTElUWV9DSEVDS1BPSU5UJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROZXdQYWdlKClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInBhZ2UtdGl0bGUgdngtZnMtMTEgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2IHZ4LW1yLTFcIj4mI3hlOTBhOzwvaT4gQUREIE5FVyBQQUdFXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJyaWdodC1zaWRlLWJ0blwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZXhwYW5kUGFnZVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tFeHBhbmQoKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZ1bGxzY3JlZW4tYnRuIHZ4LWZzLTE0IHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1tLTAgdngtbWItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidFeHBhbmQgUGFnZSdcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTQ1OzwvaT5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZFBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRXhwYW5kKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmdWxsc2NyZWVuLWJ0biB2eC1mcy0xNCB2eC10eHQtYmx1ZSB2eC1wLTAgdngtbS0wIHZ4LW1iLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInU2hyaW5rIFBhZ2UnXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxyXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTk0NDs8L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09ICdwYWdlc2NyZWVuJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlUGFnZSgpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ0biB2eC1mcy0xNCB2eC10eHQtcmVkIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInRGVsZXRlIFBhZ2UnXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxyXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyMzs8L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZWRpdG9yLXNlY3Rpb24tZm9vdGVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbXQtNFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0SXNVcGxvYWRlZC5lbWl0KGZhbHNlKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYW5jZWwtYnRuIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC10eHQtcmVkIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW1sLTEgdngtbXItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIENBTkNFTFxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlblBvcnRhbCA9PT0gJ0FTU0VTU01FTlRfSU1QT1JUJ1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdEFmdGVyRXJyb3JDaGVjaygnRFJBRlQnKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImFzc2Vzc21lbnRDdXJyZW50U3RhdGUgPT09ICdBQ1RJVkUnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cIndoaXRlLWJ0biB2eC1mcy0xNCB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtbWwtMSB2eC1tci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgU0FWRSBBUyBEUkFGVFxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlblBvcnRhbCA9PT0gJ0FTU0VTU01FTlRfSU1QT1JUJ1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdEFmdGVyRXJyb3JDaGVjaygnQUNUSVZFJylcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYmx1ZS1idG4gdngtZnMtMTQgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1tbC0xIHZ4LW1yLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBQVUJMSVNIXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsID09PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXRBZnRlckVycm9yQ2hlY2soJ0FDVElWRScpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImJsdWUtYnRuIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtbWwtMSB2eC1tci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgTkVYVCAmbmJzcDs8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZTs8L2k+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b24gKGNsaWNrKT1cInBhZ2VNb2RlID0gJ1BSRVZJRVcnXCIgY2xhc3M9XCJwcmV2aWV3LWJ0biB2eC1mcy0yMCB2eC10eHQtd2hpdGUgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCIgW2FwcFRvb2x0aXBdPVwiJ1ByZXZpZXcnXCIgcGxhY2VtZW50PVwibGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZWFlNTs8L2k+PC9idXR0b24+IC0tPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjbG9zZS1idG4gdngtZnMtMTIgdngtdHh0LXdoaXRlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ0Nsb3NlJ1wiXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPGFwcC1hc3Nlc3NtZW50LXByZXZpZXctY29udGFpbmVyICpuZ0lmPVwicGFnZU1vZGUgPT09ICdQUkVWSUVXJ1wiIFtxdWVzdGlvbkRldGFpbHNdPVwiZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2VcIj48L2FwcC1hc3Nlc3NtZW50LXByZXZpZXctY29udGFpbmVyPiAtLT5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48IS0tIDxhcHAtZWRpdG9yLWxvYWRlciAqbmdJZj1cIiFpc0xvYWRlZFwiPjwvYXBwLWVkaXRvci1sb2FkZXI+IC0tPlxyXG4iXX0=
|