vcomply-workflow-engine 2.9.61 → 2.9.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vcomply-workflow-engine.umd.js +79 -32
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.js +19 -4
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngfactory.js +86 -32
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.js +7 -3
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngfactory.js +7 -7
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.js +4 -3
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngfactory.js +3 -3
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.js +2 -2
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.js +2 -2
- package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.js +14 -14
- package/esm2015/lib/sharedComponents/link-program/restapi.service.js +8 -8
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.js +31 -4
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +261 -296
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +79 -32
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +3 -0
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +1 -0
- package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +1 -0
- package/lib/sharedComponents/link-program/restapi.service.d.ts +1 -1
- package/lib/workflow-policy/workflow-policy.component.d.ts +4 -0
- package/package.json +1 -1
- package/vcomply-workflow-engine.metadata.json +1 -1
- package/lib/ui-kit/directive/directive.module.ts +0 -17
- package/lib/ui-kit/directive/stop-propagation.directive.spec.ts +0 -8
- package/lib/ui-kit/directive/stop-propagation.directive.ts +0 -15
|
@@ -89,7 +89,7 @@ function View_FrequencyContainerComponent_14(_l) { return i1.ɵvid(0, [(_l()(),
|
|
|
89
89
|
var pd_1 = (_co.close() !== false);
|
|
90
90
|
ad = (pd_1 && ad);
|
|
91
91
|
} return ad; }, i23.View_FloatingBarComponent_0, i23.RenderType_FloatingBarComponent)), i1.ɵdid(2, 638976, null, 0, i24.FloatingBarComponent, [], { showFrequencyText: [0, "showFrequencyText"], currentFrequency: [1, "currentFrequency"], isDisabled: [2, "isDisabled"] }, { closeEvent: "closeEvent", closeList: "closeList" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = true; var currVal_1 = _co.currentTabName; var currVal_2 = _co.isNextDisabled; _ck(_v, 2, 0, currVal_0, currVal_1, currVal_2); }, null); }
|
|
92
|
-
function View_FrequencyContainerComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null,
|
|
92
|
+
function View_FrequencyContainerComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 32, "div", [["class", "frequency-dialog"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, "div", [["class", "frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, "div", [["class", "vx-fs-14 vx-fw-500 vx-label-txt"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Set a Frequency"])), (_l()(), i1.ɵeld(4, 0, null, null, 26, "div", [["class", "frequency-dialog-body vx-pl-4 vx-pr-4"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 25, "div", [["class", "frequency-dialog-body-inner"]], null, null, null, null, null)), i1.ɵdid(6, 16384, null, 0, i25.NgSwitch, [], { ngSwitch: [0, "ngSwitch"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 2, "div", [["class", "frequency-tab vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_3)), i1.ɵdid(9, 278528, null, 0, i25.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵeld(10, 0, null, null, 20, "div", [["class", "frequency-tab-bottom vx-pl-4 vx-pr-4"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_4)), i1.ɵdid(12, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_5)), i1.ɵdid(14, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_6)), i1.ɵdid(16, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_7)), i1.ɵdid(18, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_8)), i1.ɵdid(20, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_9)), i1.ɵdid(22, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_10)), i1.ɵdid(24, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_11)), i1.ɵdid(26, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_12)), i1.ɵdid(28, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_13)), i1.ɵdid(30, 278528, null, 0, i25.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, [2, i25.NgSwitch]], { ngSwitchCase: [0, "ngSwitchCase"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_14)), i1.ɵdid(32, 16384, null, 0, i25.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.frequencyTab; _ck(_v, 6, 0, currVal_0); var currVal_1 = _co.frequencyList; _ck(_v, 9, 0, currVal_1); var currVal_2 = "daily"; _ck(_v, 12, 0, currVal_2); var currVal_3 = "weekly"; _ck(_v, 14, 0, currVal_3); var currVal_4 = "monthly"; _ck(_v, 16, 0, currVal_4); var currVal_5 = "quarterly"; _ck(_v, 18, 0, currVal_5); var currVal_6 = "biannual"; _ck(_v, 20, 0, currVal_6); var currVal_7 = "annual"; _ck(_v, 22, 0, currVal_7); var currVal_8 = "oneTime"; _ck(_v, 24, 0, currVal_8); var currVal_9 = "random"; _ck(_v, 26, 0, currVal_9); var currVal_10 = "onCompletionOf"; _ck(_v, 28, 0, currVal_10); var currVal_11 = "ongoing"; _ck(_v, 30, 0, currVal_11); var currVal_12 = !_co.openedRadioForm; _ck(_v, 32, 0, currVal_12); }, null); }
|
|
93
93
|
function View_FrequencyContainerComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyContainerComponent_2)), i1.ɵdid(2, 16384, null, 0, i25.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.mode !== "policy"); _ck(_v, 2, 0, currVal_0); }, null); }
|
|
94
94
|
function View_FrequencyContainerComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, "li", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "button", [], [[2, "active", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
95
95
|
var pd_0 = (_co.changeFrequencyTab(_v.context.$implicit) !== false);
|
|
@@ -146,4 +146,4 @@ export function View_FrequencyContainerComponent_0(_l) { return i1.ɵvid(0, [(_l
|
|
|
146
146
|
export function View_FrequencyContainerComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-frequency-container", [], null, null, null, View_FrequencyContainerComponent_0, RenderType_FrequencyContainerComponent)), i1.ɵdid(1, 638976, null, 0, i26.FrequencyContainerComponent, [i4.FrequencyService, i27.SnackBarService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
|
|
147
147
|
var FrequencyContainerComponentNgFactory = i1.ɵccf("app-frequency-container", i26.FrequencyContainerComponent, View_FrequencyContainerComponent_Host_0, { frequencyDetails: "frequencyDetails", mode: "mode", feature: "feature", pageType: "pageType" }, { selectedFrequency: "selectedFrequency", closeFrequency: "closeFrequency" }, []);
|
|
148
148
|
export { FrequencyContainerComponentNgFactory as FrequencyContainerComponentNgFactory };
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNvbnRhaW5lci9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzRUNVVSw2RUFVZSxLQVBiLGtQQU1TLFlBTFA7O3dCQUEyQztNQUQ3Qyx3QkFNUyxLQUZSLGtDQUVELHlEQUhFLDJGQUFvRCxnQkFIdEQsWUFNUyxFQUhQLFNBQW9ELEdBQ3JELDRHQUVEO3NFQU1GLDJKQU11QixZQUZyQjs7d0JBQWdEO01BSmxELHNTQU11QixtREFKckIsbUJBQWEsT0FHYixtQkFBa0MsbUJBRmxDLG1CQUFxQixXQUh2QixZQU11QixFQUpyQixTQUFhLEVBR2IsU0FBa0MsRUFGbEMsU0FBcUI7c0VBTXZCLDRKQU13QixZQUZ0Qjs7d0JBQWdEO01BSmxELHlTQU13QixtREFKdEIsbUJBQWEsT0FDYixtQkFBcUIsV0FFckIsbUJBQWtDLG1CQUxwQyxZQU13QixFQUp0QixTQUFhLEVBQ2IsU0FBcUIsRUFFckIsU0FBa0M7c0VBSXBDLDZKQU15QixZQUZ2Qjs7d0JBQWdEO01BSmxELDRTQU15QixtREFKdkIsbUJBQWEsT0FDYixtQkFBcUIsV0FFckIsbUJBQWtDLG1CQUxwQyxZQU15QixFQUp2QixT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QUF5QixFQUQzQixhQU15QixFQUx2QixTQUF5QixHQU96QiwyQkFBMkIsRUFEN0IsYUFNMkIsRUFMekIsU0FBMkIsR0FPM0IsMEJBQTBCLEVBRDVCLGFBTTBCLEVBTHhCLFNBQTBCLEdBTzFCLHdCQUF3QixFQUQxQixhQU13QixFQUx0QixTQUF3QixHQU94Qix5QkFBeUIsRUFEM0IsYUFNMEIsRUFMeEIsU0FBeUIsR0FPekIsd0JBQXdCLEVBRDFCLGFBS3dCLEVBSnRCLFNBQXdCLEdBTXhCLGlDQUFnQyxFQURsQyxhQUtrQyxFQUpoQyxVQUFnQyxHQU1oQywwQkFBeUIsRUFEM0IsYUFJeUIsRUFIdkIsVUFBeUIsR0FVL0IscUJBQTBCLEVBQzFCLG9CQUFtQyxpQkFDbkMsb0JBQTZCLGlCQUgvQixhQU1vQixFQUxsQixVQUEwQixFQUMxQixVQUFtQyxFQUNuQyxVQUE2Qjs2RUFoT25DLDRMQThIZSxJQUlmLDZMQW1HTSxpREFyT1Esc0NBQXlCLEdBQXZDLFlBOEhlLEVBOUhELFNBQXlCLEdBa0lsQyxzQ0FBeUIsR0FBOUIsWUFtR00sRUFuR0QsU0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSAhPT0gJ3BvbGljeSdcIj5cclxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZ1wiICpuZ0lmPVwibW9kZSAhPT0gJ3BvbGljeSdcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWhlYWQgdngtcC0zIHZ4LW1iLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNldCBhIEZyZXF1ZW5jeTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1ib2R5IHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1ib2R5LWlubmVyXCIgW25nU3dpdGNoXT1cImZyZXF1ZW5jeVRhYlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZyZXF1ZW5jeVR5cGUgb2YgZnJlcXVlbmN5TGlzdDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeVR5cGUpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyBmcmVxdWVuY3lUeXBlPy5uYW1lIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWItYm90dG9tIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgICAgPCEtLSBEYWlseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICB7eyBwYWdlVHlwZSB9fVxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktZGFpbHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkYWlseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWRhaWx5PlxyXG4gICAgICAgICAgPCEtLSBEYWlseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktd2Vla2x5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInd2Vla2x5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktd2Vla2x5PlxyXG4gICAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1tb250aGx5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbW9udGhseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW1vbnRobHk+XHJcbiAgICAgICAgICA8IS0tIE1vbnRobHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXF1YXJ0ZXJseVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3F1YXJ0ZXJseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LXF1YXJ0ZXJseT5cclxuICAgICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIEJpYW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWJpYW5udWFsXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYmlhbm51YWwnXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1iaWFubnVhbD5cclxuICAgICAgICAgIDwhLS0gQmlhbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWFubnVhbFxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2FubnVhbCdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWFubnVhbD5cclxuICAgICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZS10aW1lXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb25lVGltZSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uZS10aW1lPlxyXG4gICAgICAgICAgPCEtLSBPbmUgVGltZSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcmFuZG9tXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFuZG9tJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktcmFuZG9tPlxyXG4gICAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb25Db21wbGV0aW9uT2YnXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtmZWF0dXJlXT1cImZlYXR1cmVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgICAgKHJhZGlvRm9ybSk9XCJvcGVuZWRSYWRpbygkZXZlbnQpXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZj5cclxuICAgICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZ29pbmdcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbmdvaW5nJ1wiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxyXG4gICAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctZm9vdGVyXCIgKm5nSWY9XCIhb3BlbmVkUmFkaW9Gb3JtXCI+XHJcbiAgICAgIDxhcHAtZmxvYXRpbmctYmFyXHJcbiAgICAgICAgW3Nob3dGcmVxdWVuY3lUZXh0XT1cInRydWVcIlxyXG4gICAgICAgIFtjdXJyZW50RnJlcXVlbmN5XT1cImN1cnJlbnRUYWJOYW1lXCJcclxuICAgICAgICBbaXNEaXNhYmxlZF09XCJpc05leHREaXNhYmxlZFwiXHJcbiAgICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgICA+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48IS0tIFdoZW4gcmVzcG9uc2liaWxpdHkgbGlzdCBzaG93IHRoZW4gaGlkZSBmcmVxdWVuY3ktZGlhbG9nIGh0bWwgLS0+XHJcblxyXG48IS0tIEZvciBQb2xpY3kgLS0+XHJcbjxkaXYgKm5nSWY9XCJtb2RlID09PSAncG9saWN5J1wiIGNsYXNzPVwiZnJlcXVlbmN5XCI+XHJcbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1oZWFkXCI+XHJcbiAgICA8aDMgY2xhc3M9XCJmcmVxdWVuY3ktdGl0bGVcIj5TZXQgYSBGcmVxdWVuY3k8L2gzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktYm9keVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWItaGVhZFwiPlxyXG4gICAgICAgICAgPHVsIGNsYXNzPVwibmF2aWdhdGlvblwiPlxyXG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGZyZXF1ZW5jeVR5cGUgb2YgZnJlcXVlbmN5TGlzdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VHlwZT8udHlwZSA9PSBmcmVxdWVuY3lUYWJcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3lUeXBlKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgZnJlcXVlbmN5VHlwZT8ubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRhYi1ib2R5XCI+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktZGFpbHk+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS13ZWVrbHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid3ZWVrbHknXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS13ZWVrbHk+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1tb250aGx5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbW9udGhseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW1vbnRobHk+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1xdWFydGVybHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidxdWFydGVybHknXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1xdWFydGVybHk+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1iaWFubnVhbFxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2JpYW5udWFsJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktYmlhbm51YWw+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1hbm51YWxcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidhbm51YWwnXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1hbm51YWw+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmUtdGltZVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29uZVRpbWUnXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbmUtdGltZT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXJhbmRvbVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3JhbmRvbSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LXJhbmRvbT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2ZcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbkNvbXBsZXRpb25PZidcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2Y+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmdvaW5nXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb25nb2luZydcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktb25nb2luZz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWZvb3RlclwiPlxyXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcclxuICAgICAgW3Nob3dGcmVxdWVuY3lUZXh0XT1cInRydWVcIlxyXG4gICAgICBbY3VycmVudEZyZXF1ZW5jeV09XCJjdXJyZW50VGFiTmFtZVwiXHJcbiAgICAgIFtpc0Rpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCJcclxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNvbnRhaW5lci9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzRUNVVSw2RUFVZSxLQVBiLGtQQU1TLFlBTFA7O3dCQUEyQztNQUQ3Qyx3QkFNUyxLQUZSLGtDQUVELHlEQUhFLDJGQUFvRCxnQkFIdEQsWUFNUyxFQUhQLFNBQW9ELEdBQ3JELDRHQUVEO3NFQUtGLDJKQU11QixZQUZyQjs7d0JBQWdEO01BSmxELHNTQU11QixtREFKckIsbUJBQWEsT0FHYixtQkFBa0MsbUJBRmxDLG1CQUFxQixXQUh2QixZQU11QixFQUpyQixTQUFhLEVBR2IsU0FBa0MsRUFGbEMsU0FBcUI7c0VBTXZCLDRKQU13QixZQUZ0Qjs7d0JBQWdEO01BSmxELHlTQU13QixtREFKdEIsbUJBQWEsT0FDYixtQkFBcUIsV0FFckIsbUJBQWtDLG1CQUxwQyxZQU13QixFQUp0QixTQUFhLEVBQ2IsU0FBcUIsRUFFckIsU0FBa0M7c0VBSXBDLDZKQU15QixZQUZ2Qjs7d0JBQWdEO01BSmxELDRTQU15QixtREFKdkIsbUJBQWEsT0FDYixtQkFBcUIsV0FFckIsbUJBQWtDLG1CQUxwQyxZQU15QixFQUp2QixT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QixHQU96QiwyQkFBMkIsRUFEN0IsYUFNMkIsRUFMekIsU0FBMkIsR0FPM0IsMEJBQTBCLEVBRDVCLGFBTTBCLEVBTHhCLFNBQTBCLEdBTzFCLHdCQUF3QixFQUQxQixhQU13QixFQUx0QixTQUF3QixHQU94Qix5QkFBeUIsRUFEM0IsYUFNMEIsRUFMeEIsU0FBeUIsR0FPekIsd0JBQXdCLEVBRDFCLGFBS3dCLEVBSnRCLFNBQXdCLEdBTXhCLGlDQUFnQyxFQURsQyxhQUtrQyxFQUpoQyxVQUFnQyxHQU1oQywwQkFBeUIsRUFEM0IsYUFJeUIsRUFIdkIsVUFBeUIsR0FVL0IscUJBQTBCLEVBQzFCLG9CQUFtQyxpQkFDbkMsb0JBQTZCLGlCQUgvQixhQU1vQixFQUxsQixVQUEwQixFQUMxQixVQUFtQyxFQUNuQyxVQUE2Qjs2RUEvTm5DLDRMQTZIZSxJQUlmLDZMQW1HTSxpREFwT1Esc0NBQXlCLEdBQXZDLFlBNkhlLEVBN0hELFNBQXlCLEdBaUlsQyxzQ0FBeUIsR0FBOUIsWUFtR00sRUFuR0QsU0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSAhPT0gJ3BvbGljeSdcIj5cclxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZ1wiICpuZ0lmPVwibW9kZSAhPT0gJ3BvbGljeSdcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWhlYWQgdngtcC0zIHZ4LW1iLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNldCBhIEZyZXF1ZW5jeTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1ib2R5IHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1ib2R5LWlubmVyXCIgW25nU3dpdGNoXT1cImZyZXF1ZW5jeVRhYlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZyZXF1ZW5jeVR5cGUgb2YgZnJlcXVlbmN5TGlzdDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeVR5cGUpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyBmcmVxdWVuY3lUeXBlPy5uYW1lIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWItYm90dG9tIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgICAgPCEtLSBEYWlseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktZGFpbHk+XHJcbiAgICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIFdlZWtseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS13ZWVrbHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid3ZWVrbHknXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS13ZWVrbHk+XHJcbiAgICAgICAgICA8IS0tIFdlZWtseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBNb250aGx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW1vbnRobHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidtb250aGx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cclxuICAgICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBRdWFydGVybHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcXVhcnRlcmx5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcmx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5PlxyXG4gICAgICAgICAgPCEtLSBRdWFydGVybHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQmlhbm51YWwgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYmlhbm51YWxcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidiaWFubnVhbCdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWJpYW5udWFsPlxyXG4gICAgICAgICAgPCEtLSBCaWFubnVhbCBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBBbm51YWwgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYW5udWFsXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYW5udWFsJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktYW5udWFsPlxyXG4gICAgICAgICAgPCEtLSBBbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gT25lIFRpbWUgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25lLXRpbWVcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbmVUaW1lJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktb25lLXRpbWU+XHJcbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIFJhbmRvbSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1yYW5kb21cclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidyYW5kb20nXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1yYW5kb20+XHJcbiAgICAgICAgICA8IS0tIFJhbmRvbSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2ZcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbkNvbXBsZXRpb25PZidcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW2ZlYXR1cmVdPVwiZmVhdHVyZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgICAocmFkaW9Gb3JtKT1cIm9wZW5lZFJhZGlvKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mPlxyXG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIE9uZ29pbmcgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25nb2luZ1xyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29uZ29pbmcnXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uZ29pbmc+XHJcbiAgICAgICAgICA8IS0tIE9uZ29pbmcgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1mb290ZXJcIiAqbmdJZj1cIiFvcGVuZWRSYWRpb0Zvcm1cIj5cclxuICAgICAgPGFwcC1mbG9hdGluZy1iYXJcclxuICAgICAgICBbc2hvd0ZyZXF1ZW5jeVRleHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2N1cnJlbnRGcmVxdWVuY3ldPVwiY3VycmVudFRhYk5hbWVcIlxyXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCJcclxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXHJcbiAgICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gV2hlbiByZXNwb25zaWJpbGl0eSBsaXN0IHNob3cgdGhlbiBoaWRlIGZyZXF1ZW5jeS1kaWFsb2cgaHRtbCAtLT5cclxuXHJcbjwhLS0gRm9yIFBvbGljeSAtLT5cclxuPGRpdiAqbmdJZj1cIm1vZGUgPT09ICdwb2xpY3knXCIgY2xhc3M9XCJmcmVxdWVuY3lcIj5cclxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWhlYWRcIj5cclxuICAgIDxoMyBjbGFzcz1cImZyZXF1ZW5jeS10aXRsZVwiPlNldCBhIEZyZXF1ZW5jeTwvaDM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRhYlwiIFtuZ1N3aXRjaF09XCJmcmVxdWVuY3lUYWJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRhYi1oZWFkXCI+XHJcbiAgICAgICAgICA8dWwgY2xhc3M9XCJuYXZpZ2F0aW9uXCI+XHJcbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZnJlcXVlbmN5VHlwZSBvZiBmcmVxdWVuY3lMaXN0OyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeVR5cGUpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBmcmVxdWVuY3lUeXBlPy5uYW1lIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiLWJvZHlcIj5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWRhaWx5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInZGFpbHknXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1kYWlseT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXdlZWtseVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3dlZWtseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LXdlZWtseT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW1vbnRobHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidtb250aGx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXF1YXJ0ZXJseVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3F1YXJ0ZXJseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LXF1YXJ0ZXJseT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWJpYW5udWFsXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYmlhbm51YWwnXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1iaWFubnVhbD5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWFubnVhbFxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2FubnVhbCdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWFubnVhbD5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZS10aW1lXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb25lVGltZSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uZS10aW1lPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcmFuZG9tXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFuZG9tJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktcmFuZG9tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZlxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29uQ29tcGxldGlvbk9mJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZj5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZ29pbmdcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbmdvaW5nJ1wiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZm9vdGVyXCI+XHJcbiAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICBbc2hvd0ZyZXF1ZW5jeVRleHRdPVwidHJ1ZVwiXHJcbiAgICAgIFtjdXJyZW50RnJlcXVlbmN5XT1cImN1cnJlbnRUYWJOYW1lXCJcclxuICAgICAgW2lzRGlzYWJsZWRdPVwiaXNOZXh0RGlzYWJsZWRcIlxyXG4gICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -109,7 +109,7 @@ export class LinkProgramComponent {
|
|
|
109
109
|
getPrograms(data) {
|
|
110
110
|
this.loader = true;
|
|
111
111
|
let params = new HttpParams();
|
|
112
|
-
params = params.append('mode', 'complianceCategory/programList');
|
|
112
|
+
// params = params.append('mode', 'complianceCategory/programList');
|
|
113
113
|
params = params.append('programType', this.programTypeObject[this.activeTab]);
|
|
114
114
|
params = params.append('pageName', "policyWorkroom");
|
|
115
115
|
if ((data === null || data === void 0 ? void 0 : data.search) || this.searchText.program) {
|
|
@@ -120,10 +120,10 @@ export class LinkProgramComponent {
|
|
|
120
120
|
}
|
|
121
121
|
const request = {
|
|
122
122
|
method: 'get',
|
|
123
|
-
action: '
|
|
123
|
+
action: 'complianceGet',
|
|
124
124
|
params
|
|
125
125
|
};
|
|
126
|
-
this.restApiService.apiDelegate(request).pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
126
|
+
this.restApiService.apiDelegate(request, 'complianceCategory/programList').pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
127
127
|
next: (res) => {
|
|
128
128
|
this.programData.data = res.data;
|
|
129
129
|
this.programData.from = res.from;
|
|
@@ -151,10 +151,10 @@ export class LinkProgramComponent {
|
|
|
151
151
|
}
|
|
152
152
|
const request = {
|
|
153
153
|
method: 'get',
|
|
154
|
-
action: '
|
|
154
|
+
action: 'programEndpoint',
|
|
155
155
|
params
|
|
156
156
|
};
|
|
157
|
-
this.restApiService.apiDelegate(request).pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
157
|
+
this.restApiService.apiDelegate(request, '/subCategories').pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
158
158
|
next: (res) => {
|
|
159
159
|
var _a, _b, _c, _d, _e;
|
|
160
160
|
this.subCategoriesList.from = (_a = res.items_from) !== null && _a !== void 0 ? _a : 1;
|
|
@@ -177,22 +177,22 @@ export class LinkProgramComponent {
|
|
|
177
177
|
this.getPrograms();
|
|
178
178
|
}
|
|
179
179
|
getResponsibilities(data) {
|
|
180
|
-
var _a, _b, _c, _d;
|
|
180
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
181
181
|
this.loader = true;
|
|
182
182
|
const request = {
|
|
183
183
|
method: 'get',
|
|
184
|
-
action: '
|
|
184
|
+
action: 'programEndpoint',
|
|
185
185
|
payloadObject: {
|
|
186
186
|
"start_date": (_a = this.currentBusinessCycle) === null || _a === void 0 ? void 0 : _a.start_date,
|
|
187
187
|
"end_date": (_b = this.currentBusinessCycle) === null || _b === void 0 ? void 0 : _b.end_date,
|
|
188
188
|
"selected_cycle_arr": (_c = this.currentBusinessCycle) === null || _c === void 0 ? void 0 : _c.selected_cycle_arr,
|
|
189
189
|
"selected_cycle": (_d = this.currentBusinessCycle) === null || _d === void 0 ? void 0 : _d.selected_cycle,
|
|
190
|
-
'categoryIds': this.selectedIds.categories,
|
|
191
|
-
'pageNo': this.responsibilitiesList.currentPage,
|
|
192
|
-
'searchText': (data === null || data === void 0 ? void 0 : data.search) ? this.searchText.responsibility : ''
|
|
190
|
+
'categoryIds': (_e = this.selectedIds) === null || _e === void 0 ? void 0 : _e.categories,
|
|
191
|
+
'pageNo': (_f = this.responsibilitiesList) === null || _f === void 0 ? void 0 : _f.currentPage,
|
|
192
|
+
'searchText': (data === null || data === void 0 ? void 0 : data.search) ? (_g = this.searchText) === null || _g === void 0 ? void 0 : _g.responsibility : ''
|
|
193
193
|
}
|
|
194
194
|
};
|
|
195
|
-
this.restApiService.apiDelegate(request).pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
195
|
+
this.restApiService.apiDelegate(request, '/categoryResponsibilities').pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
196
196
|
next: (res) => {
|
|
197
197
|
var _a, _b, _c, _d, _e;
|
|
198
198
|
this.loader = false;
|
|
@@ -381,8 +381,8 @@ export class LinkProgramComponent {
|
|
|
381
381
|
"selected_cycle": (_t = this.currentBusinessCycle) === null || _t === void 0 ? void 0 : _t.selected_cycle,
|
|
382
382
|
};
|
|
383
383
|
let linkProgram = {
|
|
384
|
-
added: [payload],
|
|
385
|
-
removed: [remove]
|
|
384
|
+
added: Object.keys(payload).length ? [payload] : [],
|
|
385
|
+
removed: Object.keys(remove).length ? [remove] : [],
|
|
386
386
|
};
|
|
387
387
|
let selectedProgram = {
|
|
388
388
|
selectedValues: this.selectedValues,
|
|
@@ -445,4 +445,4 @@ LinkProgramComponent.propDecorators = {
|
|
|
445
445
|
hideProgramsList: [{ type: Input }],
|
|
446
446
|
searchProgram: [{ type: ViewChild, args: ['searchProgram',] }]
|
|
447
447
|
};
|
|
448
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wcm9ncmFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvbGluay1wcm9ncmFtL2xpbmstcHJvZ3JhbS9saW5rLXByb2dyYW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBUzlFLE1BQU0sT0FBTyxvQkFBb0I7SUEwRy9CLFNBQVM7SUFFVCxZQUFvQixjQUE4QixFQUN2QyxRQUF5QjtRQURoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDdkMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUE1R3BDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsc0JBQWlCLEdBQUc7WUFDbEIsSUFBSSxFQUFFLENBQUM7WUFDUCxFQUFFLEVBQUUsQ0FBQztZQUNMLFdBQVcsRUFBRSxDQUFDO1lBQ2QsU0FBUyxFQUFFLENBQUM7WUFDWixZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUNGLHlCQUFvQixHQUFHO1lBQ3JCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFNB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dEYseUJBQXlCO1FBQ3pCLGtEQUFrRDtRQUNsRCw2Q0FBNkM7UUFDN0Msb0NBQW9DO1FBQ3BDLFVBQVU7UUFDViwyQkFBMkI7UUFDM0IsZ0JBQWdCO1FBRWhCLE9BQU87UUFDUCwyQkFBMkI7UUFDM0IscUNBQXFDO1FBQ3JDLHdJQUF3STtRQUN4SSxPQUFPO1FBQ1AsTUFBTTtJQUNSLENBQUM7OztZQTdjRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsNDY5QkFBNEM7O2FBRTdDOzs7WUFUUSxjQUFjO1lBQ2QsZUFBZTs7O3FCQWdEckIsS0FBSzt5QkFDTCxLQUFLO21CQUNMLEtBQUs7d0JBQ0wsTUFBTTtvQ0FDTixNQUFNO21CQU9OLE1BQU07b0JBQ04sTUFBTTtvQ0FFTixNQUFNOzJCQUdOLEtBQUs7aUNBRUwsS0FBSyxTQUFDLGlCQUFpQjtpQ0FRdkIsS0FBSztrQ0FDTCxLQUFLOytCQUdMLEtBQUs7NEJBQ0wsU0FBUyxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBSZXN0QXBpU2VydmljZSB9IGZyb20gJy4uL3Jlc3RhcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZElkcywgU2VsZWN0ZWRWYWx1ZXMgfSBmcm9tICcuLi9wcm9ncmFtLWludGVncmF0aW9uLWludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBwcm9ncmFtTGlzdCB9IGZyb20gJy4vcHJvZ3JhbS1saXN0LW1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmMtbGluay1wcm9ncmFtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGluay1wcm9ncmFtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saW5rLXByb2dyYW0uY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlua1Byb2dyYW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG5cclxuICBzdWJDYXRlZ29yaWVzTGlzdCA9IHtcclxuICAgIGZyb206IDEsXHJcbiAgICB0bzogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgdG90YWxQYWdlOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuICByZXNwb25zaWJpbGl0aWVzTGlzdCA9IHtcclxuICAgIGZyb206IDEsXHJcbiAgICB0bzogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgdG90YWxQYWdlOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoVGV4dCA9IHtcclxuICAgIHByb2dyYW06ICcnLFxyXG4gICAgY2F0ZWdvcnk6ICcnLFxyXG4gICAgcmVzcG9uc2liaWxpdHk6ICcnLFxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRWYWx1ZXM6IFNlbGVjdGVkVmFsdWVzID0ge1xyXG4gICAgcHJvZ3JhbToge30sXHJcbiAgICBjYXRlZ29yaWVzOiBbXSxcclxuICAgIHJlc3BvbnNpYmlsaXRpZXM6IFtdXHJcbiAgfVxyXG4gIHNlbGVjdGVkSWRzOiBTZWxlY3RlZElkcyA9IHtcclxuICAgIGNhdGVnb3JpZXM6IFtdLFxyXG4gICAgcmVzcG9uc2liaWxpdGllczogW11cclxuICB9XHJcblxyXG4gIHN1Ym1pc3Npb25Mb2FkZXI9ZmFsc2U7XHJcbiAgY3VycmVudENhdGVnb3J5OmFueT17fTtcclxuXHJcbiAgQElucHV0KCkgcG9saWN5OiBhbnkgPSB7fVxyXG4gIEBJbnB1dCgpIGN1cnJlbnRUYWIhOmFueTtcclxuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgY2hhbmdlVGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVkUHJvZ3JhbURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGN1cnJlbnRCdXNpbmVzc0N5Y2xlITogYW55O1xyXG4gIGxvYWRlciA9IGZhbHNlO1xyXG4gIHByb2dyYW1Tb3J0Qnk6ICdkZXNjJyB8ICdhc2MnID0gJ2Rlc2MnO1xyXG4gIGN1cnJlbnRMaXN0OiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnID0gJ3Byb2dyYW1zJztcclxuICB1bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQE91dHB1dCgpIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgcmVmcmVzaExpbmtlZFBvbGljaWVzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8vcHJvZ3JhbVxyXG4gIHN1Ykxpc3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwcm9ncmFtc0xpc3Q6IGFueTtcclxuICAvLyBASW5wdXQoKSBhbGxQcm9ncmFtczogYW55W10gPSBbXTtcclxuICBASW5wdXQoJ3NlbGVjdGVkUHJvZ3JhbScpIHNldCBnZXRTZWxlY3RlZFByb2dyYW0oIHByb2dyYW06IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocHJvZ3JhbSkpID8/IHtcclxuICAgICAgcHJvZ3JhbToge30sXHJcbiAgICAgIGNhdGVnb3JpZXM6IFtdLFxyXG4gICAgICByZXNwb25zaWJpbGl0aWVzOiBbXVxyXG4gICAgfSA7XHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuc2VsZWN0ZWRWYWx1ZXNcIix0aGlzLnNlbGVjdGVkVmFsdWVzLCB0aGlzLnNlbGVjdGVkTGlua1Byb2dyYW0pXHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcmllczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBzZWxlY3RlZExpbmtQcm9ncmFtPSB7XHJcbiAgICBfaWQ6ICcnXHJcbiAgfTtcclxuICBASW5wdXQoKSBoaWRlUHJvZ3JhbXNMaXN0ITogYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaFByb2dyYW0nKSBzZWFyY2hQcm9ncmFtITogYW55O1xyXG4gIFxyXG5cclxuICBwcmV2aW91c1NlbGVjdGVkVmFsdWVzOmFueT17XHJcbiAgICBwcm9ncmFtOnt9LFxyXG4gICAgY2F0ZWdvcmllczpbXVxyXG4gIH1cclxuICBwcm9ncmFtRGF0YTogcHJvZ3JhbUxpc3QgPSB7XHJcbiAgICBkYXRhOiBbXSxcclxuICAgIGZyb206IDAsXHJcbiAgICB0bzogMCxcclxuICAgIHRvdGFsUGFnZXM6IDAsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIEFsbEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgQWxsT3RoZXJzUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIEFsbFJlZ3VsYXRpb25Qcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgQWxsU3RhbmRhcmRQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgU2VsZWN0ZWRJbnRlcm5hbENvbnRyb2xzUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIFNlbGVjdGVkT3RoZXJzUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIFNlbGVjdGVkUmVndWxhdGlvblByb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBTZWxlY3RlZFN0YW5kYXJkUHJvZ3JhbXNDb3VudDogMFxyXG4gIH1cclxuICBwcm9ncmFtVHlwZU9iamVjdCA9IHtcclxuICAgIHJlZ3VsYXRpb25zOiAxLFxyXG4gICAgc3RhbmRhcmRzOiAyLFxyXG4gICAgaW50ZXJuYWxfY29udHJvbHM6IDMsXHJcbiAgICBvdGhlcnM6IDAsXHJcbiAgfVxyXG5cclxuXHJcbiAgZGlzcGxheUNvbmZpcm1hdGlvbk1lc3NhZ2UgPSBmYWxzZTtcclxuXHJcbiAgYWN0aXZlVGFiOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxfY29udHJvbHMnIHwgJ290aGVycycgPSAncmVndWxhdGlvbnMnXHJcblxyXG4gIC8vcHJvZ3JhbVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RBcGlTZXJ2aWNlOiBSZXN0QXBpU2VydmljZSxcclxuICAgICBwcml2YXRlIHNuYWNrYmFyOiBTbmFja0JhclNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gICAgdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZSA9IHRoaXMucmVzdEFwaVNlcnZpY2UuZ2V0QnVzaW5lc3NDeWNsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvZ3JhbXMoZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdtb2RlJywgJ2NvbXBsaWFuY2VDYXRlZ29yeS9wcm9ncmFtTGlzdCcpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncHJvZ3JhbVR5cGUnLCB0aGlzLnByb2dyYW1UeXBlT2JqZWN0W3RoaXMuYWN0aXZlVGFiXSk7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2VOYW1lJywgXCJwb2xpY3lXb3Jrcm9vbVwiKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LnByb2dyYW1cclxuICAgICAgKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaFRleHQnLCB0aGlzLnNlYXJjaFRleHQucHJvZ3JhbSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTm8nLCB0aGlzLnByb2dyYW1EYXRhLmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIG1ldGhvZDogJ2dldCcsXHJcbiAgICAgIGFjdGlvbjogJy9jb21wbGlhbmNlLycsXHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXN0QXBpU2VydmljZS5hcGlEZWxlZ2F0ZShyZXF1ZXN0KS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5kYXRhID0gcmVzLmRhdGE7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5mcm9tID0gcmVzLmZyb207XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS50byA9IHJlcy50bztcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLnRvdGFsUGFnZXMgPSByZXMudG90YWxQYWdlcztcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbFJlY29yZHM7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5BbGxJbnRlcm5hbENvbnRyb2xzUHJvZ3JhbXNDb3VudCA9IHJlcy5BbGxJbnRlcm5hbENvbnRyb2xzUHJvZ3JhbXNDb3VudDtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLkFsbE90aGVyc1Byb2dyYW1zQ291bnQgPSByZXMuQWxsT3RoZXJzUHJvZ3JhbXNDb3VudDtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLkFsbFJlZ3VsYXRpb25Qcm9ncmFtc0NvdW50ID0gcmVzLkFsbFJlZ3VsYXRpb25Qcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuQWxsU3RhbmRhcmRQcm9ncmFtc0NvdW50ID0gcmVzLkFsbFN0YW5kYXJkUHJvZ3JhbXNDb3VudDtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG5cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0Q2F0ZWdvcmllcyhkYXRhPzogYW55KSB7XHJcblxyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYXJlbnRJZCcsIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHJvZ3JhbT8uX2lkKTtcclxuXHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3EnLCB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIG1ldGhvZDogJ2dldCcsXHJcbiAgICAgIGFjdGlvbjogJy9wcm9ncmFtL3N1YkNhdGVnb3JpZXMnLFxyXG4gICAgICBwYXJhbXNcclxuICAgIH1cclxuICAgIHRoaXMucmVzdEFwaVNlcnZpY2UuYXBpRGVsZWdhdGUocmVxdWVzdCkucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuZnJvbSA9IHJlcy5pdGVtc19mcm9tID8/IDE7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC50byA9IHJlcy5pdGVtc190byA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG90YWxQYWdlID0gcmVzLnRvdGFsX3BhZ2VzID8/IDA7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC50b3RhbFJlY29yZHMgPSByZXMudG90YWxfaXRlbXMgPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmRhdGEgPSByZXMuZGF0YSA/PyBbXTtcclxuICAgICAgICB0aGlzLmxvYWRlcj1mYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY2hhbmdlVGFiUHJvZ3JhbSh0eXBlOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxfY29udHJvbHMnIHwgJ290aGVycycpIHtcclxuICAgIHRoaXMuYWN0aXZlVGFiID0gdHlwZTtcclxuICAgIHRoaXMucHJvZ3JhbURhdGEuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0LnByb2dyYW0gPSAnJztcclxuICAgIHRoaXMuc2VhcmNoUHJvZ3JhbS5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmdldFByb2dyYW1zKCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0aWVzKGRhdGE/OiBhbnkpIHtcclxuXHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgbWV0aG9kOiAnZ2V0JyxcclxuICAgICAgYWN0aW9uOiAnL3Byb2dyYW0vY2F0ZWdvcnlSZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgcGF5bG9hZE9iamVjdDoge1xyXG4gICAgICAgIFwic3RhcnRfZGF0ZVwiOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICAgIFwiZW5kX2RhdGVcIjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgICAgXCJzZWxlY3RlZF9jeWNsZV9hcnJcIjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgICAgIFwic2VsZWN0ZWRfY3ljbGVcIjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgICAgJ2NhdGVnb3J5SWRzJzogdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzLFxyXG4gICAgICAgICdwYWdlTm8nOiB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LmN1cnJlbnRQYWdlLFxyXG4gICAgICAgICdzZWFyY2hUZXh0JzogKGRhdGE/LnNlYXJjaCkgPyB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkgOiAnJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3RBcGlTZXJ2aWNlLmFwaURlbGVnYXRlKHJlcXVlc3QpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuZnJvbSA9IHJlcy5pdGVtc19mcm9tID8/IDE7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50byA9IHJlcy5pdGVtc190byA/PyAwO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxQYWdlID0gcmVzLnRvdGFsX3BhZ2VzID8/IDE7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFJlY29yZHMgPSByZXMudG90YWxfaXRlbXMgPz8gMDtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LmRhdGEgPSByZXMuZGF0YSA/PyBbXTtcclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBhbnksIHR5cGU6ICdwcm9ncmFtcycgfCAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcycpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdwcm9ncmFtcyc6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0UHJvZ3JhbXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcmllcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBzZWFyY2hCeShldmVudDogYW55LCB0eXBlOiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAncHJvZ3JhbXMnOlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFRleHQucHJvZ3JhbSAhPSBldmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hUZXh0LnByb2dyYW0gPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0UHJvZ3JhbXMoeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkgIT0gZXZlbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dC5jYXRlZ29yeSA9IGV2ZW50O1xyXG4gICAgICAgICAgdGhpcy5nZXRDYXRlZ29yaWVzKHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHNlbGVjdFByb2dyYW0oZXZlbnQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5wcm9ncmFtID0gZGF0YTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5yZXNwb25zaWJpbGl0aWVzPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdENhdGVnb3J5KGV2ZW50OiBhbnksIGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLmNhdGVnb3JpZXMucHVzaChjYXRlZ29yeS5jYXRlZ29yeV9pZCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcy5wdXNoKGNhdGVnb3J5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGNhdGVnb3J5LmNhdGVnb3J5X2lkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIGNvbnN0IGNhdGVnb3J5SW5kZXggPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNhdGVnb3J5X2lkID09IGNhdGVnb3J5LmNhdGVnb3J5X2lkKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuc3BsaWNlKGNhdGVnb3J5SW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZWxlY3RSZXNwb25zaWJpbGl0eShldmVudDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLnJlc3BvbnNpYmlsaXRpZXMucHVzaChkYXRhLlJlcG9ydElkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzLnB1c2goZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMucmVzcG9uc2liaWxpdGllcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBkYXRhLlJlcG9ydElkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5yZXNwb25zaWJpbGl0aWVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIGNvbnN0IHJlcG9ydEluZGV4ID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5SZXBvcnRJZCA9PSBkYXRhLlJlcG9ydElkKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMuc3BsaWNlKHJlcG9ydEluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ29CYWNrKGZyb20/OiAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcycpIHtcclxuICAgIGlmIChmcm9tKSB7XHJcbiAgICAgIHN3aXRjaCAoZnJvbSkge1xyXG4gICAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdwcm9ncmFtcyc7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLmNhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdjYXRlZ29yaWVzJztcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucmVzcG9uc2liaWxpdGllcyA9IFtdO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKHR5cGU6ICdwcm9ncmFtcycgfCAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcycsIGl0ZW06IGFueSkge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3Byb2dyYW1zJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnByb2dyYW0gPSB7fTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgY29uc3QgY2F0ZWdvcnlJbmRleCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY2F0ZWdvcnlfaWQgPT0gaXRlbS5jYXRlZ29yeV9pZCk7XHJcbiAgICAgICAgaWYgKGNhdGVnb3J5SW5kZXggIT0gLTEpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcy5zcGxpY2UoY2F0ZWdvcnlJbmRleCwgMSk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY2F0ZWdvcnlJZEluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGl0ZW0uY2F0ZWdvcnlfaWQpO1xyXG4gICAgICAgIGlmKGNhdGVnb3J5SWRJbmRleCE9LTEpe1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzLnNwbGljZShjYXRlZ29yeUlkSW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgY29uc3QgcmVzcEluZGV4ID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5SZXBvcnRJZCA9PSBpdGVtLlJlcG9ydElkKTtcclxuICAgICAgICBpZiAocmVzcEluZGV4ICE9IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMuc3BsaWNlKHJlc3BJbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5yZXNwb25zaWJpbGl0aWVzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGl0ZW0uUmVwb3J0SWQpO1xyXG4gICAgICAgIGlmKGluZGV4IT0tMSl7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnJlc3BvbnNpYmlsaXRpZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHNhdmVDaGFuZ2VzKHR5cGU6ICdwcm9ncmFtcycgfCAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcyd8J3Byb2dyYW1zT25seScpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdwcm9ncmFtcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdjYXRlZ29yaWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldENhdGVnb3JpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXMoKTtcclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMuc3VibWl0cHJvZ3JhbUludGVncmF0aW9uKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgICBjYXNlICdwcm9ncmFtc09ubHknOlxyXG4gICAgICAgIHRoaXMuZGlzcGxheUNvbmZpcm1hdGlvbk1lc3NhZ2UgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICBzYXZlQ2hhbmdlc0Zyb21Qcm9ncmFtKGV2ZW50OmJvb2xlYW4pe1xyXG4gICAgaWYoZXZlbnQpe1xyXG4gICAgICB0aGlzLmRpc3BsYXlDb25maXJtYXRpb25NZXNzYWdlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc3VibWl0cHJvZ3JhbUludGVncmF0aW9uKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5kaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHN1Ym1pdHByb2dyYW1JbnRlZ3JhdGlvbigpIHtcclxuXHJcbiAgICAvLyB0aGlzLnN1Ym1pc3Npb25Mb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdtb2RlJywgJ3Byb2dyYW1Qb2xpY3lVcGRhdGUvdXBkYXRlJyk7XHJcblxyXG4gICAgY29uc3QgY2F0ZWdvcnlBcnJheSA9IHRoaXMuc2VsZWN0ZWRJZHM/LmNhdGVnb3JpZXM7XHJcblxyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgcG9saWN5SWQ6IHRoaXMucG9saWN5Py5wb2xpY3lfaWQgPz8gMCxcclxuICAgICAgcmVwb3J0X2lkczogdGhpcy5zZWxlY3RlZElkcz8ucmVzcG9uc2liaWxpdGllcyA/PyAwLFxyXG4gICAgICBjYXRlZ29yeV9pZDpbLi4uIG5ldyBTZXQoY2F0ZWdvcnlBcnJheSldLFxyXG4gICAgICBwYXJlbnRJZDogdGhpcy5zZWxlY3RlZFZhbHVlcz8ucHJvZ3JhbT8uY2F0ZWdvcnlfaWRcclxuICAgIH1cclxuICAgIGxldCByZW1vdmUgPSB7fVxyXG4gICAgaWYodGhpcy5zZWxlY3RlZExpbmtQcm9ncmFtPy5faWQgJiYgKHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LnByb2dyYW0/Ll9pZCAhPT0gdGhpcy5zZWxlY3RlZExpbmtQcm9ncmFtPy5faWQpKSB7XHJcbiAgICAgIHJlbW92ZSA9ICB7XHJcbiAgICAgIFwicG9saWN5SWRzXCI6IFt0aGlzLnBvbGljeT8ucG9saWN5X2lkID8/IDBdLFxyXG4gICAgICBcInByb2dyYW1JZFwiOiB0aGlzLnNlbGVjdGVkTGlua1Byb2dyYW0/Ll9pZCxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgY3VycmVudEJ1c2luZXNzQ3ljbGUgPSB7XHJcbiAgICAgIFwic3RhcnRfZGF0ZVwiOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICBcImVuZF9kYXRlXCI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxyXG4gICAgICBcInNlbGVjdGVkX2N5Y2xlX2FyclwiOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgIFwic2VsZWN0ZWRfY3ljbGVcIjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICB9XHJcbiAgICBsZXQgbGlua1Byb2dyYW0gPSB7XHJcbiAgICAgIGFkZGVkOiBbcGF5bG9hZF0sXHJcbiAgICAgIHJlbW92ZWQ6IFtyZW1vdmVdXHJcbiAgICB9XHJcbiAgICBsZXQgc2VsZWN0ZWRQcm9ncmFtID0ge1xyXG4gICAgICBzZWxlY3RlZFZhbHVlcyA6IHRoaXMuc2VsZWN0ZWRWYWx1ZXMsXHJcbiAgICAgIGxpbmtQcm9ncmFtOiBsaW5rUHJvZ3JhbSxcclxuICAgICAgYnVzaW5lc3NDeWNsZTogY3VycmVudEJ1c2luZXNzQ3ljbGVcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKFwibGluayBQcm9ncmFtIFBheWxvYWQgPT5cIiwgcGF5bG9hZClcclxuICAgIHRoaXMudXBkYXRlZFByb2dyYW1EZXRhaWxzLmVtaXQoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzZWxlY3RlZFByb2dyYW0pKSk7XHJcbiAgICB0aGlzLnN1Ym1pc3Npb25Mb2FkZXIgPSBmYWxzZTtcclxuXHJcbiAgICBcclxuICAgIFxyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxyXG4gICAgICBhY3Rpb246ICcvY29tcGxpYW5jZV9wb3N0JyxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICBkYXRhOiBwYXlsb2FkLFxyXG4gICAgICBidXNpbmVzc0N5Y2xlOiBjdXJyZW50QnVzaW5lc3NDeWNsZVxyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5yZXN0QXBpU2VydmljZS5hcGlEZWxlZ2F0ZShyZXF1ZXN0KS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgIC8vICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAvLyAgICAgdGhpcy5zdWJtaXNzaW9uTG9hZGVyID0gZmFsc2U7XHJcbiAgICAvLyAgICAgdGhpcy5zbmFja2Jhci5zaG93KCdUaGUgcHJvZ3JhbSBoYXMgYmVlbiBsaW5rZWQgd2l0aCB0aGlzIFBvbGljeS4nLCAnc3VjY2VzcycpO1xyXG4gICAgLy8gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gICAgICAgaWYodGhpcy5jdXJyZW50VGFiICE9ICdsaW5rZWRfcHJvZ3JhbXMnKXtcclxuICAgIC8vICAgICAgICAgdGhpcy5yZWZyZXNoTGlua2VkUG9saWNpZXMuZW1pdCgpO1xyXG4gICAgLy8gICAgICAgICAvLyB0aGlzLmNoYW5nZVRhYi5lbWl0KCk7XHJcbiAgICAvLyAgICAgICB9XHJcbiAgICAvLyAgICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICAgIC8vICAgICB9LCAxMDAwKTtcclxuXHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgIC8vICAgICB0aGlzLnN1Ym1pc3Npb25Mb2FkZXIgPSBmYWxzZTtcclxuICAgIC8vICAgICB0aGlzLnNuYWNrYmFyLnNob3coXCJPb3BzIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB3ZSB3ZXJlIHVuYWJsZSB0byBjb21wbGV0ZSB0aGlzIGFjdGlvbi4gTGV0J3MgZ2l2ZSBpdCBhbm90aGVyIHRyeSBzaGFsbCB3ZSA/XCIpO1xyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
448
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wcm9ncmFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvbGluay1wcm9ncmFtL2xpbmstcHJvZ3JhbS9saW5rLXByb2dyYW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBUzlFLE1BQU0sT0FBTyxvQkFBb0I7SUEwRy9CLFNBQVM7SUFFVCxZQUFvQixjQUE4QixFQUN2QyxRQUF5QjtRQURoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDdkMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUE1R3BDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsc0JBQWlCLEdBQUc7WUFDbEIsSUFBSSxFQUFFLENBQUM7WUFDUCxFQUFFLEVBQUUsQ0FBQztZQUNMLFdBQVcsRUFBRSxDQUFDO1lBQ2QsU0FBUyxFQUFFLENBQUM7WUFDWixZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUNGLHlCQUFvQixHQUFHO1lBQ3JCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFNB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QUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsTUFBTTtZQUNOLElBQUksRUFBRSxPQUFPO1lBQ2IsYUFBYSxFQUFFLG9CQUFvQjtTQUNwQyxDQUFBO1FBQ0QseUZBQXlGO1FBQ3pGLDBCQUEwQjtRQUMxQixxQ0FBcUM7UUFDckMsc0ZBQXNGO1FBQ3RGLHlCQUF5QjtRQUN6QixrREFBa0Q7UUFDbEQsNkNBQTZDO1FBQzdDLG9DQUFvQztRQUNwQyxVQUFVO1FBQ1YsMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUVoQixPQUFPO1FBQ1AsMkJBQTJCO1FBQzNCLHFDQUFxQztRQUNyQyx3SUFBd0k7UUFDeEksT0FBTztRQUNQLE1BQU07SUFDUixDQUFDOzs7WUE3Y0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDQ2OUJBQTRDOzthQUU3Qzs7O1lBVFEsY0FBYztZQUNkLGVBQWU7OztxQkFnRHJCLEtBQUs7eUJBQ0wsS0FBSzttQkFDTCxLQUFLO3dCQUNMLE1BQU07b0NBQ04sTUFBTTttQkFPTixNQUFNO29CQUNOLE1BQU07b0NBRU4sTUFBTTsyQkFHTixLQUFLO2lDQUVMLEtBQUssU0FBQyxpQkFBaUI7aUNBUXZCLEtBQUs7a0NBQ0wsS0FBSzsrQkFHTCxLQUFLOzRCQUNMLFNBQVMsU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgUmVzdEFwaVNlcnZpY2UgfSBmcm9tICcuLi9yZXN0YXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRJZHMsIFNlbGVjdGVkVmFsdWVzIH0gZnJvbSAnLi4vcHJvZ3JhbS1pbnRlZ3JhdGlvbi1pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgcHJvZ3JhbUxpc3QgfSBmcm9tICcuL3Byb2dyYW0tbGlzdC1tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZjLWxpbmstcHJvZ3JhbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstcHJvZ3JhbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1wcm9ncmFtLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExpbmtQcm9ncmFtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBhbmltYXRpb24gPSBmYWxzZTtcclxuXHJcbiAgc3ViQ2F0ZWdvcmllc0xpc3QgPSB7XHJcbiAgICBmcm9tOiAxLFxyXG4gICAgdG86IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIHRvdGFsUGFnZTogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGRhdGE6IFtdLFxyXG4gIH07XHJcbiAgcmVzcG9uc2liaWxpdGllc0xpc3QgPSB7XHJcbiAgICBmcm9tOiAxLFxyXG4gICAgdG86IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIHRvdGFsUGFnZTogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGRhdGE6IFtdLFxyXG4gIH07XHJcblxyXG4gIHNlYXJjaFRleHQgPSB7XHJcbiAgICBwcm9ncmFtOiAnJyxcclxuICAgIGNhdGVnb3J5OiAnJyxcclxuICAgIHJlc3BvbnNpYmlsaXR5OiAnJyxcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkVmFsdWVzOiBTZWxlY3RlZFZhbHVlcyA9IHtcclxuICAgIHByb2dyYW06IHt9LFxyXG4gICAgY2F0ZWdvcmllczogW10sXHJcbiAgICByZXNwb25zaWJpbGl0aWVzOiBbXVxyXG4gIH1cclxuICBzZWxlY3RlZElkczogU2VsZWN0ZWRJZHMgPSB7XHJcbiAgICBjYXRlZ29yaWVzOiBbXSxcclxuICAgIHJlc3BvbnNpYmlsaXRpZXM6IFtdXHJcbiAgfVxyXG5cclxuICBzdWJtaXNzaW9uTG9hZGVyPWZhbHNlO1xyXG4gIGN1cnJlbnRDYXRlZ29yeTphbnk9e307XHJcblxyXG4gIEBJbnB1dCgpIHBvbGljeTogYW55ID0ge31cclxuICBASW5wdXQoKSBjdXJyZW50VGFiITphbnk7XHJcbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJyc7XHJcbiAgQE91dHB1dCgpIGNoYW5nZVRhYiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgdXBkYXRlZFByb2dyYW1EZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZSE6IGFueTtcclxuICBsb2FkZXIgPSBmYWxzZTtcclxuICBwcm9ncmFtU29ydEJ5OiAnZGVzYycgfCAnYXNjJyA9ICdkZXNjJztcclxuICBjdXJyZW50TGlzdDogJ3Byb2dyYW1zJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJyA9ICdwcm9ncmFtcyc7XHJcbiAgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBPdXRwdXQoKSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIHJlZnJlc2hMaW5rZWRQb2xpY2llcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvL3Byb2dyYW1cclxuICBzdWJMaXN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHJvZ3JhbXNMaXN0OiBhbnk7XHJcbiAgLy8gQElucHV0KCkgYWxsUHJvZ3JhbXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCdzZWxlY3RlZFByb2dyYW0nKSBzZXQgZ2V0U2VsZWN0ZWRQcm9ncmFtKCBwcm9ncmFtOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByb2dyYW0pKSA/PyB7XHJcbiAgICAgIHByb2dyYW06IHt9LFxyXG4gICAgICBjYXRlZ29yaWVzOiBbXSxcclxuICAgICAgcmVzcG9uc2liaWxpdGllczogW11cclxuICAgIH0gO1xyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLnNlbGVjdGVkVmFsdWVzXCIsdGhpcy5zZWxlY3RlZFZhbHVlcywgdGhpcy5zZWxlY3RlZExpbmtQcm9ncmFtKVxyXG4gIH1cclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3JpZXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRMaW5rUHJvZ3JhbT0ge1xyXG4gICAgX2lkOiAnJ1xyXG4gIH07XHJcbiAgQElucHV0KCkgaGlkZVByb2dyYW1zTGlzdCE6IGFueTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hQcm9ncmFtJykgc2VhcmNoUHJvZ3JhbSE6IGFueTtcclxuICBcclxuXHJcbiAgcHJldmlvdXNTZWxlY3RlZFZhbHVlczphbnk9e1xyXG4gICAgcHJvZ3JhbTp7fSxcclxuICAgIGNhdGVnb3JpZXM6W11cclxuICB9XHJcbiAgcHJvZ3JhbURhdGE6IHByb2dyYW1MaXN0ID0ge1xyXG4gICAgZGF0YTogW10sXHJcbiAgICBmcm9tOiAwLFxyXG4gICAgdG86IDAsXHJcbiAgICB0b3RhbFBhZ2VzOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgY3VycmVudFBhZ2U6IDEsXHJcbiAgICBBbGxJbnRlcm5hbENvbnRyb2xzUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIEFsbE90aGVyc1Byb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBBbGxSZWd1bGF0aW9uUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIEFsbFN0YW5kYXJkUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIFNlbGVjdGVkSW50ZXJuYWxDb250cm9sc1Byb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBTZWxlY3RlZE90aGVyc1Byb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBTZWxlY3RlZFJlZ3VsYXRpb25Qcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgU2VsZWN0ZWRTdGFuZGFyZFByb2dyYW1zQ291bnQ6IDBcclxuICB9XHJcbiAgcHJvZ3JhbVR5cGVPYmplY3QgPSB7XHJcbiAgICByZWd1bGF0aW9uczogMSxcclxuICAgIHN0YW5kYXJkczogMixcclxuICAgIGludGVybmFsX2NvbnRyb2xzOiAzLFxyXG4gICAgb3RoZXJzOiAwLFxyXG4gIH1cclxuXHJcblxyXG4gIGRpc3BsYXlDb25maXJtYXRpb25NZXNzYWdlID0gZmFsc2U7XHJcblxyXG4gIGFjdGl2ZVRhYjogJ3JlZ3VsYXRpb25zJyB8ICdzdGFuZGFyZHMnIHwgJ2ludGVybmFsX2NvbnRyb2xzJyB8ICdvdGhlcnMnID0gJ3JlZ3VsYXRpb25zJ1xyXG5cclxuICAvL3Byb2dyYW1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0QXBpU2VydmljZTogUmVzdEFwaVNlcnZpY2UsXHJcbiAgICAgcHJpdmF0ZSBzbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICB0aGlzLmdldFByb2dyYW1zKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICAgIHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGUgPSB0aGlzLnJlc3RBcGlTZXJ2aWNlLmdldEJ1c2luZXNzQ3ljbGUoKTtcclxuICB9XHJcblxyXG4gIGdldFByb2dyYW1zKGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgLy8gcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbW9kZScsICdjb21wbGlhbmNlQ2F0ZWdvcnkvcHJvZ3JhbUxpc3QnKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3Byb2dyYW1UeXBlJywgdGhpcy5wcm9ncmFtVHlwZU9iamVjdFt0aGlzLmFjdGl2ZVRhYl0pO1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTmFtZScsIFwicG9saWN5V29ya3Jvb21cIik7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5wcm9ncmFtXHJcbiAgICAgICkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzZWFyY2hUZXh0JywgdGhpcy5zZWFyY2hUZXh0LnByb2dyYW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZU5vJywgdGhpcy5wcm9ncmFtRGF0YS5jdXJyZW50UGFnZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICBtZXRob2Q6ICdnZXQnLFxyXG4gICAgICBhY3Rpb246ICdjb21wbGlhbmNlR2V0JyxcclxuICAgICAgcGFyYW1zXHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3RBcGlTZXJ2aWNlLmFwaURlbGVnYXRlKHJlcXVlc3QsICdjb21wbGlhbmNlQ2F0ZWdvcnkvcHJvZ3JhbUxpc3QnKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5kYXRhID0gcmVzLmRhdGE7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5mcm9tID0gcmVzLmZyb207XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS50byA9IHJlcy50bztcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLnRvdGFsUGFnZXMgPSByZXMudG90YWxQYWdlcztcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbFJlY29yZHM7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5BbGxJbnRlcm5hbENvbnRyb2xzUHJvZ3JhbXNDb3VudCA9IHJlcy5BbGxJbnRlcm5hbENvbnRyb2xzUHJvZ3JhbXNDb3VudDtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLkFsbE90aGVyc1Byb2dyYW1zQ291bnQgPSByZXMuQWxsT3RoZXJzUHJvZ3JhbXNDb3VudDtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLkFsbFJlZ3VsYXRpb25Qcm9ncmFtc0NvdW50ID0gcmVzLkFsbFJlZ3VsYXRpb25Qcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuQWxsU3RhbmRhcmRQcm9ncmFtc0NvdW50ID0gcmVzLkFsbFN0YW5kYXJkUHJvZ3JhbXNDb3VudDtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG5cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0Q2F0ZWdvcmllcyhkYXRhPzogYW55KSB7XHJcblxyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYXJlbnRJZCcsIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHJvZ3JhbT8uX2lkKTtcclxuXHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3EnLCB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIG1ldGhvZDogJ2dldCcsXHJcbiAgICAgIGFjdGlvbjogJ3Byb2dyYW1FbmRwb2ludCcsXHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXN0QXBpU2VydmljZS5hcGlEZWxlZ2F0ZShyZXF1ZXN0LCAnL3N1YkNhdGVnb3JpZXMnKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5mcm9tID0gcmVzLml0ZW1zX2Zyb20gPz8gMTtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvID0gcmVzLml0ZW1zX3RvID8/IDA7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC50b3RhbFBhZ2UgPSByZXMudG90YWxfcGFnZXMgPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbF9pdGVtcyA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuZGF0YSA9IHJlcy5kYXRhID8/IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGVyPWZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBjaGFuZ2VUYWJQcm9ncmFtKHR5cGU6ICdyZWd1bGF0aW9ucycgfCAnc3RhbmRhcmRzJyB8ICdpbnRlcm5hbF9jb250cm9scycgfCAnb3RoZXJzJykge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0eXBlO1xyXG4gICAgdGhpcy5wcm9ncmFtRGF0YS5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnNlYXJjaFRleHQucHJvZ3JhbSA9ICcnO1xyXG4gICAgdGhpcy5zZWFyY2hQcm9ncmFtLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXMoKTtcclxuICB9XHJcblxyXG4gIGdldFJlc3BvbnNpYmlsaXRpZXMoZGF0YT86IGFueSkge1xyXG5cclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICBtZXRob2Q6ICdnZXQnLFxyXG4gICAgICBhY3Rpb246ICdwcm9ncmFtRW5kcG9pbnQnLFxyXG4gICAgICBwYXlsb2FkT2JqZWN0OiB7XHJcbiAgICAgICAgXCJzdGFydF9kYXRlXCI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXHJcbiAgICAgICAgXCJlbmRfZGF0ZVwiOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgICBcInNlbGVjdGVkX2N5Y2xlX2FyclwiOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgICAgXCJzZWxlY3RlZF9jeWNsZVwiOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcclxuICAgICAgICAnY2F0ZWdvcnlJZHMnOiB0aGlzLnNlbGVjdGVkSWRzPy5jYXRlZ29yaWVzLFxyXG4gICAgICAgICdwYWdlTm8nOiB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0Py5jdXJyZW50UGFnZSxcclxuICAgICAgICAnc2VhcmNoVGV4dCc6IChkYXRhPy5zZWFyY2gpID8gdGhpcy5zZWFyY2hUZXh0Py5yZXNwb25zaWJpbGl0eSA6ICcnXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMucmVzdEFwaVNlcnZpY2UuYXBpRGVsZWdhdGUocmVxdWVzdCwgJy9jYXRlZ29yeVJlc3BvbnNpYmlsaXRpZXMnKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LmZyb20gPSByZXMuaXRlbXNfZnJvbSA/PyAxO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG8gPSByZXMuaXRlbXNfdG8gPz8gMDtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LnRvdGFsUGFnZSA9IHJlcy50b3RhbF9wYWdlcyA/PyAxO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5kYXRhID0gcmVzLmRhdGEgPz8gW107XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShldmVudDogYW55LCB0eXBlOiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAncHJvZ3JhbXMnOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldFByb2dyYW1zKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldENhdGVnb3JpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgc2VhcmNoQnkoZXZlbnQ6IGFueSwgdHlwZTogJ3Byb2dyYW1zJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJykge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3Byb2dyYW1zJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LnByb2dyYW0gIT0gZXZlbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dC5wcm9ncmFtID0gZXZlbnQ7XHJcbiAgICAgICAgICB0aGlzLmdldFByb2dyYW1zKHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcmllcyh7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSAhPSBldmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5ID0gZXZlbnQ7XHJcbiAgICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXMoeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBzZWxlY3RQcm9ncmFtKGV2ZW50OiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHJvZ3JhbSA9IGRhdGE7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuY2F0ZWdvcmllcz0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcz0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucmVzcG9uc2liaWxpdGllcz0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcz0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RDYXRlZ29yeShldmVudDogYW55LCBjYXRlZ29yeTogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzLnB1c2goY2F0ZWdvcnkuY2F0ZWdvcnlfaWQpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMucHVzaChjYXRlZ29yeSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuY2F0ZWdvcmllcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBjYXRlZ29yeS5jYXRlZ29yeV9pZCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuY2F0ZWdvcmllcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCBjYXRlZ29yeUluZGV4ID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5jYXRlZ29yeV9pZCA9PSBjYXRlZ29yeS5jYXRlZ29yeV9pZClcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzLnNwbGljZShjYXRlZ29yeUluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VsZWN0UmVzcG9uc2liaWxpdHkoZXZlbnQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5yZXNwb25zaWJpbGl0aWVzLnB1c2goZGF0YS5SZXBvcnRJZCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcy5wdXNoKGRhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLnJlc3BvbnNpYmlsaXRpZXMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gZGF0YS5SZXBvcnRJZCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucmVzcG9uc2liaWxpdGllcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCByZXBvcnRJbmRleCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuUmVwb3J0SWQgPT0gZGF0YS5SZXBvcnRJZClcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzLnNwbGljZShyZXBvcnRJbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdvQmFjayhmcm9tPzogJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICBpZiAoZnJvbSkge1xyXG4gICAgICBzd2l0Y2ggKGZyb20pIHtcclxuICAgICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAncHJvZ3JhbXMnO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5jYXRlZ29yaWVzID0gW107XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnY2F0ZWdvcmllcyc7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZSh0eXBlOiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnLCBpdGVtOiBhbnkpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdwcm9ncmFtcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5wcm9ncmFtID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIGNvbnN0IGNhdGVnb3J5SW5kZXggPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNhdGVnb3J5X2lkID09IGl0ZW0uY2F0ZWdvcnlfaWQpO1xyXG4gICAgICAgIGlmIChjYXRlZ29yeUluZGV4ICE9IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuc3BsaWNlKGNhdGVnb3J5SW5kZXgsIDEpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNhdGVnb3J5SWRJbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuY2F0ZWdvcmllcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBpdGVtLmNhdGVnb3J5X2lkKTtcclxuICAgICAgICBpZihjYXRlZ29yeUlkSW5kZXghPS0xKXtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuY2F0ZWdvcmllcy5zcGxpY2UoY2F0ZWdvcnlJZEluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIGNvbnN0IHJlc3BJbmRleCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuUmVwb3J0SWQgPT0gaXRlbS5SZXBvcnRJZCk7XHJcbiAgICAgICAgaWYgKHJlc3BJbmRleCAhPSAtMSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzLnNwbGljZShyZXNwSW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMucmVzcG9uc2liaWxpdGllcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBpdGVtLlJlcG9ydElkKTtcclxuICAgICAgICBpZihpbmRleCE9LTEpe1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5yZXNwb25zaWJpbGl0aWVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBzYXZlQ2hhbmdlcyh0eXBlOiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnfCdwcm9ncmFtc09ubHknKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAncHJvZ3JhbXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnY2F0ZWdvcmllcyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAncmVzcG9uc2liaWxpdGllcyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKCk7XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICB0aGlzLnN1Ym1pdHByb2dyYW1JbnRlZ3JhdGlvbigpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICAgY2FzZSAncHJvZ3JhbXNPbmx5JzpcclxuICAgICAgICB0aGlzLmRpc3BsYXlDb25maXJtYXRpb25NZXNzYWdlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgc2F2ZUNoYW5nZXNGcm9tUHJvZ3JhbShldmVudDpib29sZWFuKXtcclxuICAgIGlmKGV2ZW50KXtcclxuICAgICAgdGhpcy5kaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnN1Ym1pdHByb2dyYW1JbnRlZ3JhdGlvbigpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZGlzcGxheUNvbmZpcm1hdGlvbk1lc3NhZ2UgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBzdWJtaXRwcm9ncmFtSW50ZWdyYXRpb24oKSB7XHJcblxyXG4gICAgLy8gdGhpcy5zdWJtaXNzaW9uTG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbW9kZScsICdwcm9ncmFtUG9saWN5VXBkYXRlL3VwZGF0ZScpO1xyXG5cclxuICAgIGNvbnN0IGNhdGVnb3J5QXJyYXkgPSB0aGlzLnNlbGVjdGVkSWRzPy5jYXRlZ29yaWVzO1xyXG5cclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHBvbGljeUlkOiB0aGlzLnBvbGljeT8ucG9saWN5X2lkID8/IDAsXHJcbiAgICAgIHJlcG9ydF9pZHM6IHRoaXMuc2VsZWN0ZWRJZHM/LnJlc3BvbnNpYmlsaXRpZXMgPz8gMCxcclxuICAgICAgY2F0ZWdvcnlfaWQ6Wy4uLiBuZXcgU2V0KGNhdGVnb3J5QXJyYXkpXSxcclxuICAgICAgcGFyZW50SWQ6IHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LnByb2dyYW0/LmNhdGVnb3J5X2lkXHJcbiAgICB9XHJcbiAgICBsZXQgcmVtb3ZlID0ge31cclxuICAgIGlmKHRoaXMuc2VsZWN0ZWRMaW5rUHJvZ3JhbT8uX2lkICYmICh0aGlzLnNlbGVjdGVkVmFsdWVzPy5wcm9ncmFtPy5faWQgIT09IHRoaXMuc2VsZWN0ZWRMaW5rUHJvZ3JhbT8uX2lkKSkge1xyXG4gICAgICByZW1vdmUgPSAge1xyXG4gICAgICBcInBvbGljeUlkc1wiOiBbdGhpcy5wb2xpY3k/LnBvbGljeV9pZCA/PyAwXSxcclxuICAgICAgXCJwcm9ncmFtSWRcIjogdGhpcy5zZWxlY3RlZExpbmtQcm9ncmFtPy5faWQsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGN1cnJlbnRCdXNpbmVzc0N5Y2xlID0ge1xyXG4gICAgICBcInN0YXJ0X2RhdGVcIjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcclxuICAgICAgXCJlbmRfZGF0ZVwiOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgXCJzZWxlY3RlZF9jeWNsZV9hcnJcIjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgICBcInNlbGVjdGVkX2N5Y2xlXCI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxyXG4gICAgfVxyXG4gICAgbGV0IGxpbmtQcm9ncmFtID0ge1xyXG4gICAgICBhZGRlZDogT2JqZWN0LmtleXMocGF5bG9hZCkubGVuZ3RoID8gW3BheWxvYWRdIDogW10sXHJcbiAgICAgIHJlbW92ZWQ6IE9iamVjdC5rZXlzKHJlbW92ZSkubGVuZ3RoID8gW3JlbW92ZV0gOiBbXSxcclxuICAgIH1cclxuICAgIGxldCBzZWxlY3RlZFByb2dyYW0gPSB7XHJcbiAgICAgIHNlbGVjdGVkVmFsdWVzIDogdGhpcy5zZWxlY3RlZFZhbHVlcyxcclxuICAgICAgbGlua1Byb2dyYW06IGxpbmtQcm9ncmFtLFxyXG4gICAgICBidXNpbmVzc0N5Y2xlOiBjdXJyZW50QnVzaW5lc3NDeWNsZVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coXCJsaW5rIFByb2dyYW0gUGF5bG9hZCA9PlwiLCBwYXlsb2FkKVxyXG4gICAgdGhpcy51cGRhdGVkUHJvZ3JhbURldGFpbHMuZW1pdChKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkUHJvZ3JhbSkpKTtcclxuICAgIHRoaXMuc3VibWlzc2lvbkxvYWRlciA9IGZhbHNlO1xyXG5cclxuICAgIFxyXG4gICAgXHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgbWV0aG9kOiAncG9zdCcsXHJcbiAgICAgIGFjdGlvbjogJy9jb21wbGlhbmNlX3Bvc3QnLFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgIGRhdGE6IHBheWxvYWQsXHJcbiAgICAgIGJ1c2luZXNzQ3ljbGU6IGN1cnJlbnRCdXNpbmVzc0N5Y2xlXHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLnJlc3RBcGlTZXJ2aWNlLmFwaURlbGVnYXRlKHJlcXVlc3QpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgLy8gICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgIC8vICAgICB0aGlzLnN1Ym1pc3Npb25Mb2FkZXIgPSBmYWxzZTtcclxuICAgIC8vICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ1RoZSBwcm9ncmFtIGhhcyBiZWVuIGxpbmtlZCB3aXRoIHRoaXMgUG9saWN5LicsICdzdWNjZXNzJyk7XHJcbiAgICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgICAgICBpZih0aGlzLmN1cnJlbnRUYWIgIT0gJ2xpbmtlZF9wcm9ncmFtcycpe1xyXG4gICAgLy8gICAgICAgICB0aGlzLnJlZnJlc2hMaW5rZWRQb2xpY2llcy5lbWl0KCk7XHJcbiAgICAvLyAgICAgICAgIC8vIHRoaXMuY2hhbmdlVGFiLmVtaXQoKTtcclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xyXG4gICAgLy8gICAgIH0sIDEwMDApO1xyXG5cclxuICAgIC8vICAgfSxcclxuICAgIC8vICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMuc3VibWlzc2lvbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgLy8gICAgIHRoaXMuc25hY2tiYXIuc2hvdyhcIk9vcHMgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHdlIHdlcmUgdW5hYmxlIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLiBMZXQncyBnaXZlIGl0IGFub3RoZXIgdHJ5IHNoYWxsIHdlID9cIik7XHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -63,7 +63,7 @@ export class RestApiService {
|
|
|
63
63
|
};
|
|
64
64
|
return currentBusinessCycle;
|
|
65
65
|
}
|
|
66
|
-
apiDelegate(req) {
|
|
66
|
+
apiDelegate(req, additionalUrl) {
|
|
67
67
|
let httpOptions = {};
|
|
68
68
|
let headers = new HttpHeaders();
|
|
69
69
|
httpOptions.headers = headers.append('token', this.authService.getAuthorizationToken());
|
|
@@ -76,19 +76,19 @@ export class RestApiService {
|
|
|
76
76
|
if (req === null || req === void 0 ? void 0 : req.businessCycle) {
|
|
77
77
|
httpOptions.headers = httpOptions.headers.append('x-business-cycle', JSON.stringify(req.businessCycle));
|
|
78
78
|
}
|
|
79
|
-
const url = this.env.
|
|
79
|
+
const url = this.env[req === null || req === void 0 ? void 0 : req.action];
|
|
80
80
|
console.log("=============>", this.env, req);
|
|
81
81
|
switch (req.method.toLowerCase()) {
|
|
82
82
|
case 'get':
|
|
83
|
-
return this.httpClient.get(url +
|
|
83
|
+
return this.httpClient.get(url + additionalUrl, httpOptions).pipe(retry(2), catchError(this.handleError));
|
|
84
84
|
case 'post':
|
|
85
|
-
return this.httpClient.post(url +
|
|
85
|
+
return this.httpClient.post(url + additionalUrl, req.data, httpOptions);
|
|
86
86
|
case 'put':
|
|
87
|
-
return this.httpClient.put(url +
|
|
87
|
+
return this.httpClient.put(url + additionalUrl, req.data).pipe(retry(2), catchError(this.handleError));
|
|
88
88
|
case 'patch':
|
|
89
|
-
return this.httpClient.patch(url +
|
|
89
|
+
return this.httpClient.patch(url + additionalUrl, req.data).pipe(retry(2), catchError(this.handleError));
|
|
90
90
|
case 'delete':
|
|
91
|
-
return this.httpClient.delete(url +
|
|
91
|
+
return this.httpClient.delete(url + additionalUrl, httpOptions).pipe(retry(2), catchError(this.handleError));
|
|
92
92
|
default:
|
|
93
93
|
return of('invalid req');
|
|
94
94
|
}
|
|
@@ -135,4 +135,4 @@ RestApiService.ctorParameters = () => [
|
|
|
135
135
|
{ type: AuthService },
|
|
136
136
|
{ type: Configurations, decorators: [{ type: Optional }] }
|
|
137
137
|
];
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9saW5rLXByb2dyYW0vcmVzdGFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQTJFLFdBQVcsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BKLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUt0RCxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUFvQixVQUFzQixFQUFTLFdBQXVCLEVBQWUsTUFBdUI7UUFBNUYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3hFLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVEOzs7TUFHRTtJQUNGLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBRXBELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFFSDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxJQUFJLEtBQUssQ0FBQyxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQ3JDLHFCQUFxQjtZQUNyQixZQUFZLEdBQUcsVUFBVSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hEO2FBQU07WUFDTCxxQkFBcUI7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDeEIsZ0RBQWdEO2dCQUNoRCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNuQjtZQUNELFlBQVksR0FBRyxlQUFlLEtBQUssQ0FBQyxNQUFNLGNBQWMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVBLDJCQUEyQjtJQUMzQixnQkFBZ0I7O1FBRWYsTUFBTSxnQkFBZ0IsR0FBRyxNQUFBLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLG1DQUFJLEVBQUUsQ0FBQztRQUNyRSxNQUFNLGFBQWEsR0FBRyxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsMENBQUUsYUFBYSxDQUFDO1FBRWxFLElBQUksb0JBQW9CLEdBQUc7WUFDekIsY0FBYyxFQUFFLENBQUEsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFVBQVUsSUFBRyxHQUFHLElBQUcsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFFBQVEsQ0FBQTtZQUN6RSxVQUFVLEVBQUUsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFVBQVU7WUFDckMsUUFBUSxFQUFFLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxRQUFRO1lBQ2pDLGtCQUFrQixFQUFFLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxrQkFBa0I7U0FDdEQsQ0FBQztRQUNGLE9BQU8sb0JBQW9CLENBQUM7SUFFOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLElBQUksV0FBVyxHQUFPLEVBQUUsQ0FBQztRQUFJLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDN0QsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQTtRQUN2RixJQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxNQUFNLEVBQUM7WUFDYixXQUFXLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7U0FDakM7UUFDRCxJQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxhQUFhLEVBQUM7WUFDcEIsV0FBVyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQ3RHO1FBQ0QsSUFBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsYUFBYSxFQUFDO1lBQ3BCLFdBQVcsQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUN4RztRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUM3QyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDL0IsS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekcsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN2RSxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDdEcsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3hHLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVHO2dCQUNFLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBRTVCO0lBQ0gsQ0FBQztJQUdILGlCQUFpQjtJQUNmLGVBQWUsQ0FBQyxHQUFRO1FBQ3RCLElBQUksV0FBVyxHQUFPLEVBQUUsQ0FBQztRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUE7UUFDdkYsSUFBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSxFQUFDO1lBQ2IsV0FBVyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1NBQ2pDO1FBQ0QsSUFBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsYUFBYSxFQUFDO1lBQ3BCLFdBQVcsQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUN0RztRQUNELElBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLGFBQWEsRUFBQztZQUNwQixXQUFXLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDeEc7UUFDRCxNQUFNLEdBQUcsR0FBRywyQkFBMkIsQ0FBQztRQUN6QyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDakMsS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekcsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN2RSxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDdEcsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3hHLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVHO2dCQUNFLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7OztZQS9IRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRRLFVBQVU7WUFJVixXQUFXO1lBQ1gsY0FBYyx1QkFReUQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgdGhyb3dFcnJvciwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyByZXRyeSwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3RBcGlTZXJ2aWNlIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgZW52ICE6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQscHJpdmF0ZSBhdXRoU2VydmljZTpBdXRoU2VydmljZSwgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7IFxyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBJbnRlcmNlcHRvciB3aGVyZSB3aWxsIGludGVyY2VwdCBhbnkgdGhpbmcgaGFzIHRvIGJlIGludGVyY2VwdCBpbiBoZWFkZXIgbGlrZSB0b2tlbiBvciBidXNpbmVzcyBjeWNsZVxyXG4gICogYW55dGhpbmcgcmVsYXRlZCB0byBjb21tb24gd2hpY2ggbmVlZHMgdG8gcGFzcyBpbiBlYWNoIGFwaVxyXG4gICovXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgSGFuZGxlciBjb250YWlucyBSRVNUX1VSTCB3aGljaCBpcyB1c2VkIHRvIGhvc3QgdGhlIHNlcnZlci5cclxuICAgKi9cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBkaXNwbGF5cyB0aGUgZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBzZXJ2ZXIgaXMgbm90IHRha2luZyB0aGUgZGF0YS5cclxuICAgKiBUaGVyZSBhcmUgVHdvIHR5cGVzIGVycm9ycy5cclxuICAgKiBDbGllbnQtc2lkZSBlcnJvcnMuXHJcbiAgICogU2VydmVyLXNpZGUgZXJyb3JzXHJcbiAgICovXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gJ1Vua25vd24gZXJyb3IhJztcclxuICAgIGlmIChlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcclxuICAgICAgLy8gQ2xpZW50LXNpZGUgZXJyb3JzXHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBFcnJvcjogJHtlcnJvci5lcnJvci5tZXNzYWdlfWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTZXJ2ZXItc2lkZSBlcnJvcnNcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgLy8gYXV0byBsb2dvdXQgaWYgNDAxIHJlc3BvbnNlIHJldHVybmVkIGZyb20gYXBpXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgIH1cclxuICAgICAgZXJyb3JNZXNzYWdlID0gYEVycm9yIENvZGU6ICR7ZXJyb3Iuc3RhdHVzfVxcbk1lc3NhZ2U6ICR7ZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlKTtcclxuICB9XHJcblxyXG4gICAvL2J1c2luZXNzIGN5Y2xlIGNvZGUgYWRkZWRcclxuICAgZ2V0QnVzaW5lc3NDeWNsZSgpe1xyXG5cclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZURhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NDeWNsZScpID8/ICcnO1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSk/LnNlbGVjdGVkQ3ljbGU7XHJcbiAgICBcclxuICAgIGxldCBjdXJyZW50QnVzaW5lc3NDeWNsZSA9IHtcclxuICAgICAgc2VsZWN0ZWRfY3ljbGU6IGJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUgKyBcIi1cIiArIGJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxyXG4gICAgICBzdGFydF9kYXRlOiBidXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICBlbmRfZGF0ZTogYnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBjdXJyZW50QnVzaW5lc3NDeWNsZTtcclxuXHJcbiAgfVxyXG5cclxuICBhcGlEZWxlZ2F0ZShyZXE6IGFueSkge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOmFueSA9IHt9OyAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpXHJcbiAgICBpZihyZXE/LnBhcmFtcyl7XHJcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHJlcS5wYXJhbXM7XHJcbiAgICB9XHJcbiAgICBpZihyZXE/LnBheWxvYWRPYmplY3Qpe1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaHR0cE9wdGlvbnMuaGVhZGVycy5hcHBlbmQoJ3BheWxvYWQtb2JqZWN0JyxKU09OLnN0cmluZ2lmeShyZXEucGF5bG9hZE9iamVjdCkpO1xyXG4gICAgfVxyXG4gICAgaWYocmVxPy5idXNpbmVzc0N5Y2xlKXtcclxuICAgICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGh0dHBPcHRpb25zLmhlYWRlcnMuYXBwZW5kKCd4LWJ1c2luZXNzLWN5Y2xlJyxKU09OLnN0cmluZ2lmeShyZXEuYnVzaW5lc3NDeWNsZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybCA9IHRoaXMuZW52LmJhc2VFbmRwb2ludDtcclxuICAgIGNvbnNvbGUubG9nKFwiPT09PT09PT09PT09PT5cIiwgdGhpcy5lbnYsIHJlcSlcclxuICAgc3dpdGNoIChyZXEubWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnZ2V0JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwgKyByZXEuYWN0aW9uLCBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwgKyByZXEuYWN0aW9uLCByZXEuZGF0YSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHVybCArIHJlcS5hY3Rpb24sIHJlcS5kYXRhKS5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgY2FzZSAncGF0Y2gnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgcmVxLmFjdGlvbiwgcmVxLmRhdGEpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHVybCArIHJlcS5hY3Rpb24sIGh0dHBPcHRpb25zKS5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gb2YoJ2ludmFsaWQgcmVxJyk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4vLyBkb24ndCB1c2UgdGhpc1xyXG4gIGFwaVRlc3REZWxlZ2F0ZShyZXE6IGFueSkge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOmFueSA9IHt9OyBcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSlcclxuICAgIGlmKHJlcT8ucGFyYW1zKXtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcmVxLnBhcmFtcztcclxuICAgIH1cclxuICAgIGlmKHJlcT8ucGF5bG9hZE9iamVjdCl7XHJcbiAgICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBodHRwT3B0aW9ucy5oZWFkZXJzLmFwcGVuZCgncGF5bG9hZC1vYmplY3QnLEpTT04uc3RyaW5naWZ5KHJlcS5wYXlsb2FkT2JqZWN0KSk7XHJcbiAgICB9XHJcbiAgICBpZihyZXE/LmJ1c2luZXNzQ3ljbGUpe1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaHR0cE9wdGlvbnMuaGVhZGVycy5hcHBlbmQoJ3gtYnVzaW5lc3MtY3ljbGUnLEpTT04uc3RyaW5naWZ5KHJlcS5idXNpbmVzc0N5Y2xlKSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2Rldic7XHJcbiAgIHN3aXRjaCAocmVxLm1ldGhvZC50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICBjYXNlICdnZXQnOlxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwgKyByZXEuYWN0aW9uLCBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICBjYXNlICdwb3N0JzpcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCArIHJlcS5hY3Rpb24sIHJlcS5kYXRhLCBodHRwT3B0aW9ucyk7XHJcbiAgICBjYXNlICdwdXQnOlxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh1cmwgKyByZXEuYWN0aW9uLCByZXEuZGF0YSkucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICBjYXNlICdwYXRjaCc6XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgcmVxLmFjdGlvbiwgcmVxLmRhdGEpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgY2FzZSAnZGVsZXRlJzpcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsICsgcmVxLmFjdGlvbiwgaHR0cE9wdGlvbnMpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIG9mKCdpbnZhbGlkIHJlcScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9saW5rLXByb2dyYW0vcmVzdGFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQTJFLFdBQVcsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BKLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUt0RCxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUFvQixVQUFzQixFQUFTLFdBQXVCLEVBQWUsTUFBdUI7UUFBNUYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3hFLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVEOzs7TUFHRTtJQUNGLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBRXBELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFFSDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxJQUFJLEtBQUssQ0FBQyxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQ3JDLHFCQUFxQjtZQUNyQixZQUFZLEdBQUcsVUFBVSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hEO2FBQU07WUFDTCxxQkFBcUI7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDeEIsZ0RBQWdEO2dCQUNoRCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNuQjtZQUNELFlBQVksR0FBRyxlQUFlLEtBQUssQ0FBQyxNQUFNLGNBQWMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVBLDJCQUEyQjtJQUMzQixnQkFBZ0I7O1FBRWYsTUFBTSxnQkFBZ0IsR0FBRyxNQUFBLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLG1DQUFJLEVBQUUsQ0FBQztRQUNyRSxNQUFNLGFBQWEsR0FBRyxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsMENBQUUsYUFBYSxDQUFDO1FBRWxFLElBQUksb0JBQW9CLEdBQUc7WUFDekIsY0FBYyxFQUFFLENBQUEsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFVBQVUsSUFBRyxHQUFHLElBQUcsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFFBQVEsQ0FBQTtZQUN6RSxVQUFVLEVBQUUsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFVBQVU7WUFDckMsUUFBUSxFQUFFLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxRQUFRO1lBQ2pDLGtCQUFrQixFQUFFLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxrQkFBa0I7U0FDdEQsQ0FBQztRQUNGLE9BQU8sb0JBQW9CLENBQUM7SUFFOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRLEVBQUUsYUFBc0I7UUFDMUMsSUFBSSxXQUFXLEdBQU8sRUFBRSxDQUFDO1FBQUksSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM3RCxXQUFXLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZGLElBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sRUFBQztZQUNiLFdBQVcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztTQUNqQztRQUNELElBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLGFBQWEsRUFBQztZQUNwQixXQUFXLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDdEc7UUFDRCxJQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxhQUFhLEVBQUM7WUFDcEIsV0FBVyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQ3hHO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzdDLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMvQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVHLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxhQUFhLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxRSxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN6RyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzRyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQy9HO2dCQUNFLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBRTVCO0lBQ0gsQ0FBQztJQUdILGlCQUFpQjtJQUNmLGVBQWUsQ0FBQyxHQUFRO1FBQ3RCLElBQUksV0FBVyxHQUFPLEVBQUUsQ0FBQztRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUE7UUFDdkYsSUFBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSxFQUFDO1lBQ2IsV0FBVyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1NBQ2pDO1FBQ0QsSUFBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsYUFBYSxFQUFDO1lBQ3BCLFdBQVcsQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUN0RztRQUNELElBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLGFBQWEsRUFBQztZQUNwQixXQUFXLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDeEc7UUFDRCxNQUFNLEdBQUcsR0FBRywyQkFBMkIsQ0FBQztRQUN6QyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDakMsS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekcsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN2RSxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDdEcsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3hHLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVHO2dCQUNFLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7OztZQS9IRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRRLFVBQVU7WUFJVixXQUFXO1lBQ1gsY0FBYyx1QkFReUQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgdGhyb3dFcnJvciwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyByZXRyeSwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3RBcGlTZXJ2aWNlIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgZW52ICE6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQscHJpdmF0ZSBhdXRoU2VydmljZTpBdXRoU2VydmljZSwgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7IFxyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBJbnRlcmNlcHRvciB3aGVyZSB3aWxsIGludGVyY2VwdCBhbnkgdGhpbmcgaGFzIHRvIGJlIGludGVyY2VwdCBpbiBoZWFkZXIgbGlrZSB0b2tlbiBvciBidXNpbmVzcyBjeWNsZVxyXG4gICogYW55dGhpbmcgcmVsYXRlZCB0byBjb21tb24gd2hpY2ggbmVlZHMgdG8gcGFzcyBpbiBlYWNoIGFwaVxyXG4gICovXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgSGFuZGxlciBjb250YWlucyBSRVNUX1VSTCB3aGljaCBpcyB1c2VkIHRvIGhvc3QgdGhlIHNlcnZlci5cclxuICAgKi9cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBkaXNwbGF5cyB0aGUgZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBzZXJ2ZXIgaXMgbm90IHRha2luZyB0aGUgZGF0YS5cclxuICAgKiBUaGVyZSBhcmUgVHdvIHR5cGVzIGVycm9ycy5cclxuICAgKiBDbGllbnQtc2lkZSBlcnJvcnMuXHJcbiAgICogU2VydmVyLXNpZGUgZXJyb3JzXHJcbiAgICovXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gJ1Vua25vd24gZXJyb3IhJztcclxuICAgIGlmIChlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcclxuICAgICAgLy8gQ2xpZW50LXNpZGUgZXJyb3JzXHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBFcnJvcjogJHtlcnJvci5lcnJvci5tZXNzYWdlfWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTZXJ2ZXItc2lkZSBlcnJvcnNcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgLy8gYXV0byBsb2dvdXQgaWYgNDAxIHJlc3BvbnNlIHJldHVybmVkIGZyb20gYXBpXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgIH1cclxuICAgICAgZXJyb3JNZXNzYWdlID0gYEVycm9yIENvZGU6ICR7ZXJyb3Iuc3RhdHVzfVxcbk1lc3NhZ2U6ICR7ZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlKTtcclxuICB9XHJcblxyXG4gICAvL2J1c2luZXNzIGN5Y2xlIGNvZGUgYWRkZWRcclxuICAgZ2V0QnVzaW5lc3NDeWNsZSgpe1xyXG5cclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZURhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NDeWNsZScpID8/ICcnO1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSk/LnNlbGVjdGVkQ3ljbGU7XHJcbiAgICBcclxuICAgIGxldCBjdXJyZW50QnVzaW5lc3NDeWNsZSA9IHtcclxuICAgICAgc2VsZWN0ZWRfY3ljbGU6IGJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUgKyBcIi1cIiArIGJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxyXG4gICAgICBzdGFydF9kYXRlOiBidXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICBlbmRfZGF0ZTogYnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBjdXJyZW50QnVzaW5lc3NDeWNsZTtcclxuXHJcbiAgfVxyXG5cclxuICBhcGlEZWxlZ2F0ZShyZXE6IGFueSwgYWRkaXRpb25hbFVybD86IHN0cmluZykge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOmFueSA9IHt9OyAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpXHJcbiAgICBpZihyZXE/LnBhcmFtcyl7XHJcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHJlcS5wYXJhbXM7XHJcbiAgICB9XHJcbiAgICBpZihyZXE/LnBheWxvYWRPYmplY3Qpe1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaHR0cE9wdGlvbnMuaGVhZGVycy5hcHBlbmQoJ3BheWxvYWQtb2JqZWN0JyxKU09OLnN0cmluZ2lmeShyZXEucGF5bG9hZE9iamVjdCkpO1xyXG4gICAgfVxyXG4gICAgaWYocmVxPy5idXNpbmVzc0N5Y2xlKXtcclxuICAgICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGh0dHBPcHRpb25zLmhlYWRlcnMuYXBwZW5kKCd4LWJ1c2luZXNzLWN5Y2xlJyxKU09OLnN0cmluZ2lmeShyZXEuYnVzaW5lc3NDeWNsZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybCA9IHRoaXMuZW52W3JlcT8uYWN0aW9uXTtcclxuICAgIGNvbnNvbGUubG9nKFwiPT09PT09PT09PT09PT5cIiwgdGhpcy5lbnYsIHJlcSlcclxuICAgc3dpdGNoIChyZXEubWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnZ2V0JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwgKyBhZGRpdGlvbmFsVXJsLCBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwgKyBhZGRpdGlvbmFsVXJsLCByZXEuZGF0YSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHVybCArIGFkZGl0aW9uYWxVcmwsIHJlcS5kYXRhKS5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgY2FzZSAncGF0Y2gnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgYWRkaXRpb25hbFVybCwgcmVxLmRhdGEpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHVybCArIGFkZGl0aW9uYWxVcmwsIGh0dHBPcHRpb25zKS5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gb2YoJ2ludmFsaWQgcmVxJyk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4vLyBkb24ndCB1c2UgdGhpc1xyXG4gIGFwaVRlc3REZWxlZ2F0ZShyZXE6IGFueSkge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOmFueSA9IHt9OyBcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSlcclxuICAgIGlmKHJlcT8ucGFyYW1zKXtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcmVxLnBhcmFtcztcclxuICAgIH1cclxuICAgIGlmKHJlcT8ucGF5bG9hZE9iamVjdCl7XHJcbiAgICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBodHRwT3B0aW9ucy5oZWFkZXJzLmFwcGVuZCgncGF5bG9hZC1vYmplY3QnLEpTT04uc3RyaW5naWZ5KHJlcS5wYXlsb2FkT2JqZWN0KSk7XHJcbiAgICB9XHJcbiAgICBpZihyZXE/LmJ1c2luZXNzQ3ljbGUpe1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaHR0cE9wdGlvbnMuaGVhZGVycy5hcHBlbmQoJ3gtYnVzaW5lc3MtY3ljbGUnLEpTT04uc3RyaW5naWZ5KHJlcS5idXNpbmVzc0N5Y2xlKSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2Rldic7XHJcbiAgIHN3aXRjaCAocmVxLm1ldGhvZC50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICBjYXNlICdnZXQnOlxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwgKyByZXEuYWN0aW9uLCBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICBjYXNlICdwb3N0JzpcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCArIHJlcS5hY3Rpb24sIHJlcS5kYXRhLCBodHRwT3B0aW9ucyk7XHJcbiAgICBjYXNlICdwdXQnOlxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh1cmwgKyByZXEuYWN0aW9uLCByZXEuZGF0YSkucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICBjYXNlICdwYXRjaCc6XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgcmVxLmFjdGlvbiwgcmVxLmRhdGEpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgY2FzZSAnZGVsZXRlJzpcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsICsgcmVxLmFjdGlvbiwgaHR0cE9wdGlvbnMpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIG9mKCdpbnZhbGlkIHJlcScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|