vcomply-workflow-engine 6.0.51 → 6.0.53
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-container/add-multiple-responsibility-container.component.mjs +2 -2
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +2 -2
- package/esm2022/lib/constants/assets.constants.mjs +57 -0
- package/esm2022/lib/constants/link-responsibility.constants.mjs +2 -2
- package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +2 -2
- package/esm2022/lib/more-option/more-option.component.mjs +49 -6
- package/esm2022/lib/report-a-case/components/assignee/assignee.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-assignees/case-assignees.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-category/case-category.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-details/case-details.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-owners/case-owners.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-priority/case-priority.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-type-dropdown/case-dropdown.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/field-holder/field-holder.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/linked assessment/linked-assessment.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/report-date/report-date.component.mjs +2 -2
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +2 -2
- package/esm2022/lib/services/report-case-permission.service.mjs +3 -5
- package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +1 -5
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +1 -5
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +1 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +2 -6
- package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +1 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +1 -3
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +1 -5
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +1 -3
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +2 -4
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +1 -185
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +4 -4
- package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/policy-template/constants/template.constant.mjs +2 -2
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +2 -2
- package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +2 -2
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +2 -2
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +2 -2
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +133 -275
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +3 -5
- package/esm2022/lib/workflow-engine.module.mjs +6 -13
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +2 -2
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +241 -84
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +2 -2
- package/esm2022/lib/workflow-services/programs.service.mjs +112 -28
- package/esm2022/lib/workflow-services/responsibility.service.mjs +9 -9
- package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +2 -2
- package/fesm2022/vcomply-workflow-engine.mjs +598 -1130
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/interfaces/responsibilty.interface.d.ts +1 -1
- package/lib/services/report-case-permission.service.d.ts +1 -3
- package/lib/sharedComponents/frequency/frequency.service.d.ts +0 -30
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +4 -29
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -2
- package/lib/workflow-engine.module.d.ts +40 -42
- package/lib/workflow-program/workflow-program.component.d.ts +4 -6
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/lib/workflow-services/programs.service.d.ts +53 -13
- package/package.json +1 -1
- package/esm2022/lib/constants/assessts.constants.mjs +0 -57
- package/esm2022/lib/constants/mock.mjs +0 -130
- package/esm2022/lib/interfaces/frequency.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +0 -52
- package/esm2022/lib/sharedComponents/program-list/constant.mjs +0 -16
- package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.mjs +0 -20
- package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +0 -171
- package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +0 -43
- package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +0 -27
- package/esm2022/lib/sharedComponents/program-list/services/program-list-api.service.mjs +0 -32
- package/lib/constants/mock.d.ts +0 -15
- package/lib/interfaces/frequency.interface.d.ts +0 -37
- package/lib/sharedComponents/list-container/list-container.component.d.ts +0 -9
- package/lib/sharedComponents/program-list/constant.d.ts +0 -9
- package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +0 -4
- package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +0 -5
- package/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.d.ts +0 -7
- package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +0 -46
- package/lib/sharedComponents/program-list/program-list.module.d.ts +0 -13
- package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +0 -7
- package/lib/sharedComponents/program-list/services/program-list-api.service.d.ts +0 -14
- /package/lib/constants/{assessts.constants.d.ts → assets.constants.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { cloneDeep } from 'lodash';
|
|
3
|
-
import { ASSETS } from '../../../constants/
|
|
3
|
+
import { ASSETS } from '../../../constants/assets.constants';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./assessment.service";
|
|
6
6
|
import * as i2 from "../../../workflow-services/auth.service";
|
|
@@ -291,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
291
291
|
}], cancelAssessment: [{
|
|
292
292
|
type: Output
|
|
293
293
|
}] } });
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXNzbWVudC1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctcHJvZ3JhbS9jcmVhdGUtcHJvZ3JhbS11aS9hc3Nlc3NtZW50LXBpY2tlci9hc3Nlc3NtZW50LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2Fzc2Vzc21lbnQtcGlja2VyL2Fzc2Vzc21lbnQtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUduQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTy9ELE1BQU0sT0FBTyx5QkFBeUI7SUEyQnBDLElBQWlDLFdBQVcsQ0FBQyxLQUFVO1FBQ3JELElBQUksS0FBSyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUN4QyxrQ0FBa0M7WUFDbEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxLQUFVLEVBQUUsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyw4Q0FBOEM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7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eUI7bUdBQXpCLHlCQUF5QiwwUkNYdEMsa2lhQW9VQTs7NEZEelRhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxtQkFBbUI7a0lBU3BCLE1BQU07c0JBQWQsS0FBSztnQkFzQjJCLFdBQVc7c0JBQTNDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQWdCbEIsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXNzbWVudFNlcnZpY2UgfSBmcm9tICcuL2Fzc2Vzc21lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXNzZXNzbWVudC1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXNzbWVudC1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3Nlc3NtZW50LXBpY2tlci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3Nlc3NtZW50UGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBhbmltYXRpb24gPSBmYWxzZTtcbiAgc2VsZWN0ZWREYXRhOiBhbnk7XG4gIHN1Ykxpc3QgPSBmYWxzZTtcbiAgQElucHV0KCkgaXNFZGl0ID0gZmFsc2U7XG4gIG9wZW5lZENhdGVnb3J5OiBBcnJheTxudW1iZXI+ID0gW107XG4gIGFzc2Vzc21lbnRQYXlsb2FkID0ge1xuICAgIHNlYXJjaF90aXRsZTogJycsXG4gICAgcGFnZV9ubzogJzEnLFxuICAgIHN0YXRlOiAnQUNUSVZFJyxcbiAgICBzZWFyY2hfdGV4dDogJycsXG4gICAgYWxwaGFiZXRfZmlsdGVyOiAnJyxcbiAgfTtcblxuICBkYXRhUGVyUGFnZSA9IDA7XG5cbiAgYXNzZXNzbWVudENhdGVnb3J5OiBhbnkgPSB7XG4gICAgZGF0YTogW10sXG4gICAgdG90YWxQYWdlOiAwLFxuICAgIHRvdGFsUmVjb3JkczogMCxcbiAgICBzdGFydF92YWx1ZTogMCxcbiAgICBlbmRfdmFsdWU6IDAsXG4gICAgY3VycmVudFBhZ2U6IDAsXG4gIH07XG4gIGlzTG9hZGVyID0gZmFsc2U7XG5cbiAgQElucHV0KCdzZWxlY3RlZEFzc2Vzc21lbnQnKSBzZXQgc2V0U2VsZWN0ZWQodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyciA9IFsuLi52YWx1ZV07XG4gICAgICAvL3RoaXMuc2V0Q2F0ZWdvcnlBbmRBc3Nlc3NtZW50KCk7XG4gICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyci5mb3JFYWNoKChlbGU6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5lZENhdGVnb3J5LnB1c2goZWxlPy5jYXRlZ29yeV9pZCk7XG4gICAgICAgIC8vICAgdGhpcy5zaG93U3ViTGlzdChpbmRleCxlbGU/LmNhdGVnb3J5X2lkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlzRGVsZXRlZCA9IGZhbHNlO1xuXG4gIHNlYXJjaEFzc2Vzc21lbnRzID0gJyc7XG4gIHByZXZpZXdRdWVzdGlvbkRhdGEhOiBhbnk7XG4gIGlzUHJldmlldyA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3RlZEFzc2Vzc21lbnREYXRhOiBhbnkgPSBbXTtcblxuICBAT3V0cHV0KCkgb25Bc3Nlc3NtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBjYW5jZWxBc3Nlc3NtZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNlbGVjdGVkQXNzZXNzbWVudEFycjogYW55ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhc3Nlc3NtZW50U2VydmljZTogQXNzZXNzbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZVxuICApIHtcbiAgICB0aGlzLmRhdGFQZXJQYWdlID0gMzA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgdGhpcy5nZXRBc3Nlc3NtZW50Q2F0ZWdvcnlMaXN0KCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICBvbkFzc2Vzc21lbnRTZWxlY3RlZChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBldmVudDtcbiAgfVxuXG4gIHByZXZpZXcoZXZ0OiBhbnkpIHtcbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlLmdldEFzc2Vzc21lbnRRdWVzdGlvbnMoZXZ0Py5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmF1dGgucHJldmlld1BhbmVsLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNQcmV2aWV3ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5wcmV2aWV3UXVlc3Rpb25EYXRhID0gcmVzO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByZXZpZXdCYWNrKCkge1xuICAgIHRoaXMuaXNQcmV2aWV3ID0gZmFsc2U7XG4gICAgdGhpcy5wcmV2aWV3UXVlc3Rpb25EYXRhID0ge307XG4gICAgdGhpcy5hdXRoLnByZXZpZXdQYW5lbC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaW5kZXggOiBBY2NlcHQgaW5kZXggb2YgZWxlbWVudFBvc2l0aW9uXG4gICAqXG4gICAqL1xuICBzaG93U3ViTGlzdChpbmRleDogbnVtYmVyLCBpZDogYW55KSB7XG4gICAgaWYgKHRoaXMub3BlbmVkQ2F0ZWdvcnkuaW5jbHVkZXMoaWQpKSB7XG4gICAgICB0aGlzLm9wZW5lZENhdGVnb3J5ID0gdGhpcy5vcGVuZWRDYXRlZ29yeS5maWx0ZXIoKGVsZSkgPT4gZWxlICE9PSBpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbmVkQ2F0ZWdvcnkucHVzaChpZCk7XG4gICAgICB0aGlzLmdldEFzc2Vzc21lbnRMaXN0KGlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMub3BlbmVkQ2F0ZWdvcnk7XG4gIH1cblxuICBleHBhbmRDYXRlZ29yeShjYXRlZ29yeUlkOiBhbnkpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuYXNzZXNzbWVudENhdGVnb3J5Py5kYXRhPy5maW5kSW5kZXgoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZS5pZCA9PT0gY2F0ZWdvcnlJZFxuICAgICk7XG4gICAgaWYgKFxuICAgICAgdGhpcy5vcGVuZWRDYXRlZ29yeS5pbmNsdWRlcyhjYXRlZ29yeUlkKSAmJlxuICAgICAgdGhpcy5hc3Nlc3NtZW50Q2F0ZWdvcnkuZGF0YVtpbmRleF0uYXNzZXNzbWVudERhdGFcbiAgICApIHtcbiAgICAgIHRoaXMub3BlbmVkQ2F0ZWdvcnkgPSB0aGlzLm9wZW5lZENhdGVnb3J5LmZpbHRlcihcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBjYXRlZ29yeUlkXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5lZENhdGVnb3J5LnB1c2goY2F0ZWdvcnlJZCk7XG4gICAgICB0aGlzLmdldEFzc2Vzc21lbnRMaXN0KGNhdGVnb3J5SWQpO1xuICAgIH1cbiAgfVxuICAvLyBUT0RPOiBQYWdpbmF0aW9uXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgOiBwYWdlIG51bWJlciB0aGF0IGhhcyBiZWVuIHNlbGVjdGVkXG4gICAqL1xuICBvblBhZ2VTZWxlY3Rpb24oZXZlbnQ6IG51bWJlcikge1xuICAgIHRoaXMub3BlbmVkQ2F0ZWdvcnkgPSBbXTtcbiAgICB0aGlzLmFzc2Vzc21lbnRQYXlsb2FkLnBhZ2Vfbm8gPSBldmVudC50b1N0cmluZygpO1xuICAgIHRoaXMuZ2V0QXNzZXNzbWVudENhdGVnb3J5TGlzdCgpO1xuICB9XG5cbiAgLy8gVE9ETzogU2VhcmNoXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gc2VhcmNoIDogc2VhcmNoIHRleHRcbiAgICovXG4gIG9uQXNzZXNzbWVudFNlYXJjaChzZWFyY2g6IHN0cmluZykge1xuICAgIHRoaXMub3BlbmVkQ2F0ZWdvcnkgPSBbXTtcbiAgICB0aGlzLmFzc2Vzc21lbnRQYXlsb2FkLnBhZ2Vfbm8gPSAnMSc7XG4gICAgdGhpcy5hc3Nlc3NtZW50UGF5bG9hZC5zZWFyY2hfdGl0bGUgPSBzZWFyY2g7XG4gICAgdGhpcy5hc3Nlc3NtZW50UGF5bG9hZC5zZWFyY2hfdGV4dCA9IHNlYXJjaDtcbiAgICB0aGlzLmdldEFzc2Vzc21lbnRDYXRlZ29yeUxpc3QoKTtcbiAgfVxuXG4gIC8vIFRPRE86IEZpbHRlciBieSBhbHBoYWJldFxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IDogQXNzZXNzbWVudCBjYXRlZ29yeSBmaWx0ZXIgb2YgQWxwaGFiZXRcbiAgICovXG4gIG9uQWxwaGFiZXRTZWxlY3RlZChldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5vcGVuZWRDYXRlZ29yeSA9IFtdO1xuICAgIHRoaXMuYXNzZXNzbWVudFBheWxvYWQucGFnZV9ubyA9ICcxJztcbiAgICB0aGlzLmFzc2Vzc21lbnRQYXlsb2FkLmFscGhhYmV0X2ZpbHRlciA9IGV2ZW50O1xuICAgIHRoaXMuYXNzZXNzbWVudFBheWxvYWQuc2VhcmNoX3RleHQgPSAnJztcbiAgICB0aGlzLmdldEFzc2Vzc21lbnRDYXRlZ29yeUxpc3QoKTtcbiAgfVxuXG4gIC8vIFRPRE86IENhbGwgQVBJIG1ldGhvZFxuICBnZXRBc3Nlc3NtZW50Q2F0ZWdvcnlMaXN0KCkge1xuICAgIHRoaXMuaXNMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMuYXNzZXNzbWVudFNlcnZpY2VcbiAgICAgIC5nZXRBc3Nlc3NtZW50Q2F0ZWdvcnkodGhpcy5hc3Nlc3NtZW50UGF5bG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYXNzZXNzbWVudENhdGVnb3J5ID0gcmVzO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycj8ubGVuZ3RoKSB7XG4gICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIgPSAgWy4uLiBuZXcgU2V0KHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyKV1cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyci5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSByZXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICAgICAgICAgIChhc3Nlc3NtZW50OiBhbnkpID0+IGFzc2Vzc21lbnQuaWQgPT09IGVsZS5jYXRlZ29yeV9pZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kQ2F0ZWdvcnkoZWxlLmNhdGVnb3J5X2lkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICAvLyB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyci5mb3JFYWNoKChlbGU6YW55LGluZGV4OmFueSkgPT4ge1xuICAgICAgICAgIC8vICAgdGhpcy5vcGVuZWRDYXRlZ29yeS5wdXNoKGVsZT8uY2F0ZWdvcnlfaWQpO1xuICAgICAgICAgIC8vICAgdGhpcy5zaG93U3ViTGlzdChpbmRleCxlbGU/LmNhdGVnb3J5X2lkKTtcbiAgICAgICAgICAvLyB9KVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICAvLyBUT0RPOiBDYWxsIFN1YiBkYXRhIEFQSSBtZXRob2RcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGlkIDogQXNzZXNzbWVudCBjYXRlZ29yeSBpZFxuICAgKi9cbiAgZ2V0QXNzZXNzbWVudExpc3QoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBzZWFyY2hfdGl0bGU6ICcnLFxuICAgIH07XG4gICAgdGhpcy5hc3Nlc3NtZW50U2VydmljZVxuICAgICAgLmdldEFzc2Vzc21lbnRMaXN0KHBheWxvYWQsIGlkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBBcnJheTxhbnk+KSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hc3Nlc3NtZW50Q2F0ZWdvcnk/LmRhdGE/LmZpbmRJbmRleChcbiAgICAgICAgICAoZWxlOiBhbnkpID0+IGVsZS5pZCA9PT0gaWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICB0aGlzLmFzc2Vzc21lbnRDYXRlZ29yeS5kYXRhW2luZGV4XS5hc3Nlc3NtZW50RGF0YSA9IFtcbiAgICAgICAgICAgIC4uLm5ldyBTZXQocmVzKSxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyPy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnNldENhdGVnb3J5QW5kQXNzZXNzbWVudCgpO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIuZmluZEluZGV4KFxuICAgICAgICAgICAgKGVsZTogYW55KSA9PiBlbGUuY2F0ZWdvcnlfaWQgPT09IGlkXG4gICAgICAgICAgKTtcbiAgICAgICAgICAvLyBpZihpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAvLyAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyW2luZGV4XS5hc3Nlc3NtZW50SWRzICA9IHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyW2luZGV4XS5hc3Nlc3NtZW50SWRzLm1hcCgoZWxlOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyAgICAgZWxlID0gcmVzLmZpbmQoKGRhdGE6IGFueSkgPT4gZGF0YS5pZCA9PT0gZWxlKTtcbiAgICAgICAgICAvLyAgICAgcmV0dXJuIGVsZTtcbiAgICAgICAgICAvLyAgIH0pO1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBzZWxlY3RlZEFzc2Vzc21lbnRDYXRlZ29yaWVzSWRzOiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRBc3Nlc3NtZW50SWRzOiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRBc3Nlc3NtZW50OiBhbnkgPSBbXTtcblxuICAvKipcbiAgICogIyMjIyBEZXNjcmlwdGlvblxuICAgKiBTZWxlY3RzIGl0ZW0gb3IgZGVzZWxlY3QgYSBpdG1lXG4gICAqIEBwYXJhbSBldnRcbiAgICogQHBhcmFtIHBheWxvYWRcbiAgICovXG4gIHNlbGVjdEFzc2Vzc21lbnQoZXZ0OiBhbnksIHBheWxvYWQ6IGFueSwgY2F0ZWdvcnk6IGFueSkge1xuICAgIGlmIChldnQ/LnRhcmdldD8uY2hlY2tlZCkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyci5maW5kSW5kZXgoXG4gICAgICAgIChlbGU6IGFueSkgPT4gZWxlLmNhdGVnb3J5X2lkID09PSBjYXRlZ29yeS5pZFxuICAgICAgKTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDYXRlZ29yeUFzc2Vzc21lbnQgPVxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyW2luZGV4XS5hc3Nlc3NtZW50SWRzO1xuICAgICAgICBjdXJyZW50Q2F0ZWdvcnlBc3Nlc3NtZW50LnB1c2gocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyW2luZGV4XS5hc3Nlc3NtZW50SWRzID0gdGhpcy51bmlxdWVCeVByb3AoXG4gICAgICAgICAgY3VycmVudENhdGVnb3J5QXNzZXNzbWVudCxcbiAgICAgICAgICAnaWQnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyKTtcbiAgICAgICAgdGhpcy5zZXRDYXRlZ29yeUFuZEFzc2Vzc21lbnQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyLnB1c2goe1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICBhc3Nlc3NtZW50SWRzOiBbcGF5bG9hZF0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyKTtcbiAgICAgICAgdGhpcy5zZXRDYXRlZ29yeUFuZEFzc2Vzc21lbnQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyci5maW5kSW5kZXgoXG4gICAgICAgIChlbGU6IGFueSkgPT4gZWxlLmNhdGVnb3J5X2lkID09PSBjYXRlZ29yeS5pZFxuICAgICAgKTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyW2luZGV4XS5hc3Nlc3NtZW50SWRzID1cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycltpbmRleF0uYXNzZXNzbWVudElkcy5maWx0ZXIoXG4gICAgICAgICAgICAoYXNzZXNzbWVudDogYW55KSA9PiBhc3Nlc3NtZW50LmlkICE9PSBwYXlsb2FkLmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIgPSBjbG9uZURlZXAodGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIpO1xuICAgICAgICB0aGlzLnNldENhdGVnb3J5QW5kQXNzZXNzbWVudCgpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnJbaW5kZXhdLmFzc2Vzc21lbnRJZHM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIgPSBjbG9uZURlZXAodGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIpO1xuICAgICAgICAgIHRoaXMuc2V0Q2F0ZWdvcnlBbmRBc3Nlc3NtZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRDYXRlZ29yeUFuZEFzc2Vzc21lbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRDYXRlZ29yaWVzSWRzID0gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnJcbiAgICAgIC5maWx0ZXIoKGNhdDogYW55KSA9PiBjYXQ/LmFzc2Vzc21lbnRJZHM/Lmxlbmd0aCA+IDApXG4gICAgICA/Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uY2F0ZWdvcnlfaWQpXG4gICAgICAuZmxhdCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50SWRzID0gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnJcbiAgICAgIC5tYXAoKGNhdDogYW55KSA9PiBjYXQ/LmFzc2Vzc21lbnRJZHMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5pZCkpXG4gICAgICAuZmxhdCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50ID0gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnJcbiAgICAgIC5tYXAoKGNhdDogYW55KSA9PiBjYXQ/LmFzc2Vzc21lbnRJZHMubWFwKChlbGU6IGFueSkgPT4gZWxlKSlcbiAgICAgIC5mbGF0KCk7XG4gIH1cblxuICAvLyBUT0RPOiBEaXNwbGF5IHNlbGVjdGVkIGRhdGEgaW4gYm90dG9tIGZsb2F0aW5nIGJhciB3aXRoIG5leHQgZW5hYmxlZCBidXR0b24gaGF2aW5nXG5cbiAgLy8gVE9ETzogU2VuZCBkYXRhIGluIHBheWxvYWQgb2YgY3JlYXRlIFJlc3BvbnNpYmlsaXR5IGZvcm1cblxuICBzYXZlKCkge1xuICAgIHRoaXMub25Bc3Nlc3NtZW50U2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5jYW5jZWxBc3Nlc3NtZW50LmVtaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAjIyMjIERlc2NyaXB0aW9uXG4gICAqXG4gICAqIFJldHVybnMgdGhlIHVuaXF1ZSBhcnJheSBvZiBvYmplY3QgYmFzZWQgb24gdW5pcXVlIGtleVxuICAgKiBAcGFyYW0gYXJyYXlcbiAgICogQHBhcmFtIGtleVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgdW5pcXVlQnlQcm9wKGFycmF5OiBhbnksIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICBhcnJheVxuICAgICAgICAucmVkdWNlKFxuICAgICAgICAgIChhY2M6IGFueSwgaXRlbTogYW55KSA9PiAoXG4gICAgICAgICAgICBpdGVtICYmIGl0ZW1ba2V5XSAmJiBhY2Muc2V0KGl0ZW1ba2V5XSwgaXRlbSksIGFjY1xuICAgICAgICAgICksXG4gICAgICAgICAgbmV3IE1hcCgpXG4gICAgICAgIClcbiAgICAgICAgLnZhbHVlcygpXG4gICAgKTtcbiAgfVxufVxuIiwiPGFwcC1wcmV2aWV3XG4gICpuZ0lmPVwiaXNQcmV2aWV3XCJcbiAgW3F1ZXN0aW9uRGF0YV09XCJwcmV2aWV3UXVlc3Rpb25EYXRhXCJcbiAgKHByZXZpZXdCYWNrKT1cInByZXZpZXdCYWNrKClcIlxuPjwvYXBwLXByZXZpZXc+XG48ZGl2IGNsYXNzPVwiYXNzZXNzbWVudC1saXN0XCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XG4gIDxuZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImFzc2Vzc21lbnQtbGlzdC1oZWFkXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYmFjay1idG5cIj5cbiAgICAgICAgPCEtLSA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZDs8L2k+IC0tPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8aDMgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtdGl0bGVcIj5TZWxlY3QgQXNzZXNzbWVudChzKTwvaDM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFzc2Vzc21lbnQtbGlzdC1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoQXNzZXNzbWVudHNcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25Bc3Nlc3NtZW50U2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBBc3Nlc3NtZW50IENhdGVnb3J5XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPHBhZ2luYXRpb25cbiAgICAgICAgW3BhZ2VDb3VudF09XCJhc3Nlc3NtZW50Q2F0ZWdvcnk/LnRvdGFsUGFnZVwiXG4gICAgICAgIFt0b3RhbF09XCJhc3Nlc3NtZW50Q2F0ZWdvcnk/LnRvdGFsUmVjb3Jkc1wiXG4gICAgICAgIFtzdGFydF09XCJhc3Nlc3NtZW50Q2F0ZWdvcnk/LnN0YXJ0X3ZhbHVlXCJcbiAgICAgICAgW2VuZF09XCJhc3Nlc3NtZW50Q2F0ZWdvcnk/LmVuZF92YWx1ZVwiXG4gICAgICAgIFthY3RpdmVBbHBoYWJldF09XCInJ1wiXG4gICAgICAgIChzZWxlY3RlZEFscGhhYmV0KT1cIm9uQWxwaGFiZXRTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgKHNlbGVjdGVkUGFnZSk9XCJvblBhZ2VTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICA+PC9wYWdpbmF0aW9uPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImFzc2Vzc21lbnRDYXRlZ29yeS5kYXRhLmxlbmd0aCA9PT0gMCAmJiAhaXNMb2FkZXJcIlxuICAgICAgICBjbGFzcz1cImFzc2Vzc21lbnQtbGlzdC1wYXJ0XCJcbiAgICAgID5cbiAgICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICAgW25vRGF0YUltYWdlXT1cIkFTU0VUUy5zZWFyY2hfZGF0YVwiXG4gICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIEFzc2Vzc21lbnRzIEZvdW5kLidcIlxuICAgICAgICA+PC9hcHAtbm8tZGF0YT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImFzc2Vzc21lbnRDYXRlZ29yeS5kYXRhLmxlbmd0aCB8fCBpc0xvYWRlclwiXG4gICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1saXN0LXBhcnRcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGlzRWRpdCAmJiBzZWxlY3RlZEFzc2Vzc21lbnQ/LmFzc2Vzc21lbnREZXRhaWxzPy5hc3Nlc3NtZW50X25hbWVcbiAgICAgICAgICBcIlxuICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1saXN0LXNlbGVjdGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtaGVhZGluZ1wiPlxuICAgICAgICAgICAgQXNzZXNzbWVudCBhbHJlYWR5IHNlbGVjdGVkIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFzc2Vzc21lbnQtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gc2VyaWFsIGRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1jcy1yYWRpb1xuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY3MtcmFkaW8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHN1Yi1uYW1lXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQXNzZXNzbWVudD8uYXNzZXNzbWVudERldGFpbHM/LmFzc2Vzc21lbnRfbmFtZVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRBc3Nlc3NtZW50Py5hc3Nlc3NtZW50RGV0YWlscz8uYXNzZXNzbWVudF9uYW1lIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGhpbi1ib3hcIj5XaXRoaW48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEFzc2Vzc21lbnQ/LmNhdGVnb3J5X2RldGFpbHM/LmNhdGVnb3J5X25hbWUgK1xuICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQXNzZXNzbWVudD8uY2F0ZWdvcnlfZGV0YWlscz8ucGFyZW50X3RyZWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnID4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRBc3Nlc3NtZW50Py5jYXRlZ29yeV9kZXRhaWxzPy5wYXJlbnRfdHJlZVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnKVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEFzc2Vzc21lbnQ/LmNhdGVnb3J5X2RldGFpbHM/LmNhdGVnb3J5X25hbWUgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRBc3Nlc3NtZW50Py5jYXRlZ29yeV9kZXRhaWxzPy5wYXJlbnRfdHJlZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCIgPiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEFzc2Vzc21lbnQ/LmNhdGVnb3J5X2RldGFpbHM/LnBhcmVudF90cmVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwiKVxuICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBxdWVzdGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRBc3Nlc3NtZW50Py5hc3Nlc3NtZW50RGV0YWlscz8ucXVlc3Rpb25zIH19XG4gICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEFzc2Vzc21lbnQ/LmFzc2Vzc21lbnREZXRhaWxzPy5xdWVzdGlvbnMgPiAxXG4gICAgICAgICAgICAgICAgICAgICAgPyBcIlF1ZXN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgOiBcIlF1ZXN0aW9uXCJcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpZXcoc2VsZWN0ZWRBc3Nlc3NtZW50Py5hc3Nlc3NtZW50RGV0YWlscylcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZWFlNTs8L2k+IFByZXZpZXdcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBjOzwvaT4gRWRpdDwvYnV0dG9uPiAtLT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtaGVhZGluZ1wiPlxuICAgICAgICAgIFNlbGVjdCBhbiBBc3Nlc3NtZW50IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS1cbiAgICAgICAgICAgICAgICAgICAgIEFzc2Vzc21lbnQgY2F0ZWdvcnkgbGlzdFxuICAgICAgICAgICAgICAgICAgICAgYWN0aXZlIGNsYXNzIGlzIHVzZWQgZm9yIGhpZ2hsaWdodGluZyBvcGVuZWQgZWxlbWVudFxuICAgICAgICAgICAgICAgIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGVyXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2YgYXNzZXNzbWVudENhdGVnb3J5LmRhdGE7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtaXRlbVwiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIlxuICAgICAgICAgICAgICBvcGVuZWRDYXRlZ29yeS5pbmNsdWRlcyhkYXRhPy5pZCkgfHxcbiAgICAgICAgICAgICAgZGF0YS5pZCA9PT0gc2VsZWN0ZWRBc3Nlc3NtZW50Py5jYXRlZ29yeV9pZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93IG1haW4tbGlzdFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDYXRlZ29yeShkYXRhPy5pZClcIlxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGF0YT8uYXNzZXNzbWVudGNvdW50IDwgMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gc2VyaWFsXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgW2lkXT1cIidzci1ubycgKyBpXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3Itbm9cIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaSArIDFcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZGF0YVBlclBhZ2UgKiAoYXNzZXNzbWVudFBheWxvYWQucGFnZV9ubyAtIDEpICsgKGkgKyAxKSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBuYW1lXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImRhdGEuY2F0ZWdvcnlfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBkYXRhPy5jYXRlZ29yeV9uYW1lIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydFwiICpuZ0lmPVwiZGF0YT8ucGFyZW50X3RyZWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoaW4tYm94XCI+V2l0aGluPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImRhdGEucGFyZW50X3RyZWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgID57eyBkYXRhPy5wYXJlbnRfdHJlZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgW2lkXT1cIidhcnJvdycgKyBpXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRhdGE/LmFzc2Vzc21lbnRjb3VudCA8IDFcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRhdGE/LmFzc2Vzc21lbnRjb3VudCA8IDFcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIW9wZW5lZENhdGVnb3J5LmluY2x1ZGVzKGRhdGE/LmlkKVwiIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICA+JiN4ZTk3MDs8L2lcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwib3BlbmVkQ2F0ZWdvcnkuaW5jbHVkZXMoZGF0YT8uaWQpXCIgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgID4mI3hlOWU4OzwvaVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIEFzc2Vzc21lbnQgbGlzdCBzdGFydCBmcm9tIGhlcmUgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3BlbmVkQ2F0ZWdvcnkuaW5jbHVkZXMoZGF0YT8uaWQpXCIgY2xhc3M9XCJzdWItbGlzdFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5hc3Nlc3NtZW50RGF0YT8ubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhc3Nlc3NtZW50IG9mIGRhdGEuYXNzZXNzbWVudERhdGE7IGxldCBqID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZEFzc2Vzc21lbnRJZHMuaW5jbHVkZXMoYXNzZXNzbWVudC5pZClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gc2VyaWFsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ3N1Yi1zci1ubycgKyBpICsgalwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ubyBhY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGFwcFRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVBlclBhZ2UgKiAoYXNzZXNzbWVudFBheWxvYWQucGFnZV9ubyAtIDEpICsgKGkgKyAxKVxuICAgICAgICAgICAgICAgICAgICAgIH19Lnt7IGogKyAxIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhUGVyUGFnZSAqIChhc3Nlc3NtZW50UGF5bG9hZC5wYWdlX25vIC0gMSkgKyAoaSArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgfX0ue3sgaiArIDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxhcHAtY3MtcmFkaW8gbmFtZT1cImFzc2Vzc21lbnRcIiBbdmFsdWVdPVwiYXNzZXNzbWVudC5pZFwiIFtjaGVja2VkXT1cImFzc2Vzc21lbnQ/LmlkID09PSBzZWxlY3RlZEFzc2Vzc21lbnQ/LmFzc2Vzc21lbnRfaWQgJiYgZGF0YT8uaWQgPT09IHNlbGVjdGVkQXNzZXNzbWVudD8uY2F0ZWdvcnlfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cInNldEFzc2Vzc21lbnQoZGF0YSwgYXNzZXNzbWVudClcIj48L2FwcC1jcy1yYWRpbz4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSAoY2hhbmdlKT1cInNlbGVjdEdyb3VwKCRldmVudCxncm91cClcIiBbZGlzYWJsZWRdPVwibm9uUmVtb3ZhYmxlR3JvdXBJZHM/LmluY2x1ZGVzKGdyb3VwPy5ncm91cF9pZClcIiBbY2hlY2tlZF09XCJzZWxlY3RlZEdyb3VwSWRzLmluY2x1ZGVzKGdyb3VwPy5ncm91cF9pZClcIiAtLT5cblxuICAgICAgICAgICAgICAgICAgICAgIDx2dWktY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEFzc2Vzc21lbnRJZHMuaW5jbHVkZXMoYXNzZXNzbWVudC5pZClcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdEFzc2Vzc21lbnQoJGV2ZW50LCBhc3Nlc3NtZW50LCBkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvdnVpLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzdWItbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnTWlzc2lvbiBhbmQgbWVzc2FnZSwgY29tbXVuaWNhdGlvbnMgdG8gZXh0ZXJuYWwgYXVkaWVuY2VzJ1xuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBhc3Nlc3NtZW50Py5hc3Nlc3NtZW50X25hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gcXVlc3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgYXNzZXNzbWVudD8ucXVlc3Rpb25zIH19XG4gICAgICAgICAgICAgICAgICAgICAge3sgYXNzZXNzbWVudD8ucXVlc3Rpb25zID4gMSA/IFwiUXVlc3Rpb25zXCIgOiBcIlF1ZXN0aW9uXCIgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIiAoY2xpY2spPVwicHJldmlldyhhc3Nlc3NtZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGVhZTU7PC9pPiBQcmV2aWV3XG4gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOWJhOzwvaT4gRWRpdDwvYnV0dG9uPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwhLS0gTG9hZGVyIGxvYWRpbmcgaXNMb2FkZXIgIC0tPlxuICAgICAgICAgICAgICA8YXNzZXNzbWVudC1zdWItbG9hZGVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0YS5hc3Nlc3NtZW50RGF0YT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgPjwvYXNzZXNzbWVudC1zdWItbG9hZGVyPlxuICAgICAgICAgICAgICA8IS0tIDxhcHAtbGluZS1sb2FkZXIgKm5nSWY9XCIhZGF0YS5hc3Nlc3NtZW50RGF0YT8ubGVuZ3RoXCIgW2xvYWRlckhlaWdodF09XCInNSdcIj48L2FwcC1saW5lLWxvYWRlcj4gLS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gTG9hZGVyIGxvYWRpbmcgaXNMb2FkZXIgIC0tPlxuICAgICAgICA8YXNzZXNzbWVudC1sb2FkZXIgKm5nSWY9XCJpc0xvYWRlclwiPjwvYXNzZXNzbWVudC1sb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gTm8gZGF0YSBpbWFnZSAgLS0+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCIhYXNzZXNzbWVudENhdGVnb3J5LmRhdGEubGVuZ3RoICYmICFpc0xvYWRlclwiXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gRGF0YSB0byBEaXNwbGF5J1wiXG4gICAgICA+PC9hcHAtbm8tZGF0YT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tXG4gICAgICAgICAgICBib3R0b20gZmxvYXRpbmcgYmFyIHdoaWNoIGluY2x1ZGVzIGNhbmNlbCwgbmV4dCBidXR0b25cbiAgICAgICAgICAgIGNsb3NpbmcgdGFiXG4gICAgICAgICAtLT5cblxuICAgIDx2dWktZmxvYXRpbmctYmFyIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvdW50ZXJcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkQXNzZXNzbWVudD8ubGVuZ3RoXCJcbiAgICAgICAgYXBwUG9wb3ZlclxuICAgICAgICAoY2xpY2spPVwiYXNzZXNzbWVudENvdW50LnBvcG92ZXIoKVwiXG4gICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxuICAgICAgPlxuICAgICAgICB7eyBzZWxlY3RlZEFzc2Vzc21lbnQ/Lmxlbmd0aCB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkQXNzZXNzbWVudD8ubGVuZ3RoID09PSAxXCJcbiAgICAgICAgICA+QXNzZXNzbWVudCBzZWxlY3RlZDwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRBc3Nlc3NtZW50Py5sZW5ndGggPiAxXCI+QXNzZXNzbWVudHMgc2VsZWN0ZWQ8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhcHAtcG9wb3ZlciAjYXNzZXNzbWVudENvdW50IFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWxlY3RlZEFzc2Vzc21lbnQ7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgPCEtLSA8aSBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QXNzZXNzbWVudCh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOTBkOzwvaT4gLS0+XG4gICAgICAgICAgICAgICAgICB7eyBlbGVtZW50Py5hc3Nlc3NtZW50X25hbWUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgPC92dWktZmxvYXRpbmctYmFyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXNzbWVudC1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctcHJvZ3JhbS9jcmVhdGUtcHJvZ3JhbS11aS9hc3Nlc3NtZW50LXBpY2tlci9hc3Nlc3NtZW50LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2Fzc2Vzc21lbnQtcGlja2VyL2Fzc2Vzc21lbnQtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUduQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTzdELE1BQU0sT0FBTyx5QkFBeUI7SUEyQnBDLElBQWlDLFdBQVcsQ0FBQyxLQUFVO1FBQ3JELElBQUksS0FBSyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUN4QyxrQ0FBa0M7WUFDbEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxLQUFVLEVBQUUsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyw4Q0FBOEM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFlRCxZQUNVLGlCQUFvQyxFQUNwQyxJQUFpQjtRQURqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQWE7UUFwRDNCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ1AsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUN4QixtQkFBYyxHQUFrQixFQUFFLENBQUM7UUFDbkMsc0JBQWlCLEdBQUc7WUFDbEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsT0FBTyxFQUFFLEdBQUc7WUFDWixLQUFLLEVBQUUsUUFBUTtZQUNmLFdBQVcsRUFBRSxFQUFFO1lBQ2YsZUFBZSxFQUFFLEVBQUU7U0FDcEIsQ0FBQztRQUVGLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLHVCQUFrQixHQUFRO1lBQ3hCLElBQUksRUFBRSxFQUFFO1lBQ1IsU0FBUyxFQUFFLENBQUM7WUFDWixZQUFZLEVBQUUsQ0FBQztZQUNmLFdBQVcsRUFBRSxDQUFDO1lBQ2QsU0FBUyxFQUFFLENBQUM7WUFDWixXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUM7UUFDRixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBYWpCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRXZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDVCwyQkFBc0IsR0FBUSxFQUFFLENBQUM7UUFFaEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV4QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWhELDBCQUFxQixHQUFRLEVBQUUsQ0FBQztRQXdLaEMsb0NBQStCLEdBQVEsRUFBRSxDQUFDO1FBQzFDLDBCQUFxQixHQUFRLEVBQUUsQ0FBQztRQUNoQyx1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFwSzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBUTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxDQUFDO1lBQ2pDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEtBQWEsRUFBRSxFQUFPO1FBQ2hDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDNUI7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxVQUFlO1FBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUNwRCxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQ3BDLENBQUM7UUFDRixJQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsRUFDbEQ7WUFDQSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUM5QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FDNUIsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBQ0QsbUJBQW1CO0lBQ25COzs7T0FHRztJQUNILGVBQWUsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlO0lBQ2Y7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsTUFBYztRQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUM1QyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELHdCQUF3QjtJQUN4Qix5QkFBeUI7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQjthQUNuQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDN0MsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztZQUU5QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7Z0JBQ3RDLDBFQUEwRTtnQkFDMUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUM5QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDOUIsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLFdBQVcsQ0FDdkQsQ0FBQztvQkFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsOERBQThEO2dCQUM5RCxnREFBZ0Q7Z0JBQ2hELDhDQUE4QztnQkFDOUMsS0FBSzthQUNOO1lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUNBQWlDO0lBRWpDOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLEVBQVU7UUFDMUIsTUFBTSxPQUFPLEdBQUc7WUFDZCxZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQjthQUNuQixpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLEdBQWUsRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUNwRCxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQzVCLENBQUM7WUFDRixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsR0FBRztvQkFDbkQsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7aUJBQ2hCLENBQUM7YUFDSDtZQUVELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sRUFBRTtnQkFDdEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQ2hELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FDckMsQ0FBQztnQkFDRixxQkFBcUI7Z0JBQ3JCLDJIQUEySDtnQkFDM0gsc0RBQXNEO2dCQUN0RCxrQkFBa0I7Z0JBQ2xCLFFBQVE7Z0JBQ1IsSUFBSTthQUNMO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBTUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxHQUFRLEVBQUUsT0FBWSxFQUFFLFFBQWE7UUFDcEQsSUFBSSxHQUFHLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUNoRCxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUM5QyxDQUFDO1lBQ0YsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsTUFBTSx5QkFBeUIsR0FDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDbEQseUJBQXlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQ2pFLHlCQUF5QixFQUN6QixJQUFJLENBQ0wsQ0FBQztnQkFDRixJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQzthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDO29CQUM5QixXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUU7b0JBQ3hCLGFBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDekIsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQ25FLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2FBQ2pDO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQ2hELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQzlDLENBQUM7WUFDRixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYTtvQkFDN0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQ3BELENBQUMsVUFBZSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQ2xELENBQUM7Z0JBQ0osSUFBSSxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUNqRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztvQkFDbkUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7aUJBQ2pDO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQyxxQkFBcUI7YUFDOUQsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDckQsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUM7YUFDcEMsSUFBSSxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjthQUNwRCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDaEUsSUFBSSxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjthQUNqRCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1RCxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxxRkFBcUY7SUFFckYsMkRBQTJEO0lBRTNELElBQUk7UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxDQUFDLEtBQVUsRUFBRSxHQUFXO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixLQUFLO2FBQ0YsTUFBTSxDQUNMLENBQUMsR0FBUSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FDdkIsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQ25ELEVBQ0QsSUFBSSxHQUFHLEVBQUUsQ0FDVjthQUNBLE1BQU0sRUFBRSxDQUNaLENBQUM7SUFDSixDQUFDOytHQTNUVSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwUkNYdEMsa2lhQW9VQTs7NEZEelRhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxtQkFBbUI7a0lBU3BCLE1BQU07c0JBQWQsS0FBSztnQkFzQjJCLFdBQVc7c0JBQTNDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQWdCbEIsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXNzbWVudFNlcnZpY2UgfSBmcm9tICcuL2Fzc2Vzc21lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Fzc2Vzc21lbnQtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2Vzc21lbnQtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXNzbWVudC1waWNrZXIuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXNzZXNzbWVudFBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIHNlbGVjdGVkRGF0YTogYW55O1xuICBzdWJMaXN0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRWRpdCA9IGZhbHNlO1xuICBvcGVuZWRDYXRlZ29yeTogQXJyYXk8bnVtYmVyPiA9IFtdO1xuICBhc3Nlc3NtZW50UGF5bG9hZCA9IHtcbiAgICBzZWFyY2hfdGl0bGU6ICcnLFxuICAgIHBhZ2Vfbm86ICcxJyxcbiAgICBzdGF0ZTogJ0FDVElWRScsXG4gICAgc2VhcmNoX3RleHQ6ICcnLFxuICAgIGFscGhhYmV0X2ZpbHRlcjogJycsXG4gIH07XG5cbiAgZGF0YVBlclBhZ2UgPSAwO1xuXG4gIGFzc2Vzc21lbnRDYXRlZ29yeTogYW55ID0ge1xuICAgIGRhdGE6IFtdLFxuICAgIHRvdGFsUGFnZTogMCxcbiAgICB0b3RhbFJlY29yZHM6IDAsXG4gICAgc3RhcnRfdmFsdWU6IDAsXG4gICAgZW5kX3ZhbHVlOiAwLFxuICAgIGN1cnJlbnRQYWdlOiAwLFxuICB9O1xuICBpc0xvYWRlciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnc2VsZWN0ZWRBc3Nlc3NtZW50Jykgc2V0IHNldFNlbGVjdGVkKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWU/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIgPSBbLi4udmFsdWVdO1xuICAgICAgLy90aGlzLnNldENhdGVnb3J5QW5kQXNzZXNzbWVudCgpO1xuICAgICAgdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIuZm9yRWFjaCgoZWxlOiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuZWRDYXRlZ29yeS5wdXNoKGVsZT8uY2F0ZWdvcnlfaWQpO1xuICAgICAgICAvLyAgIHRoaXMuc2hvd1N1Ykxpc3QoaW5kZXgsZWxlPy5jYXRlZ29yeV9pZCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpc0RlbGV0ZWQgPSBmYWxzZTtcblxuICBzZWFyY2hBc3Nlc3NtZW50cyA9ICcnO1xuICBwcmV2aWV3UXVlc3Rpb25EYXRhITogYW55O1xuICBpc1ByZXZpZXcgPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0ZWRBc3Nlc3NtZW50RGF0YTogYW55ID0gW107XG5cbiAgQE91dHB1dCgpIG9uQXNzZXNzbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgY2FuY2VsQXNzZXNzbWVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzZWxlY3RlZEFzc2Vzc21lbnRBcnI6IGFueSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXNzZXNzbWVudFNlcnZpY2U6IEFzc2Vzc21lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5kYXRhUGVyUGFnZSA9IDMwO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHRoaXMuZ2V0QXNzZXNzbWVudENhdGVnb3J5TGlzdCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgb25Bc3Nlc3NtZW50U2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gZXZlbnQ7XG4gIH1cblxuICBwcmV2aWV3KGV2dDogYW55KSB7XG4gICAgdGhpcy5hc3Nlc3NtZW50U2VydmljZS5nZXRBc3Nlc3NtZW50UXVlc3Rpb25zKGV2dD8uaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5hdXRoLnByZXZpZXdQYW5lbC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmlzUHJldmlldyA9IHRydWU7XG4gICAgICAgIHRoaXMucHJldmlld1F1ZXN0aW9uRGF0YSA9IHJlcztcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcmV2aWV3QmFjaygpIHtcbiAgICB0aGlzLmlzUHJldmlldyA9IGZhbHNlO1xuICAgIHRoaXMucHJldmlld1F1ZXN0aW9uRGF0YSA9IHt9O1xuICAgIHRoaXMuYXV0aC5wcmV2aWV3UGFuZWwubmV4dChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGluZGV4IDogQWNjZXB0IGluZGV4IG9mIGVsZW1lbnRQb3NpdGlvblxuICAgKlxuICAgKi9cbiAgc2hvd1N1Ykxpc3QoaW5kZXg6IG51bWJlciwgaWQ6IGFueSkge1xuICAgIGlmICh0aGlzLm9wZW5lZENhdGVnb3J5LmluY2x1ZGVzKGlkKSkge1xuICAgICAgdGhpcy5vcGVuZWRDYXRlZ29yeSA9IHRoaXMub3BlbmVkQ2F0ZWdvcnkuZmlsdGVyKChlbGUpID0+IGVsZSAhPT0gaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5lZENhdGVnb3J5LnB1c2goaWQpO1xuICAgICAgdGhpcy5nZXRBc3Nlc3NtZW50TGlzdChpZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm9wZW5lZENhdGVnb3J5O1xuICB9XG5cbiAgZXhwYW5kQ2F0ZWdvcnkoY2F0ZWdvcnlJZDogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmFzc2Vzc21lbnRDYXRlZ29yeT8uZGF0YT8uZmluZEluZGV4KFxuICAgICAgKGVsZTogYW55KSA9PiBlbGUuaWQgPT09IGNhdGVnb3J5SWRcbiAgICApO1xuICAgIGlmIChcbiAgICAgIHRoaXMub3BlbmVkQ2F0ZWdvcnkuaW5jbHVkZXMoY2F0ZWdvcnlJZCkgJiZcbiAgICAgIHRoaXMuYXNzZXNzbWVudENhdGVnb3J5LmRhdGFbaW5kZXhdLmFzc2Vzc21lbnREYXRhXG4gICAgKSB7XG4gICAgICB0aGlzLm9wZW5lZENhdGVnb3J5ID0gdGhpcy5vcGVuZWRDYXRlZ29yeS5maWx0ZXIoXG4gICAgICAgIChlbGUpID0+IGVsZSAhPT0gY2F0ZWdvcnlJZFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuZWRDYXRlZ29yeS5wdXNoKGNhdGVnb3J5SWQpO1xuICAgICAgdGhpcy5nZXRBc3Nlc3NtZW50TGlzdChjYXRlZ29yeUlkKTtcbiAgICB9XG4gIH1cbiAgLy8gVE9ETzogUGFnaW5hdGlvblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IDogcGFnZSBudW1iZXIgdGhhdCBoYXMgYmVlbiBzZWxlY3RlZFxuICAgKi9cbiAgb25QYWdlU2VsZWN0aW9uKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLm9wZW5lZENhdGVnb3J5ID0gW107XG4gICAgdGhpcy5hc3Nlc3NtZW50UGF5bG9hZC5wYWdlX25vID0gZXZlbnQudG9TdHJpbmcoKTtcbiAgICB0aGlzLmdldEFzc2Vzc21lbnRDYXRlZ29yeUxpc3QoKTtcbiAgfVxuXG4gIC8vIFRPRE86IFNlYXJjaFxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHNlYXJjaCA6IHNlYXJjaCB0ZXh0XG4gICAqL1xuICBvbkFzc2Vzc21lbnRTZWFyY2goc2VhcmNoOiBzdHJpbmcpIHtcbiAgICB0aGlzLm9wZW5lZENhdGVnb3J5ID0gW107XG4gICAgdGhpcy5hc3Nlc3NtZW50UGF5bG9hZC5wYWdlX25vID0gJzEnO1xuICAgIHRoaXMuYXNzZXNzbWVudFBheWxvYWQuc2VhcmNoX3RpdGxlID0gc2VhcmNoO1xuICAgIHRoaXMuYXNzZXNzbWVudFBheWxvYWQuc2VhcmNoX3RleHQgPSBzZWFyY2g7XG4gICAgdGhpcy5nZXRBc3Nlc3NtZW50Q2F0ZWdvcnlMaXN0KCk7XG4gIH1cblxuICAvLyBUT0RPOiBGaWx0ZXIgYnkgYWxwaGFiZXRcbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCA6IEFzc2Vzc21lbnQgY2F0ZWdvcnkgZmlsdGVyIG9mIEFscGhhYmV0XG4gICAqL1xuICBvbkFscGhhYmV0U2VsZWN0ZWQoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMub3BlbmVkQ2F0ZWdvcnkgPSBbXTtcbiAgICB0aGlzLmFzc2Vzc21lbnRQYXlsb2FkLnBhZ2Vfbm8gPSAnMSc7XG4gICAgdGhpcy5hc3Nlc3NtZW50UGF5bG9hZC5hbHBoYWJldF9maWx0ZXIgPSBldmVudDtcbiAgICB0aGlzLmFzc2Vzc21lbnRQYXlsb2FkLnNlYXJjaF90ZXh0ID0gJyc7XG4gICAgdGhpcy5nZXRBc3Nlc3NtZW50Q2F0ZWdvcnlMaXN0KCk7XG4gIH1cblxuICAvLyBUT0RPOiBDYWxsIEFQSSBtZXRob2RcbiAgZ2V0QXNzZXNzbWVudENhdGVnb3J5TGlzdCgpIHtcbiAgICB0aGlzLmlzTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlXG4gICAgICAuZ2V0QXNzZXNzbWVudENhdGVnb3J5KHRoaXMuYXNzZXNzbWVudFBheWxvYWQpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmFzc2Vzc21lbnRDYXRlZ29yeSA9IHJlcztcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnI/Lmxlbmd0aCkge1xuICAgICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyID0gIFsuLi4gbmV3IFNldCh0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycildXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcmVzLmRhdGEuZmluZEluZGV4KFxuICAgICAgICAgICAgICAoYXNzZXNzbWVudDogYW55KSA9PiBhc3Nlc3NtZW50LmlkID09PSBlbGUuY2F0ZWdvcnlfaWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGVsZS5jYXRlZ29yeV9pZCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIuZm9yRWFjaCgoZWxlOmFueSxpbmRleDphbnkpID0+IHtcbiAgICAgICAgICAvLyAgIHRoaXMub3BlbmVkQ2F0ZWdvcnkucHVzaChlbGU/LmNhdGVnb3J5X2lkKTtcbiAgICAgICAgICAvLyAgIHRoaXMuc2hvd1N1Ykxpc3QoaW5kZXgsZWxlPy5jYXRlZ29yeV9pZCk7XG4gICAgICAgICAgLy8gfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gVE9ETzogQ2FsbCBTdWIgZGF0YSBBUEkgbWV0aG9kXG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpZCA6IEFzc2Vzc21lbnQgY2F0ZWdvcnkgaWRcbiAgICovXG4gIGdldEFzc2Vzc21lbnRMaXN0KGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgc2VhcmNoX3RpdGxlOiAnJyxcbiAgICB9O1xuICAgIHRoaXMuYXNzZXNzbWVudFNlcnZpY2VcbiAgICAgIC5nZXRBc3Nlc3NtZW50TGlzdChwYXlsb2FkLCBpZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogQXJyYXk8YW55PikgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuYXNzZXNzbWVudENhdGVnb3J5Py5kYXRhPy5maW5kSW5kZXgoXG4gICAgICAgICAgKGVsZTogYW55KSA9PiBlbGUuaWQgPT09IGlkXG4gICAgICAgICk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgdGhpcy5hc3Nlc3NtZW50Q2F0ZWdvcnkuZGF0YVtpbmRleF0uYXNzZXNzbWVudERhdGEgPSBbXG4gICAgICAgICAgICAuLi5uZXcgU2V0KHJlcyksXG4gICAgICAgICAgXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycj8ubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5zZXRDYXRlZ29yeUFuZEFzc2Vzc21lbnQoKTtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyLmZpbmRJbmRleChcbiAgICAgICAgICAgIChlbGU6IGFueSkgPT4gZWxlLmNhdGVnb3J5X2lkID09PSBpZFxuICAgICAgICAgICk7XG4gICAgICAgICAgLy8gaWYoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycltpbmRleF0uYXNzZXNzbWVudElkcyAgPSB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycltpbmRleF0uYXNzZXNzbWVudElkcy5tYXAoKGVsZTogYW55KSA9PiB7XG4gICAgICAgICAgLy8gICAgIGVsZSA9IHJlcy5maW5kKChkYXRhOiBhbnkpID0+IGRhdGEuaWQgPT09IGVsZSk7XG4gICAgICAgICAgLy8gICAgIHJldHVybiBlbGU7XG4gICAgICAgICAgLy8gICB9KTtcbiAgICAgICAgICAvLyB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0ZWRBc3Nlc3NtZW50Q2F0ZWdvcmllc0lkczogYW55ID0gW107XG4gIHNlbGVjdGVkQXNzZXNzbWVudElkczogYW55ID0gW107XG4gIHNlbGVjdGVkQXNzZXNzbWVudDogYW55ID0gW107XG5cbiAgLyoqXG4gICAqICMjIyMgRGVzY3JpcHRpb25cbiAgICogU2VsZWN0cyBpdGVtIG9yIGRlc2VsZWN0IGEgaXRtZVxuICAgKiBAcGFyYW0gZXZ0XG4gICAqIEBwYXJhbSBwYXlsb2FkXG4gICAqL1xuICBzZWxlY3RBc3Nlc3NtZW50KGV2dDogYW55LCBwYXlsb2FkOiBhbnksIGNhdGVnb3J5OiBhbnkpIHtcbiAgICBpZiAoZXZ0Py50YXJnZXQ/LmNoZWNrZWQpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIuZmluZEluZGV4KFxuICAgICAgICAoZWxlOiBhbnkpID0+IGVsZS5jYXRlZ29yeV9pZCA9PT0gY2F0ZWdvcnkuaWRcbiAgICAgICk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBjb25zdCBjdXJyZW50Q2F0ZWdvcnlBc3Nlc3NtZW50ID1cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycltpbmRleF0uYXNzZXNzbWVudElkcztcbiAgICAgICAgY3VycmVudENhdGVnb3J5QXNzZXNzbWVudC5wdXNoKHBheWxvYWQpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycltpbmRleF0uYXNzZXNzbWVudElkcyA9IHRoaXMudW5pcXVlQnlQcm9wKFxuICAgICAgICAgIGN1cnJlbnRDYXRlZ29yeUFzc2Vzc21lbnQsXG4gICAgICAgICAgJ2lkJ1xuICAgICAgICApO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyciA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycik7XG4gICAgICAgIHRoaXMuc2V0Q2F0ZWdvcnlBbmRBc3Nlc3NtZW50KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyci5wdXNoKHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgYXNzZXNzbWVudElkczogW3BheWxvYWRdLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyciA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycik7XG4gICAgICAgIHRoaXMuc2V0Q2F0ZWdvcnlBbmRBc3Nlc3NtZW50KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnIuZmluZEluZGV4KFxuICAgICAgICAoZWxlOiBhbnkpID0+IGVsZS5jYXRlZ29yeV9pZCA9PT0gY2F0ZWdvcnkuaWRcbiAgICAgICk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFycltpbmRleF0uYXNzZXNzbWVudElkcyA9XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFzc2Vzc21lbnRBcnJbaW5kZXhdLmFzc2Vzc21lbnRJZHMuZmlsdGVyKFxuICAgICAgICAgICAgKGFzc2Vzc21lbnQ6IGFueSkgPT4gYXNzZXNzbWVudC5pZCAhPT0gcGF5bG9hZC5pZFxuICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyKTtcbiAgICAgICAgdGhpcy5zZXRDYXRlZ29yeUFuZEFzc2Vzc21lbnQoKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyW2luZGV4XS5hc3Nlc3NtZW50SWRzPy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudEFyci5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyKTtcbiAgICAgICAgICB0aGlzLnNldENhdGVnb3J5QW5kQXNzZXNzbWVudCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0Q2F0ZWdvcnlBbmRBc3Nlc3NtZW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50Q2F0ZWdvcmllc0lkcyA9IHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyXG4gICAgICAuZmlsdGVyKChjYXQ6IGFueSkgPT4gY2F0Py5hc3Nlc3NtZW50SWRzPy5sZW5ndGggPiAwKVxuICAgICAgPy5tYXAoKGVsZTogYW55KSA9PiBlbGU/LmNhdGVnb3J5X2lkKVxuICAgICAgLmZsYXQoKTtcbiAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudElkcyA9IHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyXG4gICAgICAubWFwKChjYXQ6IGFueSkgPT4gY2F0Py5hc3Nlc3NtZW50SWRzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uaWQpKVxuICAgICAgLmZsYXQoKTtcbiAgICB0aGlzLnNlbGVjdGVkQXNzZXNzbWVudCA9IHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyXG4gICAgICAubWFwKChjYXQ6IGFueSkgPT4gY2F0Py5hc3Nlc3NtZW50SWRzLm1hcCgoZWxlOiBhbnkpID0+IGVsZSkpXG4gICAgICAuZmxhdCgpO1xuICB9XG5cbiAgLy8gVE9ETzogRGlzcGxheSBzZWxlY3RlZCBkYXRhIGluIGJvdHRvbSBmbG9hdGluZyBiYXIgd2l0aCBuZXh0IGVuYWJsZWQgYnV0dG9uIGhhdmluZ1xuXG4gIC8vIFRPRE86IFNlbmQgZGF0YSBpbiBwYXlsb2FkIG9mIGNyZWF0ZSBSZXNwb25zaWJpbGl0eSBmb3JtXG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLm9uQXNzZXNzbWVudFNlbGVjdC5lbWl0KHRoaXMuc2VsZWN0ZWRBc3Nlc3NtZW50QXJyKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuY2FuY2VsQXNzZXNzbWVudC5lbWl0KCk7XG4gIH1cblxuICAvKipcbiAgICogIyMjIyBEZXNjcmlwdGlvblxuICAgKlxuICAgKiBSZXR1cm5zIHRoZSB1bmlxdWUgYXJyYXkgb2Ygb2JqZWN0IGJhc2VkIG9uIHVuaXF1ZSBrZXlcbiAgICogQHBhcmFtIGFycmF5XG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHJldHVybnNcbiAgICovXG4gIHVuaXF1ZUJ5UHJvcChhcnJheTogYW55LCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgYXJyYXlcbiAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAoYWNjOiBhbnksIGl0ZW06IGFueSkgPT4gKFxuICAgICAgICAgICAgaXRlbSAmJiBpdGVtW2tleV0gJiYgYWNjLnNldChpdGVtW2tleV0sIGl0ZW0pLCBhY2NcbiAgICAgICAgICApLFxuICAgICAgICAgIG5ldyBNYXAoKVxuICAgICAgICApXG4gICAgICAgIC52YWx1ZXMoKVxuICAgICk7XG4gIH1cbn1cbiIsIjxhcHAtcHJldmlld1xuICAqbmdJZj1cImlzUHJldmlld1wiXG4gIFtxdWVzdGlvbkRhdGFdPVwicHJldmlld1F1ZXN0aW9uRGF0YVwiXG4gIChwcmV2aWV3QmFjayk9XCJwcmV2aWV3QmFjaygpXCJcbj48L2FwcC1wcmV2aWV3PlxuPGRpdiBjbGFzcz1cImFzc2Vzc21lbnQtbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8bmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtaGVhZFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJhY2stYnRuXCI+XG4gICAgICAgIDwhLS0gPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWQ7PC9pPiAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGgzIGNsYXNzPVwiYXNzZXNzbWVudC1saXN0LXRpdGxlXCI+U2VsZWN0IEFzc2Vzc21lbnQocyk8L2gzPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9ja1wiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEFzc2Vzc21lbnRzXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uQXNzZXNzbWVudFNlYXJjaCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggQXNzZXNzbWVudCBDYXRlZ29yeVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwYWdpbmF0aW9uXG4gICAgICAgIFtwYWdlQ291bnRdPVwiYXNzZXNzbWVudENhdGVnb3J5Py50b3RhbFBhZ2VcIlxuICAgICAgICBbdG90YWxdPVwiYXNzZXNzbWVudENhdGVnb3J5Py50b3RhbFJlY29yZHNcIlxuICAgICAgICBbc3RhcnRdPVwiYXNzZXNzbWVudENhdGVnb3J5Py5zdGFydF92YWx1ZVwiXG4gICAgICAgIFtlbmRdPVwiYXNzZXNzbWVudENhdGVnb3J5Py5lbmRfdmFsdWVcIlxuICAgICAgICBbYWN0aXZlQWxwaGFiZXRdPVwiJydcIlxuICAgICAgICAoc2VsZWN0ZWRBbHBoYWJldCk9XCJvbkFscGhhYmV0U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIChzZWxlY3RlZFBhZ2UpPVwib25QYWdlU2VsZWN0aW9uKCRldmVudClcIlxuICAgICAgPjwvcGFnaW5hdGlvbj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJhc3Nlc3NtZW50Q2F0ZWdvcnkuZGF0YS5sZW5ndGggPT09IDAgJiYgIWlzTG9hZGVyXCJcbiAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtcGFydFwiXG4gICAgICA+XG4gICAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBBc3Nlc3NtZW50cyBGb3VuZC4nXCJcbiAgICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJhc3Nlc3NtZW50Q2F0ZWdvcnkuZGF0YS5sZW5ndGggfHwgaXNMb2FkZXJcIlxuICAgICAgICBjbGFzcz1cImFzc2Vzc21lbnQtbGlzdC1wYXJ0XCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBpc0VkaXQgJiYgc2VsZWN0ZWRBc3Nlc3NtZW50Py5hc3Nlc3NtZW50RGV0YWlscz8uYXNzZXNzbWVudF9uYW1lXG4gICAgICAgICAgXCJcbiAgICAgICAgICBjbGFzcz1cImFzc2Vzc21lbnQtbGlzdC1zZWxlY3RlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXNzZXNzbWVudC1saXN0LWhlYWRpbmdcIj5cbiAgICAgICAgICAgIEFzc2Vzc21lbnQgYWxyZWFkeSBzZWxlY3RlZCBmb3IgdGhpcyByZXNwb25zaWJpbGl0eVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhc3Nlc3NtZW50LWxpc3QtaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHNlcmlhbCBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPjwvYXBwLWNzLXJhZGlvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzdWItbmFtZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEFzc2Vzc21lbnQ/LmFzc2Vzc21lbnREZXRhaWxzPy5hc3Nlc3NtZW50X25hbWVcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkQXNzZXNzbWVudD8uYXNzZXNzbWVudERldGFpbHM/LmFzc2Vzc21lbnRfbmFtZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoaW4tYm94XCI+V2l0aGluPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRBc3Nlc3NtZW50Py5jYXRlZ29yeV9kZXRhaWxzPy5jYXRlZ29yeV9uYW1lICtcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEFzc2Vzc21lbnQ/LmNhdGVnb3J5X2RldGFpbHM/LnBhcmVudF90cmVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gJyA+ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQXNzZXNzbWVudD8uY2F0ZWdvcnlfZGV0YWlscz8ucGFyZW50X3RyZWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJylcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgID57e1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRBc3Nlc3NtZW50Py5jYXRlZ29yeV9kZXRhaWxzPy5jYXRlZ29yeV9uYW1lICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQXNzZXNzbWVudD8uY2F0ZWdvcnlfZGV0YWlscz8ucGFyZW50X3RyZWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiID4gXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRBc3Nlc3NtZW50Py5jYXRlZ29yeV9kZXRhaWxzPy5wYXJlbnRfdHJlZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIilcbiAgICAgICAgICAgICAgICAgICAgICB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gcXVlc3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkQXNzZXNzbWVudD8uYXNzZXNzbWVudERldGFpbHM/LnF1ZXN0aW9ucyB9fVxuICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRBc3Nlc3NtZW50Py5hc3Nlc3NtZW50RGV0YWlscz8ucXVlc3Rpb25zID4gMVxuICAgICAgICAgICAgICAgICAgICAgID8gXCJRdWVzdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgIDogXCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ0blwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aWV3KHNlbGVjdGVkQXNzZXNzbWVudD8uYXNzZXNzbWVudERldGFpbHMpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGVhZTU7PC9pPiBQcmV2aWV3XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYzs8L2k+IEVkaXQ8L2J1dHRvbj4gLS0+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXNzZXNzbWVudC1saXN0LWhlYWRpbmdcIj5cbiAgICAgICAgICBTZWxlY3QgYW4gQXNzZXNzbWVudCBmb3IgdGhpcyByZXNwb25zaWJpbGl0eVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tXG4gICAgICAgICAgICAgICAgICAgICBBc3Nlc3NtZW50IGNhdGVnb3J5IGxpc3RcbiAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSBjbGFzcyBpcyB1c2VkIGZvciBoaWdobGlnaHRpbmcgb3BlbmVkIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIGFzc2Vzc21lbnRDYXRlZ29yeS5kYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1saXN0LWl0ZW1cIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICAgICAgb3BlbmVkQ2F0ZWdvcnkuaW5jbHVkZXMoZGF0YT8uaWQpIHx8XG4gICAgICAgICAgICAgIGRhdGEuaWQgPT09IHNlbGVjdGVkQXNzZXNzbWVudD8uY2F0ZWdvcnlfaWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvdyBtYWluLWxpc3RcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kQ2F0ZWdvcnkoZGF0YT8uaWQpXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRhdGE/LmFzc2Vzc21lbnRjb3VudCA8IDFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHNlcmlhbFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIFtpZF09XCInc3Itbm8nICsgaVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGRhdGFQZXJQYWdlICogKGFzc2Vzc21lbnRQYXlsb2FkLnBhZ2Vfbm8gLSAxKSArIChpICsgMSkgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gbmFtZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJkYXRhLmNhdGVnb3J5X25hbWVcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZGF0YT8uY2F0ZWdvcnlfbmFtZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnRcIiAqbmdJZj1cImRhdGE/LnBhcmVudF90cmVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aGluLWJveFwiPldpdGhpbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJkYXRhLnBhcmVudF90cmVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICA+e3sgZGF0YT8ucGFyZW50X3RyZWUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIGFjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIFtpZF09XCInYXJyb3cnICsgaVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImFycm93XCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkYXRhPy5hc3Nlc3NtZW50Y291bnQgPCAxXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhPy5hc3Nlc3NtZW50Y291bnQgPCAxXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFvcGVuZWRDYXRlZ29yeS5pbmNsdWRlcyhkYXRhPy5pZClcIiBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgPiYjeGU5NzA7PC9pXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIm9wZW5lZENhdGVnb3J5LmluY2x1ZGVzKGRhdGE/LmlkKVwiIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICA+JiN4ZTllODs8L2lcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBBc3Nlc3NtZW50IGxpc3Qgc3RhcnQgZnJvbSBoZXJlIC0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9wZW5lZENhdGVnb3J5LmluY2x1ZGVzKGRhdGE/LmlkKVwiIGNsYXNzPVwic3ViLWxpc3RcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuYXNzZXNzbWVudERhdGE/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYXNzZXNzbWVudCBvZiBkYXRhLmFzc2Vzc21lbnREYXRhOyBsZXQgaiA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRBc3Nlc3NtZW50SWRzLmluY2x1ZGVzKGFzc2Vzc21lbnQuaWQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHNlcmlhbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidzdWItc3Itbm8nICsgaSArIGpcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3Itbm8gYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICBhcHBUb29sdGlwPVwie3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFQZXJQYWdlICogKGFzc2Vzc21lbnRQYXlsb2FkLnBhZ2Vfbm8gLSAxKSArIChpICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICB9fS57eyBqICsgMSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVBlclBhZ2UgKiAoYXNzZXNzbWVudFBheWxvYWQucGFnZV9ubyAtIDEpICsgKGkgKyAxKVxuICAgICAgICAgICAgICAgICAgICAgIH19Lnt7IGogKyAxIH19XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YXBwLWNzLXJhZGlvIG5hbWU9XCJhc3Nlc3NtZW50XCIgW3ZhbHVlXT1cImFzc2Vzc21lbnQuaWRcIiBbY2hlY2tlZF09XCJhc3Nlc3NtZW50Py5pZCA9PT0gc2VsZWN0ZWRBc3Nlc3NtZW50Py5hc3Nlc3NtZW50X2lkICYmIGRhdGE/LmlkID09PSBzZWxlY3RlZEFzc2Vzc21lbnQ/LmNhdGVnb3J5X2lkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJzZXRBc3Nlc3NtZW50KGRhdGEsIGFzc2Vzc21lbnQpXCI+PC9hcHAtY3MtcmFkaW8+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNoYW5nZSk9XCJzZWxlY3RHcm91cCgkZXZlbnQsZ3JvdXApXCIgW2Rpc2FibGVkXT1cIm5vblJlbW92YWJsZUdyb3VwSWRzPy5pbmNsdWRlcyhncm91cD8uZ3JvdXBfaWQpXCIgW2NoZWNrZWRdPVwic2VsZWN0ZWRHcm91cElkcy5pbmNsdWRlcyhncm91cD8uZ3JvdXBfaWQpXCIgLS0+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRBc3Nlc3NtZW50SWRzLmluY2x1ZGVzKGFzc2Vzc21lbnQuaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3RBc3Nlc3NtZW50KCRldmVudCwgYXNzZXNzbWVudCwgZGF0YSlcIlxuICAgICAgICAgICAgICAgICAgICAgID48L3Z1aS1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gc3ViLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgJ01pc3Npb24gYW5kIG1lc3NhZ2UsIGNvbW11bmljYXRpb25zIHRvIGV4dGVybmFsIGF1ZGllbmNlcydcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgYXNzZXNzbWVudD8uYXNzZXNzbWVudF9uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHF1ZXN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGFzc2Vzc21lbnQ/LnF1ZXN0aW9ucyB9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7IGFzc2Vzc21lbnQ/LnF1ZXN0aW9ucyA+IDEgPyBcIlF1ZXN0aW9uc1wiIDogXCJRdWVzdGlvblwiIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnRuXCIgKGNsaWNrKT1cInByZXZpZXcoYXNzZXNzbWVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlYWU1OzwvaT4gUHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+IEVkaXQ8L2J1dHRvbj4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8IS0tIExvYWRlciBsb2FkaW5nIGlzTG9hZGVyICAtLT5cbiAgICAgICAgICAgICAgPGFzc2Vzc21lbnQtc3ViLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRhdGEuYXNzZXNzbWVudERhdGE/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgID48L2Fzc2Vzc21lbnQtc3ViLWxvYWRlcj5cbiAgICAgICAgICAgICAgPCEtLSA8YXBwLWxpbmUtbG9hZGVyICpuZ0lmPVwiIWRhdGEuYXNzZXNzbWVudERhdGE/Lmxlbmd0aFwiIFtsb2FkZXJIZWlnaHRdPVwiJzUnXCI+PC9hcHAtbGluZS1sb2FkZXI+IC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8IS0tIExvYWRlciBsb2FkaW5nIGlzTG9hZGVyICAtLT5cbiAgICAgICAgPGFzc2Vzc21lbnQtbG9hZGVyICpuZ0lmPVwiaXNMb2FkZXJcIj48L2Fzc2Vzc21lbnQtbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIE5vIGRhdGEgaW1hZ2UgIC0tPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICpuZ0lmPVwiIWFzc2Vzc21lbnRDYXRlZ29yeS5kYXRhLmxlbmd0aCAmJiAhaXNMb2FkZXJcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIERhdGEgdG8gRGlzcGxheSdcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gICAgPCEtLVxuICAgICAgICAgICAgYm90dG9tIGZsb2F0aW5nIGJhciB3aGljaCBpbmNsdWRlcyBjYW5jZWwsIG5leHQgYnV0dG9uXG4gICAgICAgICAgICBjbG9zaW5nIHRhYlxuICAgICAgICAgLS0+XG5cbiAgICA8dnVpLWZsb2F0aW5nLWJhciAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAoY2xvc2VMaXN0KT1cImNsb3NlKClcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb3VudGVyXCJcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEFzc2Vzc21lbnQ/Lmxlbmd0aFwiXG4gICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgKGNsaWNrKT1cImFzc2Vzc21lbnRDb3VudC5wb3BvdmVyKClcIlxuICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCJcbiAgICAgID5cbiAgICAgICAge3sgc2VsZWN0ZWRBc3Nlc3NtZW50Py5sZW5ndGggfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZEFzc2Vzc21lbnQ/Lmxlbmd0aCA9PT0gMVwiXG4gICAgICAgICAgPkFzc2Vzc21lbnQgc2VsZWN0ZWQ8L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkQXNzZXNzbWVudD8ubGVuZ3RoID4gMVwiPkFzc2Vzc21lbnRzIHNlbGVjdGVkPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8YXBwLXBvcG92ZXIgI2Fzc2Vzc21lbnRDb3VudCBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2Ygc2VsZWN0ZWRBc3Nlc3NtZW50OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgIDwhLS0gPGkgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFzc2Vzc21lbnQoe3RhcmdldDp7Y2hlY2tlZDpmYWxzZX19LGVsZW1lbnQpXCI+JiN4ZTkwZDs8L2k+IC0tPlxuICAgICAgICAgICAgICAgICAge3sgZWxlbWVudD8uYXNzZXNzbWVudF9uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2FwcC1wb3BvdmVyPlxuICAgIDwvdnVpLWZsb2F0aW5nLWJhcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ASSETS } from '../../../constants/
|
|
2
|
+
import { ASSETS } from '../../../constants/assets.constants';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "./framework.service";
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
@@ -266,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
266
266
|
type: Input,
|
|
267
267
|
args: ['selectedFramework']
|
|
268
268
|
}] } });
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPL0QsTUFBTSxPQUFPLCtCQUErQjtJQUkxQyxJQUFnQyxZQUFZLENBQUMsS0FBVTtRQUNyRCxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLG1CQUFtQjtnQkFDdEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUN6RCxLQUFLLEVBQUUsSUFBSSxDQUNaLElBQUksQ0FBQyxDQUFDO1lBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUUsUUFBUSxDQUFDO1lBQy9CLElBQUksQ0FBQyxV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LHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLEtBQVUsRUFBRSxHQUFXO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixLQUFLO2FBQ0YsTUFBTSxDQUNMLENBQUMsR0FBUSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FDdkIsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQ25ELEVBQ0QsSUFBSSxHQUFHLEVBQUUsQ0FDVjthQUNBLE1BQU0sRUFBRSxDQUNaLENBQUM7SUFDSixDQUFDOytHQWxSVSwrQkFBK0I7bUdBQS9CLCtCQUErQixnTUNWNUMsd2pyQkFpaEJBOzs0RkR2Z0JhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSw4QkFBOEI7dUdBSzlCLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0UsSUFBSTtzQkFBWixLQUFLO2dCQUMwQixZQUFZO3NCQUEzQyxLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4vZnJhbWV3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlZmluZUZyYW1ld29ya0xpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgbmV4dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgbW9kZSA9ICdDUkVBVEUnO1xuICBASW5wdXQoJ3NlbGVjdGVkRnJhbWV3b3JrJykgc2V0IHNldEZyYW1ld29yayh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlPy5faWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSB2YWx1ZTtcbiAgICAgIHRoaXMuYWN0aXZlRnJhbWV3b3JrVHlwZSA9XG4gICAgICAgIFsnT1RIRVJTJywgJ1JFR1VMQVRJT05TJywgJ1NUQU5EQVJEUycsICdJTlRFUk5BTF9DT05UUk9MUyddW1xuICAgICAgICAgIHZhbHVlPy50eXBlXG4gICAgICAgIF0gPz8gMTtcbiAgICAgIHRoaXMuY3VycmVudFZpZXcgPSAnRlJBTUVXT1JLJztcbiAgICAgIHRoaXMuaW5TY29wZSA9IHZhbHVlPy5pbl9zY29wZTtcbiAgICAgIHRoaXMuaW5TY29wZUlkcyA9IHRoaXMuaW5TY29wZS5tYXAoKGVsZTogYW55KSA9PiBlbGU/Ll9pZCk7XG4gICAgICB0aGlzLmxvYWRGcmFtZXdvcmtEYXRhKCk7XG4gICAgfVxuICB9XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcbiAgZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmFtZXdvcmtTZXJ2aWNlOiBGcmFtZXdvcmtTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ291bnQoKTtcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCk7XG4gIH1cblxuICBpc01haW5Mb2FkZXIgPSB0cnVlO1xuICBmcmFtZXdvcmtDb3VudDogYW55ID0gbnVsbDtcbiAgZmV0Y2hGcmFtZXdvcmtDb3VudCgpIHtcbiAgICB0aGlzLmZyYW1ld29ya1NlcnZpY2UuZmV0Y2hGcmFtZXdvcmtDb3VudCgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtDb3VudCA9IHJlcztcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIC8vaGFuZGxlIGVycm9yIGhlcmVcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgc2VhcmNoS2V5ID0gJyc7XG4gIGFwaUZyYW1ld29ya1BheWxvYWQgPSB7XG4gICAgcGFnZTogMSxcbiAgICBzZWFyY2g6ICcnLFxuICAgIHR5cGU6IDEsXG4gIH07XG4gIGN1cnJlbnRWaWV3OiAnRlJBTUVXT1JLX0NBVEVHT1JZJyB8ICdGUkFNRVdPUksnID0gJ0ZSQU1FV09SS19DQVRFR09SWSc7XG4gIGFjdGl2ZUZyYW1ld29ya1R5cGU6XG4gICAgfCAnUkVHVUxBVElPTlMnXG4gICAgfCAnU1RBTkRBUkRTJ1xuICAgIHwgJ0lOVEVSTkFMX0NPTlRST0xTJ1xuICAgIHwgJ09USEVSUydcbiAgICB8IGFueSA9ICdSRUdVTEFUSU9OUyc7XG5cbiAgZnJhbWV3b3JrVHlwZXMgPSB7XG4gICAgUkVHVUxBVElPTlM6IDEsXG4gICAgU1RBTkRBUkRTOiAyLFxuICAgIElOVEVSTkFMX0NPTlRST0xTOiAzLFxuICAgIE9USEVSUzogMCxcbiAgfTtcblxuICBmcmFtZXdvcmtEYXRhOiBhbnkgPSBbXTtcbiAgY2hhbmdlVHlwZShcbiAgICB0eXBlOiAnUkVHVUxBVElPTlMnIHwgJ1NUQU5EQVJEUycgfCAnSU5URVJOQUxfQ09OVFJPTFMnIHwgJ09USEVSUydcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtUeXBlID0gdHlwZTtcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQucGFnZSA9IDE7XG4gICAgdGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkLnR5cGUgPSB0aGlzLmZyYW1ld29ya1R5cGVzW3R5cGVdO1xuICAgIHRoaXMuZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvblxuICAgICAgPyB0aGlzLmZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgOiBudWxsO1xuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcbiAgfVxuXG4gIGV4ZWN1dGVTZWFyY2goKSB7XG4gICAgdGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkLnBhZ2UgPSAxO1xuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5zZWFyY2ggPSB0aGlzLnNlYXJjaEtleTtcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCk7XG4gIH1cblxuICBwYWdlQ2hhbmdlZChldnQ6IGFueSkge1xuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5wYWdlID0gZXZ0O1xuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcbiAgfVxuXG4gIGZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCkge1xuICAgIHRoaXMuaXNNYWluTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24gPSB0aGlzLmZyYW1ld29ya1NlcnZpY2VcbiAgICAgIC5mZXRjaEZyYW1ld29ya0luQ2F0ZWdvcnkodGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YSA9IHJlcztcbiAgICAgICAgICB0aGlzLmlzTWFpbkxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNNYWluTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuICBzZWxlY3RlZEZyYW1ld29yayE6IGFueTtcbiAgc2VsZWN0RnJhbWV3b3JrKGV2dDogYW55LCBmcmFtZXdvcms6IGFueSkge1xuICAgIGlmIChldnQ/LnRhcmdldD8uY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZyYW1ld29yayA9IGZyYW1ld29yaztcbiAgICB9XG4gIH1cblxuICBleHBhbmRlZEZyYW1ld29ya0lkOiBhbnkgPSAnJztcbiAgZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrOiBhbnkpIHtcbiAgICBpZiAodGhpcy5leHBhbmRlZEZyYW1ld29ya0lkID09PSBmcmFtZXdvcms/Ll9pZCkge1xuICAgICAgdGhpcy5leHBhbmRlZEZyYW1ld29ya0lkID0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXhwYW5kZWRGcmFtZXdvcmtJZCA9IGZyYW1ld29yaz8uX2lkO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVNlbGVjdGVkRnJhbWV3b3JrKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gbnVsbDtcbiAgfVxuXG4gIC8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIHNlYXJjaEtleWZvckZyYW1ld29yayA9ICcnO1xuICBzZWxlY3RlZEZyYW1ld29ya0RhdGE6IGFueSA9IG51bGw7XG4gIGFsbENvbnRyb2xzOiBhbnkgPSBbXTtcbiAgaW5TY29wZTogYW55ID0gW107XG4gIG91dFNjb3BlOiBhbnkgPSBbXTtcbiAgaW5TY29wZUlkczogYW55ID0gW107XG4gIGFsbENvbnRyb2xzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgaXNzdWJMb2FkaW5nID0gdHJ1ZTtcbiAgbG9hZEZyYW1ld29ya0RhdGEoKSB7XG4gICAgdGhpcy5pc3N1YkxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZVxuICAgICAgLmZldGNoQ2F0ZWdvcnlGb3JGcmFtZXdvcmsodGhpcy5zZWxlY3RlZEZyYW1ld29yaz8uX2lkKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gcmVzO1xuICAgICAgICAgIHRoaXMuY2hlY2tBbGxFbGVtZW50cyh0aGlzLm1vZGUgPT09ICdFRElUJyA/IGZhbHNlIDogdHJ1ZSk7XG4gICAgICAgICAgdGhpcy5pc3N1YkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzc3ViTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBjaGVja0FsbEVsZW1lbnRzKHBvcHVsYXRlSW5TY29wZTogYW55KSB7XG4gICAgbGV0IGFsbEVsZW1lbnQ6IGFueSA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhLmRhdGE/LmNoaWxkX2xpc3RfZGV0YWlscz8uZm9yRWFjaChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgZWxlbWVudD8uY29udHJvbHNEYXRhLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBhbGxFbGVtZW50LnB1c2goZWwpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuYWxsQ29udHJvbHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChhbGxFbGVtZW50LCAnX2lkJyk7XG4gICAgaWYgKHBvcHVsYXRlSW5TY29wZSkge1xuICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy51bmlxdWVCeVByb3AoYWxsRWxlbWVudCwgJ19pZCcpO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tTZWxlY3RBbGwoKTtcbiAgICB0aGlzLnNldEluc2NvcGVJZHMoKTtcbiAgfVxuXG4gIGNoZWNrU2VsZWN0QWxsKCkge1xuICAgIGNvbnN0IGFsbElkcyA9IHRoaXMuYWxsQ29udHJvbHMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIGNvbnN0IGluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIHRoaXMuYWxsQ29udHJvbHNTZWxlY3RlZCA9XG4gICAgICBhbGxJZHMuc29ydCgpPy50b1N0cmluZygpID09PSBpblNjb3BlSWRzLnNvcnQoKT8udG9TdHJpbmcoKTtcbiAgfVxuICBzZWxlY3RBbGwoZXZ0OiBhbnkpIHtcbiAgICBpZiAoZXZ0Py50YXJnZXQ/LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tBbGxFbGVtZW50cyh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pblNjb3BlID0gW107XG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xuICB9XG4gIHNldEluc2NvcGVJZHMoKSB7XG4gICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWw6IGFueSkgPT4gZWw/Ll9pZCk7XG4gIH1cblxuICBzZWxlY3RJdGVtKGV2dDogYW55LCBwYXlsb2FkOiBhbnkpIHtcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZVxuICAgICAgPyB0aGlzLm1hbmlwdWxhdGVJdGVtKCdBREQnLCBwYXlsb2FkKVxuICAgICAgOiB0aGlzLm1hbmlwdWxhdGVJdGVtKCdERUxFVEUnLCBwYXlsb2FkKTtcbiAgfVxuICBtYW5pcHVsYXRlSXRlbShhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XG4gICAgICB0aGlzLmluU2NvcGUgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5pblNjb3BlLCAuLi5bcGF5bG9hZF1dLCAnX2lkJyk7XG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSAnREVMRVRFJykge1xuICAgICAgbGV0IGluZGV4ID0gdGhpcy5pblNjb3BlLmZpbmRJbmRleChcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Ll9pZCA9PT0gcGF5bG9hZD8uX2lkXG4gICAgICApO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy5pblNjb3BlLmZpbHRlcihcbiAgICAgICAgICAoZWxlOiBhbnkpID0+IGVsZT8uX2lkICE9PSBwYXlsb2FkPy5faWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xuICB9XG5cbiAgc2VsZWN0Q2F0ZWdvcnkoZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xuICAgIGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlXG4gICAgICA/IHRoaXMubWFuaXB1bGF0ZUNhdGVnb3J5KCdBREQnLCBwYXlsb2FkKVxuICAgICAgOiB0aGlzLm1hbmlwdWxhdGVDYXRlZ29yeSgnREVMRVRFJywgcGF5bG9hZCk7XG4gIH1cbiAgbWFuaXB1bGF0ZUNhdGVnb3J5KGFjdGlvbjogJ0FERCcgfCAnREVMRVRFJywgcGF5bG9hZDogYW55KSB7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcbiAgICAgIGNvbnN0IGl0ZW1zVG9iZUFkZGVkID0gcGF5bG9hZD8uY29udHJvbHNEYXRhO1xuICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy51bmlxdWVCeVByb3AoXG4gICAgICAgIFsuLi50aGlzLmluU2NvcGUsIC4uLml0ZW1zVG9iZUFkZGVkXSxcbiAgICAgICAgJ19pZCdcbiAgICAgICk7XG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSAnREVMRVRFJykge1xuICAgICAgY29uc3QgaXRlbXNUb2JlUmVtb3ZlZCA9IHBheWxvYWQ/LmNvbnRyb2xzRGF0YS5tYXAoKGVsOiBhbnkpID0+IGVsLl9pZCk7XG4gICAgICB0aGlzLmluU2NvcGUgPSB0aGlzLmluU2NvcGUuZmlsdGVyKFxuICAgICAgICAoZWxlOiBhbnkpID0+ICFpdGVtc1RvYmVSZW1vdmVkLmluY2x1ZGVzKGVsZS5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xuICB9XG5cbiAgbmV4dEhhbmRsZXIoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdGUkFNRVdPUktfQ0FURUdPUlknKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ0ZSQU1FV09SSyc7XG4gICAgICB0aGlzLmxvYWRGcmFtZXdvcmtEYXRhKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmV4dC5lbWl0KHtcbiAgICAgICAgLi4udGhpcy5zZWxlY3RlZEZyYW1ld29yayxcbiAgICAgICAgaW5fc2NvcGU6IHRoaXMuaW5TY29wZSxcbiAgICAgICAgb3V0X3Njb3BlOiB0aGlzLmFsbENvbnRyb2xzLmZpbHRlcihcbiAgICAgICAgICAoZWxlOiBhbnkpID0+ICF0aGlzLmluU2NvcGVJZHMuaW5jbHVkZXMoZWxlPy5faWQpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWxIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLJykge1xuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICdGUkFNRVdPUktfQ0FURUdPUlknO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHM6IGFueSA9IFtdO1xuICBzdWJDYXRlZ29yeUV4cGFuZENvbGxhcHNlKGNhdGVnb3J5OiBhbnkpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5pbmRleE9mKGNhdGVnb3J5Py5faWQpO1xuICAgIGlmIChpbmRleCA8IDAgJiYgY2F0ZWdvcnk/LmNvbnRyb2xzRGF0YT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMucHVzaChjYXRlZ29yeT8uX2lkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5leHBhbmRlZFN1YkNhdGVnb3J5SWRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG4gIHVuaXF1ZUJ5UHJvcChhcnJheTogYW55LCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgYXJyYXlcbiAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAoYWNjOiBhbnksIGl0ZW06IGFueSkgPT4gKFxuICAgICAgICAgICAgaXRlbSAmJiBpdGVtW2tleV0gJiYgYWNjLnNldChpdGVtW2tleV0sIGl0ZW0pLCBhY2NcbiAgICAgICAgICApLFxuICAgICAgICAgIG5ldyBNYXAoKVxuICAgICAgICApXG4gICAgICAgIC52YWx1ZXMoKVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmdcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLX0NBVEVHT1JZJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctaGVhZFwiPlxuICAgICAgPGgzIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRpdGxlXCI+U2VsZWN0IGEgRnJhbWV3b3JrPC9oMz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJ0cnVlXCIgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWItMlwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ1JFR1VMQVRJT05TJylcIlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlRnJhbWV3b3JrVHlwZSA9PT0gJ1JFR1VMQVRJT05TJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlJFR1VMQVRJT05TPC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3sgZnJhbWV3b3JrQ291bnQ/LnJlZ3VsYXRpb25zID8/IFwiLS1cIiB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VUeXBlKCdTVEFOREFSRFMnKVwiXG4gICAgICAgICAgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVGcmFtZXdvcmtUeXBlID09PSAnU1RBTkRBUkRTJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlNUQU5EQVJEUzwvbGFiZWxcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgICAgPnt7IGZyYW1ld29ya0NvdW50Py5zdGFuZGFyZHMgPz8gXCItLVwiIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ0lOVEVSTkFMX0NPTlRST0xTJylcIlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlRnJhbWV3b3JrVHlwZSA9PT0gJ0lOVEVSTkFMX0NPTlRST0xTJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPklOVEVSTkFMIENPTlRST0xTPC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3sgZnJhbWV3b3JrQ291bnQ/LmludGVybmFsQ29udHJvbHMgPz8gXCItLVwiIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ09USEVSUycpXCJcbiAgICAgICAgICBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUZyYW1ld29ya1R5cGUgPT09ICdPVEhFUlMnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+T1RIRVJTPC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3sgZnJhbWV3b3JrQ291bnQ/Lm90aGVycyA/PyBcIi0tXCIgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9ja1wiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBGcmFtZXdvcmtzXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEtleVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cImV4ZWN1dGVTZWFyY2goKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1tdC0yXCIgKm5nSWY9XCJpc01haW5Mb2FkZXJcIj5cbiAgICAgICAgPGZyYW1ld29yay1sb2FkZXI+PC9mcmFtZXdvcmstbG9hZGVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNYWluTG9hZGVyICYmIGZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtbXQtMlwiPlxuICAgICAgICAgIDx2dWktcGFnaW5hdGlvblxuICAgICAgICAgICAgKHBhZ2VDaGFuZ2VkKT1cInBhZ2VDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgW2Zyb21dPVwiZnJhbWV3b3JrRGF0YT8uaXRlbXNfZnJvbVwiXG4gICAgICAgICAgICBbdG9dPVwiZnJhbWV3b3JrRGF0YT8uaXRlbXNfdG9cIlxuICAgICAgICAgICAgW3RvdGFsXT1cImZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zXCJcbiAgICAgICAgICAgIFt0b3RhbFBhZ2VdPVwiZnJhbWV3b3JrRGF0YT8udG90YWxfcGFnZXNcIlxuICAgICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImFwaUZyYW1ld29ya1BheWxvYWQ/LnBhZ2VcIlxuICAgICAgICAgID48L3Z1aS1wYWdpbmF0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRhYmxlIHZ4LW10LTFcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgICA8IS0tIHdoZW4gY2hlY2tib3ggd2FzIGNoZWNrZWQgdGhlbiBzaG93IFwiYWN0aXZlXCIgY2xhc3MgaW4gdGFibGUtcm93IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICNcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtY3MtY2hlY2tib3ggKm5nSWY9XCJ0cnVlXCI+PC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAqbmdJZj1cImZhbHNlXCI+PC9hcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZT4gLS0+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBjYXRlZ29yeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGUkFNRVdPUktTXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhY3Rpb25cIlxuICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWl0ZW1cIlxuICAgICAgICAgICAgICBbY2xhc3Mub3Blbl09XCJoaWRlQ2F0ZWdvcnlMaXN0XCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZyYW1ld29yayBvZiBmcmFtZXdvcmtEYXRhPy5kYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPCEtLSB3aGVuIGNoZWNrYm94IHdhcyBjaGVja2VkIHRoZW4gc2hvdyBcImFjdGl2ZVwiIGNsYXNzIGluIHRhYmxlLXJvdyAtLT5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93IG1haW5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDb2xsYXBzZUZyYW1ld29yayhmcmFtZXdvcmspXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIlxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19pZCA9PT0gZnJhbWV3b3JrPy5mcmFtZXdvcmtfaWRcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBhcGlGcmFtZXdvcmtQYXlsb2FkPy5wYWdlIHwgcGFnZXIgOiBpIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19pZCA9PT1cbiAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcms/LmZyYW1ld29ya19pZFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cInNlbGVjdEZyYW1ld29yaygkZXZlbnQsIGZyYW1ld29yaylcIlxuICAgICAgICAgICAgICAgICAgPjwvYXBwLWNzLXJhZGlvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZWdvcnktbmFtZSB2eC1mcy0xMyB2eC1sYWJlbC10eHRcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJmcmFtZXdvcms/LmZyYW1ld29ya19uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZyYW1ld29yaz8uZnJhbWV3b3JrX25hbWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIGFjdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFycm93LWJ0biB2eC1mcy0xNCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyB2eC1kLWZsZXhcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDb2xsYXBzZUZyYW1ld29yayhmcmFtZXdvcmspXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kZWRGcmFtZXdvcmtJZCAhPT0gZnJhbWV3b3JrPy5mcmFtZXdvcmtfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPiYjeGU5NzA7PC9uZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRlZEZyYW1ld29ya0lkID09PSBmcmFtZXdvcms/LmZyYW1ld29ya19pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+JiN4ZTllODs8L25nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8IS0tIHN1YiB0YWJsZSAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uX2lkXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3cgY2hpbGRcIlxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgIGxldCBzdWJDYXQgb2YgZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHM7XG4gICAgICAgICAgICAgICAgICAgIGxldCB4ID0gaW5kZXhcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAoYXBpRnJhbWV3b3JrUGF5bG9hZD8ucGFnZSB8IHBhZ2VyIDogaSkgKyBcIi5cIiArICh4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBjYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlZ29yeS1uYW1lIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwic3ViQ2F0Py5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YkNhdD8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW5cIiAqbmdJZj1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2tcIj5XSVRISU48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ0tvbGthdGEgPiBBbWVyaWNhID4gU291dGggQWZyaWNhJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBLb2xrYXRhID4gQW1lcmljYSA+IFNvdXRoIEFmcmljYVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIGFjdGlvblwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCIhaXNNYWluTG9hZGVyICYmIGZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zIDw9IDBcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIEZyYW1ld29ya3MgRm91bmQnXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctaGVhZFwiPlxuICAgICAgPGgzIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRpdGxlXCI+XG4gICAgICAgIEZyYW1ld29yazoge3sgc2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19uYW1lIH19XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLWJvZHkgYWZ0ZXItZnJhbWV3b3JrLWxpc3RpbmdcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW1iLTJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlRPVEFMIFJFU1BPTlNJQklMSVRJRVM8L2xhYmVsXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgID57eyBhbGxDb250cm9scz8ubGVuZ3RoIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlJFU1BPTlNJQklMSVRJRVMgSU4gU0NPUEU8L2xhYmVsXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgID57eyBpblNjb3BlLmxlbmd0aCB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgID5SRVNQT05TSUJJTElUSUVTIE5PVCBJTiBTQ09QRTwvbGFiZWxcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgICAgPnt7IGFsbENvbnRyb2xzPy5sZW5ndGggLSBpblNjb3BlPy5sZW5ndGggfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9ja1wiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoS2V5Zm9yRnJhbWV3b3JrXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ2eC1tdC0yXCI+XG4gICAgICAgICAgICAgICAgPHZ1aS1wYWdpbmF0aW9uPjwvdnVpLXBhZ2luYXRpb24+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRhYmxlIHZ4LW10LTFcIlxuICAgICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtbXQtMlwiICpuZ0lmPVwiaXNzdWJMb2FkaW5nXCI+XG4gICAgICAgICAgPGZyYW1ld29yay1sb2FkZXI+PC9mcmFtZXdvcmstbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc3N1YkxvYWRpbmdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBzZWxlY3RlZEZyYW1ld29ya0RhdGE/LmRhdGE/LmNoaWxkX2xpc3RfZGV0YWlsc1xuICAgICAgICAgICAgICAgIHwgc2VhcmNoUGlwZSA6IHNlYXJjaEtleWZvckZyYW1ld29yayBhcyBmcmFtZXdvcmtDYXRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZyYW1ld29ya0NhdD8ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1hcmVhXCI+XG4gICAgICAgICAgICAgICAgPHZ1aS1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgI2NoZWNrXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhbGxDb250cm9scz8ubGVuZ3RoIDwgMVwiXG4gICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgKGFsbENvbnRyb2xzU2VsZWN0ZWQgJiYgaXNTY29wZT8ubGVuZ3RoID4gMCkgfHxcbiAgICAgICAgICAgICAgICAgICAgaW5TY29wZT8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlRW5hYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgaW5TY29wZT8ubGVuZ3RoID4gMCAmJiAhYWxsQ29udHJvbHNTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBjaGVjaz8uY2hlY2tlZCA/IFwiRGVzZWxlY3QgQWxsXCIgOiBcIlNlbGVjdCBBbGxcIiB9fVxuICAgICAgICAgICAgICAgIDwvdnVpLWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLWxpc3RpbmctaXRlbVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzdWJMaXN0XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViQ2F0IG9mIGZyYW1ld29ya0NhdDsgbGV0IGsgPSBpbmRleFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvdyBtYWluLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIXN1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1YkNhdGVnb3J5RXhwYW5kQ29sbGFwc2Uoc3ViQ2F0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCI+e3sgayArIDEgfX08L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVFbmFibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViQ2F0Py5jb250cm9sc0RhdGEgfCBzdWJDYXRJbmRldGVyIDogaW5TY29wZVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoKHN1YkNhdD8uY29udHJvbHNEYXRhIHwgY2F0ZWdvcnlBbGxTZWxlY3QgOiBpblNjb3BlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAoc3ViQ2F0Py5jb250cm9sc0RhdGEgfCBzdWJDYXRJbmRldGVyIDogaW5TY29wZSkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJDYXQ/LmNvbnRyb2xzRGF0YT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdENhdGVnb3J5KCRldmVudCwgc3ViQ2F0KVwiXG4gICAgICAgICAgICAgICAgICAgID48L3Z1aS1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBuYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtd2l0aC1jb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwic3ViQ2F0Py5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YkNhdD8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViQ2F0Py5jb250cm9sc0RhdGE/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1wYXJ0XCIgKm5nSWY9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoaW4tYm94XCI+V2l0aGluPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidTb3V0aCBBZnJpY2EgPiBBbWVyaWNhID4gSW5kaWEnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5Tb3V0aCBBZnJpY2EgPiBBbWVyaWNhID4gSW5kaWE8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIXN1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5jbHVkZXMoc3ViQ2F0Py5faWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPiYjeGU5NzA7PC9pXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5jbHVkZXMoc3ViQ2F0Py5faWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPiYjeGU5ZTg7PC9pXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ViLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRlZFN1YkNhdGVnb3J5SWRzLmluY2x1ZGVzKHN1YkNhdD8uX2lkKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIHN1YkNhdD8uY29udHJvbHNEYXRhOyBsZXQgYyA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57eyBrICsgMSArIFwiLlwiICsgKGMgKyAxKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDx2dWktY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImluU2NvcGVJZHMuaW5jbHVkZXMoY29udHJvbD8uX2lkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdEl0ZW0oJGV2ZW50LCBjb250cm9sKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvdnVpLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBuYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImNvbnRyb2w/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udHJvbD8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIGFjdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICAgKm5nSWY9XCIhZnJhbWV3b3JrQ2F0Py5sZW5ndGhcIlxuICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIEZyYW1ld29ya3MgRm91bmQnXCJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy1mb290ZXJcIj5cbiAgICA8dnVpLWZsb2F0aW5nLWJhclxuICAgICAgKGNsb3NlRXZlbnQpPVwibmV4dEhhbmRsZXIoKVwiXG4gICAgICAoY2xvc2VMaXN0KT1cImNhbmNlbEhhbmRsZXIoKVwiXG4gICAgICAqbmdJZj1cImN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLX0NBVEVHT1JZJ1wiXG4gICAgICBbbmV4dERpc2FibGVkXT1cIiFzZWxlY3RlZEZyYW1ld29yaz8uX2lkXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hpcFwiICpuZ0lmPVwic2VsZWN0ZWRGcmFtZXdvcmtcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cInJlbW92ZVNlbGVjdGVkRnJhbWV3b3JrKClcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+IHt7IHNlbGVjdGVkRnJhbWV3b3JrPy5mcmFtZXdvcmtfbmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3Z1aS1mbG9hdGluZy1iYXI+XG4gICAgPHZ1aS1mbG9hdGluZy1iYXJcbiAgICAgIChjbG9zZUV2ZW50KT1cIm5leHRIYW5kbGVyKClcIlxuICAgICAgKGNsb3NlTGlzdCk9XCJjYW5jZWxIYW5kbGVyKClcIlxuICAgICAgKm5nSWY9XCJjdXJyZW50VmlldyA9PT0gJ0ZSQU1FV09SSydcIlxuICAgICAgW25leHREaXNhYmxlZF09XCJpblNjb3BlPy5sZW5ndGggPCAxXCJcbiAgICA+PC92dWktZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPN0QsTUFBTSxPQUFPLCtCQUErQjtJQUkxQyxJQUFnQyxZQUFZLENBQUMsS0FBVTtRQUNyRCxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLG1CQUFtQjtnQkFDdEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUMzRCxLQUFLLEVBQUUsSUFBSSxDQUNWLElBQUksQ0FBQyxDQUFDO1lBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUUsUUFBUSxDQUFDO1lBQy9CLElBQUksQ0FBQyxV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LHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLEtBQVUsRUFBRSxHQUFXO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixLQUFLO2FBQ0YsTUFBTSxDQUNMLENBQUMsR0FBUSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FDdkIsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQ25ELEVBQ0QsSUFBSSxHQUFHLEVBQUUsQ0FDVjthQUNBLE1BQU0sRUFBRSxDQUNaLENBQUM7SUFDSixDQUFDOytHQWxSVSwrQkFBK0I7bUdBQS9CLCtCQUErQixnTUNWNUMsd2pyQkFpaEJBOzs0RkR2Z0JhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSw4QkFBOEI7dUdBSzlCLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0UsSUFBSTtzQkFBWixLQUFLO2dCQUMwQixZQUFZO3NCQUEzQyxLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4vZnJhbWV3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGVmaW5lLWZyYW1ld29yay1saXN0aW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZpbmVGcmFtZXdvcmtMaXN0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcbiAgQElucHV0KCdzZWxlY3RlZEZyYW1ld29yaycpIHNldCBzZXRGcmFtZXdvcmsodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8uX2lkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrID0gdmFsdWU7XG4gICAgICB0aGlzLmFjdGl2ZUZyYW1ld29ya1R5cGUgPVxuICAgICAgICBbJ09USEVSUycsICdSRUdVTEFUSU9OUycsICdTVEFOREFSRFMnLCAnSU5URVJOQUxfQ09OVFJPTFMnXVtcbiAgICAgICAgdmFsdWU/LnR5cGVcbiAgICAgICAgXSA/PyAxO1xuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICdGUkFNRVdPUksnO1xuICAgICAgdGhpcy5pblNjb3BlID0gdmFsdWU/LmluX3Njb3BlO1xuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcbiAgICAgIHRoaXMubG9hZEZyYW1ld29ya0RhdGEoKTtcbiAgICB9XG4gIH1cbiAgQVNTRVRTID0gQVNTRVRTO1xuICBhbmltYXRpb24gPSB0cnVlO1xuICBmcmFtZXdvcmtMaXN0U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyYW1ld29ya1NlcnZpY2U6IEZyYW1ld29ya1NlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ291bnQoKTtcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCk7XG4gIH1cblxuICBpc01haW5Mb2FkZXIgPSB0cnVlO1xuICBmcmFtZXdvcmtDb3VudDogYW55ID0gbnVsbDtcbiAgZmV0Y2hGcmFtZXdvcmtDb3VudCgpIHtcbiAgICB0aGlzLmZyYW1ld29ya1NlcnZpY2UuZmV0Y2hGcmFtZXdvcmtDb3VudCgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtDb3VudCA9IHJlcztcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIC8vaGFuZGxlIGVycm9yIGhlcmVcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgc2VhcmNoS2V5ID0gJyc7XG4gIGFwaUZyYW1ld29ya1BheWxvYWQgPSB7XG4gICAgcGFnZTogMSxcbiAgICBzZWFyY2g6ICcnLFxuICAgIHR5cGU6IDEsXG4gIH07XG4gIGN1cnJlbnRWaWV3OiAnRlJBTUVXT1JLX0NBVEVHT1JZJyB8ICdGUkFNRVdPUksnID0gJ0ZSQU1FV09SS19DQVRFR09SWSc7XG4gIGFjdGl2ZUZyYW1ld29ya1R5cGU6XG4gICAgfCAnUkVHVUxBVElPTlMnXG4gICAgfCAnU1RBTkRBUkRTJ1xuICAgIHwgJ0lOVEVSTkFMX0NPTlRST0xTJ1xuICAgIHwgJ09USEVSUydcbiAgICB8IGFueSA9ICdSRUdVTEFUSU9OUyc7XG5cbiAgZnJhbWV3b3JrVHlwZXMgPSB7XG4gICAgUkVHVUxBVElPTlM6IDEsXG4gICAgU1RBTkRBUkRTOiAyLFxuICAgIElOVEVSTkFMX0NPTlRST0xTOiAzLFxuICAgIE9USEVSUzogMCxcbiAgfTtcblxuICBmcmFtZXdvcmtEYXRhOiBhbnkgPSBbXTtcbiAgY2hhbmdlVHlwZShcbiAgICB0eXBlOiAnUkVHVUxBVElPTlMnIHwgJ1NUQU5EQVJEUycgfCAnSU5URVJOQUxfQ09OVFJPTFMnIHwgJ09USEVSUydcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtUeXBlID0gdHlwZTtcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQucGFnZSA9IDE7XG4gICAgdGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkLnR5cGUgPSB0aGlzLmZyYW1ld29ya1R5cGVzW3R5cGVdO1xuICAgIHRoaXMuZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvblxuICAgICAgPyB0aGlzLmZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgOiBudWxsO1xuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcbiAgfVxuXG4gIGV4ZWN1dGVTZWFyY2goKSB7XG4gICAgdGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkLnBhZ2UgPSAxO1xuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5zZWFyY2ggPSB0aGlzLnNlYXJjaEtleTtcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCk7XG4gIH1cblxuICBwYWdlQ2hhbmdlZChldnQ6IGFueSkge1xuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5wYWdlID0gZXZ0O1xuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcbiAgfVxuXG4gIGZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCkge1xuICAgIHRoaXMuaXNNYWluTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24gPSB0aGlzLmZyYW1ld29ya1NlcnZpY2VcbiAgICAgIC5mZXRjaEZyYW1ld29ya0luQ2F0ZWdvcnkodGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YSA9IHJlcztcbiAgICAgICAgICB0aGlzLmlzTWFpbkxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNNYWluTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuICBzZWxlY3RlZEZyYW1ld29yayE6IGFueTtcbiAgc2VsZWN0RnJhbWV3b3JrKGV2dDogYW55LCBmcmFtZXdvcms6IGFueSkge1xuICAgIGlmIChldnQ/LnRhcmdldD8uY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZyYW1ld29yayA9IGZyYW1ld29yaztcbiAgICB9XG4gIH1cblxuICBleHBhbmRlZEZyYW1ld29ya0lkOiBhbnkgPSAnJztcbiAgZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrOiBhbnkpIHtcbiAgICBpZiAodGhpcy5leHBhbmRlZEZyYW1ld29ya0lkID09PSBmcmFtZXdvcms/Ll9pZCkge1xuICAgICAgdGhpcy5leHBhbmRlZEZyYW1ld29ya0lkID0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXhwYW5kZWRGcmFtZXdvcmtJZCA9IGZyYW1ld29yaz8uX2lkO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVNlbGVjdGVkRnJhbWV3b3JrKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gbnVsbDtcbiAgfVxuXG4gIC8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIHNlYXJjaEtleWZvckZyYW1ld29yayA9ICcnO1xuICBzZWxlY3RlZEZyYW1ld29ya0RhdGE6IGFueSA9IG51bGw7XG4gIGFsbENvbnRyb2xzOiBhbnkgPSBbXTtcbiAgaW5TY29wZTogYW55ID0gW107XG4gIG91dFNjb3BlOiBhbnkgPSBbXTtcbiAgaW5TY29wZUlkczogYW55ID0gW107XG4gIGFsbENvbnRyb2xzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgaXNzdWJMb2FkaW5nID0gdHJ1ZTtcbiAgbG9hZEZyYW1ld29ya0RhdGEoKSB7XG4gICAgdGhpcy5pc3N1YkxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZVxuICAgICAgLmZldGNoQ2F0ZWdvcnlGb3JGcmFtZXdvcmsodGhpcy5zZWxlY3RlZEZyYW1ld29yaz8uX2lkKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gcmVzO1xuICAgICAgICAgIHRoaXMuY2hlY2tBbGxFbGVtZW50cyh0aGlzLm1vZGUgPT09ICdFRElUJyA/IGZhbHNlIDogdHJ1ZSk7XG4gICAgICAgICAgdGhpcy5pc3N1YkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzc3ViTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBjaGVja0FsbEVsZW1lbnRzKHBvcHVsYXRlSW5TY29wZTogYW55KSB7XG4gICAgbGV0IGFsbEVsZW1lbnQ6IGFueSA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhLmRhdGE/LmNoaWxkX2xpc3RfZGV0YWlscz8uZm9yRWFjaChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgZWxlbWVudD8uY29udHJvbHNEYXRhLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBhbGxFbGVtZW50LnB1c2goZWwpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuYWxsQ29udHJvbHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChhbGxFbGVtZW50LCAnX2lkJyk7XG4gICAgaWYgKHBvcHVsYXRlSW5TY29wZSkge1xuICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy51bmlxdWVCeVByb3AoYWxsRWxlbWVudCwgJ19pZCcpO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tTZWxlY3RBbGwoKTtcbiAgICB0aGlzLnNldEluc2NvcGVJZHMoKTtcbiAgfVxuXG4gIGNoZWNrU2VsZWN0QWxsKCkge1xuICAgIGNvbnN0IGFsbElkcyA9IHRoaXMuYWxsQ29udHJvbHMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIGNvbnN0IGluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIHRoaXMuYWxsQ29udHJvbHNTZWxlY3RlZCA9XG4gICAgICBhbGxJZHMuc29ydCgpPy50b1N0cmluZygpID09PSBpblNjb3BlSWRzLnNvcnQoKT8udG9TdHJpbmcoKTtcbiAgfVxuICBzZWxlY3RBbGwoZXZ0OiBhbnkpIHtcbiAgICBpZiAoZXZ0Py50YXJnZXQ/LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tBbGxFbGVtZW50cyh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pblNjb3BlID0gW107XG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xuICB9XG4gIHNldEluc2NvcGVJZHMoKSB7XG4gICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWw6IGFueSkgPT4gZWw/Ll9pZCk7XG4gIH1cblxuICBzZWxlY3RJdGVtKGV2dDogYW55LCBwYXlsb2FkOiBhbnkpIHtcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZVxuICAgICAgPyB0aGlzLm1hbmlwdWxhdGVJdGVtKCdBREQnLCBwYXlsb2FkKVxuICAgICAgOiB0aGlzLm1hbmlwdWxhdGVJdGVtKCdERUxFVEUnLCBwYXlsb2FkKTtcbiAgfVxuICBtYW5pcHVsYXRlSXRlbShhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XG4gICAgICB0aGlzLmluU2NvcGUgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5pblNjb3BlLCAuLi5bcGF5bG9hZF1dLCAnX2lkJyk7XG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSAnREVMRVRFJykge1xuICAgICAgbGV0IGluZGV4ID0gdGhpcy5pblNjb3BlLmZpbmRJbmRleChcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Ll9pZCA9PT0gcGF5bG9hZD8uX2lkXG4gICAgICApO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy5pblNjb3BlLmZpbHRlcihcbiAgICAgICAgICAoZWxlOiBhbnkpID0+IGVsZT8uX2lkICE9PSBwYXlsb2FkPy5faWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xuICB9XG5cbiAgc2VsZWN0Q2F0ZWdvcnkoZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xuICAgIGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlXG4gICAgICA/IHRoaXMubWFuaXB1bGF0ZUNhdGVnb3J5KCdBREQnLCBwYXlsb2FkKVxuICAgICAgOiB0aGlzLm1hbmlwdWxhdGVDYXRlZ29yeSgnREVMRVRFJywgcGF5bG9hZCk7XG4gIH1cbiAgbWFuaXB1bGF0ZUNhdGVnb3J5KGFjdGlvbjogJ0FERCcgfCAnREVMRVRFJywgcGF5bG9hZDogYW55KSB7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcbiAgICAgIGNvbnN0IGl0ZW1zVG9iZUFkZGVkID0gcGF5bG9hZD8uY29udHJvbHNEYXRhO1xuICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy51bmlxdWVCeVByb3AoXG4gICAgICAgIFsuLi50aGlzLmluU2NvcGUsIC4uLml0ZW1zVG9iZUFkZGVkXSxcbiAgICAgICAgJ19pZCdcbiAgICAgICk7XG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSAnREVMRVRFJykge1xuICAgICAgY29uc3QgaXRlbXNUb2JlUmVtb3ZlZCA9IHBheWxvYWQ/LmNvbnRyb2xzRGF0YS5tYXAoKGVsOiBhbnkpID0+IGVsLl9pZCk7XG4gICAgICB0aGlzLmluU2NvcGUgPSB0aGlzLmluU2NvcGUuZmlsdGVyKFxuICAgICAgICAoZWxlOiBhbnkpID0+ICFpdGVtc1RvYmVSZW1vdmVkLmluY2x1ZGVzKGVsZS5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xuICB9XG5cbiAgbmV4dEhhbmRsZXIoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdGUkFNRVdPUktfQ0FURUdPUlknKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ0ZSQU1FV09SSyc7XG4gICAgICB0aGlzLmxvYWRGcmFtZXdvcmtEYXRhKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmV4dC5lbWl0KHtcbiAgICAgICAgLi4udGhpcy5zZWxlY3RlZEZyYW1ld29yayxcbiAgICAgICAgaW5fc2NvcGU6IHRoaXMuaW5TY29wZSxcbiAgICAgICAgb3V0X3Njb3BlOiB0aGlzLmFsbENvbnRyb2xzLmZpbHRlcihcbiAgICAgICAgICAoZWxlOiBhbnkpID0+ICF0aGlzLmluU2NvcGVJZHMuaW5jbHVkZXMoZWxlPy5faWQpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWxIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLJykge1xuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICdGUkFNRVdPUktfQ0FURUdPUlknO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHM6IGFueSA9IFtdO1xuICBzdWJDYXRlZ29yeUV4cGFuZENvbGxhcHNlKGNhdGVnb3J5OiBhbnkpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5pbmRleE9mKGNhdGVnb3J5Py5faWQpO1xuICAgIGlmIChpbmRleCA8IDAgJiYgY2F0ZWdvcnk/LmNvbnRyb2xzRGF0YT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMucHVzaChjYXRlZ29yeT8uX2lkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5leHBhbmRlZFN1YkNhdGVnb3J5SWRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG4gIHVuaXF1ZUJ5UHJvcChhcnJheTogYW55LCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgYXJyYXlcbiAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAoYWNjOiBhbnksIGl0ZW06IGFueSkgPT4gKFxuICAgICAgICAgICAgaXRlbSAmJiBpdGVtW2tleV0gJiYgYWNjLnNldChpdGVtW2tleV0sIGl0ZW0pLCBhY2NcbiAgICAgICAgICApLFxuICAgICAgICAgIG5ldyBNYXAoKVxuICAgICAgICApXG4gICAgICAgIC52YWx1ZXMoKVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmdcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLX0NBVEVHT1JZJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctaGVhZFwiPlxuICAgICAgPGgzIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRpdGxlXCI+U2VsZWN0IGEgRnJhbWV3b3JrPC9oMz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJ0cnVlXCIgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWItMlwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ1JFR1VMQVRJT05TJylcIlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlRnJhbWV3b3JrVHlwZSA9PT0gJ1JFR1VMQVRJT05TJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlJFR1VMQVRJT05TPC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3sgZnJhbWV3b3JrQ291bnQ/LnJlZ3VsYXRpb25zID8/IFwiLS1cIiB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VUeXBlKCdTVEFOREFSRFMnKVwiXG4gICAgICAgICAgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVGcmFtZXdvcmtUeXBlID09PSAnU1RBTkRBUkRTJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlNUQU5EQVJEUzwvbGFiZWxcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgICAgPnt7IGZyYW1ld29ya0NvdW50Py5zdGFuZGFyZHMgPz8gXCItLVwiIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ0lOVEVSTkFMX0NPTlRST0xTJylcIlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlRnJhbWV3b3JrVHlwZSA9PT0gJ0lOVEVSTkFMX0NPTlRST0xTJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPklOVEVSTkFMIENPTlRST0xTPC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3sgZnJhbWV3b3JrQ291bnQ/LmludGVybmFsQ29udHJvbHMgPz8gXCItLVwiIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ09USEVSUycpXCJcbiAgICAgICAgICBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUZyYW1ld29ya1R5cGUgPT09ICdPVEhFUlMnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+T1RIRVJTPC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3sgZnJhbWV3b3JrQ291bnQ/Lm90aGVycyA/PyBcIi0tXCIgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9ja1wiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBGcmFtZXdvcmtzXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEtleVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cImV4ZWN1dGVTZWFyY2goKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1tdC0yXCIgKm5nSWY9XCJpc01haW5Mb2FkZXJcIj5cbiAgICAgICAgPGZyYW1ld29yay1sb2FkZXI+PC9mcmFtZXdvcmstbG9hZGVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNYWluTG9hZGVyICYmIGZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtbXQtMlwiPlxuICAgICAgICAgIDx2dWktcGFnaW5hdGlvblxuICAgICAgICAgICAgKHBhZ2VDaGFuZ2VkKT1cInBhZ2VDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgW2Zyb21dPVwiZnJhbWV3b3JrRGF0YT8uaXRlbXNfZnJvbVwiXG4gICAgICAgICAgICBbdG9dPVwiZnJhbWV3b3JrRGF0YT8uaXRlbXNfdG9cIlxuICAgICAgICAgICAgW3RvdGFsXT1cImZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zXCJcbiAgICAgICAgICAgIFt0b3RhbFBhZ2VdPVwiZnJhbWV3b3JrRGF0YT8udG90YWxfcGFnZXNcIlxuICAgICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImFwaUZyYW1ld29ya1BheWxvYWQ/LnBhZ2VcIlxuICAgICAgICAgID48L3Z1aS1wYWdpbmF0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRhYmxlIHZ4LW10LTFcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgICA8IS0tIHdoZW4gY2hlY2tib3ggd2FzIGNoZWNrZWQgdGhlbiBzaG93IFwiYWN0aXZlXCIgY2xhc3MgaW4gdGFibGUtcm93IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICNcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtY3MtY2hlY2tib3ggKm5nSWY9XCJ0cnVlXCI+PC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAqbmdJZj1cImZhbHNlXCI+PC9hcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZT4gLS0+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBjYXRlZ29yeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGUkFNRVdPUktTXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhY3Rpb25cIlxuICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWl0ZW1cIlxuICAgICAgICAgICAgICBbY2xhc3Mub3Blbl09XCJoaWRlQ2F0ZWdvcnlMaXN0XCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZyYW1ld29yayBvZiBmcmFtZXdvcmtEYXRhPy5kYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPCEtLSB3aGVuIGNoZWNrYm94IHdhcyBjaGVja2VkIHRoZW4gc2hvdyBcImFjdGl2ZVwiIGNsYXNzIGluIHRhYmxlLXJvdyAtLT5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93IG1haW5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDb2xsYXBzZUZyYW1ld29yayhmcmFtZXdvcmspXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIlxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19pZCA9PT0gZnJhbWV3b3JrPy5mcmFtZXdvcmtfaWRcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBhcGlGcmFtZXdvcmtQYXlsb2FkPy5wYWdlIHwgcGFnZXIgOiBpIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19pZCA9PT1cbiAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcms/LmZyYW1ld29ya19pZFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cInNlbGVjdEZyYW1ld29yaygkZXZlbnQsIGZyYW1ld29yaylcIlxuICAgICAgICAgICAgICAgICAgPjwvYXBwLWNzLXJhZGlvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZWdvcnktbmFtZSB2eC1mcy0xMyB2eC1sYWJlbC10eHRcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJmcmFtZXdvcms/LmZyYW1ld29ya19uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZyYW1ld29yaz8uZnJhbWV3b3JrX25hbWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIGFjdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFycm93LWJ0biB2eC1mcy0xNCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyB2eC1kLWZsZXhcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDb2xsYXBzZUZyYW1ld29yayhmcmFtZXdvcmspXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kZWRGcmFtZXdvcmtJZCAhPT0gZnJhbWV3b3JrPy5mcmFtZXdvcmtfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPiYjeGU5NzA7PC9uZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRlZEZyYW1ld29ya0lkID09PSBmcmFtZXdvcms/LmZyYW1ld29ya19pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+JiN4ZTllODs8L25nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8IS0tIHN1YiB0YWJsZSAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uX2lkXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3cgY2hpbGRcIlxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgIGxldCBzdWJDYXQgb2YgZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHM7XG4gICAgICAgICAgICAgICAgICAgIGxldCB4ID0gaW5kZXhcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAoYXBpRnJhbWV3b3JrUGF5bG9hZD8ucGFnZSB8IHBhZ2VyIDogaSkgKyBcIi5cIiArICh4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBjYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlZ29yeS1uYW1lIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwic3ViQ2F0Py5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YkNhdD8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW5cIiAqbmdJZj1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2tcIj5XSVRISU48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ0tvbGthdGEgPiBBbWVyaWNhID4gU291dGggQWZyaWNhJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBLb2xrYXRhID4gQW1lcmljYSA+IFNvdXRoIEFmcmljYVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIGFjdGlvblwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCIhaXNNYWluTG9hZGVyICYmIGZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zIDw9IDBcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIEZyYW1ld29ya3MgRm91bmQnXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctaGVhZFwiPlxuICAgICAgPGgzIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRpdGxlXCI+XG4gICAgICAgIEZyYW1ld29yazoge3sgc2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19uYW1lIH19XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLWJvZHkgYWZ0ZXItZnJhbWV3b3JrLWxpc3RpbmdcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW1iLTJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlRPVEFMIFJFU1BPTlNJQklMSVRJRVM8L2xhYmVsXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgID57eyBhbGxDb250cm9scz8ubGVuZ3RoIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlJFU1BPTlNJQklMSVRJRVMgSU4gU0NPUEU8L2xhYmVsXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgID57eyBpblNjb3BlLmxlbmd0aCB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgID5SRVNQT05TSUJJTElUSUVTIE5PVCBJTiBTQ09QRTwvbGFiZWxcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgICAgPnt7IGFsbENvbnRyb2xzPy5sZW5ndGggLSBpblNjb3BlPy5sZW5ndGggfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9ja1wiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoS2V5Zm9yRnJhbWV3b3JrXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ2eC1tdC0yXCI+XG4gICAgICAgICAgICAgICAgPHZ1aS1wYWdpbmF0aW9uPjwvdnVpLXBhZ2luYXRpb24+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLXRhYmxlIHZ4LW10LTFcIlxuICAgICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtbXQtMlwiICpuZ0lmPVwiaXNzdWJMb2FkaW5nXCI+XG4gICAgICAgICAgPGZyYW1ld29yay1sb2FkZXI+PC9mcmFtZXdvcmstbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc3N1YkxvYWRpbmdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBzZWxlY3RlZEZyYW1ld29ya0RhdGE/LmRhdGE/LmNoaWxkX2xpc3RfZGV0YWlsc1xuICAgICAgICAgICAgICAgIHwgc2VhcmNoUGlwZSA6IHNlYXJjaEtleWZvckZyYW1ld29yayBhcyBmcmFtZXdvcmtDYXRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZyYW1ld29ya0NhdD8ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1hcmVhXCI+XG4gICAgICAgICAgICAgICAgPHZ1aS1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgI2NoZWNrXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhbGxDb250cm9scz8ubGVuZ3RoIDwgMVwiXG4gICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgKGFsbENvbnRyb2xzU2VsZWN0ZWQgJiYgaXNTY29wZT8ubGVuZ3RoID4gMCkgfHxcbiAgICAgICAgICAgICAgICAgICAgaW5TY29wZT8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlRW5hYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgaW5TY29wZT8ubGVuZ3RoID4gMCAmJiAhYWxsQ29udHJvbHNTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBjaGVjaz8uY2hlY2tlZCA/IFwiRGVzZWxlY3QgQWxsXCIgOiBcIlNlbGVjdCBBbGxcIiB9fVxuICAgICAgICAgICAgICAgIDwvdnVpLWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLWxpc3RpbmctaXRlbVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzdWJMaXN0XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViQ2F0IG9mIGZyYW1ld29ya0NhdDsgbGV0IGsgPSBpbmRleFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvdyBtYWluLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIXN1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1YkNhdGVnb3J5RXhwYW5kQ29sbGFwc2Uoc3ViQ2F0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCI+e3sgayArIDEgfX08L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVFbmFibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViQ2F0Py5jb250cm9sc0RhdGEgfCBzdWJDYXRJbmRldGVyIDogaW5TY29wZVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoKHN1YkNhdD8uY29udHJvbHNEYXRhIHwgY2F0ZWdvcnlBbGxTZWxlY3QgOiBpblNjb3BlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAoc3ViQ2F0Py5jb250cm9sc0RhdGEgfCBzdWJDYXRJbmRldGVyIDogaW5TY29wZSkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJDYXQ/LmNvbnRyb2xzRGF0YT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdENhdGVnb3J5KCRldmVudCwgc3ViQ2F0KVwiXG4gICAgICAgICAgICAgICAgICAgID48L3Z1aS1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBuYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtd2l0aC1jb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwic3ViQ2F0Py5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YkNhdD8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViQ2F0Py5jb250cm9sc0RhdGE/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1wYXJ0XCIgKm5nSWY9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoaW4tYm94XCI+V2l0aGluPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidTb3V0aCBBZnJpY2EgPiBBbWVyaWNhID4gSW5kaWEnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5Tb3V0aCBBZnJpY2EgPiBBbWVyaWNhID4gSW5kaWE8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIXN1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5jbHVkZXMoc3ViQ2F0Py5faWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPiYjeGU5NzA7PC9pXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5jbHVkZXMoc3ViQ2F0Py5faWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPiYjeGU5ZTg7PC9pXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ViLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRlZFN1YkNhdGVnb3J5SWRzLmluY2x1ZGVzKHN1YkNhdD8uX2lkKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIHN1YkNhdD8uY29udHJvbHNEYXRhOyBsZXQgYyA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57eyBrICsgMSArIFwiLlwiICsgKGMgKyAxKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDx2dWktY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImluU2NvcGVJZHMuaW5jbHVkZXMoY29udHJvbD8uX2lkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdEl0ZW0oJGV2ZW50LCBjb250cm9sKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvdnVpLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBuYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImNvbnRyb2w/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udHJvbD8ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIGFjdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICAgKm5nSWY9XCIhZnJhbWV3b3JrQ2F0Py5sZW5ndGhcIlxuICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLnNlYXJjaF9kYXRhXCJcbiAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIEZyYW1ld29ya3MgRm91bmQnXCJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy1mb290ZXJcIj5cbiAgICA8dnVpLWZsb2F0aW5nLWJhclxuICAgICAgKGNsb3NlRXZlbnQpPVwibmV4dEhhbmRsZXIoKVwiXG4gICAgICAoY2xvc2VMaXN0KT1cImNhbmNlbEhhbmRsZXIoKVwiXG4gICAgICAqbmdJZj1cImN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLX0NBVEVHT1JZJ1wiXG4gICAgICBbbmV4dERpc2FibGVkXT1cIiFzZWxlY3RlZEZyYW1ld29yaz8uX2lkXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hpcFwiICpuZ0lmPVwic2VsZWN0ZWRGcmFtZXdvcmtcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cInJlbW92ZVNlbGVjdGVkRnJhbWV3b3JrKClcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+IHt7IHNlbGVjdGVkRnJhbWV3b3JrPy5mcmFtZXdvcmtfbmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3Z1aS1mbG9hdGluZy1iYXI+XG4gICAgPHZ1aS1mbG9hdGluZy1iYXJcbiAgICAgIChjbG9zZUV2ZW50KT1cIm5leHRIYW5kbGVyKClcIlxuICAgICAgKGNsb3NlTGlzdCk9XCJjYW5jZWxIYW5kbGVyKClcIlxuICAgICAgKm5nSWY9XCJjdXJyZW50VmlldyA9PT0gJ0ZSQU1FV09SSydcIlxuICAgICAgW25leHREaXNhYmxlZF09XCJpblNjb3BlPy5sZW5ndGggPCAxXCJcbiAgICA+PC92dWktZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ASSETS } from '
|
|
2
|
+
import { ASSETS } from '../../../../../lib/constants/assets.constants';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@angular/forms";
|
|
@@ -165,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
165
165
|
}], pageChanged: [{
|
|
166
166
|
type: Output
|
|
167
167
|
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL3BhZ2luYXRpb24vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvcGFnaW5hdGlvbi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7QUFPMUYsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1FLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNKLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixVQUFLLEdBQVEsR0FBRyxDQUFDO1FBQ2pCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFVdkIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbEUsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFFOUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBWSxLQUFLLENBQUM7S0FpSWpDO0lBL0lDLElBQTBCLE9BQU8sQ0FBQyxJQUFTO1FBQ3pDLElB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O3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNvQixPQUFPO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBSUksWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxXQUFXO2dCQUtULGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJ3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2dWktcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBjdXJyUGFnZSA9IDE7XG4gIEBJbnB1dCgpIGZyb206IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHRvOiBudW1iZXIgPSAzMDtcbiAgQElucHV0KCkgdG90YWw6IGFueSA9IDEwMDtcbiAgQElucHV0KCkgc2hvd1BhZ2VEZXRhaWw6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB0b3RhbFBhZ2U6IG51bWJlciA9IDE1O1xuICBASW5wdXQoJ2N1cnJlbnRQYWdlJykgc2V0IHNldFBhZ2UocGFnZTogYW55KSB7XG4gICAgdGhpcy5jdXJyUGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5kaXNwbGF5QXJyYXlVcGRhdGUocGFnZSk7XG4gIH1cbiAgQElucHV0KCd0b3RhbFBhZ2UnKSBzZXQgc2V0VG90YWxQYWdlKHBhZ2U6IGFueSkge1xuICAgIHRoaXMudG90YWxQYWdlID0gcGFnZTtcbiAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZShwYWdlKTtcbiAgICB0aGlzLnN0YXJ0QXJyYXkoKTtcbiAgfVxuICBASW5wdXQoKSBwYWdlSW5TaW5nbGVWaWV3OiBudW1iZXIgPSA1O1xuICBAT3V0cHV0KCkgcGFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIHB1YmxpYyBkaXNwbGF5QXJyYXk6IGFueSA9IFtdO1xuICBlbnRlclBhZ2VObyE6IG51bWJlciB8IGFueTtcbiAgZW50ZXJQcmVzc2VkID0gZmFsc2U7XG4gIGlzSW52YWxpZElucHV0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy9GdW5jdGlvbiByZXNwb25zaWJsZSB0byBnZW5lcmF0ZSB0aGUgYXJyYXkgdG8gZGlzcGxheSB0aGUgcGFnaW5hdGlvbiBhdCB0aGUgYmVnaW5uaW5nXG4gIHN0YXJ0QXJyYXkoKSB7XG4gICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcbiAgICBpZiAodGhpcy50b3RhbFBhZ2UgPD0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3KSB7XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLnRvdGFsUGFnZTsgKytpKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUFycmF5LnB1c2goaSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnBhZ2VJblNpbmdsZVZpZXcgPCB0aGlzLnRvdGFsUGFnZSkge1xuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3OyArK2kpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL0Z1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciB1cGRhdGUgdGhlIGN1cnJlbnQgcGFnZSB3aGlsZSBjbGlja2luZyBwcmV2IG9yIG5leHQgYnV0dG9uXG4gIGN1cnJlbnRJbmRleFVwZGF0ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyUGFnZSArPSB2YWx1ZTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmN1cnJQYWdlIDw9IHRoaXMudG90YWxQYWdlICYmXG4gICAgICB0aGlzLmN1cnJQYWdlID5cbiAgICAgICAgdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJlxuICAgICAgdGhpcy50b3RhbFBhZ2UgPiB0aGlzLnBhZ2VJblNpbmdsZVZpZXdcbiAgICApIHtcbiAgICAgIHRoaXMuZGlzcGxheUFycmF5VXBkYXRlKHRoaXMuY3VyclBhZ2UpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyUGFnZSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcpIHtcbiAgICAgIHRoaXMuZGlzcGxheUFycmF5ID0gW107XG4gICAgICB0aGlzLnN0YXJ0QXJyYXkoKTtcbiAgICB9XG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHRoaXMuY3VyclBhZ2UpO1xuICAgIHRoaXMuZW50ZXJQYWdlTm8gPSBudWxsO1xuICAgIHRoaXMuZW50ZXJQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICAvL0Z1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciB1cGRhdGluZyB0aGUgY3VycmVudCBwYWdlIHdoaWxlIGNsaWNraW5nIG9uIGFueSBwYWdlIG51bWJlclxuICBjdXJyZW50SW5kZXhBc3NpZ24odmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuY3VyclBhZ2UgPSB2YWx1ZTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmN1cnJQYWdlIDw9IHRoaXMudG90YWxQYWdlICYmXG4gICAgICB0aGlzLmN1cnJQYWdlID5cbiAgICAgICAgdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJlxuICAgICAgdGhpcy50b3RhbFBhZ2UgPiB0aGlzLnBhZ2VJblNpbmdsZVZpZXdcbiAgICApIHtcbiAgICAgIHRoaXMuZGlzcGxheUFycmF5VXBkYXRlKHRoaXMuY3VyclBhZ2UpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyUGFnZSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcpIHtcbiAgICAgIHRoaXMuZGlzcGxheUFycmF5ID0gW107XG4gICAgICB0aGlzLnN0YXJ0QXJyYXkoKTtcbiAgICB9XG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHRoaXMuY3VyclBhZ2UpO1xuICAgIHRoaXMuZW50ZXJQYWdlTm8gPSBudWxsO1xuICAgIHRoaXMuZW50ZXJQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICAvL051bWJlciB2YWxpZGF0aW9uIGNoZWNrXG4gIHZhbGlkYXRlTnVtYmVyKGU6IGFueSkge1xuICAgIGNvbnN0IHBhdHRlcm4gPSAvXi0/KDB8WzEtOV1cXGQqKT8kLztcbiAgICByZXR1cm4gcGF0dGVybi50ZXN0KGUpO1xuICB9XG5cbiAgLy9GdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgdXBkYXRpbmcgdGhlIGN1cnJlbnQgcGFnZSB3aGlsZSBlbnRlcmluZyB0aGUgcGFnZSBudW1iZXJcbiAgb25FbnRlclByZXNzKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICdlbnRlcicpIHtcbiAgICAgIHRoaXMuZW50ZXJQcmVzc2VkID0gdHJ1ZTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5lbnRlclBhZ2VObyA8PSB0aGlzLnRvdGFsUGFnZSAmJlxuICAgICAgICB0aGlzLmVudGVyUGFnZU5vID4gMCAmJlxuICAgICAgICB0aGlzLmVudGVyUGFnZU5vICYmXG4gICAgICAgIHRoaXMudmFsaWRhdGVOdW1iZXIodGhpcy5lbnRlclBhZ2VObylcbiAgICAgICkge1xuICAgICAgICB0aGlzLmN1cnJQYWdlID0gdGhpcy5lbnRlclBhZ2VObztcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuY3VyclBhZ2UgPD0gdGhpcy50b3RhbFBhZ2UgJiZcbiAgICAgICAgICB0aGlzLmN1cnJQYWdlID5cbiAgICAgICAgICAgIHRoaXMucGFnZUluU2luZ2xlVmlldyAtIE1hdGguZmxvb3IodGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMikgJiZcbiAgICAgICAgICB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlld1xuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZSh0aGlzLmN1cnJQYWdlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJQYWdlIDw9IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xuICAgICAgICAgIHRoaXMuZGlzcGxheUFycmF5ID0gW107XG4gICAgICAgICAgdGhpcy5zdGFydEFycmF5KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHRoaXMuY3VyclBhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIG1hbmlwdWxhdGluZyB0aGUgZGlzcGxheUFycmF5XG4gIGRpc3BsYXlBcnJheVVwZGF0ZShpbmRleDogYW55KSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jdXJyUGFnZSA+XG4gICAgICAgIHRoaXMucGFnZUluU2luZ2xlVmlldyAtIE1hdGguZmxvb3IodGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMikgJiZcbiAgICAgIHRoaXMuY3VyclBhZ2UgPD0gdGhpcy50b3RhbFBhZ2UgLSBNYXRoLmZsb29yKHRoaXMucGFnZUluU2luZ2xlVmlldyAvIDIpICYmXG4gICAgICB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlld1xuICAgICkge1xuICAgICAgaWYgKHRoaXMucGFnZUluU2luZ2xlVmlldyAlIDIgIT0gMCkge1xuICAgICAgICBsZXQgYXBwZW5kRWxlbWVudCA9IHRoaXMucGFnZUluU2luZ2xlVmlldyAvIDI7XG4gICAgICAgIGFwcGVuZEVsZW1lbnQgPSBNYXRoLmZsb29yKGFwcGVuZEVsZW1lbnQpO1xuICAgICAgICBsZXQgc3RhcnRJbmRleCA9IHRoaXMuY3VyclBhZ2UgLSBhcHBlbmRFbGVtZW50O1xuICAgICAgICBsZXQgZW5kSW5kZXggPSB0aGlzLmN1cnJQYWdlICsgYXBwZW5kRWxlbWVudDtcblxuICAgICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8PSBlbmRJbmRleDsgKytpKSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLnBhZ2VJblNpbmdsZVZpZXcgJSAyID09PSAwKSB7XG4gICAgICAgIGxldCBhcHBlbmRFbGVtZW50ID0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMjtcbiAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSB0aGlzLmN1cnJQYWdlIC0gYXBwZW5kRWxlbWVudDtcbiAgICAgICAgbGV0IGVuZEluZGV4ID0gdGhpcy5jdXJyUGFnZSArIGFwcGVuZEVsZW1lbnQgLSAxO1xuICAgICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8PSBlbmRJbmRleDsgKytpKSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLmN1cnJQYWdlID5cbiAgICAgIHRoaXMudG90YWxQYWdlIC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKVxuICAgICkge1xuICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcbiAgICAgIGZvciAoXG4gICAgICAgIGxldCBpID0gdGhpcy50b3RhbFBhZ2UgLSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgKyAxO1xuICAgICAgICBpIDw9IHRoaXMudG90YWxQYWdlO1xuICAgICAgICArK2lcbiAgICAgICkge1xuICAgICAgICB0aGlzLmRpc3BsYXlBcnJheS5wdXNoKGkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRpc3BsYXlBcnJheSA9IHRoaXMuZGlzcGxheUFycmF5LmZpbHRlcigoZWxlOiBhbnkpID0+IGVsZSA+IDApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwicGFnaW5hdGlvbi1zZWMtZHMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wYi0yXCJcbiAgW2NsYXNzLnJpZ2h0LWFsaWduXT1cImZhbHNlXCJcbj5cbiAgPGRpdiBjbGFzcz1cImxlZnQgdngtbGFiZWwtdHh0IHZ4LWZzLTEyIHZ4LWZ3LTQwMCB2eC10dC11cHBlcmNhc2UgdngtbGgtNlwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UGFnZURldGFpbFwiXG4gICAgICA+U0hPV0lORyB7eyBmcm9tIH19IC0ge3sgdG8gfX0gT0Yge3sgdG90YWwgfX0gUkVDT1JEUzwvbmctY29udGFpbmVyXG4gICAgPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLWJveFwiICpuZ0lmPVwiZmFsc2VcIj5cbiAgICAgIDx1bCBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbS0wIHZ4LXAtMFwiPlxuICAgICAgICA8bGkgY2xhc3M9XCJ2eC1kLWZsZXhcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInZ4LWQtaW5saW5lLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxhYmVsLXR4dCB2eC1mdy00MDAgdngtZnMtMTEgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTIgdngtcHItMiB2eC1tLTBcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBBbGxcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4XCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJ2eC1kLWlubGluZS1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1sYWJlbC10eHQgdngtZnctNDAwIHZ4LWZzLTExIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0yIHZ4LXByLTIgdngtbS0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCJ0b3RhbFBhZ2UgPiAxXCI+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tYm94XCI+XG4gICAgICA8dWwgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW0tMCB2eC1wLTBcIj5cbiAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4IHZ4LW1yLTFcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInZ4LW0tMFwiXG4gICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VyclBhZ2UgPT09IDFcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRJbmRleFVwZGF0ZSgtMSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTBcIj4mI3hlOTZiOzwvaT5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cblxuICAgICAgICA8bGkgY2xhc3M9XCJ2eC1kLWZsZXhcIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBkaXNwbGF5QXJyYXk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY3VycmVudEluZGV4QXNzaWduKHBhZ2UpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidngtbGFiZWwtdHh0IHZ4LWZzLTExIHZ4LWZ3LTQwMCB2eC1wbC0xIHZ4LXByLTEgdngtZC1pbmxpbmUtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbS0wIHZ4LW1sLTFcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyUGFnZSA9PSBwYWdlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwYWdlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG5cbiAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4IHZ4LW1sLTJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInZ4LW0tMFwiXG4gICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VyclBhZ2UgPT09IHRvdGFsUGFnZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY3VycmVudEluZGV4VXBkYXRlKDEpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+JiN4ZTk3MDs8L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdG8tcGFnZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW1sLTJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJnb3RvLXBhZ2UtdGV4dCB2eC1sYWJlbC10eHQgdngtZnMtMTEgdngtdHQtdXBwZXJjYXNlIHZ4LWQtYmxvY2sgdngtcGwtMiB2eC1wci0yXCJcbiAgICAgID5cbiAgICAgICAgR08gVE9cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdG8tcGFnZS1pbnB1dFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlbnRlclByZXNzZWQgPSBmYWxzZVwiXG4gICAgICAgICAgW2NsYXNzLmludmFsaWRdPVwiZW50ZXJQYWdlTm8gPiB0b3RhbFBhZ2UgJiYgZW50ZXJQcmVzc2VkXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImVudGVyUGFnZU5vXCJcbiAgICAgICAgICAoa2V5dXApPVwib25FbnRlclByZXNzKCRldmVudClcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGFnZSBOby5cIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJBU1NFVFMuZW50ZXJfaWNvblwiIGFsdD1cIlwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ290by1wYWdlLXRleHQgdngtbGFiZWwtdHh0IHZ4LWZzLTExIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWJsb2NrIHZ4LXBsLTIgdngtcHItMlwiXG4gICAgICA+XG4gICAgICAgIE9GIHt7IHRvdGFsUGFnZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL3BhZ2luYXRpb24vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvcGFnaW5hdGlvbi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7QUFPdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1FLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNKLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixVQUFLLEdBQVEsR0FBRyxDQUFDO1FBQ2pCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFVdkIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbEUsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFFOUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBWSxLQUFLLENBQUM7S0FpSWpDO0lBL0lDLElBQTBCLE9BQU8sQ0FBQyxJQUFTO1FBQ3pDLElB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O3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNvQixPQUFPO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBSUksWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxXQUFXO2dCQUtULGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Z1aS1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIGN1cnJQYWdlID0gMTtcbiAgQElucHV0KCkgZnJvbTogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgdG86IG51bWJlciA9IDMwO1xuICBASW5wdXQoKSB0b3RhbDogYW55ID0gMTAwO1xuICBASW5wdXQoKSBzaG93UGFnZURldGFpbDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHRvdGFsUGFnZTogbnVtYmVyID0gMTU7XG4gIEBJbnB1dCgnY3VycmVudFBhZ2UnKSBzZXQgc2V0UGFnZShwYWdlOiBhbnkpIHtcbiAgICB0aGlzLmN1cnJQYWdlID0gcGFnZTtcbiAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZShwYWdlKTtcbiAgfVxuICBASW5wdXQoJ3RvdGFsUGFnZScpIHNldCBzZXRUb3RhbFBhZ2UocGFnZTogYW55KSB7XG4gICAgdGhpcy50b3RhbFBhZ2UgPSBwYWdlO1xuICAgIHRoaXMuZGlzcGxheUFycmF5VXBkYXRlKHBhZ2UpO1xuICAgIHRoaXMuc3RhcnRBcnJheSgpO1xuICB9XG4gIEBJbnB1dCgpIHBhZ2VJblNpbmdsZVZpZXc6IG51bWJlciA9IDU7XG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgcHVibGljIGRpc3BsYXlBcnJheTogYW55ID0gW107XG4gIGVudGVyUGFnZU5vITogbnVtYmVyIHwgYW55O1xuICBlbnRlclByZXNzZWQgPSBmYWxzZTtcbiAgaXNJbnZhbGlkSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvL0Z1bmN0aW9uIHJlc3BvbnNpYmxlIHRvIGdlbmVyYXRlIHRoZSBhcnJheSB0byBkaXNwbGF5IHRoZSBwYWdpbmF0aW9uIGF0IHRoZSBiZWdpbm5pbmdcbiAgc3RhcnRBcnJheSgpIHtcbiAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xuICAgIGlmICh0aGlzLnRvdGFsUGFnZSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcpIHtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHRoaXMudG90YWxQYWdlOyArK2kpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucGFnZUluU2luZ2xlVmlldyA8IHRoaXMudG90YWxQYWdlKSB7XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXc7ICsraSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlBcnJheS5wdXNoKGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIHVwZGF0ZSB0aGUgY3VycmVudCBwYWdlIHdoaWxlIGNsaWNraW5nIHByZXYgb3IgbmV4dCBidXR0b25cbiAgY3VycmVudEluZGV4VXBkYXRlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJQYWdlICs9IHZhbHVlO1xuICAgIGlmIChcbiAgICAgIHRoaXMuY3VyclBhZ2UgPD0gdGhpcy50b3RhbFBhZ2UgJiZcbiAgICAgIHRoaXMuY3VyclBhZ2UgPlxuICAgICAgICB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLSBNYXRoLmZsb29yKHRoaXMucGFnZUluU2luZ2xlVmlldyAvIDIpICYmXG4gICAgICB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlld1xuICAgICkge1xuICAgICAgdGhpcy5kaXNwbGF5QXJyYXlVcGRhdGUodGhpcy5jdXJyUGFnZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJQYWdlIDw9IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xuICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcbiAgICAgIHRoaXMuc3RhcnRBcnJheSgpO1xuICAgIH1cbiAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQodGhpcy5jdXJyUGFnZSk7XG4gICAgdGhpcy5lbnRlclBhZ2VObyA9IG51bGw7XG4gICAgdGhpcy5lbnRlclByZXNzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIHRoZSBjdXJyZW50IHBhZ2Ugd2hpbGUgY2xpY2tpbmcgb24gYW55IHBhZ2UgbnVtYmVyXG4gIGN1cnJlbnRJbmRleEFzc2lnbih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyUGFnZSA9IHZhbHVlO1xuICAgIGlmIChcbiAgICAgIHRoaXMuY3VyclBhZ2UgPD0gdGhpcy50b3RhbFBhZ2UgJiZcbiAgICAgIHRoaXMuY3VyclBhZ2UgPlxuICAgICAgICB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLSBNYXRoLmZsb29yKHRoaXMucGFnZUluU2luZ2xlVmlldyAvIDIpICYmXG4gICAgICB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlld1xuICAgICkge1xuICAgICAgdGhpcy5kaXNwbGF5QXJyYXlVcGRhdGUodGhpcy5jdXJyUGFnZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJQYWdlIDw9IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xuICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcbiAgICAgIHRoaXMuc3RhcnRBcnJheSgpO1xuICAgIH1cbiAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQodGhpcy5jdXJyUGFnZSk7XG4gICAgdGhpcy5lbnRlclBhZ2VObyA9IG51bGw7XG4gICAgdGhpcy5lbnRlclByZXNzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8vTnVtYmVyIHZhbGlkYXRpb24gY2hlY2tcbiAgdmFsaWRhdGVOdW1iZXIoZTogYW55KSB7XG4gICAgY29uc3QgcGF0dGVybiA9IC9eLT8oMHxbMS05XVxcZCopPyQvO1xuICAgIHJldHVybiBwYXR0ZXJuLnRlc3QoZSk7XG4gIH1cblxuICAvL0Z1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciB1cGRhdGluZyB0aGUgY3VycmVudCBwYWdlIHdoaWxlIGVudGVyaW5nIHRoZSBwYWdlIG51bWJlclxuICBvbkVudGVyUHJlc3MoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2VudGVyJykge1xuICAgICAgdGhpcy5lbnRlclByZXNzZWQgPSB0cnVlO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmVudGVyUGFnZU5vIDw9IHRoaXMudG90YWxQYWdlICYmXG4gICAgICAgIHRoaXMuZW50ZXJQYWdlTm8gPiAwICYmXG4gICAgICAgIHRoaXMuZW50ZXJQYWdlTm8gJiZcbiAgICAgICAgdGhpcy52YWxpZGF0ZU51bWJlcih0aGlzLmVudGVyUGFnZU5vKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuY3VyclBhZ2UgPSB0aGlzLmVudGVyUGFnZU5vO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5jdXJyUGFnZSA8PSB0aGlzLnRvdGFsUGFnZSAmJlxuICAgICAgICAgIHRoaXMuY3VyclBhZ2UgPlxuICAgICAgICAgICAgdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJlxuICAgICAgICAgIHRoaXMudG90YWxQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3XG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuZGlzcGxheUFycmF5VXBkYXRlKHRoaXMuY3VyclBhZ2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VyclBhZ2UgPD0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3KSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcbiAgICAgICAgICB0aGlzLnN0YXJ0QXJyYXkoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQodGhpcy5jdXJyUGFnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy9GdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgbWFuaXB1bGF0aW5nIHRoZSBkaXNwbGF5QXJyYXlcbiAgZGlzcGxheUFycmF5VXBkYXRlKGluZGV4OiBhbnkpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmN1cnJQYWdlID5cbiAgICAgICAgdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJlxuICAgICAgdGhpcy5jdXJyUGFnZSA8PSB0aGlzLnRvdGFsUGFnZSAtIE1hdGguZmxvb3IodGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMikgJiZcbiAgICAgIHRoaXMudG90YWxQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3XG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5wYWdlSW5TaW5nbGVWaWV3ICUgMiAhPSAwKSB7XG4gICAgICAgIGxldCBhcHBlbmRFbGVtZW50ID0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMjtcbiAgICAgICAgYXBwZW5kRWxlbWVudCA9IE1hdGguZmxvb3IoYXBwZW5kRWxlbWVudCk7XG4gICAgICAgIGxldCBzdGFydEluZGV4ID0gdGhpcy5jdXJyUGFnZSAtIGFwcGVuZEVsZW1lbnQ7XG4gICAgICAgIGxldCBlbmRJbmRleCA9IHRoaXMuY3VyclBhZ2UgKyBhcHBlbmRFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuZGlzcGxheUFycmF5ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDw9IGVuZEluZGV4OyArK2kpIHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlBcnJheS5wdXNoKGkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucGFnZUluU2luZ2xlVmlldyAlIDIgPT09IDApIHtcbiAgICAgICAgbGV0IGFwcGVuZEVsZW1lbnQgPSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyO1xuICAgICAgICBsZXQgc3RhcnRJbmRleCA9IHRoaXMuY3VyclBhZ2UgLSBhcHBlbmRFbGVtZW50O1xuICAgICAgICBsZXQgZW5kSW5kZXggPSB0aGlzLmN1cnJQYWdlICsgYXBwZW5kRWxlbWVudCAtIDE7XG4gICAgICAgIHRoaXMuZGlzcGxheUFycmF5ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDw9IGVuZEluZGV4OyArK2kpIHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlBcnJheS5wdXNoKGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuY3VyclBhZ2UgPlxuICAgICAgdGhpcy50b3RhbFBhZ2UgLSBNYXRoLmZsb29yKHRoaXMucGFnZUluU2luZ2xlVmlldyAvIDIpXG4gICAgKSB7XG4gICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xuICAgICAgZm9yIChcbiAgICAgICAgbGV0IGkgPSB0aGlzLnRvdGFsUGFnZSAtIHRoaXMucGFnZUluU2luZ2xlVmlldyArIDE7XG4gICAgICAgIGkgPD0gdGhpcy50b3RhbFBhZ2U7XG4gICAgICAgICsraVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUFycmF5LnB1c2goaSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZGlzcGxheUFycmF5ID0gdGhpcy5kaXNwbGF5QXJyYXkuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlID4gMCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJwYWdpbmF0aW9uLXNlYy1kcyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBiLTJcIlxuICBbY2xhc3MucmlnaHQtYWxpZ25dPVwiZmFsc2VcIlxuPlxuICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1sYWJlbC10eHQgdngtZnMtMTIgdngtZnctNDAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1saC02XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQYWdlRGV0YWlsXCJcbiAgICAgID5TSE9XSU5HIHt7IGZyb20gfX0gLSB7eyB0byB9fSBPRiB7eyB0b3RhbCB9fSBSRUNPUkRTPC9uZy1jb250YWluZXJcbiAgICA+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tYm94XCIgKm5nSWY9XCJmYWxzZVwiPlxuICAgICAgPHVsIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1tLTAgdngtcC0wXCI+XG4gICAgICAgIDxsaSBjbGFzcz1cInZ4LWQtZmxleFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwidngtZC1pbmxpbmUtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbGFiZWwtdHh0IHZ4LWZ3LTQwMCB2eC1mcy0xMSB2eC10dC11cHBlcmNhc2UgdngtcGwtMiB2eC1wci0yIHZ4LW0tMFwiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFsbFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGkgY2xhc3M9XCJ2eC1kLWZsZXhcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInZ4LWQtaW5saW5lLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxhYmVsLXR4dCB2eC1mdy00MDAgdngtZnMtMTEgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTIgdngtcHItMiB2eC1tLTBcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIiAqbmdJZj1cInRvdGFsUGFnZSA+IDFcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFnaW5hdGlvbi1ib3hcIj5cbiAgICAgIDx1bCBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbS0wIHZ4LXAtMFwiPlxuICAgICAgICA8bGkgY2xhc3M9XCJ2eC1kLWZsZXggdngtbXItMVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwidngtbS0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyUGFnZSA9PT0gMVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY3VycmVudEluZGV4VXBkYXRlKC0xKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMFwiPiYjeGU5NmI7PC9pPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuXG4gICAgICAgIDxsaSBjbGFzcz1cInZ4LWQtZmxleFwiICpuZ0Zvcj1cImxldCBwYWdlIG9mIGRpc3BsYXlBcnJheTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjdXJyZW50SW5kZXhBc3NpZ24ocGFnZSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJ2eC1sYWJlbC10eHQgdngtZnMtMTEgdngtZnctNDAwIHZ4LXBsLTEgdngtcHItMSB2eC1kLWlubGluZS1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1tLTAgdngtbWwtMVwiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJQYWdlID09IHBhZ2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cblxuICAgICAgICA8bGkgY2xhc3M9XCJ2eC1kLWZsZXggdngtbWwtMlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwidngtbS0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyUGFnZSA9PT0gdG90YWxQYWdlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjdXJyZW50SW5kZXhVcGRhdGUoMSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTBcIj4mI3hlOTcwOzwvaT5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ290by1wYWdlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWwtMlwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdvdG8tcGFnZS10ZXh0IHZ4LWxhYmVsLXR4dCB2eC1mcy0xMSB2eC10dC11cHBlcmNhc2UgdngtZC1ibG9jayB2eC1wbC0yIHZ4LXByLTJcIlxuICAgICAgPlxuICAgICAgICBHTyBUT1xuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ290by1wYWdlLWlucHV0XCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVudGVyUHJlc3NlZCA9IGZhbHNlXCJcbiAgICAgICAgICBbY2xhc3MuaW52YWxpZF09XCJlbnRlclBhZ2VObyA+IHRvdGFsUGFnZSAmJiBlbnRlclByZXNzZWRcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZW50ZXJQYWdlTm9cIlxuICAgICAgICAgIChrZXl1cCk9XCJvbkVudGVyUHJlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJQYWdlIE5vLlwiXG4gICAgICAgIC8+XG4gICAgICAgIDxidXR0b24+XG4gICAgICAgICAgPGltZyBbc3JjXT1cIkFTU0VUUy5lbnRlcl9pY29uXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJnb3RvLXBhZ2UtdGV4dCB2eC1sYWJlbC10eHQgdngtZnMtMTEgdngtdHQtdXBwZXJjYXNlIHZ4LWQtYmxvY2sgdngtcGwtMiB2eC1wci0yXCJcbiAgICAgID5cbiAgICAgICAgT0Yge3sgdG90YWxQYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|