ps-toolkit-ui 1.20.59 → 1.20.60
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/ps-toolkit-ui.umd.js +1 -1
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/components/table/table.component.js +2 -2
- package/fesm2015/ps-toolkit-ui.js +1 -1
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -125,7 +125,7 @@ export class TableComponent {
|
|
|
125
125
|
const data = this.table.searchData();
|
|
126
126
|
data.Page = 1;
|
|
127
127
|
data.PerPage = -1;
|
|
128
|
-
data.
|
|
128
|
+
data.ReportType = type;
|
|
129
129
|
data.Cols = this.table.cols.map(x => {
|
|
130
130
|
return {
|
|
131
131
|
Name: x.name,
|
|
@@ -237,4 +237,4 @@ TableComponent.propDecorators = {
|
|
|
237
237
|
exportDropDown: [{ type: ViewChild, args: ['exportDropDown',] }],
|
|
238
238
|
confirm: [{ type: ViewChild, args: ['confirm',] }]
|
|
239
239
|
};
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0SSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQU8vRCxNQUFNLE9BQU8sY0FBYztJQW9CekIsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoQmpDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBZXhDLFdBQU0sR0FBZSxJQUFJLENBQUM7SUFFMUIsQ0FBQztJQWhCRCxJQUFJLElBQUksS0FBc0IsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksZUFBZSxLQUE0QixPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxPQUFPLEtBQTBCLE9BQU8sYUFBYSxDQUFDLENBQUMs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QUVILElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hILENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNmLENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztZQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQ2pEO2FBQUk7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QVUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQ2xFO1lBQ0UsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDOzs7WUF4T0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixpOUtBQXFDOzthQUV0Qzs7O1lBZk8sTUFBTTs7O29CQWlCWCxLQUFLO3lCQUVMLE1BQU07bUJBS04sU0FBUyxTQUFDLE1BQU07dUJBQ2hCLFNBQVMsU0FBQyxVQUFVOzZCQUNwQixTQUFTLFNBQUMsZ0JBQWdCO3NCQUMxQixTQUFTLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7VGFibGVDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlLCBNZXRob2QsIFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bSwgVGFibGVDb2xsVHlwZSwgVGFibGVFeHBvcnRUeXBlLCBUYWJsZU9wdGlvblR5cGV9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQge0NvbmZpcm1Db21wb25lbnR9IGZyb20gJy4uL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQnO1xyXG5pbXBvcnQge01vZGFsQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbW9kYWwuY2xhc3MnO1xyXG5pbXBvcnQgJ2pxdWVyeS11aS1kaXN0L2pxdWVyeS11aSc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge1Blcm1pc3Npb25DbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9wZXJtaXNzaW9uLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxvYmplY3Q+KCk7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZXsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG4gIGdldCB0YWJsZU9wdGlvblR5cGUoKTogdHlwZW9mIFRhYmxlT3B0aW9uVHlwZXsgcmV0dXJuIFRhYmxlT3B0aW9uVHlwZTsgfVxyXG4gIGdldCBjb2xUeXBlKCk6IHR5cGVvZiBUYWJsZUNvbGxUeXBleyByZXR1cm4gVGFibGVDb2xsVHlwZTsgfVxyXG4gIEBWaWV3Q2hpbGQoJ3Jvd3MnKSByb3dzOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlRGl2JykgdGFibGVEaXY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZXhwb3J0RHJvcERvd24nKSBleHBvcnREcm9wRG93bjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb25maXJtJykgY29uZmlybTogQ29uZmlybUNvbXBvbmVudDtcclxuICByZWxvYWQ6IElucHV0Q2xhc3M7XHJcbiAgZXhjZWw6IElucHV0Q2xhc3M7XHJcbiAgZXhjZWxVaTogSW5wdXRDbGFzcztcclxuICBwZGY6IElucHV0Q2xhc3M7XHJcbiAgcHJpbnQ6IElucHV0Q2xhc3M7XHJcbiAgbWF4aW11bTogSW5wdXRDbGFzcztcclxuICBleHBlcnRTZWFyY2g6IElucHV0Q2xhc3M7XHJcbiAgZXhwb3J0OiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuICB9XHJcbiAgb3B0aW9uczogSW5wdXRDbGFzc1tdO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWxvYWQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdSZWxvYWQnLCAnZmFkIGZhLXN5bmMtYWx0JywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5leHBvcnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnQnLCAnZmFkIGZhLWRvd25sb2FkIGYtcy0yMScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAgZXhwb3J0LWRyb3Bkb3duLWljb24nKTtcclxuICAgIHRoaXMuZXhjZWwgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRFeGNlbCcsICdmYWQgZmEtZmlsZS1leGNlbCBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICB0aGlzLmV4Y2VsVWkgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRFeGNlbCcsICdmYWQgZmEtZmlsZS1leGNlbCBmLXMtMjEnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLnBkZiA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cG9ydFBkZicsICdmYWQgZmEtZmlsZS1wZGYgZi1zLTIxJywgSW5wdXRUeXBlLkJ1dHRvbiwgJ3doaXRlIGYtcy0xMSBoLTM1IHAtMCcpO1xyXG4gICAgdGhpcy5wcmludCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cG9ydFByaW50JywgJ2ZhZCBmYS1maWxlLWxpbmVzIGYtcy0yMScsIElucHV0VHlwZS5CdXR0b24sICd3aGl0ZSBmLXMtMTEgaC0zNSBwLTAnKTtcclxuICAgIHRoaXMubWF4aW11bSA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ01heGltdW0nLCAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMuZXhwZXJ0U2VhcmNoID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwZXJ0U2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy50YWJsZS5zZXRDb2xzKCk7XHJcbiAgICBpZiAodGhpcy50YWJsZS5zb3J0YWJsZSl7XHJcbiAgICAgIHRoaXMudGFibGUucGVyUGFnZSA9IC0xO1xyXG4gICAgICB0aGlzLnRhYmxlLm9uTG9hZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFNvcnRhYmxlKCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNldCh0aGlzLmNoYW5nZVJvd3MpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybSl7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmNsYXNzID0gKHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA/IHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA6ICcnKSArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCA/ICcnIDogJyBwLTAnKTtcclxuICAgICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoKXtcclxuICAgICAgICBjb25zdCBzID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnU2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2JsdWUgaC0zMCcpO1xyXG4gICAgICAgIHMuc3R5bGUgPSB7dG9wOiAnMjBweCcsIGxlZnQ6ICc1cHgnLCBwb3NpdGlvbjogJ2Fic29sdXRlJywgd2lkdGg6ICc1MCUnfTtcclxuICAgICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLnB1c2gocyk7XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLm5hbWUgPSAnRXhwZXJ0U2VhcmNoJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgY29uc3QgaGFzU3VibWl0ID0gdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5zb21lKHMgPT4gcy50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgICB4LnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgeC5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICB4LmNsYXNzID0geC5jbGFzcyArICcgc2VhcmNoLWZvcm0taW5wJyArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5TdWJtaXQgPyAnIHAtMCcgOiAnJyk7XHJcbiAgICAgICAgeC53aXRoQ2xlYXIgPSAhaGFzU3VibWl0IHx8IHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoO1xyXG4gICAgICAgIGlmICghaGFzU3VibWl0KXtcclxuICAgICAgICAgIGlmICh4Lm9uQ2hhbmdlID09IG51bGwpe1xyXG4gICAgICAgICAgICB4Lm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoeC50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KXtcclxuICAgICAgICAgIHgub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgLy8gdGhpcy50YWJsZS5zZWFyY2hGb3JtLnN1Ym1pdCA9ICgpID0+IHtcclxuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coJ3RoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQnKTtcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICAvLyAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnc2hvdy1leHBlcnQtc2VhcmNoJyk7XHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKTtcclxuICAgIHRoaXMucmVsb2FkLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFibGUubG9hZCh0aGlzLnJlbG9hZCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leHBvcnQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLmV4cG9ydERyb3BEb3duLm5hdGl2ZUVsZW1lbnQpLnNsaWRlVG9nZ2xlKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wZGYub25DbGljayA9ICgpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRUYWJsZShUYWJsZUV4cG9ydFR5cGUuUGRmLCB0aGlzLnBkZik7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leGNlbC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmV4cG9ydFRhYmxlKFRhYmxlRXhwb3J0VHlwZS5FeGNlbCwgdGhpcy5leGNlbCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leGNlbFVpLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFibGUuZXhjZWwoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLnByaW50Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhwb3J0VGFibGUoVGFibGVFeHBvcnRUeXBlLlByaW50LCB0aGlzLnByaW50KTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5tYXhpbXVtLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS50b2dnbGVDbGFzcygnbWF4aW11bScpO1xyXG4gICAgICB0aGlzLm1heGltdW0uaWNvbiA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScgOiAnZmFkIGZhLWFycm93cy1taW5pbWl6ZSc7XHJcbiAgICAgIHRoaXMubWF4aW11bS5uYW1lID0gdGhpcy5tYXhpbXVtLm5hbWUgPT09ICdNaW5pbXVtJyA/ICdNYXhpbXVtJyA6ICdNaW5pbXVtJztcclxuICAgIH07XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfTtcclxuICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0gPSAobDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YSwgYWNjZXB0OiAocmVzdWx0OiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgdGhpcy5jb25maXJtLnNob3cobCwgdXJsLCBkYXRhLCBhY2NlcHQpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgZXhwb3J0VGFibGUodHlwZTogVGFibGVFeHBvcnRUeXBlLCBidG46IElucHV0Q2xhc3MpOiB2b2lke1xyXG4gICAgY29uc3QgZ2V0V2lkdGhWYWx1ZSA9IChzdHIpID0+IHtcclxuICAgICAgY29uc3QgbWF0Y2hlcyA9IFsuLi5zdHIubWF0Y2hBbGwoL3ctKFxcZCspKD86LShcXGQrKSk/L2cpXTtcclxuICAgICAgaWYgKCFtYXRjaGVzLmxlbmd0aCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1heCA9IG1hdGNoZXMucmVkdWNlKChiZXN0LCBtKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmlyc3QgPSArbVsxXTtcclxuICAgICAgICBjb25zdCBzZWNvbmQgPSArbVsyXSB8fCBudWxsO1xyXG4gICAgICAgIGlmICghYmVzdCB8fCBmaXJzdCA+IGJlc3QuZmlyc3Qpe1xyXG4gICAgICAgICAgcmV0dXJuIHsgZmlyc3QsIHNlY29uZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYmVzdDtcclxuICAgICAgfSwgbnVsbCk7XHJcbiAgICAgIGNvbnN0IHMgPSAobWF4LnNlY29uZCB8fCBtYXguZmlyc3QpO1xyXG4gICAgICByZXR1cm4gcyA9PSBudWxsID8gMTAwIDogcztcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdXJsID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5nZXRBY2Nlc3MoUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLkxpc3QpLlVybDtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMudGFibGUuc2VhcmNoRGF0YSgpO1xyXG4gICAgZGF0YS5QYWdlID0gMTtcclxuICAgIGRhdGEuUGVyUGFnZSA9IC0xO1xyXG4gICAgZGF0YS5UeXBlID0gdHlwZTtcclxuICAgIGRhdGEuQ29scyA9IHRoaXMudGFibGUuY29scy5tYXAoeCA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgTmFtZTogeC5uYW1lLFxyXG4gICAgICAgIFRybk5hbWU6IHRoaXMudGFibGUubCh4Lm5hbWUpLFxyXG4gICAgICAgIFdpZHRoOiBnZXRXaWR0aFZhbHVlKHguY2xhc3MpLFxyXG4gICAgICAgIFR5cGU6IHgudHlwZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHVybCwgTWV0aG9kLlBvc3QsIGRhdGEsIGJ0biwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICB3aW5kb3cub3Blbih0aGlzLnRhYmxlLmVudmlyb25tZW50LnVybCArICcvcmVwb3J0L3t9L3t9Jy5yZXBsYWNlKCd7fScsIHR5cGUpLnJlcGxhY2UoJ3t9JywgcmVzdWx0KSwgJ19ibGFuaycpO1xyXG4gICAgfSwgKCkgPT4ge30pO1xyXG4gIH1cclxuICBhbGxDaGVja2VkKCk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LmNoZWNrZWQpLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcbiAgaXNDaGVja2VkKCk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+IHguY2hlY2tlZCkubGVuZ3RoID4gMDtcclxuICB9XHJcbiAgY2hlY2tBbGwoKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguY2hlY2tlZCkubGVuZ3RoID09PSAwKXtcclxuICAgICAgdGhpcy50YWJsZS5yb3dzLmZvckVhY2goeCA9PiB4LmNoZWNrZWQgPSBmYWxzZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy50YWJsZS5yb3dzLmZvckVhY2goeCA9PiB4LmNoZWNrZWQgPSB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0T3B0aW9ucygpOiBJbnB1dENsYXNzW117XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIHNldFNvcnRhYmxlKCk6IHZvaWR7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAkKHRoaXMucm93cy5uYXRpdmVFbGVtZW50KS5zb3J0YWJsZSh7XHJcbiAgICAgICAgYXhpczogJ3knLFxyXG4gICAgICAgIGl0ZW1zOiAnLnJvdycsXHJcbiAgICAgICAgaGFuZGxlOiAnPiAuaGFuZGxlLWNvbiA+IC5oYW5kbGUuaGFuZGxlLXNvcnRhYmxlJyxcclxuICAgICAgICB1cGRhdGU6ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBbXTtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKCd0b0FycmF5Jywge2F0dHJpYnV0ZTogJ2RhdGEtaWQnfSkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICAgICAgZGF0YS5wdXNoKHBhcnNlSW50KHgsIDEwKSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgICAgcC5BY3Rpb24gPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFjdGlvbiA/IHRoaXMudGFibGUucGVybWlzc2lvbnMuQWN0aW9uICsgJy1zb3J0JyA6ICdzb3J0JztcclxuICAgICAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHAuZ2V0VXJsKCkudG9Mb3dlckNhc2UoKSwgTWV0aG9kLlBvc3QsIHtJZHM6IGRhdGF9LCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLm9uU29ydCl7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWJsZS5vblNvcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSwgKCkgPT4ge30pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkuZGlzYWJsZVNlbGVjdGlvbigpO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcbiAgZ2V0Um93cygpOiBhbnlbXXtcclxuICAgIGNvbnN0IGMgPSB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguRGF0YS5QYXJlbnRJZCk7XHJcbiAgICBjLmZvckVhY2goKHgsIGkpID0+IHguUm93TnVtID0gYy5sZW5ndGggLSBpICsgMSk7XHJcbiAgICByZXR1cm4gYztcclxuICB9XHJcbiAgLy8gZ2V0T3B0aW9uTW9kYWxzKCk6IElucHV0Q2xhc3NbXXtcclxuICAvLyAgIGNvbnN0IG1vZGFscyA9IFtdO1xyXG4gIC8vICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGhpcy50YWJsZS5vcHRpb25BY3Rpb25zKSkge1xyXG4gIC8vICAgICBpZiAodGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpe1xyXG4gIC8vICAgICAgIG1vZGFscy5wdXNoKHRoaXMudGFibGUub3B0aW9uQWN0aW9uc1trZXldLm1vZGFsKTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIG1vZGFscztcclxuICAvLyB9XHJcbiAgb25DaGFuZ2VSb3dzKGUpOiB2b2lke1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhbmdlUm93cy5lbWl0KGUpO1xyXG4gIH1cclxuICBvbkNvbmZpcm1TaG93KGUpOiB2b2lke1xyXG4gICAgdGhpcy5jb25maXJtLnNob3codGhpcy50YWJsZS5sKGUuYWN0aW9uICsgJ0NvbmZpcm0nKSwgZS51cmwsIGUuZGF0YSwgZS5hY2NlcHQpO1xyXG4gIH1cclxuICBjaGFuZ2VTb3J0KGUsIHM6IHN0cmluZyk6IHZvaWR7XHJcbiAgICBpZiAoJChlLnRhcmdldCkuY2xvc2VzdCgnLmhlYWRlci1zZWFyY2gnKS5oYXNDbGFzcygnaGVhZGVyLXNlYXJjaCcpKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zb3J0VHlwZSA9IHRoaXMudGFibGUuc29ydCA9PT0gcyA/IHRoaXMudGFibGUuc29ydFR5cGUgPT09ICdBU0MnID8gJ0RFU0MnIDogbnVsbCA6ICdBU0MnO1xyXG4gICAgdGhpcy50YWJsZS5zb3J0ID0gdGhpcy50YWJsZS5zb3J0VHlwZSA9PSBudWxsID8gbnVsbCA6IHM7XHJcbiAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICB9XHJcbiAgZ2V0TW9kYWxzKCk6IE1vZGFsQ2xhc3NbXXtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLm9wdGlvbnNBY3Rpb25zLmZpbHRlcih4ID0+IHggaW5zdGFuY2VvZiBNb2RhbENsYXNzKTtcclxuICB9XHJcbiAgaGlkZUV4cGVydFNlYXJjaChlKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCAmJiAkKGUudGFyZ2V0KS5oYXNDbGFzcygnc2VhcmNoLWZvcm0nKSlcclxuICAgIHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLnJlbW92ZUNsYXNzKCdzaG93LWV4cGVydC1zZWFyY2gnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0SSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQU8vRCxNQUFNLE9BQU8sY0FBYztJQW9CekIsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoQmpDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBZXhDLFdBQU0sR0FBZSxJQUFJLENBQUM7SUFFMUIsQ0FBQztJQWhCRCxJQUFJLElBQUksS0FBc0IsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksZUFBZSxLQUE0QixPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxPQUFPLEtBQTBCLE9BQU8sYUFBYSxDQUFDLENBQUMs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QUVILElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hILENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNmLENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztZQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQ2pEO2FBQUk7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QVUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQ2xFO1lBQ0UsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDOzs7WUF4T0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixpOUtBQXFDOzthQUV0Qzs7O1lBZk8sTUFBTTs7O29CQWlCWCxLQUFLO3lCQUVMLE1BQU07bUJBS04sU0FBUyxTQUFDLE1BQU07dUJBQ2hCLFNBQVMsU0FBQyxVQUFVOzZCQUNwQixTQUFTLFNBQUMsZ0JBQWdCO3NCQUMxQixTQUFTLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7VGFibGVDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlLCBNZXRob2QsIFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bSwgVGFibGVDb2xsVHlwZSwgVGFibGVFeHBvcnRUeXBlLCBUYWJsZU9wdGlvblR5cGV9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQge0NvbmZpcm1Db21wb25lbnR9IGZyb20gJy4uL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQnO1xyXG5pbXBvcnQge01vZGFsQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbW9kYWwuY2xhc3MnO1xyXG5pbXBvcnQgJ2pxdWVyeS11aS1kaXN0L2pxdWVyeS11aSc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge1Blcm1pc3Npb25DbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9wZXJtaXNzaW9uLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxvYmplY3Q+KCk7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZXsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG4gIGdldCB0YWJsZU9wdGlvblR5cGUoKTogdHlwZW9mIFRhYmxlT3B0aW9uVHlwZXsgcmV0dXJuIFRhYmxlT3B0aW9uVHlwZTsgfVxyXG4gIGdldCBjb2xUeXBlKCk6IHR5cGVvZiBUYWJsZUNvbGxUeXBleyByZXR1cm4gVGFibGVDb2xsVHlwZTsgfVxyXG4gIEBWaWV3Q2hpbGQoJ3Jvd3MnKSByb3dzOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlRGl2JykgdGFibGVEaXY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZXhwb3J0RHJvcERvd24nKSBleHBvcnREcm9wRG93bjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb25maXJtJykgY29uZmlybTogQ29uZmlybUNvbXBvbmVudDtcclxuICByZWxvYWQ6IElucHV0Q2xhc3M7XHJcbiAgZXhjZWw6IElucHV0Q2xhc3M7XHJcbiAgZXhjZWxVaTogSW5wdXRDbGFzcztcclxuICBwZGY6IElucHV0Q2xhc3M7XHJcbiAgcHJpbnQ6IElucHV0Q2xhc3M7XHJcbiAgbWF4aW11bTogSW5wdXRDbGFzcztcclxuICBleHBlcnRTZWFyY2g6IElucHV0Q2xhc3M7XHJcbiAgZXhwb3J0OiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuICB9XHJcbiAgb3B0aW9uczogSW5wdXRDbGFzc1tdO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWxvYWQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdSZWxvYWQnLCAnZmFkIGZhLXN5bmMtYWx0JywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5leHBvcnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnQnLCAnZmFkIGZhLWRvd25sb2FkIGYtcy0yMScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAgZXhwb3J0LWRyb3Bkb3duLWljb24nKTtcclxuICAgIHRoaXMuZXhjZWwgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRFeGNlbCcsICdmYWQgZmEtZmlsZS1leGNlbCBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICB0aGlzLmV4Y2VsVWkgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRFeGNlbCcsICdmYWQgZmEtZmlsZS1leGNlbCBmLXMtMjEnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLnBkZiA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cG9ydFBkZicsICdmYWQgZmEtZmlsZS1wZGYgZi1zLTIxJywgSW5wdXRUeXBlLkJ1dHRvbiwgJ3doaXRlIGYtcy0xMSBoLTM1IHAtMCcpO1xyXG4gICAgdGhpcy5wcmludCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cG9ydFByaW50JywgJ2ZhZCBmYS1maWxlLWxpbmVzIGYtcy0yMScsIElucHV0VHlwZS5CdXR0b24sICd3aGl0ZSBmLXMtMTEgaC0zNSBwLTAnKTtcclxuICAgIHRoaXMubWF4aW11bSA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ01heGltdW0nLCAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMuZXhwZXJ0U2VhcmNoID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwZXJ0U2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy50YWJsZS5zZXRDb2xzKCk7XHJcbiAgICBpZiAodGhpcy50YWJsZS5zb3J0YWJsZSl7XHJcbiAgICAgIHRoaXMudGFibGUucGVyUGFnZSA9IC0xO1xyXG4gICAgICB0aGlzLnRhYmxlLm9uTG9hZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFNvcnRhYmxlKCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNldCh0aGlzLmNoYW5nZVJvd3MpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybSl7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmNsYXNzID0gKHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA/IHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA6ICcnKSArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCA/ICcnIDogJyBwLTAnKTtcclxuICAgICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoKXtcclxuICAgICAgICBjb25zdCBzID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnU2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2JsdWUgaC0zMCcpO1xyXG4gICAgICAgIHMuc3R5bGUgPSB7dG9wOiAnMjBweCcsIGxlZnQ6ICc1cHgnLCBwb3NpdGlvbjogJ2Fic29sdXRlJywgd2lkdGg6ICc1MCUnfTtcclxuICAgICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLnB1c2gocyk7XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLm5hbWUgPSAnRXhwZXJ0U2VhcmNoJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgY29uc3QgaGFzU3VibWl0ID0gdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5zb21lKHMgPT4gcy50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgICB4LnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgeC5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICB4LmNsYXNzID0geC5jbGFzcyArICcgc2VhcmNoLWZvcm0taW5wJyArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5TdWJtaXQgPyAnIHAtMCcgOiAnJyk7XHJcbiAgICAgICAgeC53aXRoQ2xlYXIgPSAhaGFzU3VibWl0IHx8IHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoO1xyXG4gICAgICAgIGlmICghaGFzU3VibWl0KXtcclxuICAgICAgICAgIGlmICh4Lm9uQ2hhbmdlID09IG51bGwpe1xyXG4gICAgICAgICAgICB4Lm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoeC50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KXtcclxuICAgICAgICAgIHgub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgLy8gdGhpcy50YWJsZS5zZWFyY2hGb3JtLnN1Ym1pdCA9ICgpID0+IHtcclxuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coJ3RoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQnKTtcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICAvLyAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnc2hvdy1leHBlcnQtc2VhcmNoJyk7XHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKTtcclxuICAgIHRoaXMucmVsb2FkLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFibGUubG9hZCh0aGlzLnJlbG9hZCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leHBvcnQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLmV4cG9ydERyb3BEb3duLm5hdGl2ZUVsZW1lbnQpLnNsaWRlVG9nZ2xlKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wZGYub25DbGljayA9ICgpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRUYWJsZShUYWJsZUV4cG9ydFR5cGUuUGRmLCB0aGlzLnBkZik7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leGNlbC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmV4cG9ydFRhYmxlKFRhYmxlRXhwb3J0VHlwZS5FeGNlbCwgdGhpcy5leGNlbCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leGNlbFVpLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFibGUuZXhjZWwoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLnByaW50Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhwb3J0VGFibGUoVGFibGVFeHBvcnRUeXBlLlByaW50LCB0aGlzLnByaW50KTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5tYXhpbXVtLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS50b2dnbGVDbGFzcygnbWF4aW11bScpO1xyXG4gICAgICB0aGlzLm1heGltdW0uaWNvbiA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScgOiAnZmFkIGZhLWFycm93cy1taW5pbWl6ZSc7XHJcbiAgICAgIHRoaXMubWF4aW11bS5uYW1lID0gdGhpcy5tYXhpbXVtLm5hbWUgPT09ICdNaW5pbXVtJyA/ICdNYXhpbXVtJyA6ICdNaW5pbXVtJztcclxuICAgIH07XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfTtcclxuICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0gPSAobDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YSwgYWNjZXB0OiAocmVzdWx0OiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgdGhpcy5jb25maXJtLnNob3cobCwgdXJsLCBkYXRhLCBhY2NlcHQpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgZXhwb3J0VGFibGUodHlwZTogVGFibGVFeHBvcnRUeXBlLCBidG46IElucHV0Q2xhc3MpOiB2b2lke1xyXG4gICAgY29uc3QgZ2V0V2lkdGhWYWx1ZSA9IChzdHIpID0+IHtcclxuICAgICAgY29uc3QgbWF0Y2hlcyA9IFsuLi5zdHIubWF0Y2hBbGwoL3ctKFxcZCspKD86LShcXGQrKSk/L2cpXTtcclxuICAgICAgaWYgKCFtYXRjaGVzLmxlbmd0aCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1heCA9IG1hdGNoZXMucmVkdWNlKChiZXN0LCBtKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmlyc3QgPSArbVsxXTtcclxuICAgICAgICBjb25zdCBzZWNvbmQgPSArbVsyXSB8fCBudWxsO1xyXG4gICAgICAgIGlmICghYmVzdCB8fCBmaXJzdCA+IGJlc3QuZmlyc3Qpe1xyXG4gICAgICAgICAgcmV0dXJuIHsgZmlyc3QsIHNlY29uZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYmVzdDtcclxuICAgICAgfSwgbnVsbCk7XHJcbiAgICAgIGNvbnN0IHMgPSAobWF4LnNlY29uZCB8fCBtYXguZmlyc3QpO1xyXG4gICAgICByZXR1cm4gcyA9PSBudWxsID8gMTAwIDogcztcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdXJsID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5nZXRBY2Nlc3MoUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLkxpc3QpLlVybDtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMudGFibGUuc2VhcmNoRGF0YSgpO1xyXG4gICAgZGF0YS5QYWdlID0gMTtcclxuICAgIGRhdGEuUGVyUGFnZSA9IC0xO1xyXG4gICAgZGF0YS5SZXBvcnRUeXBlID0gdHlwZTtcclxuICAgIGRhdGEuQ29scyA9IHRoaXMudGFibGUuY29scy5tYXAoeCA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgTmFtZTogeC5uYW1lLFxyXG4gICAgICAgIFRybk5hbWU6IHRoaXMudGFibGUubCh4Lm5hbWUpLFxyXG4gICAgICAgIFdpZHRoOiBnZXRXaWR0aFZhbHVlKHguY2xhc3MpLFxyXG4gICAgICAgIFR5cGU6IHgudHlwZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHVybCwgTWV0aG9kLlBvc3QsIGRhdGEsIGJ0biwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICB3aW5kb3cub3Blbih0aGlzLnRhYmxlLmVudmlyb25tZW50LnVybCArICcvcmVwb3J0L3t9L3t9Jy5yZXBsYWNlKCd7fScsIHR5cGUpLnJlcGxhY2UoJ3t9JywgcmVzdWx0KSwgJ19ibGFuaycpO1xyXG4gICAgfSwgKCkgPT4ge30pO1xyXG4gIH1cclxuICBhbGxDaGVja2VkKCk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LmNoZWNrZWQpLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcbiAgaXNDaGVja2VkKCk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+IHguY2hlY2tlZCkubGVuZ3RoID4gMDtcclxuICB9XHJcbiAgY2hlY2tBbGwoKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguY2hlY2tlZCkubGVuZ3RoID09PSAwKXtcclxuICAgICAgdGhpcy50YWJsZS5yb3dzLmZvckVhY2goeCA9PiB4LmNoZWNrZWQgPSBmYWxzZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy50YWJsZS5yb3dzLmZvckVhY2goeCA9PiB4LmNoZWNrZWQgPSB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0T3B0aW9ucygpOiBJbnB1dENsYXNzW117XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIHNldFNvcnRhYmxlKCk6IHZvaWR7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAkKHRoaXMucm93cy5uYXRpdmVFbGVtZW50KS5zb3J0YWJsZSh7XHJcbiAgICAgICAgYXhpczogJ3knLFxyXG4gICAgICAgIGl0ZW1zOiAnLnJvdycsXHJcbiAgICAgICAgaGFuZGxlOiAnPiAuaGFuZGxlLWNvbiA+IC5oYW5kbGUuaGFuZGxlLXNvcnRhYmxlJyxcclxuICAgICAgICB1cGRhdGU6ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBbXTtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKCd0b0FycmF5Jywge2F0dHJpYnV0ZTogJ2RhdGEtaWQnfSkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICAgICAgZGF0YS5wdXNoKHBhcnNlSW50KHgsIDEwKSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgICAgcC5BY3Rpb24gPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFjdGlvbiA/IHRoaXMudGFibGUucGVybWlzc2lvbnMuQWN0aW9uICsgJy1zb3J0JyA6ICdzb3J0JztcclxuICAgICAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHAuZ2V0VXJsKCkudG9Mb3dlckNhc2UoKSwgTWV0aG9kLlBvc3QsIHtJZHM6IGRhdGF9LCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLm9uU29ydCl7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWJsZS5vblNvcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSwgKCkgPT4ge30pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkuZGlzYWJsZVNlbGVjdGlvbigpO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcbiAgZ2V0Um93cygpOiBhbnlbXXtcclxuICAgIGNvbnN0IGMgPSB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguRGF0YS5QYXJlbnRJZCk7XHJcbiAgICBjLmZvckVhY2goKHgsIGkpID0+IHguUm93TnVtID0gYy5sZW5ndGggLSBpICsgMSk7XHJcbiAgICByZXR1cm4gYztcclxuICB9XHJcbiAgLy8gZ2V0T3B0aW9uTW9kYWxzKCk6IElucHV0Q2xhc3NbXXtcclxuICAvLyAgIGNvbnN0IG1vZGFscyA9IFtdO1xyXG4gIC8vICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGhpcy50YWJsZS5vcHRpb25BY3Rpb25zKSkge1xyXG4gIC8vICAgICBpZiAodGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpe1xyXG4gIC8vICAgICAgIG1vZGFscy5wdXNoKHRoaXMudGFibGUub3B0aW9uQWN0aW9uc1trZXldLm1vZGFsKTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIG1vZGFscztcclxuICAvLyB9XHJcbiAgb25DaGFuZ2VSb3dzKGUpOiB2b2lke1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhbmdlUm93cy5lbWl0KGUpO1xyXG4gIH1cclxuICBvbkNvbmZpcm1TaG93KGUpOiB2b2lke1xyXG4gICAgdGhpcy5jb25maXJtLnNob3codGhpcy50YWJsZS5sKGUuYWN0aW9uICsgJ0NvbmZpcm0nKSwgZS51cmwsIGUuZGF0YSwgZS5hY2NlcHQpO1xyXG4gIH1cclxuICBjaGFuZ2VTb3J0KGUsIHM6IHN0cmluZyk6IHZvaWR7XHJcbiAgICBpZiAoJChlLnRhcmdldCkuY2xvc2VzdCgnLmhlYWRlci1zZWFyY2gnKS5oYXNDbGFzcygnaGVhZGVyLXNlYXJjaCcpKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zb3J0VHlwZSA9IHRoaXMudGFibGUuc29ydCA9PT0gcyA/IHRoaXMudGFibGUuc29ydFR5cGUgPT09ICdBU0MnID8gJ0RFU0MnIDogbnVsbCA6ICdBU0MnO1xyXG4gICAgdGhpcy50YWJsZS5zb3J0ID0gdGhpcy50YWJsZS5zb3J0VHlwZSA9PSBudWxsID8gbnVsbCA6IHM7XHJcbiAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICB9XHJcbiAgZ2V0TW9kYWxzKCk6IE1vZGFsQ2xhc3NbXXtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLm9wdGlvbnNBY3Rpb25zLmZpbHRlcih4ID0+IHggaW5zdGFuY2VvZiBNb2RhbENsYXNzKTtcclxuICB9XHJcbiAgaGlkZUV4cGVydFNlYXJjaChlKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCAmJiAkKGUudGFyZ2V0KS5oYXNDbGFzcygnc2VhcmNoLWZvcm0nKSlcclxuICAgIHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLnJlbW92ZUNsYXNzKCdzaG93LWV4cGVydC1zZWFyY2gnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|