ps-toolkit-ui 1.19.53 → 1.19.56
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 +29 -7
- 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/classes/table.class.js +3 -1
- package/esm2015/lib/components/table/row/table.row.component.js +23 -3
- package/esm2015/lib/components/table/table.component.js +6 -6
- package/fesm2015/ps-toolkit-ui.js +29 -7
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/lib/classes/table.class.d.ts +2 -0
- package/lib/components/table/row/table.row.component.d.ts +2 -0
- package/package.json +1 -1
- package/ps-toolkit-ui.metadata.json +1 -1
|
@@ -111,17 +111,17 @@ export class TableComponent {
|
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
113
|
allChecked() {
|
|
114
|
-
return this.table.rows.filter(x => !x.
|
|
114
|
+
return this.table.rows.filter(x => !x.checked).length === 0;
|
|
115
115
|
}
|
|
116
116
|
isChecked() {
|
|
117
|
-
return this.table.rows.filter(x => x.
|
|
117
|
+
return this.table.rows.filter(x => x.checked).length > 0;
|
|
118
118
|
}
|
|
119
119
|
checkAll() {
|
|
120
|
-
if (this.table.rows.filter(x => !x.
|
|
121
|
-
this.table.rows.forEach(x => x.
|
|
120
|
+
if (this.table.rows.filter(x => !x.checked).length === 0) {
|
|
121
|
+
this.table.rows.forEach(x => x.checked = false);
|
|
122
122
|
}
|
|
123
123
|
else {
|
|
124
|
-
this.table.rows.forEach(x => x.
|
|
124
|
+
this.table.rows.forEach(x => x.checked = true);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
getOptions() {
|
|
@@ -209,4 +209,4 @@ TableComponent.propDecorators = {
|
|
|
209
209
|
exportDropDown: [{ type: ViewChild, args: ['exportDropDown',] }],
|
|
210
210
|
confirm: [{ type: ViewChild, args: ['confirm',] }]
|
|
211
211
|
};
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsTUFBTSxPQUFPLGNBQWM7SUFnQnpCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWmpDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBV3hDLFdBQU0sR0FBZSxJQUFJLENBQUM7SUFFMUIsQ0FBQztJQVpELElBQUksSUFBSSxLQUFzQixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDakQsSUFBSSxlQUFlLEtBQTRCLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQztJQUN4RSxJQUFJLE9BQU8sS0FBMEIsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFD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SSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELGdCQUFnQixDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDbEU7WUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7OztZQWhNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGk5SkFBcUM7O2FBRXRDOzs7WUFmTyxNQUFNOzs7b0JBaUJYLEtBQUs7eUJBRUwsTUFBTTttQkFLTixTQUFTLFNBQUMsTUFBTTt1QkFDaEIsU0FBUyxTQUFDLFVBQVU7NkJBQ3BCLFNBQVMsU0FBQyxnQkFBZ0I7c0JBQzFCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtUYWJsZUNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtFbnVtVXRpbHMsIElucHV0VHlwZSwgTWV0aG9kLCBUYWJsZUNvbGxUeXBlLCBUYWJsZU9wdGlvblR5cGV9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzcywgT3B0aW9uQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuaW1wb3J0IHtDb25maXJtQ29tcG9uZW50fSBmcm9tICcuLi9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtNb2RhbENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL21vZGFsLmNsYXNzJztcclxuaW1wb3J0ICdqcXVlcnktdWktZGlzdC9qcXVlcnktdWknO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtQZXJtaXNzaW9uQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGVybWlzc2lvbi5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgdGFibGU6IFRhYmxlQ2xhc3M7XHJcbiAgQE91dHB1dCgpXHJcbiAgY2hhbmdlUm93cyA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0PigpO1xyXG4gIGdldCB0eXBlKCk6IHR5cGVvZiBJbnB1dFR5cGV7IHJldHVybiBJbnB1dFR5cGU7IH1cclxuICBnZXQgdGFibGVPcHRpb25UeXBlKCk6IHR5cGVvZiBUYWJsZU9wdGlvblR5cGV7IHJldHVybiBUYWJsZU9wdGlvblR5cGU7IH1cclxuICBnZXQgY29sVHlwZSgpOiB0eXBlb2YgVGFibGVDb2xsVHlwZXsgcmV0dXJuIFRhYmxlQ29sbFR5cGU7IH1cclxuICBAVmlld0NoaWxkKCdyb3dzJykgcm93czogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCd0YWJsZURpdicpIHRhYmxlRGl2OiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2V4cG9ydERyb3BEb3duJykgZXhwb3J0RHJvcERvd246IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY29uZmlybScpIGNvbmZpcm06IENvbmZpcm1Db21wb25lbnQ7XHJcbiAgcmVsb2FkOiBJbnB1dENsYXNzO1xyXG4gIG1heGltdW06IElucHV0Q2xhc3M7XHJcbiAgZXhwZXJ0U2VhcmNoOiBJbnB1dENsYXNzO1xyXG4gIGV4cG9ydDogSW5wdXRDbGFzcyA9IG51bGw7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgfVxyXG4gIG9wdGlvbnM6IElucHV0Q2xhc3NbXTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVsb2FkID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnUmVsb2FkJywgJ2ZhZCBmYS1zeW5jLWFsdCcsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMubWF4aW11bSA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ01heGltdW0nLCAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMuZXhwZXJ0U2VhcmNoID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwZXJ0U2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgZm9yIChjb25zdCBjIG9mIHRoaXMudGFibGUuY29scy5maWx0ZXIoeCA9PiB4LndpdGhTZWFyY2gpKXtcclxuICAgICAgYy5zZWFyY2ggPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIGMubmFtZSwgbnVsbCwgSW5wdXRUeXBlLlRleHQsICdoLTI1IHRhYmxlLXNlYXJjaCcsIGMuc2VhcmNoRGVmYXVsdCk7XHJcbiAgICAgIGlmIChjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRGF0ZSB8fCBjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRGF0ZVRpbWUgfHwgYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGVEaWYgfHwgYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGVSZW1haW4pe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuRGF0ZTtcclxuICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuTW9udGgpe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuTW9udGg7XHJcbiAgICAgIH0gZWxzZSBpZiAoYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLlllYXIpe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuWWVhcjtcclxuICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuUHJpY2Upe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuUHJpY2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoYy5lbnVtICE9IG51bGwpe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuU2VsZWN0O1xyXG4gICAgICAgIGMuc2VhcmNoLm9wdGlvbnMgPSBbbmV3IE9wdGlvbkNsYXNzKCcnLCAnLTEnKV0uY29uY2F0KEVudW1VdGlscy5nZXRLZXlzQW5kVmFsdWVzKGMuZW51bSkubWFwKHggPT4gbmV3IE9wdGlvbkNsYXNzKHRoaXMudGFibGUubCh4LmtleSksIHgudmFsdWUudG9TdHJpbmcoKSkpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjLnNlYXJjaC50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIH1cclxuICAgICAgYy5zZWFyY2guZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgIGMuc2VhcmNoLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFibGUucGFnZSA9IDE7XHJcbiAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50YWJsZS5zb3J0YWJsZSl7XHJcbiAgICAgIHRoaXMudGFibGUucGVyUGFnZSA9IC0xO1xyXG4gICAgICB0aGlzLnRhYmxlLm9uTG9hZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFNvcnRhYmxlKCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNldCh0aGlzLmNoYW5nZVJvd3MpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybSl7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmNsYXNzID0gKHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA/IHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA6ICcnKSArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCA/ICcnIDogJyBwLTAnKTtcclxuICAgICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoKXtcclxuICAgICAgICBjb25zdCBzID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnU2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2JsdWUgaC0zMCcpO1xyXG4gICAgICAgIHMuc3R5bGUgPSB7dG9wOiAnMjBweCcsIGxlZnQ6ICc1cHgnLCBwb3NpdGlvbjogJ2Fic29sdXRlJywgd2lkdGg6ICc1MCUnfTtcclxuICAgICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLnB1c2gocyk7XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLm5hbWUgPSAnRXhwZXJ0U2VhcmNoJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgY29uc3QgaGFzU3VibWl0ID0gdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5zb21lKHMgPT4gcy50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgICB4LnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgeC5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICB4LmNsYXNzID0geC5jbGFzcyArICcgc2VhcmNoLWZvcm0taW5wJyArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5TdWJtaXQgPyAnIHAtMCcgOiAnJyk7XHJcbiAgICAgICAgeC53aXRoQ2xlYXIgPSAhaGFzU3VibWl0IHx8IHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoO1xyXG4gICAgICAgIGlmICghaGFzU3VibWl0KXtcclxuICAgICAgICAgIGlmICh4Lm9uQ2hhbmdlID09IG51bGwpe1xyXG4gICAgICAgICAgICB4Lm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoeC50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KXtcclxuICAgICAgICAgIHgub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgLy8gdGhpcy50YWJsZS5zZWFyY2hGb3JtLnN1Ym1pdCA9ICgpID0+IHtcclxuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coJ3RoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQnKTtcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICAvLyAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnc2hvdy1leHBlcnQtc2VhcmNoJyk7XHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKTtcclxuICAgIHRoaXMucmVsb2FkLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFibGUubG9hZCh0aGlzLnJlbG9hZCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYXhpbXVtLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS50b2dnbGVDbGFzcygnbWF4aW11bScpO1xyXG4gICAgICB0aGlzLm1heGltdW0uaWNvbiA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScgOiAnZmFkIGZhLWFycm93cy1taW5pbWl6ZSc7XHJcbiAgICAgIHRoaXMubWF4aW11bS5uYW1lID0gdGhpcy5tYXhpbXVtLm5hbWUgPT09ICdNaW5pbXVtJyA/ICdNYXhpbXVtJyA6ICdNaW5pbXVtJztcclxuICAgIH07XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfTtcclxuICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0gPSAobDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YSwgYWNjZXB0OiAocmVzdWx0OiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgdGhpcy5jb25maXJtLnNob3cobCwgdXJsLCBkYXRhLCBhY2NlcHQpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgYWxsQ2hlY2tlZCgpOiBib29sZWFue1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5jaGVja2QpLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcbiAgaXNDaGVja2VkKCk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+IHguY2hlY2tkKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICBjaGVja0FsbCgpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5jaGVja2QpLmxlbmd0aCA9PT0gMCl7XHJcbiAgICAgIHRoaXMudGFibGUucm93cy5mb3JFYWNoKHggPT4geC5jaGVja2QgPSBmYWxzZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy50YWJsZS5yb3dzLmZvckVhY2goeCA9PiB4LmNoZWNrZCA9IHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRPcHRpb25zKCk6IElucHV0Q2xhc3NbXXtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgc2V0U29ydGFibGUoKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKHtcclxuICAgICAgICBheGlzOiAneScsXHJcbiAgICAgICAgaXRlbXM6ICcucm93JyxcclxuICAgICAgICBoYW5kbGU6ICc+IC5oYW5kbGUtY29uID4gLmhhbmRsZS5oYW5kbGUtc29ydGFibGUnLFxyXG4gICAgICAgIHVwZGF0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoJ3RvQXJyYXknLCB7YXR0cmlidXRlOiAnZGF0YS1pZCd9KS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICBkYXRhLnB1c2gocGFyc2VJbnQoeCwgMTApKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQWN0aW9uID8gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BY3Rpb24gKyAnLXNvcnQnIDogJ3NvcnQnO1xyXG4gICAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQocC5nZXRVcmwoKS50b0xvd2VyQ2FzZSgpLCBNZXRob2QuUG9zdCwge0lkczogZGF0YX0sIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uU29ydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAoKSA9PiB7fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5kaXNhYmxlU2VsZWN0aW9uKCk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuICBnZXRSb3dzKCk6IGFueVtde1xyXG4gICAgY29uc3QgYyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5EYXRhLlBhcmVudElkKTtcclxuICAgIGMuZm9yRWFjaCgoeCwgaSkgPT4geC5Sb3dOdW0gPSBjLmxlbmd0aCAtIGkgKyAxKTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICAvLyBnZXRPcHRpb25Nb2RhbHMoKTogSW5wdXRDbGFzc1tde1xyXG4gIC8vICAgY29uc3QgbW9kYWxzID0gW107XHJcbiAgLy8gICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnMpKSB7XHJcbiAgLy8gICAgIGlmICh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCl7XHJcbiAgLy8gICAgICAgbW9kYWxzLnB1c2godGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbW9kYWxzO1xyXG4gIC8vIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICB0aGlzLmNvbmZpcm0uc2hvdyh0aGlzLnRhYmxlLmwoZS5hY3Rpb24gKyAnQ29uZmlybScpLCBlLnVybCwgZS5kYXRhLCBlLmFjY2VwdCk7XHJcbiAgfVxyXG4gIGNoYW5nZVNvcnQoZSwgczogc3RyaW5nKTogdm9pZHtcclxuICAgIGlmICgkKGUudGFyZ2V0KS5jbG9zZXN0KCcuaGVhZGVyLXNlYXJjaCcpLmhhc0NsYXNzKCdoZWFkZXItc2VhcmNoJykpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNvcnRUeXBlID0gdGhpcy50YWJsZS5zb3J0ID09PSBzID8gdGhpcy50YWJsZS5zb3J0VHlwZSA9PT0gJ0FTQycgPyAnREVTQycgOiBudWxsIDogJ0FTQyc7XHJcbiAgICB0aGlzLnRhYmxlLnNvcnQgPSB0aGlzLnRhYmxlLnNvcnRUeXBlID09IG51bGwgPyBudWxsIDogcztcclxuICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gIH1cclxuICBnZXRNb2RhbHMoKTogTW9kYWxDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIE1vZGFsQ2xhc3MpO1xyXG4gIH1cclxuICBoaWRlRXhwZXJ0U2VhcmNoKGUpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoICYmICQoZS50YXJnZXQpLmhhc0NsYXNzKCdzZWFyY2gtZm9ybScpKVxyXG4gICAge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsTUFBTSxPQUFPLGNBQWM7SUFnQnpCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWmpDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBV3hDLFdBQU0sR0FBZSxJQUFJLENBQUM7SUFFMUIsQ0FBQztJQVpELElBQUksSUFBSSxLQUFzQixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDakQsSUFBSSxlQUFlLEtBQTRCLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQztJQUN4RSxJQUFJLE9BQU8sS0FBMEIsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFD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SSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELGdCQUFnQixDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDbEU7WUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7OztZQWhNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGk5SkFBcUM7O2FBRXRDOzs7WUFmTyxNQUFNOzs7b0JBaUJYLEtBQUs7eUJBRUwsTUFBTTttQkFLTixTQUFTLFNBQUMsTUFBTTt1QkFDaEIsU0FBUyxTQUFDLFVBQVU7NkJBQ3BCLFNBQVMsU0FBQyxnQkFBZ0I7c0JBQzFCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtUYWJsZUNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtFbnVtVXRpbHMsIElucHV0VHlwZSwgTWV0aG9kLCBUYWJsZUNvbGxUeXBlLCBUYWJsZU9wdGlvblR5cGV9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzcywgT3B0aW9uQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuaW1wb3J0IHtDb25maXJtQ29tcG9uZW50fSBmcm9tICcuLi9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtNb2RhbENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL21vZGFsLmNsYXNzJztcclxuaW1wb3J0ICdqcXVlcnktdWktZGlzdC9qcXVlcnktdWknO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtQZXJtaXNzaW9uQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGVybWlzc2lvbi5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgdGFibGU6IFRhYmxlQ2xhc3M7XHJcbiAgQE91dHB1dCgpXHJcbiAgY2hhbmdlUm93cyA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0PigpO1xyXG4gIGdldCB0eXBlKCk6IHR5cGVvZiBJbnB1dFR5cGV7IHJldHVybiBJbnB1dFR5cGU7IH1cclxuICBnZXQgdGFibGVPcHRpb25UeXBlKCk6IHR5cGVvZiBUYWJsZU9wdGlvblR5cGV7IHJldHVybiBUYWJsZU9wdGlvblR5cGU7IH1cclxuICBnZXQgY29sVHlwZSgpOiB0eXBlb2YgVGFibGVDb2xsVHlwZXsgcmV0dXJuIFRhYmxlQ29sbFR5cGU7IH1cclxuICBAVmlld0NoaWxkKCdyb3dzJykgcm93czogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCd0YWJsZURpdicpIHRhYmxlRGl2OiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2V4cG9ydERyb3BEb3duJykgZXhwb3J0RHJvcERvd246IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY29uZmlybScpIGNvbmZpcm06IENvbmZpcm1Db21wb25lbnQ7XHJcbiAgcmVsb2FkOiBJbnB1dENsYXNzO1xyXG4gIG1heGltdW06IElucHV0Q2xhc3M7XHJcbiAgZXhwZXJ0U2VhcmNoOiBJbnB1dENsYXNzO1xyXG4gIGV4cG9ydDogSW5wdXRDbGFzcyA9IG51bGw7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgfVxyXG4gIG9wdGlvbnM6IElucHV0Q2xhc3NbXTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVsb2FkID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnUmVsb2FkJywgJ2ZhZCBmYS1zeW5jLWFsdCcsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMubWF4aW11bSA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ01heGltdW0nLCAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMuZXhwZXJ0U2VhcmNoID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwZXJ0U2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgZm9yIChjb25zdCBjIG9mIHRoaXMudGFibGUuY29scy5maWx0ZXIoeCA9PiB4LndpdGhTZWFyY2gpKXtcclxuICAgICAgYy5zZWFyY2ggPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIGMubmFtZSwgbnVsbCwgSW5wdXRUeXBlLlRleHQsICdoLTI1IHRhYmxlLXNlYXJjaCcsIGMuc2VhcmNoRGVmYXVsdCk7XHJcbiAgICAgIGlmIChjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRGF0ZSB8fCBjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuRGF0ZVRpbWUgfHwgYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGVEaWYgfHwgYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGVSZW1haW4pe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuRGF0ZTtcclxuICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuTW9udGgpe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuTW9udGg7XHJcbiAgICAgIH0gZWxzZSBpZiAoYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLlllYXIpe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuWWVhcjtcclxuICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuUHJpY2Upe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuUHJpY2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoYy5lbnVtICE9IG51bGwpe1xyXG4gICAgICAgIGMuc2VhcmNoLnR5cGUgPSBJbnB1dFR5cGUuU2VsZWN0O1xyXG4gICAgICAgIGMuc2VhcmNoLm9wdGlvbnMgPSBbbmV3IE9wdGlvbkNsYXNzKCcnLCAnLTEnKV0uY29uY2F0KEVudW1VdGlscy5nZXRLZXlzQW5kVmFsdWVzKGMuZW51bSkubWFwKHggPT4gbmV3IE9wdGlvbkNsYXNzKHRoaXMudGFibGUubCh4LmtleSksIHgudmFsdWUudG9TdHJpbmcoKSkpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjLnNlYXJjaC50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIH1cclxuICAgICAgYy5zZWFyY2guZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgIGMuc2VhcmNoLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFibGUucGFnZSA9IDE7XHJcbiAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50YWJsZS5zb3J0YWJsZSl7XHJcbiAgICAgIHRoaXMudGFibGUucGVyUGFnZSA9IC0xO1xyXG4gICAgICB0aGlzLnRhYmxlLm9uTG9hZCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFNvcnRhYmxlKCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNldCh0aGlzLmNoYW5nZVJvd3MpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybSl7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmNsYXNzID0gKHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA/IHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA6ICcnKSArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCA/ICcnIDogJyBwLTAnKTtcclxuICAgICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoKXtcclxuICAgICAgICBjb25zdCBzID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnU2VhcmNoJywgJ2ZhZCBmYS1tYWduaWZ5aW5nLWdsYXNzJywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2JsdWUgaC0zMCcpO1xyXG4gICAgICAgIHMuc3R5bGUgPSB7dG9wOiAnMjBweCcsIGxlZnQ6ICc1cHgnLCBwb3NpdGlvbjogJ2Fic29sdXRlJywgd2lkdGg6ICc1MCUnfTtcclxuICAgICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLnB1c2gocyk7XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLm5hbWUgPSAnRXhwZXJ0U2VhcmNoJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uaW5wdXRzLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgY29uc3QgaGFzU3VibWl0ID0gdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5zb21lKHMgPT4gcy50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgICB4LnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgeC5kaXNwbGF5TGFiZWwgPSB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICB4LmNsYXNzID0geC5jbGFzcyArICcgc2VhcmNoLWZvcm0taW5wJyArICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5TdWJtaXQgPyAnIHAtMCcgOiAnJyk7XHJcbiAgICAgICAgeC53aXRoQ2xlYXIgPSAhaGFzU3VibWl0IHx8IHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoO1xyXG4gICAgICAgIGlmICghaGFzU3VibWl0KXtcclxuICAgICAgICAgIGlmICh4Lm9uQ2hhbmdlID09IG51bGwpe1xyXG4gICAgICAgICAgICB4Lm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoeC50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KXtcclxuICAgICAgICAgIHgub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgLy8gdGhpcy50YWJsZS5zZWFyY2hGb3JtLnN1Ym1pdCA9ICgpID0+IHtcclxuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coJ3RoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQnKTtcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCAmJiAhdGhpcy50YWJsZS5zZWFyY2hGb3JtLm9uQmVmb3JlU3VibWl0KCkpe1xyXG4gICAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICB0aGlzLnRhYmxlLmxvYWQoeCk7XHJcbiAgICAgICAgICAvLyAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnc2hvdy1leHBlcnQtc2VhcmNoJyk7XHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKTtcclxuICAgIHRoaXMucmVsb2FkLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFibGUubG9hZCh0aGlzLnJlbG9hZCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYXhpbXVtLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS50b2dnbGVDbGFzcygnbWF4aW11bScpO1xyXG4gICAgICB0aGlzLm1heGltdW0uaWNvbiA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnZmFkIGZhLWFycm93cy1tYXhpbWl6ZScgOiAnZmFkIGZhLWFycm93cy1taW5pbWl6ZSc7XHJcbiAgICAgIHRoaXMubWF4aW11bS5uYW1lID0gdGhpcy5tYXhpbXVtLm5hbWUgPT09ICdNaW5pbXVtJyA/ICdNYXhpbXVtJyA6ICdNaW5pbXVtJztcclxuICAgIH07XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfTtcclxuICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0gPSAobDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YSwgYWNjZXB0OiAocmVzdWx0OiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgdGhpcy5jb25maXJtLnNob3cobCwgdXJsLCBkYXRhLCBhY2NlcHQpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgYWxsQ2hlY2tlZCgpOiBib29sZWFue1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5jaGVja2VkKS5sZW5ndGggPT09IDA7XHJcbiAgfVxyXG4gIGlzQ2hlY2tlZCgpOiBib29sZWFue1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiB4LmNoZWNrZWQpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG4gIGNoZWNrQWxsKCk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LmNoZWNrZWQpLmxlbmd0aCA9PT0gMCl7XHJcbiAgICAgIHRoaXMudGFibGUucm93cy5mb3JFYWNoKHggPT4geC5jaGVja2VkID0gZmFsc2UpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMudGFibGUucm93cy5mb3JFYWNoKHggPT4geC5jaGVja2VkID0gdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldE9wdGlvbnMoKTogSW5wdXRDbGFzc1tde1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBzZXRTb3J0YWJsZSgpOiB2b2lke1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoe1xyXG4gICAgICAgIGF4aXM6ICd5JyxcclxuICAgICAgICBpdGVtczogJy5yb3cnLFxyXG4gICAgICAgIGhhbmRsZTogJz4gLmhhbmRsZS1jb24gPiAuaGFuZGxlLmhhbmRsZS1zb3J0YWJsZScsXHJcbiAgICAgICAgdXBkYXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhID0gW107XHJcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAkKHRoaXMucm93cy5uYXRpdmVFbGVtZW50KS5zb3J0YWJsZSgndG9BcnJheScsIHthdHRyaWJ1dGU6ICdkYXRhLWlkJ30pLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgIGRhdGEucHVzaChwYXJzZUludCh4LCAxMCkpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgcC5BcmVhID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgcC5SZWxhdGVkSWQgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZDtcclxuICAgICAgICAgIHAuQWN0aW9uID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BY3Rpb24gPyB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFjdGlvbiArICctc29ydCcgOiAnc29ydCc7XHJcbiAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZChwLmdldFVybCgpLnRvTG93ZXJDYXNlKCksIE1ldGhvZC5Qb3N0LCB7SWRzOiBkYXRhfSwgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy50YWJsZS5vblNvcnQpe1xyXG4gICAgICAgICAgICAgIHRoaXMudGFibGUub25Tb3J0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sICgpID0+IHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLmRpc2FibGVTZWxlY3Rpb24oKTtcclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG4gIGdldFJvd3MoKTogYW55W117XHJcbiAgICBjb25zdCBjID0gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LkRhdGEuUGFyZW50SWQpO1xyXG4gICAgYy5mb3JFYWNoKCh4LCBpKSA9PiB4LlJvd051bSA9IGMubGVuZ3RoIC0gaSArIDEpO1xyXG4gICAgcmV0dXJuIGM7XHJcbiAgfVxyXG4gIC8vIGdldE9wdGlvbk1vZGFscygpOiBJbnB1dENsYXNzW117XHJcbiAgLy8gICBjb25zdCBtb2RhbHMgPSBbXTtcclxuICAvLyAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMudGFibGUub3B0aW9uQWN0aW9ucykpIHtcclxuICAvLyAgICAgaWYgKHRoaXMudGFibGUub3B0aW9uQWN0aW9uc1trZXldLm1vZGFsKXtcclxuICAvLyAgICAgICBtb2RhbHMucHVzaCh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBtb2RhbHM7XHJcbiAgLy8gfVxyXG4gIG9uQ2hhbmdlUm93cyhlKTogdm9pZHtcclxuICAgIHJldHVybiB0aGlzLmNoYW5nZVJvd3MuZW1pdChlKTtcclxuICB9XHJcbiAgb25Db25maXJtU2hvdyhlKTogdm9pZHtcclxuICAgIHRoaXMuY29uZmlybS5zaG93KHRoaXMudGFibGUubChlLmFjdGlvbiArICdDb25maXJtJyksIGUudXJsLCBlLmRhdGEsIGUuYWNjZXB0KTtcclxuICB9XHJcbiAgY2hhbmdlU29ydChlLCBzOiBzdHJpbmcpOiB2b2lke1xyXG4gICAgaWYgKCQoZS50YXJnZXQpLmNsb3Nlc3QoJy5oZWFkZXItc2VhcmNoJykuaGFzQ2xhc3MoJ2hlYWRlci1zZWFyY2gnKSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGFibGUuc29ydFR5cGUgPSB0aGlzLnRhYmxlLnNvcnQgPT09IHMgPyB0aGlzLnRhYmxlLnNvcnRUeXBlID09PSAnQVNDJyA/ICdERVNDJyA6IG51bGwgOiAnQVNDJztcclxuICAgIHRoaXMudGFibGUuc29ydCA9IHRoaXMudGFibGUuc29ydFR5cGUgPT0gbnVsbCA/IG51bGwgOiBzO1xyXG4gICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgfVxyXG4gIGdldE1vZGFscygpOiBNb2RhbENsYXNzW117XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5vcHRpb25zQWN0aW9ucy5maWx0ZXIoeCA9PiB4IGluc3RhbmNlb2YgTW9kYWxDbGFzcyk7XHJcbiAgfVxyXG4gIGhpZGVFeHBlcnRTZWFyY2goZSk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggJiYgJChlLnRhcmdldCkuaGFzQ2xhc3MoJ3NlYXJjaC1mb3JtJykpXHJcbiAgICB7XHJcbiAgICAgICQodGhpcy50YWJsZURpdi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygnc2hvdy1leHBlcnQtc2VhcmNoJyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|