@datagrok-libraries/utils 2.3.4 → 2.4.0
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/README.md +8 -8
- package/css/rich-function-view.css +4 -0
- package/package.json +2 -1
- package/src/function-view.d.ts +1 -4
- package/src/function-view.d.ts.map +1 -1
- package/src/function-view.js +2 -3
- package/src/history-utils.d.ts +9 -2
- package/src/history-utils.d.ts.map +1 -1
- package/src/history-utils.js +38 -3
- package/src/pipeline-view.d.ts +29 -0
- package/src/pipeline-view.d.ts.map +1 -0
- package/src/pipeline-view.js +98 -0
- package/src/rich-function-view.d.ts +13 -1
- package/src/rich-function-view.d.ts.map +1 -1
- package/src/rich-function-view.js +167 -89
- package/src/shared-components/file-input.js +1 -1
- package/src/shared-components/history-panel.d.ts.map +1 -1
- package/src/shared-components/history-panel.js +3 -1
- package/tsconfig.json +1 -1
|
@@ -130,4 +130,4 @@ export class FileInput {
|
|
|
130
130
|
ui.empty(this.root);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGUtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0QyxPQUFPLEVBQUMsZUFBZSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTywwQkFBMEIsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsbUVBQW1FLENBQUM7QUFFbkcsTUFBTSxPQUFPLFNBQVM7SUFnQnBCLFlBQ1MsY0FBYyxrQkFBa0IsRUFDaEMsZUFBNEIsSUFBSSxFQUNoQyxpQkFBa0MsSUFBSSxFQUN0QyxXQUFXLGVBQWU7UUFIMUIsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFuQm5DLGlCQUFpQjtRQUNWLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUNsRCxzQ0FBc0M7UUFDL0IsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBQ25ELHlCQUF5QjtRQUNsQixTQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFvQjtRQUNiLGVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBUSxDQUFDO1FBRW5DLGlCQUFZLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsU0FBSSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFD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SUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxLQUFLO1FBQ1gsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCBWYWxpZGF0aW9uIGZyb20gJy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0ICcuLi8uLi9jc3MvZmlsZS1pbnB1dC5jc3MnO1xuXG5leHBvcnQgY29uc3QgRVhDRUxfQkxPQl9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JztcblxuZXhwb3J0IGNsYXNzIEZpbGVJbnB1dCB7XG4gIC8vIGV2ZW50cyB0byBlbWl0XG4gIHB1YmxpYyB1cGxvYWRlZEZpbGUkID0gbmV3IFN1YmplY3Q8RmlsZSB8IG51bGw+KCk7XG4gIC8vIHNhbWUgZXZlbnQgYXMgYWJvdmUgYnV0IGluIERHLXN0eWxlXG4gIHB1YmxpYyBvbkZpbGVVcGxvYWRlZCA9IG5ldyBTdWJqZWN0PEZpbGUgfCBudWxsPigpO1xuICAvLyBIVE1MIHJvb3Qgb2YgY29tcG9uZW50XG4gIHB1YmxpYyByb290ID0gdWkuZGl2KCk7XG4gIC8vIFZhbGlkYXRpb24gb2JqZWN0XG4gIHB1YmxpYyB2YWxpZGF0aW9uID0gbmV3IFZhbGlkYXRpb248RmlsZT4oKTtcblxuICBwcml2YXRlIHZpc2libGVJbnB1dCA9IHVpLnN0cmluZ0lucHV0KCdJbnB1dCBmaWxlJywgdGhpcy5pbml0aWFsVGV4dCwgbnVsbCk7XG4gIHByaXZhdGUgaGlkZGVuSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICBwcml2YXRlIGljb24gPSB1aS5pY29uRkEoJ2Nsb3VkLXVwbG9hZCcsICgpID0+IHRoaXMuaGlkZGVuSW5wdXQuY2xpY2soKSk7XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaW5pdGlhbFRleHQgPSAnRHJhZy1uLWRyb3AgaGVyZScsXG4gICAgcHVibGljIGluaXRpYWxWYWx1ZTogRmlsZSB8IG51bGwgPSBudWxsLFxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlZDogRnVuY3Rpb24gfCBudWxsID0gbnVsbCxcbiAgICBwdWJsaWMgZmlsZVR5cGUgPSBFWENFTF9CTE9CX1RZUEVcbiAgKSB7XG4gICAgdGhpcy5kcmF3KCk7XG5cbiAgICB0aGlzLmlzVmFsaWQuc3Vic2NyaWJlKChpc1ZhbGlkKSA9PiB7XG4gICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICB0aGlzLnZpc2libGVJbnB1dC5pbnB1dC5jbGFzc0xpc3QucmVtb3ZlKCdlcnJvcicpO1xuICAgICAgICB0aGlzLnZpc2libGVJbnB1dC5pbnB1dC5jbGFzc0xpc3QuYWRkKCdzdWNjZXNzJyk7XG4gICAgICAgIGNvbnN0IG5ld0ljb24gPSB1aS5pY29uRkEoJ3RpbWVzJywgKCkgPT4gdGhpcy5yZXNldCgpKTtcbiAgICAgICAgdGhpcy5pY29uLnJlcGxhY2VXaXRoKG5ld0ljb24pO1xuICAgICAgICB0aGlzLmljb24gPSBuZXdJY29uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZSgnc3VjY2VzcycpO1xuICAgICAgICB0aGlzLnZpc2libGVJbnB1dC5pbnB1dC5jbGFzc0xpc3QuYWRkKCdlcnJvcicpO1xuICAgICAgICBjb25zdCBuZXdJY29uID0gdWkuaWNvbkZBKCdyZWRvJywgKCkgPT4gdGhpcy5oaWRkZW5JbnB1dC5jbGljaygpKTtcbiAgICAgICAgdGhpcy5pY29uLnJlcGxhY2VXaXRoKG5ld0ljb24pO1xuICAgICAgICB0aGlzLmljb24gPSBuZXdJY29uO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy51cGxvYWRlZEZpbGUkLnN1YnNjcmliZSgoZmlsZSkgPT4gdGhpcy5vbkZpbGVVcGxvYWRlZC5uZXh0KGZpbGUpKTtcblxuICAgIGlmIChvblZhbHVlQ2hhbmdlZClcbiAgICAgIHRoaXMudXBsb2FkZWRGaWxlJC5zdWJzY3JpYmUoKG5ld1ZhbHVlOiBhbnkpID0+IG9uVmFsdWVDaGFuZ2VkKG5ld1ZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIGRyYXcoKSB7XG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgY29uc3QgY3JlYXRlRmlsZUFyZWEgPSAoKSA9PiB7XG4gICAgICAodGhpcy52aXNpYmxlSW5wdXQuaW5wdXQgYXMgSFRNTElucHV0RWxlbWVudCkucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZGVmYXVsdCcpO1xuXG4gICAgICBjb25zdCBoYW5kbGVGaWxlcyA9IGFzeW5jIChmaWxlczogRmlsZUxpc3QgfCBudWxsKSA9PiB7XG4gICAgICAgIGlmICghZmlsZXMgfHwgIWZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMudXBsb2FkZWRGaWxlJC5uZXh0KG51bGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdGhpcy5pc1ZhbGlkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHNwZWNpZnkgc2luZ2xlIGlucHV0IGZpbGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LnZhbHVlID0gZmlsZXNbMF0ubmFtZTtcbiAgICAgICAgaWYgKGZpbGVzWzBdLnR5cGUgIT09IHRoaXMuZmlsZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLmlzVmFsaWQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1ZhbGlkLm5leHQoYXdhaXQgdGhpcy52YWxpZGF0aW9uLnZhbGlkYXRlKGZpbGVzWzBdKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZC52YWx1ZSlcbiAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSQubmV4dChmaWxlc1swXSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSQubmV4dChudWxsKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudmlzaWJsZUlucHV0LnJvb3QuY2xhc3NMaXN0LmFkZCgnY3YtZHJvcC1hcmVhJyk7XG4gICAgICB0aGlzLnZpc2libGVJbnB1dC5yb290LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuXG4gICAgICAvLyBoaWRkZW4gaW5wdXQgdG8gaGFuZGxlIGZpbGUgZGlhbG9nXG5cbiAgICAgIHRoaXMuaGlkZGVuSW5wdXQudHlwZSA9ICdmaWxlJztcbiAgICAgIHRoaXMuaGlkZGVuSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgYXN5bmMgKCkgPT4gYXdhaXQgaGFuZGxlRmlsZXModGhpcy5oaWRkZW5JbnB1dC5maWxlcyksIGZhbHNlKTtcblxuICAgICAgLy8gUHJldmVudCBkZWZhdWx0IGRyYWcgYmVoYXZpb3JzXG4gICAgICBbJ2RyYWdlbnRlcicsICdkcmFnb3ZlcicsICdkcmFnbGVhdmUnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgICB0aGlzLnZpc2libGVJbnB1dC5pbnB1dC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfSwgZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICAgIFsnZHJhZ2VudGVyJywgJ2RyYWdvdmVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZHJhZy1uLWRyb3BwaW5nJyk7XG4gICAgICAgIH0sIGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICBbJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZy1uLWRyb3BwaW5nJyk7XG4gICAgICAgIH0sIGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBIYW5kbGUgZHJvcHBlZCBmaWxlc1xuICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGFzeW5jIChlOiBEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZHQgPSBlLmRhdGFUcmFuc2ZlcjtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBkdCEuZmlsZXM7XG4gICAgICAgIGhhbmRsZUZpbGVzKGZpbGVzKTtcbiAgICAgIH0sIGZhbHNlKTtcblxuICAgICAgLy8gUGFzcyBjbGlja3MgdG8gaGlkZGVuIGZpbGUgaW5wdXRcbiAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5oaWRkZW5JbnB1dC5jbGljaygpLCBmYWxzZSk7XG4gICAgICB0aGlzLnZpc2libGVJbnB1dC5yb290LmFwcGVuZCh1aS5kaXYodGhpcy5pY29uLCAnaWNvbicpKTtcblxuICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZUlucHV0O1xuICAgIH07XG5cbiAgICBbJ2RyYWcnLCAnZHJhZ2VudGVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdsYXlvdXQtd29ya2FyZWEnKVswXS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0sIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMucm9vdC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgIHRoaXMucm9vdC5hcHBlbmQoY3JlYXRlRmlsZUFyZWEoKS5yb290KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnZhbHVlID0gJ3VpLWlucHV0LWVkaXRvciBkZWZhdWx0JztcbiAgICBjb25zdCBuZXdJY29uID0gdWkuaWNvbkZBKCdjbG91ZC11cGxvYWQnLCAoKSA9PiB0aGlzLmhpZGRlbklucHV0LmNsaWNrKCkpO1xuICAgIHRoaXMuaWNvbi5yZXBsYWNlV2l0aChuZXdJY29uKTtcbiAgICB0aGlzLmljb24gPSBuZXdJY29uO1xuICAgIHRoaXMudmlzaWJsZUlucHV0LnZhbHVlID0gJ0RyYWctbi1kcm9wIGhlcmUnO1xuICAgIHRoaXMuaGlkZGVuSW5wdXQudmFsdWUgPSAnJztcbiAgICB0aGlzLnVwbG9hZGVkRmlsZSQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXIoKSB7XG4gICAgdWkuZW1wdHkodGhpcy5yb290KTtcbiAgfVxufVxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGUtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0QyxPQUFPLEVBQUMsZUFBZSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTywwQkFBMEIsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsbUVBQW1FLENBQUM7QUFFbkcsTUFBTSxPQUFPLFNBQVM7SUFnQnBCLFlBQ1MsY0FBYyxrQkFBa0IsRUFDaEMsZUFBNEIsSUFBSSxFQUNoQyxpQkFBa0MsSUFBSSxFQUN0QyxXQUFXLGVBQWU7UUFIMUIsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFuQm5DLGlCQUFpQjtRQUNWLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUNsRCxzQ0FBc0M7UUFDL0IsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBQ25ELHlCQUF5QjtRQUNsQixTQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFvQjtRQUNiLGVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBUSxDQUFDO1FBRW5DLGlCQUFZLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsU0FBSSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVqRSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFRbkQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNqRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV2RSxJQUFJLGNBQWM7WUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUViLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQTBCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWpELE1BQU0sV0FBVyxHQUFHLENBQU8sS0FBc0IsRUFBRSxFQUFFO2dCQUNuRCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtvQkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzlCLE9BQU87aUJBQ1I7Z0JBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztpQkFDckQ7Z0JBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7aUJBQy9DO2dCQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFNUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7b0JBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztvQkFFbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFBLENBQUM7WUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBRTVDLHFDQUFxQztZQUVyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsR0FBUyxFQUFFLGdEQUFDLE9BQUEsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQSxHQUFBLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFMUcsaUNBQWlDO1lBQ2pDLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ25FLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUN4RCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ1osQ0FBQyxDQUFDLENBQUM7WUFFSCxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtvQkFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUMzRCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztZQUVILENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO29CQUN2RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzlELENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1lBRUgsdUJBQXVCO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFPLENBQVksRUFBRSxFQUFFO2dCQUN0RSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUMxQixNQUFNLEtBQUssR0FBRyxFQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN4QixXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFBLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFVixtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBRXpELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQixDQUFDLENBQUM7UUFFRixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUMxQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdEYsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sS0FBSztRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcseUJBQXlCLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sS0FBSztRQUNYLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgVmFsaWRhdGlvbiBmcm9tICcuLi92YWxpZGF0aW9uJztcbmltcG9ydCAnLi4vLi4vY3NzL2ZpbGUtaW5wdXQuY3NzJztcblxuZXhwb3J0IGNvbnN0IEVYQ0VMX0JMT0JfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlSW5wdXQge1xuICAvLyBldmVudHMgdG8gZW1pdFxuICBwdWJsaWMgdXBsb2FkZWRGaWxlJCA9IG5ldyBTdWJqZWN0PEZpbGUgfCBudWxsPigpO1xuICAvLyBzYW1lIGV2ZW50IGFzIGFib3ZlIGJ1dCBpbiBERy1zdHlsZVxuICBwdWJsaWMgb25GaWxlVXBsb2FkZWQgPSBuZXcgU3ViamVjdDxGaWxlIHwgbnVsbD4oKTtcbiAgLy8gSFRNTCByb290IG9mIGNvbXBvbmVudFxuICBwdWJsaWMgcm9vdCA9IHVpLmRpdigpO1xuICAvLyBWYWxpZGF0aW9uIG9iamVjdFxuICBwdWJsaWMgdmFsaWRhdGlvbiA9IG5ldyBWYWxpZGF0aW9uPEZpbGU+KCk7XG5cbiAgcHJpdmF0ZSB2aXNpYmxlSW5wdXQgPSB1aS5zdHJpbmdJbnB1dCgnSW5wdXQgZmlsZScsIHRoaXMuaW5pdGlhbFRleHQsIG51bGwpO1xuICBwcml2YXRlIGhpZGRlbklucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgcHJpdmF0ZSBpY29uID0gdWkuaWNvbkZBKCdjbG91ZC11cGxvYWQnLCAoKSA9PiB0aGlzLmhpZGRlbklucHV0LmNsaWNrKCkpO1xuXG4gIHByaXZhdGUgaXNWYWxpZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGluaXRpYWxUZXh0ID0gJ0RyYWctbi1kcm9wIGhlcmUnLFxuICAgIHB1YmxpYyBpbml0aWFsVmFsdWU6IEZpbGUgfCBudWxsID0gbnVsbCxcbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZWQ6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGwsXG4gICAgcHVibGljIGZpbGVUeXBlID0gRVhDRUxfQkxPQl9UWVBFXG4gICkge1xuICAgIHRoaXMuZHJhdygpO1xuXG4gICAgdGhpcy5pc1ZhbGlkLnN1YnNjcmliZSgoaXNWYWxpZCkgPT4ge1xuICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZSgnZXJyb3InKTtcbiAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnc3VjY2VzcycpO1xuICAgICAgICBjb25zdCBuZXdJY29uID0gdWkuaWNvbkZBKCd0aW1lcycsICgpID0+IHRoaXMucmVzZXQoKSk7XG4gICAgICAgIHRoaXMuaWNvbi5yZXBsYWNlV2l0aChuZXdJY29uKTtcbiAgICAgICAgdGhpcy5pY29uID0gbmV3SWNvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Y2Nlc3MnKTtcbiAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZXJyb3InKTtcbiAgICAgICAgY29uc3QgbmV3SWNvbiA9IHVpLmljb25GQSgncmVkbycsICgpID0+IHRoaXMuaGlkZGVuSW5wdXQuY2xpY2soKSk7XG4gICAgICAgIHRoaXMuaWNvbi5yZXBsYWNlV2l0aChuZXdJY29uKTtcbiAgICAgICAgdGhpcy5pY29uID0gbmV3SWNvbjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMudXBsb2FkZWRGaWxlJC5zdWJzY3JpYmUoKGZpbGUpID0+IHRoaXMub25GaWxlVXBsb2FkZWQubmV4dChmaWxlKSk7XG5cbiAgICBpZiAob25WYWx1ZUNoYW5nZWQpXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZSQuc3Vic2NyaWJlKChuZXdWYWx1ZTogRmlsZSB8IG51bGwpID0+IG9uVmFsdWVDaGFuZ2VkKG5ld1ZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIGRyYXcoKSB7XG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgY29uc3QgY3JlYXRlRmlsZUFyZWEgPSAoKSA9PiB7XG4gICAgICAodGhpcy52aXNpYmxlSW5wdXQuaW5wdXQgYXMgSFRNTElucHV0RWxlbWVudCkucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZGVmYXVsdCcpO1xuXG4gICAgICBjb25zdCBoYW5kbGVGaWxlcyA9IGFzeW5jIChmaWxlczogRmlsZUxpc3QgfCBudWxsKSA9PiB7XG4gICAgICAgIGlmICghZmlsZXMgfHwgIWZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMudXBsb2FkZWRGaWxlJC5uZXh0KG51bGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdGhpcy5pc1ZhbGlkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHNwZWNpZnkgc2luZ2xlIGlucHV0IGZpbGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LnZhbHVlID0gZmlsZXNbMF0ubmFtZTtcbiAgICAgICAgaWYgKGZpbGVzWzBdLnR5cGUgIT09IHRoaXMuZmlsZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLmlzVmFsaWQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1ZhbGlkLm5leHQoYXdhaXQgdGhpcy52YWxpZGF0aW9uLnZhbGlkYXRlKGZpbGVzWzBdKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZC52YWx1ZSlcbiAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSQubmV4dChmaWxlc1swXSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSQubmV4dChudWxsKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudmlzaWJsZUlucHV0LnJvb3QuY2xhc3NMaXN0LmFkZCgnY3YtZHJvcC1hcmVhJyk7XG4gICAgICB0aGlzLnZpc2libGVJbnB1dC5yb290LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuXG4gICAgICAvLyBoaWRkZW4gaW5wdXQgdG8gaGFuZGxlIGZpbGUgZGlhbG9nXG5cbiAgICAgIHRoaXMuaGlkZGVuSW5wdXQudHlwZSA9ICdmaWxlJztcbiAgICAgIHRoaXMuaGlkZGVuSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgYXN5bmMgKCkgPT4gYXdhaXQgaGFuZGxlRmlsZXModGhpcy5oaWRkZW5JbnB1dC5maWxlcyksIGZhbHNlKTtcblxuICAgICAgLy8gUHJldmVudCBkZWZhdWx0IGRyYWcgYmVoYXZpb3JzXG4gICAgICBbJ2RyYWdlbnRlcicsICdkcmFnb3ZlcicsICdkcmFnbGVhdmUnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgICB0aGlzLnZpc2libGVJbnB1dC5pbnB1dC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfSwgZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICAgIFsnZHJhZ2VudGVyJywgJ2RyYWdvdmVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZHJhZy1uLWRyb3BwaW5nJyk7XG4gICAgICAgIH0sIGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICBbJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZy1uLWRyb3BwaW5nJyk7XG4gICAgICAgIH0sIGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBIYW5kbGUgZHJvcHBlZCBmaWxlc1xuICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGFzeW5jIChlOiBEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZHQgPSBlLmRhdGFUcmFuc2ZlcjtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBkdCEuZmlsZXM7XG4gICAgICAgIGhhbmRsZUZpbGVzKGZpbGVzKTtcbiAgICAgIH0sIGZhbHNlKTtcblxuICAgICAgLy8gUGFzcyBjbGlja3MgdG8gaGlkZGVuIGZpbGUgaW5wdXRcbiAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5oaWRkZW5JbnB1dC5jbGljaygpLCBmYWxzZSk7XG4gICAgICB0aGlzLnZpc2libGVJbnB1dC5yb290LmFwcGVuZCh1aS5kaXYodGhpcy5pY29uLCAnaWNvbicpKTtcblxuICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZUlucHV0O1xuICAgIH07XG5cbiAgICBbJ2RyYWcnLCAnZHJhZ2VudGVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdsYXlvdXQtd29ya2FyZWEnKVswXS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0sIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMucm9vdC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgIHRoaXMucm9vdC5hcHBlbmQoY3JlYXRlRmlsZUFyZWEoKS5yb290KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnZhbHVlID0gJ3VpLWlucHV0LWVkaXRvciBkZWZhdWx0JztcbiAgICBjb25zdCBuZXdJY29uID0gdWkuaWNvbkZBKCdjbG91ZC11cGxvYWQnLCAoKSA9PiB0aGlzLmhpZGRlbklucHV0LmNsaWNrKCkpO1xuICAgIHRoaXMuaWNvbi5yZXBsYWNlV2l0aChuZXdJY29uKTtcbiAgICB0aGlzLmljb24gPSBuZXdJY29uO1xuICAgIHRoaXMudmlzaWJsZUlucHV0LnZhbHVlID0gJ0RyYWctbi1kcm9wIGhlcmUnO1xuICAgIHRoaXMuaGlkZGVuSW5wdXQudmFsdWUgPSAnJztcbiAgICB0aGlzLnVwbG9hZGVkRmlsZSQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXIoKSB7XG4gICAgdWkuZW1wdHkodGhpcy5yb290KTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-panel.d.ts","sourceRoot":"","sources":["history-panel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAkB,OAAO,EAAC,MAAM,MAAM,CAAC;AAE9C,OAAO,6BAA6B,CAAC;AAErC,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;CAQ5B,CAAC;AAiDF,qBAAa,YAAY;IAsTrB,OAAO,CAAC,IAAI;IApTP,WAAW,kBAAyB;IAGpC,uBAAuB,uBAA8B;IAGrD,oBAAoB,uBAA8B;IAGlD,4BAA4B,uBAA8B;IAG1D,yBAAyB,uBAA8B;IAGvD,gBAAgB,kBAAyB;IAGzC,sBAAsB,uBAA8B;IAGpD,mBAAmB,uBAA8B;IAGjD,2BAA2B,uBAA8B;IAGzD,wBAAwB,uBAA8B;IAGtD,eAAe,kBAAyB;IAE/C,OAAO,CAAC,KAAK,CAA2B;IAExC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAAuB;IAExC,YAAY,gBAAuB;IAE1C,UAAU,iBAAY;IACtB,MAAM,iBAAY;IAClB,SAAS,iBAAY;IACrB,IAAI,gBAID;IACH,UAAU,iBAAY;IAEtB,OAAO,CAAC,KAAK,CAOgC;IAE7C,OAAO,gBAAuB;IAC9B,aAAa,gBAAuB;IACpC,WAAW,gBAAuB;IAElC,gBAAgB;IAkEhB,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;IASzC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,EAAE;IAM1C,mBAAmB,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE;IAM/C,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE;IAMlC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;IA8DhC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;IA0EpC,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE;IAK5C,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE;IAK1C,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE;gBAMjC,IAAI,EAAE,EAAE,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"history-panel.d.ts","sourceRoot":"","sources":["history-panel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAkB,OAAO,EAAC,MAAM,MAAM,CAAC;AAE9C,OAAO,6BAA6B,CAAC;AAErC,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;CAQ5B,CAAC;AAiDF,qBAAa,YAAY;IAsTrB,OAAO,CAAC,IAAI;IApTP,WAAW,kBAAyB;IAGpC,uBAAuB,uBAA8B;IAGrD,oBAAoB,uBAA8B;IAGlD,4BAA4B,uBAA8B;IAG1D,yBAAyB,uBAA8B;IAGvD,gBAAgB,kBAAyB;IAGzC,sBAAsB,uBAA8B;IAGpD,mBAAmB,uBAA8B;IAGjD,2BAA2B,uBAA8B;IAGzD,wBAAwB,uBAA8B;IAGtD,eAAe,kBAAyB;IAE/C,OAAO,CAAC,KAAK,CAA2B;IAExC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAAuB;IAExC,YAAY,gBAAuB;IAE1C,UAAU,iBAAY;IACtB,MAAM,iBAAY;IAClB,SAAS,iBAAY;IACrB,IAAI,gBAID;IACH,UAAU,iBAAY;IAEtB,OAAO,CAAC,KAAK,CAOgC;IAE7C,OAAO,gBAAuB;IAC9B,aAAa,gBAAuB;IACpC,WAAW,gBAAuB;IAElC,gBAAgB;IAkEhB,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;IASzC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,EAAE;IAM1C,mBAAmB,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE;IAM/C,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE;IAMlC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;IA8DhC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;IA0EpC,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE;IAK5C,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE;IAK1C,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE;gBAMjC,IAAI,EAAE,EAAE,CAAC,IAAI;YAmET,iBAAiB;YASjB,sBAAsB;YAWtB,cAAc;YA4Bd,mBAAmB;IAWjC,IAAW,IAAI,mBAEd;CACF"}
|
|
@@ -126,8 +126,10 @@ export class HistoryPanel {
|
|
|
126
126
|
this.updateSharedPane(this.store.filteredSharedRuns);
|
|
127
127
|
});
|
|
128
128
|
this.allRunsFetch.subscribe(() => __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
ui.setUpdateIndicator(this.root, true);
|
|
129
130
|
const allRuns = (yield historyUtils.pullRunsByName(this.func.name, [], { order: 'started' }, ['session.user', 'options'])).reverse();
|
|
130
131
|
this.store.allRuns.next(allRuns);
|
|
132
|
+
ui.setUpdateIndicator(this.root, false);
|
|
131
133
|
}));
|
|
132
134
|
const clearMetadata = (funcCall) => {
|
|
133
135
|
if (!funcCall.options['isFavorite'] && !funcCall.options['isShared']) {
|
|
@@ -438,4 +440,4 @@ export class HistoryPanel {
|
|
|
438
440
|
return this._root;
|
|
439
441
|
}
|
|
440
442
|
}
|
|
441
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhpc3RvcnktcGFuZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsNEJBQTRCO0FBQzVCLE9BQU8sS0FBSyxJQUFJLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sNkJBQTZCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxzQ0FBc0M7SUFDOUMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxRQUFRLEVBQUUsc0NBQXNDO0NBQ2pELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixXQUFXLEVBQUUsc0NBQXNDO0lBQ25ELFlBQVksRUFBRSxzQ0FBc0M7SUFDcEQsZ0JBQWdCLEVBQUUsc0NBQXNDO0lBQ3hELE1BQU0sRUFBRSxzQ0FBc0M7SUFDOUMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxRQUFRLEVBQUUsc0NBQXNDO0lBQ2hELGdCQUFnQixFQUFFLHNDQUFzQztDQUN6RCxDQUFDO0FBRUYsTUFBTSxpQkFBaUI7SUFBdkI7UUFDRSxxQkFBZ0IsR0FBRyxFQUFDLElBQUksRUFBRSxFQUFFLEVBSTNCLENBQUM7UUFFRixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBc0NuRCxDQUFDO0lBcENDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFB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SSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7S0FBQTtJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB3dSBmcm9tICd3dSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2hpc3RvcnlVdGlsc30gZnJvbSAnLi4vaGlzdG9yeS11dGlscyc7XG5pbXBvcnQgJy4uLy4uL2Nzcy9oaXN0b3J5LXBhbmVsLmNzcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VXNlcnNJZHMgPSB7XG4gICdUZXN0JzogJ2NhMWU2NzJlLWUzYmUtNDBlMC1iNzliLWQyYzY4ZTY4ZDM4MCcsXG4gICdBZG1pbic6ICc4NzhjNDJiMC05YTUwLTExZTYtYzUzNy02YmY4ZTlhYjAyZWUnLFxuICAnU3lzdGVtJzogJzNlMzJjNWZhLWFjOWMtNGQzOS04YjRiLTRkYjNlNTc2YjNjMycsXG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3Vwc0lkcyA9IHtcbiAgJ0FsbCB1c2Vycyc6ICdhNGI0NTg0MC05YTUwLTExZTYtOWNjOS04NTQ2YjhiZjYyZTYnLFxuICAnRGV2ZWxvcGVycyc6ICdiYTljZDE5MS05YTUwLTExZTYtOWNjOS05MTBiZjgyN2YwYWInLFxuICAnTmVlZCB0byBjcmVhdGUnOiAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwJyxcbiAgJ1Rlc3QnOiAnY2ExZTY3MmUtZTNiZS00MGUwLWI3OWItODU0NmI4YmY2MmU2JyxcbiAgJ0FkbWluJzogJ2E0YjQ1ODQwLTlhNTAtMTFlNi1jNTM3LTZiZjhlOWFiMDJlZScsXG4gICdTeXN0ZW0nOiAnYTRiNDU4NDAtYWM5Yy00ZDM5LThiNGItNGRiM2U1NzZiM2MzJyxcbiAgJ0FkbWluaXN0cmF0b3JzJzogJzFhYjhiMzhkLTljNGUtNGIxZS04MWMzLWFlMmJkZTNlMTJjNScsXG59O1xuXG5jbGFzcyBIaXN0b3J5UGFuZWxTdG9yZSB7XG4gIGZpbHRlcmluZ09wdGlvbnMgPSB7dGV4dDogJyd9IGFzIHtcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgYXV0aG9yPzogREcuVXNlcixcbiAgICBzdGFydGVkQWZ0ZXI/OiBkYXlqcy5EYXlqcyxcbiAgfTtcblxuICBhbGxSdW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxERy5GdW5jQ2FsbFtdPihbXSk7XG5cbiAgZ2V0IG15UnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5hbGxSdW5zLnZhbHVlLmZpbHRlcigocnVuKSA9PiBydW4uYXV0aG9yLmlkID09PSBncm9rLnNoZWxsLnVzZXIuaWQpO1xuICB9XG5cbiAgZ2V0IGZhdm9yaXRlUnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5hbGxSdW5zLnZhbHVlLmZpbHRlcigocnVuKSA9PiBydW4ub3B0aW9uc1snaXNGYXZvcml0ZSddICYmICFydW4ub3B0aW9uc1snaXNJbXBvcnRlZCddKTtcbiAgfVxuXG4gIGdldCBzaGFyZWRSdW5zKCkge1xuICAgIHJldHVybiB0aGlzLmFsbFJ1bnMudmFsdWUuZmlsdGVyKChydW4pID0+IHJ1bi5vcHRpb25zWydpc1NoYXJlZCddKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJlZE15UnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5teVJ1bnMuZmlsdGVyKCh2YWwpID0+ICh0aGlzLmZpbHRlcmluZ09wdGlvbnMuc3RhcnRlZEFmdGVyID8gdmFsLnN0YXJ0ZWQgPiB0aGlzLmZpbHRlcmluZ09wdGlvbnMuc3RhcnRlZEFmdGVyIDogdHJ1ZSkpO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkRmF2b3JpdGVSdW5zKCkge1xuICAgIHJldHVybiB0aGlzLmZhdm9yaXRlUnVucy5maWx0ZXIoKHZhbCkgPT4ge1xuICAgICAgY29uc3Qgc3RhcnRlZEFmdGVyID0gKHRoaXMuZmlsdGVyaW5nT3B0aW9ucy5zdGFydGVkQWZ0ZXIgPyB2YWwuc3RhcnRlZCA+IHRoaXMuZmlsdGVyaW5nT3B0aW9ucy5zdGFydGVkQWZ0ZXIgOiB0cnVlKTtcbiAgICAgIGNvbnN0IHRpdGxlQ29udGFpbnNUZXh0ID0gKCF0aGlzLmZpbHRlcmluZ09wdGlvbnMudGV4dC5sZW5ndGgpID8gdHJ1ZSA6ICghIXZhbC5vcHRpb25zWyd0aXRsZSddKSA/IHZhbC5vcHRpb25zWyd0aXRsZSddLmluY2x1ZGVzKHRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0KTogZmFsc2U7XG4gICAgICBjb25zdCBkZXNjQ29udGFpbnNUZXh0ID0gKCF0aGlzLmZpbHRlcmluZ09wdGlvbnMudGV4dC5sZW5ndGgpID8gdHJ1ZSA6ICghIXZhbC5vcHRpb25zWydkZXNjcmlwdGlvbiddKSA/IHZhbC5vcHRpb25zWydkZXNjcmlwdGlvbiddLmluY2x1ZGVzKHRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0KTogZmFsc2U7XG5cbiAgICAgIHJldHVybiAodGl0bGVDb250YWluc1RleHQgfHwgZGVzY0NvbnRhaW5zVGV4dCkgJiYgc3RhcnRlZEFmdGVyO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkU2hhcmVkUnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZWRSdW5zLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBjb25zdCBpc0F1dGhvcmVkID0gdGhpcy5maWx0ZXJpbmdPcHRpb25zLmF1dGhvciA/IHZhbC5hdXRob3IuaWQgPT09IHRoaXMuZmlsdGVyaW5nT3B0aW9ucy5hdXRob3IuaWQ6IHRydWU7XG4gICAgICBjb25zdCBzdGFydGVkQWZ0ZXIgPSAodGhpcy5maWx0ZXJpbmdPcHRpb25zLnN0YXJ0ZWRBZnRlciA/IHZhbC5zdGFydGVkID4gdGhpcy5maWx0ZXJpbmdPcHRpb25zLnN0YXJ0ZWRBZnRlciA6IHRydWUpO1xuICAgICAgY29uc3QgdGl0bGVDb250YWluc1RleHQgPSAoIXRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0Lmxlbmd0aCkgPyB0cnVlIDogKCEhdmFsLm9wdGlvbnNbJ3RpdGxlJ10pID8gdmFsLm9wdGlvbnNbJ3RpdGxlJ10uaW5jbHVkZXModGhpcy5maWx0ZXJpbmdPcHRpb25zLnRleHQpOiBmYWxzZTtcbiAgICAgIGNvbnN0IGRlc2NDb250YWluc1RleHQgPSAoIXRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0Lmxlbmd0aCkgPyB0cnVlIDogKCEhdmFsLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10pID8gdmFsLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10uaW5jbHVkZXModGhpcy5maWx0ZXJpbmdPcHRpb25zLnRleHQpOiBmYWxzZTtcblxuICAgICAgcmV0dXJuICh0aXRsZUNvbnRhaW5zVGV4dCB8fCBkZXNjQ29udGFpbnNUZXh0KSAmJiBzdGFydGVkQWZ0ZXIgJiYgaXNBdXRob3JlZDtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSGlzdG9yeVBhbmVsIHtcbiAgLy8gRW1pdHRlZCB3aGVuIEZ1bmNDYWxsIHNob3VsZCBpcyBjaG9zZW4uIENvbnRhaW5zIEZ1bmNDYWxsIElEXG4gIHB1YmxpYyBvblJ1bkNob3NlbiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgYWRkZWQgdG8gZmF2b3JpdGVzXG4gIHB1YmxpYyBiZWZvcmVSdW5BZGRUb0Zhdm9yaXRlcyA9IG5ldyBTdWJqZWN0PERHLkZ1bmNDYWxsPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyBhZGRlZCB0byBzaGFyZWRcbiAgcHVibGljIGJlZm9yZVJ1bkFkZFRvU2hhcmVkID0gbmV3IFN1YmplY3Q8REcuRnVuY0NhbGw+KCk7XG5cbiAgLy8gRW1pdHRlZCB3aGVuIEZ1bmNDYWxsIGlzIHJlbW92ZWQgZnJvbSBmYXZvcml0ZXNcbiAgcHVibGljIGJlZm9yZVJ1blJlbW92ZUZyb21GYXZvcml0ZXMgPSBuZXcgU3ViamVjdDxERy5GdW5jQ2FsbD4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgcmVtb3ZlZCBmcm9tIHNoYXJlZFxuICBwdWJsaWMgYmVmb3JlUnVuUmVtb3ZlRnJvbVNoYXJlZCA9IG5ldyBTdWJqZWN0PERHLkZ1bmNDYWxsPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyBkZWxldGVkXG4gIHB1YmxpYyBiZWZvcmVSdW5EZWxldGVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyBhZGRlZCB0byBmYXZvcml0ZXNcbiAgcHVibGljIGFmdGVyUnVuQWRkVG9GYXZvcml0ZXMgPSBuZXcgU3ViamVjdDxERy5GdW5jQ2FsbD4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgYWRkZWQgdG8gc2hhcmVkXG4gIHB1YmxpYyBhZnRlclJ1bkFkZFRvU2hhcmVkID0gbmV3IFN1YmplY3Q8REcuRnVuY0NhbGw+KCk7XG5cbiAgLy8gRW1pdHRlZCB3aGVuIEZ1bmNDYWxsIGlzIHJlbW92ZWQgZnJvbSBmYXZvcml0ZXNcbiAgcHVibGljIGFmdGVyUnVuUmVtb3ZlRnJvbUZhdm9yaXRlcyA9IG5ldyBTdWJqZWN0PERHLkZ1bmNDYWxsPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyByZW1vdmVkIGZyb20gc2hhcmVkXG4gIHB1YmxpYyBhZnRlclJ1blJlbW92ZUZyb21TaGFyZWQgPSBuZXcgU3ViamVjdDxERy5GdW5jQ2FsbD4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgZGVsZXRlZFxuICBwdWJsaWMgYWZ0ZXJSdW5EZWxldGVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgc3RvcmUgPSBuZXcgSGlzdG9yeVBhbmVsU3RvcmUoKTtcblxuICBwcml2YXRlIG15UnVuc0ZpbHRlciA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG4gIHByaXZhdGUgZmF2UnVuc0ZpbHRlciA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG4gIHByaXZhdGUgc2hhcmVkUnVuc0ZpbHRlciA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG5cbiAgcHVibGljIGFsbFJ1bnNGZXRjaCA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG5cbiAgaGlzdG9yeVRhYiA9IHVpLmRpdigpO1xuICBmYXZUYWIgPSB1aS5kaXYoKTtcbiAgc2hhcmVkVGFiID0gdWkuZGl2KCk7XG4gIHRhYnMgPSB1aS50YWJDb250cm9sKHtcbiAgICAnSElTVE9SWSc6IHVpLmJveCh0aGlzLmhpc3RvcnlUYWIpLFxuICAgICdGQVZPUklURVMnOiB1aS5ib3godGhpcy5mYXZUYWIpLFxuICAgICdTSEFSRUQnOiB1aS5ib3godGhpcy5zaGFyZWRUYWIpLFxuICB9KTtcbiAgZmlsdGVyUGFuZSA9IHVpLmRpdigpO1xuXG4gIHByaXZhdGUgX3Jvb3QgPSB1aS5kaXZWKFtcbiAgICB1aS5wYW5lbChbXG4gICAgICB1aS5oMignSGlzdG9yeScpLFxuICAgICAgdGhpcy5maWx0ZXJQYW5lLFxuICAgIF0pLFxuICAgIHVpLmVsZW1lbnQoJ2RpdicsICdzcGxpdGJhci1ob3Jpem9udGFsJyksXG4gICAgdGhpcy50YWJzLnJvb3QsXG4gIF0sIHtzdHlsZToge3dpZHRoOiAnMTAwJScsIGhlaWdodDogJzEwMCUnfX0pO1xuXG4gIG15Q2FyZHMgPSBbXSBhcyBIVE1MRWxlbWVudFtdO1xuICBmYXZvcml0ZUNhcmRzID0gW10gYXMgSFRNTEVsZW1lbnRbXTtcbiAgc2hhcmVkQ2FyZHMgPSBbXSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIHVwZGF0ZUZpbHRlclBhbmUoKSB7XG4gICAgY29uc3QgYnVpbGRGaWx0ZXJQYW5lID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHVpLndhaXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJpbmdUZXh0ID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICBjb25zdCB0ZXh0SW5wdXQgPSB1aS5zdHJpbmdJbnB1dCgnU2VhcmNoJywgJycsICh2OiBzdHJpbmcpID0+IGZpbHRlcmluZ1RleHQubmV4dCh2KSk7XG4gICAgICAgIHRleHRJbnB1dC5yb290LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIERHLmRlYm91bmNlKGZpbHRlcmluZ1RleHQuYXNPYnNlcnZhYmxlKCksIDYwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmZpbHRlcmluZ09wdGlvbnMudGV4dCA9IHRleHRJbnB1dC5zdHJpbmdWYWx1ZTtcbiAgICAgICAgICB0aGlzLmZhdlJ1bnNGaWx0ZXIubmV4dCgpO1xuICAgICAgICAgIHRoaXMuc2hhcmVkUnVuc0ZpbHRlci5uZXh0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGRhdGVJbnB1dCA9IHVpLmRhdGVJbnB1dCgnU3RhcnRlZCBhZnRlcicsIGRheWpzKCkuc3VidHJhY3QoMSwgJ3dlZWsnKSwgKHY6IGRheWpzLkRheWpzKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5maWx0ZXJpbmdPcHRpb25zLnN0YXJ0ZWRBZnRlciA9IHY7XG4gICAgICAgICAgdGhpcy5teVJ1bnNGaWx0ZXIubmV4dCgpO1xuICAgICAgICAgIHRoaXMuZmF2UnVuc0ZpbHRlci5uZXh0KCk7XG4gICAgICAgICAgdGhpcy5zaGFyZWRSdW5zRmlsdGVyLm5leHQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdFVzZXJzID0gT2JqZWN0LnZhbHVlcyhkZWZhdWx0VXNlcnNJZHMpO1xuICAgICAgICBjb25zdCBhbGxVc2VycyA9IGF3YWl0IGdyb2suZGFwaS51c2Vycy5saXN0KCkgYXMgREcuVXNlcltdO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZFVzZXJzID0gYWxsVXNlcnMuZmlsdGVyKCh1c2VyKSA9PiAhZGVmYXVsdFVzZXJzLmluY2x1ZGVzKHVzZXIuaWQpKTtcblxuICAgICAgICBjb25zdCBhdXRob3JJbnB1dCA9IHVpLmNob2ljZUlucHV0PERHLlVzZXIgfCBzdHJpbmc+KCdBdXRob3InLCAnQW55b25lJywgWydBbnlvbmUnLCAuLi5maWx0ZXJlZFVzZXJzXSwgKHY6IERHLlVzZXIgfCBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmZpbHRlcmluZ09wdGlvbnMuYXV0aG9yID0gKHYgPT09ICdBbnlvbmUnKSA/IHVuZGVmaW5lZCA6IHYgYXMgREcuVXNlcjtcbiAgICAgICAgICB0aGlzLnNoYXJlZFJ1bnNGaWx0ZXIubmV4dCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgYXV0aG9ySW5wdXQucm9vdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgIGRhdGVJbnB1dC5hZGRQYXR0ZXJuTWVudSgnZGF0ZXRpbWUnKTtcbiAgICAgICAgY29uc3QgZm9ybSA9IHVpLmRpdlYoW1xuICAgICAgICAgIHRleHRJbnB1dCxcbiAgICAgICAgICBkYXRlSW5wdXQsXG4gICAgICAgICAgYXV0aG9ySW5wdXQsXG4gICAgICAgIF0sICd1aS1mb3JtIHVpLWZvcm0td2lkZSB1aS1mb3JtLWxlZnQnKTtcbiAgICAgICAgZm9ybS5zdHlsZS5wYWRkaW5nID0gJzBweCc7XG5cbiAgICAgICAgdGhpcy50YWJzLm9uVGFiQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRUYWJOYW1lID0gdGhpcy50YWJzLmN1cnJlbnRQYW5lLm5hbWU7XG4gICAgICAgICAgaWYgKGN1cnJlbnRUYWJOYW1lID09PSAnSElTVE9SWScpIHtcbiAgICAgICAgICAgIHRleHRJbnB1dC5yb290LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICBkYXRlSW5wdXQucm9vdC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgICAgICAgYXV0aG9ySW5wdXQucm9vdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY3VycmVudFRhYk5hbWUgPT09ICdGQVZPUklURVMnKSB7XG4gICAgICAgICAgICB0ZXh0SW5wdXQucm9vdC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgICAgICAgZGF0ZUlucHV0LnJvb3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2Rpc3BsYXknKTtcbiAgICAgICAgICAgIGF1dGhvcklucHV0LnJvb3Quc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGN1cnJlbnRUYWJOYW1lID09PSAnU0hBUkVEJykge1xuICAgICAgICAgICAgdGV4dElucHV0LnJvb3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2Rpc3BsYXknKTtcbiAgICAgICAgICAgIGRhdGVJbnB1dC5yb290LnN0eWxlLnJlbW92ZVByb3BlcnR5KCdkaXNwbGF5Jyk7XG4gICAgICAgICAgICBhdXRob3JJbnB1dC5yb290LnN0eWxlLnJlbW92ZVByb3BlcnR5KCdkaXNwbGF5Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZm9ybTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBuZXdGaWx0ZXJQYW5lID0gYnVpbGRGaWx0ZXJQYW5lKCk7XG4gICAgdGhpcy5maWx0ZXJQYW5lLnJlcGxhY2VXaXRoKG5ld0ZpbHRlclBhbmUpO1xuICAgIHRoaXMuZmlsdGVyUGFuZSA9IG5ld0ZpbHRlclBhbmU7XG4gIH07XG5cbiAgc2hvd0RlbGV0ZVJ1bkRpYWxvZyhmdW5jQ2FsbDogREcuRnVuY0NhbGwpIHtcbiAgICB1aS5kaWFsb2coe3RpdGxlOiAnRGVsZXRlIHJ1bid9KVxuICAgICAgLmFkZCh1aS5kaXZUZXh0KCdUaGUgZGVsZXRlZCBydW4gaXMgaW1wb3NzaWJsZSB0byByZXN0b3JlLiBBcmUgeW91IHN1cmU/JykpXG4gICAgICAub25PSyhhc3luYyAoKSA9PiB7XG4gICAgICAgIHRoaXMuYmVmb3JlUnVuRGVsZXRlZC5uZXh0KGZ1bmNDYWxsLmlkKTtcbiAgICAgIH0pXG4gICAgICAuc2hvdyh7Y2VudGVyOiB0cnVlfSk7XG4gIH07XG5cbiAgdXBkYXRlU2hhcmVkUGFuZShzaGFyZWRSdW5zOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgY29uc3QgbmV3VGFiID0gKHNoYXJlZFJ1bnMubGVuZ3RoID4gMCkgPyB0aGlzLnJlbmRlclNoYXJlZENhcmRzKHNoYXJlZFJ1bnMpIDogdWkuZGl2VGV4dCgnTm8gcnVucyBhcmUgbWFya2VkIGFzIHNoYXJlZCcsICduby1lbGVtZW50cy1sYWJlbCcpO1xuICAgIHRoaXMuc2hhcmVkVGFiLnJlcGxhY2VXaXRoKG5ld1RhYik7XG4gICAgdGhpcy5zaGFyZWRUYWIgPSBuZXdUYWI7XG4gIH07XG5cbiAgdXBkYXRlRmF2b3JpdGVzUGFuZShmYXZvcml0ZVJ1bnM6IERHLkZ1bmNDYWxsW10pIHtcbiAgICBjb25zdCBuZXdUYWIgPSAoZmF2b3JpdGVSdW5zLmxlbmd0aCA+IDApID8gdGhpcy5yZW5kZXJGYXZvcml0ZUNhcmRzKGZhdm9yaXRlUnVucykgOiB1aS5kaXZUZXh0KCdObyBydW5zIGFyZSBtYXJrZWQgYXMgZmF2b3JpdGVzJywgJ25vLWVsZW1lbnRzLWxhYmVsJyk7XG4gICAgdGhpcy5mYXZUYWIucmVwbGFjZVdpdGgobmV3VGFiKTtcbiAgICB0aGlzLmZhdlRhYiA9IG5ld1RhYjtcbiAgfTtcblxuICB1cGRhdGVNeVBhbmUobXlSdW5zOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgY29uc3QgbmV3VGFiID0gKG15UnVucy5sZW5ndGggPiAwKSA/IHRoaXMucmVuZGVySGlzdG9yeUNhcmRzKG15UnVucykgOiB1aS5kaXZUZXh0KCdObyBydW5zIGFyZSBmb3VuZCBpbiBoaXN0b3J5JywgJ25vLWVsZW1lbnRzLWxhYmVsJyk7XG4gICAgdGhpcy5oaXN0b3J5VGFiLnJlcGxhY2VXaXRoKG5ld1RhYik7XG4gICAgdGhpcy5oaXN0b3J5VGFiID0gbmV3VGFiO1xuICB9O1xuXG4gIHJlbmRlckNhcmQoZnVuY0NhbGw6IERHLkZ1bmNDYWxsKSB7XG4gICAgY29uc3QgaWNvbiA9IGZ1bmNDYWxsLmF1dGhvci5waWN0dXJlIGFzIEhUTUxFbGVtZW50O1xuICAgIGljb24uc3R5bGUud2lkdGggPSAnMjVweCc7XG4gICAgaWNvbi5zdHlsZS5oZWlnaHQgPSAnMjVweCc7XG4gICAgaWNvbi5zdHlsZS5mb250U2l6ZSA9ICcyMHB4JztcbiAgICBjb25zdCBjYXJkTGFiZWwgPSB1aS5sYWJlbChmdW5jQ2FsbC5vcHRpb25zWyd0aXRsZSddID8/IGZ1bmNDYWxsLmF1dGhvci5mcmllbmRseU5hbWUsIHtzdHlsZTogeydjb2xvcic6ICd2YXIoLS1ibHVlLTEpJ319KTtcbiAgICB1aS5iaW5kKGZ1bmNDYWxsLmF1dGhvciwgaWNvbik7XG5cbiAgICBjb25zdCBlZGl0SWNvbiA9IHVpLmljb25GQSgnZWRpdCcsIChldikgPT4ge1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnNob3dFZGl0RGlhbG9nKGZ1bmNDYWxsKTtcbiAgICB9KTtcbiAgICBlZGl0SWNvbi5jbGFzc0xpc3QuYWRkKCdjdi1mdW5jY2FsbC1jYXJkLWhvdmVyLWljb24nKTtcblxuICAgIGNvbnN0IGRlbGV0ZUljb24gPSB1aS5pY29uRkEoJ3RyYXNoLWFsdCcsIGFzeW5jIChldikgPT4ge1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnNob3dEZWxldGVSdW5EaWFsb2coZnVuY0NhbGwpO1xuICAgIH0sICdEZWxldGUgdGhlIHJ1bicpO1xuICAgIGRlbGV0ZUljb24uY2xhc3NMaXN0LmFkZCgnY3YtZnVuY2NhbGwtY2FyZC1ob3Zlci1pY29uJyk7XG5cbiAgICBjb25zdCBmYXZvcml0ZWRJY29uID0gdWkuaWNvbkZBKCdzdGFyJywgbnVsbCwgJ1VuZmF2b3JpdGUgdGhlIHJ1bicpO1xuICAgIGZhdm9yaXRlZEljb24uY2xhc3NMaXN0LmFkZCgnZmFzJywgJ2N2LWZ1bmNjYWxsLWNhcmQtZGVmLWljb24nKTtcblxuICAgIGNvbnN0IHNoYXJlZEljb24gPSB1aS5pY29uRkEoJ3NoYXJlLWFsdCcsIG51bGwsICdBZGQgdG8gc2hhcmVkJyk7XG4gICAgc2hhcmVkSWNvbi5jbGFzc0xpc3QuYWRkKCdmYXMnLCAnY3YtZnVuY2NhbGwtY2FyZC1kZWYtaWNvbicpO1xuICAgIHNoYXJlZEljb24uc3R5bGUuY29sb3IgPSAndmFyKC0tYmx1ZS0xKSc7XG5cbiAgICBjb25zdCBkYXRlU3RhcnRlZCA9IG5ldyBEYXRlKGZ1bmNDYWxsLnN0YXJ0ZWQudG9TdHJpbmcoKSkudG9Mb2NhbGVTdHJpbmcoJ2VuLXVzJywge21vbnRoOiAnc2hvcnQnLCBkYXk6ICdudW1lcmljJywgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICdudW1lcmljJ30pO1xuXG4gICAgY29uc3QgY2FyZCA9IHVpLmRpdkgoW1xuICAgICAgdWkuZGl2SChbXG4gICAgICAgIGljb24sXG4gICAgICAgIHVpLmRpdlYoW1xuICAgICAgICAgIGNhcmRMYWJlbCxcbiAgICAgICAgICB1aS5zcGFuKFtkYXRlU3RhcnRlZF0pLFxuICAgICAgICAgIC4uLihmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddKSA/IFt1aS5kaXZUZXh0KGZ1bmNDYWxsLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10sICdkZXNjcmlwdGlvbicpXTogW10sXG4gICAgICAgIF0sICdjdi1jYXJkLWNvbnRlbnQnKSxcbiAgICAgIF0pLFxuICAgICAgdWkuZGl2SChbXG4gICAgICAgIGVkaXRJY29uLCBkZWxldGVJY29uLFxuICAgICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1snaXNGYXZvcml0ZSddKSA/IFtmYXZvcml0ZWRJY29uXSA6IFtdLFxuICAgICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1snaXNTaGFyZWQnXSkgPyBbc2hhcmVkSWNvbl06IFtdLFxuICAgICAgXSlcbiAgICBdLCAnY3YtZnVuY2NhbGwtY2FyZCcpO1xuXG4gICAgY2FyZC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHtcbiAgICAgIHRoaXMub25SdW5DaG9zZW4ubmV4dChmdW5jQ2FsbC5pZCk7XG5cbiAgICAgIGNvbnN0IGFsbENhcmRzID0gWy4uLnRoaXMubXlDYXJkcywgLi4udGhpcy5mYXZvcml0ZUNhcmRzLCAuLi50aGlzLnNoYXJlZENhcmRzXTtcbiAgICAgIGFsbENhcmRzLmZvckVhY2goKGMpID0+IGMuY2xhc3NMaXN0LnJlbW92ZSgnY2xpY2tlZCcpKTtcblxuICAgICAgY2FyZC5jbGFzc0xpc3QuYWRkKCdjbGlja2VkJyk7XG4gICAgfSk7XG4gICAgdWkudG9vbHRpcC5iaW5kKGNhcmQsICgpID0+IHVpLnRhYmxlRnJvbU1hcCh7XG4gICAgICBBdXRob3I6IGdyb2suc2hlbGwudXNlci50b01hcmt1cCgpLFxuICAgICAgRGF0ZTogZGF0ZVN0YXJ0ZWQsXG4gICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXSkgPyB7J1RpdGxlJzogZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXX06e30sXG4gICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1snZGVzY3JpcHRpb24nXSkgPyB7J0Rlc2NyaXB0aW9uJzogZnVuY0NhbGwub3B0aW9uc1snZGVzY3JpcHRpb24nXX06e30sXG4gICAgfSkpO1xuICAgIHJldHVybiBjYXJkO1xuICB9XG5cbiAgc2hvd0VkaXREaWFsb2coZnVuY0NhbGw6IERHLkZ1bmNDYWxsKSB7XG4gICAgY29uc3QgZGxnID0gdWkuZGlhbG9nKHt0aXRsZTogJ0VkaXQgcnVuJ30pO1xuXG4gICAgbGV0IHRpdGxlID0gZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXSA/PyAnJztcbiAgICBsZXQgZGVzY3JpcHRpb24gPSBmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddID8/ICcnO1xuICAgIGNvbnN0IHRpdGxlSW5wdXQgPSB1aS5zdHJpbmdJbnB1dCgnVGl0bGUnLCB0aXRsZSwgKHM6IHN0cmluZykgPT4ge1xuICAgICAgdGl0bGUgPSBzO1xuICAgICAgaWYgKHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRpdGxlSW5wdXQuc2V0VG9vbHRpcCgnVGl0bGUgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGl0bGVJbnB1dC5pbnB1dC5jbGFzc0xpc3QuYWRkKCdkNC1pbnZhbGlkJyksIDEwMCk7XG4gICAgICAgIGRsZy5nZXRCdXR0b24oJ09LJykuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGl0bGVJbnB1dC5zZXRUb29sdGlwKCcnKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aXRsZUlucHV0LmlucHV0LmNsYXNzTGlzdC5yZW1vdmUoJ2Q0LWludmFsaWQnKSwgMTAwKTtcbiAgICAgICAgZGxnLmdldEJ1dHRvbignT0snKS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGxldCBpc1NoYXJlZCA9IGZ1bmNDYWxsLm9wdGlvbnNbJ2lzU2hhcmVkJ10gPz8gZmFsc2U7XG4gICAgbGV0IGlzRmF2b3JpdGUgPSBmdW5jQ2FsbC5vcHRpb25zWydpc0Zhdm9yaXRlJ10gPz8gZmFsc2U7XG5cbiAgICBkbGcuYWRkKHVpLmZvcm0oW1xuICAgICAgdGl0bGVJbnB1dCxcbiAgICAgIHVpLnN0cmluZ0lucHV0KCdEZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAoczogc3RyaW5nKSA9PiB7IGRlc2NyaXB0aW9uID0gczsgfSksXG4gICAgICB1aS5ib29sSW5wdXQoJ0Zhdm9yaXRlcycsIGlzRmF2b3JpdGUsIChiOiBib29sZWFuKSA9PiBpc0Zhdm9yaXRlID0gYiksXG4gICAgICB1aS5ib29sSW5wdXQoJ1NoYXJlJywgaXNTaGFyZWQsIChiOiBib29sZWFuKSA9PiBpc1NoYXJlZCA9IGIpLFxuICAgIF0pKVxuICAgICAgLm9uT0soYXN5bmMgKCkgPT4ge1xuICAgICAgICBmdW5jQ2FsbCA9IGF3YWl0IGhpc3RvcnlVdGlscy5sb2FkUnVuKGZ1bmNDYWxsLmlkKTtcbiAgICAgICAgZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXSA9IHRpdGxlO1xuICAgICAgICBmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddID0gZGVzY3JpcHRpb247XG5cbiAgICAgICAgaWYgKGlzU2hhcmVkID09PSBmdW5jQ2FsbC5vcHRpb25zWydpc1NoYXJlZCddICYmIGlzRmF2b3JpdGUgPT09IGZ1bmNDYWxsLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSkge1xuICAgICAgICAgIGF3YWl0IGhpc3RvcnlVdGlscy5zYXZlUnVuKGZ1bmNDYWxsKTtcblxuICAgICAgICAgIGNvbnN0IGVkaXRlZFJ1biA9IHRoaXMuc3RvcmUuYWxsUnVucy52YWx1ZS5maW5kKChjYWxsKSA9PiBjYWxsLmlkID09PSBmdW5jQ2FsbC5pZCk7XG4gICAgICAgICAgZWRpdGVkUnVuIS5vcHRpb25zWyd0aXRsZSddID0gZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXTtcbiAgICAgICAgICBlZGl0ZWRSdW4hLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10gPSBmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddO1xuXG4gICAgICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQodGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNTaGFyZWQgJiYgIWZ1bmNDYWxsLm9wdGlvbnNbJ2lzU2hhcmVkJ10pIHtcbiAgICAgICAgICBmdW5jQ2FsbC5vcHRpb25zWydpc1NoYXJlZCddID0gaXNTaGFyZWQ7XG4gICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMudGFicy5yb290LCB0cnVlKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmFkZFJ1blRvU2hhcmVkKGZ1bmNDYWxsKTtcbiAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy50YWJzLnJvb3QsIGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNTaGFyZWQgJiYgZnVuY0NhbGwub3B0aW9uc1snaXNTaGFyZWQnXSkge1xuICAgICAgICAgIGZ1bmNDYWxsLm9wdGlvbnNbJ2lzU2hhcmVkJ10gPSBpc1NoYXJlZDtcbiAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy50YWJzLnJvb3QsIHRydWUpO1xuICAgICAgICAgIGF3YWl0IHRoaXMucmVtb3ZlUnVuRnJvbVNoYXJlZChmdW5jQ2FsbCk7XG4gICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMudGFicy5yb290LCBmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGYXZvcml0ZSAmJiAhZnVuY0NhbGwub3B0aW9uc1snaXNGYXZvcml0ZSddKSB7XG4gICAgICAgICAgZnVuY0NhbGwub3B0aW9uc1snaXNGYXZvcml0ZSddID0gaXNGYXZvcml0ZTtcbiAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy50YWJzLnJvb3QsIHRydWUpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuYWRkUnVuVG9GYXZvcml0ZXMoZnVuY0NhbGwpO1xuICAgICAgICAgIHVpLnNldFVwZGF0ZUluZGljYXRvcih0aGlzLnRhYnMucm9vdCwgZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0Zhdm9yaXRlICYmIGZ1bmNDYWxsLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSkge1xuICAgICAgICAgIGZ1bmNDYWxsLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSA9IGlzRmF2b3JpdGU7XG4gICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMudGFicy5yb290LCB0cnVlKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnJlbW92ZVJ1bkZyb21GYXZvcml0ZXMoZnVuY0NhbGwpO1xuICAgICAgICAgIHVpLnNldFVwZGF0ZUluZGljYXRvcih0aGlzLnRhYnMucm9vdCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLnNob3coe2NlbnRlcjogdHJ1ZX0pO1xuICAgIHRpdGxlSW5wdXQuZmlyZUNoYW5nZWQoKTtcbiAgfVxuXG4gIHJlbmRlckZhdm9yaXRlQ2FyZHMoZnVuY0NhbGxzOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgdGhpcy5mYXZvcml0ZUNhcmRzID0gZnVuY0NhbGxzLm1hcCgoZnVuY0NhbGwpID0+IHRoaXMucmVuZGVyQ2FyZChmdW5jQ2FsbCkpO1xuICAgIHJldHVybiB1aS5kaXZWKHRoaXMuZmF2b3JpdGVDYXJkcyk7XG4gIH07XG5cbiAgcmVuZGVyU2hhcmVkQ2FyZHMoZnVuY0NhbGxzOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgdGhpcy5zaGFyZWRDYXJkcyA9IGZ1bmNDYWxscy5tYXAoKGZ1bmNDYWxsKSA9PiB0aGlzLnJlbmRlckNhcmQoZnVuY0NhbGwpKTtcbiAgICByZXR1cm4gdWkuZGl2Vih0aGlzLnNoYXJlZENhcmRzKTtcbiAgfTtcblxuICByZW5kZXJIaXN0b3J5Q2FyZHMoZnVuY0NhbGxzOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgdGhpcy5teUNhcmRzID0gZnVuY0NhbGxzLm1hcCgoZnVuY0NhbGwpID0+IHRoaXMucmVuZGVyQ2FyZChmdW5jQ2FsbCkpO1xuICAgIHJldHVybiB1aS5kaXZWKHRoaXMubXlDYXJkcywge3N0eWxlOiB7aGVpZ2h0OiAnMTAwJSd9fSk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmdW5jOiBERy5GdW5jXG4gICkge1xuICAgIHRoaXMudGFicy5yb290LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICAgIHRoaXMudGFicy5yb290LnN0eWxlLmhlaWdodCA9ICcxMDAlJztcblxuICAgIHRoaXMubXlSdW5zRmlsdGVyLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZU15UGFuZSh0aGlzLnN0b3JlLmZpbHRlcmVkTXlSdW5zKSk7XG4gICAgdGhpcy5mYXZSdW5zRmlsdGVyLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUZhdm9yaXRlc1BhbmUodGhpcy5zdG9yZS5maWx0ZXJlZEZhdm9yaXRlUnVucykpO1xuICAgIHRoaXMuc2hhcmVkUnVuc0ZpbHRlci5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVTaGFyZWRQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRTaGFyZWRSdW5zKSk7XG5cbiAgICB0aGlzLnN0b3JlLmFsbFJ1bnMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlTXlQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRNeVJ1bnMpO1xuICAgICAgdGhpcy51cGRhdGVGYXZvcml0ZXNQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRGYXZvcml0ZVJ1bnMpO1xuICAgICAgdGhpcy51cGRhdGVTaGFyZWRQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRTaGFyZWRSdW5zKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWxsUnVuc0ZldGNoLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBhbGxSdW5zID0gKGF3YWl0IGhpc3RvcnlVdGlscy5wdWxsUnVuc0J5TmFtZSh0aGlzLmZ1bmMubmFtZSwgW10sIHtvcmRlcjogJ3N0YXJ0ZWQnfSwgWydzZXNzaW9uLnVzZXInLCAnb3B0aW9ucyddKSkucmV2ZXJzZSgpO1xuICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQoYWxsUnVucyk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjbGVhck1ldGFkYXRhID0gKGZ1bmNDYWxsOiBERy5GdW5jQ2FsbCkgPT4ge1xuICAgICAgaWYgKCFmdW5jQ2FsbC5vcHRpb25zWydpc0Zhdm9yaXRlJ10gJiYgIWZ1bmNDYWxsLm9wdGlvbnNbJ2lzU2hhcmVkJ10pIHtcbiAgICAgICAgZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXSA9IG51bGw7XG4gICAgICAgIGZ1bmNDYWxsLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10gPSBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLmFmdGVyUnVuQWRkVG9GYXZvcml0ZXMuc3Vic2NyaWJlKChhZGRlZCkgPT4ge1xuICAgICAgY29uc3QgZWRpdGVkUnVuID0gdGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlLmZpbmQoKGNhbGwpID0+IGNhbGwuaWQgPT09IGFkZGVkLmlkKTtcbiAgICAgIGVkaXRlZFJ1biEub3B0aW9uc1sndGl0bGUnXSA9IGFkZGVkLm9wdGlvbnNbJ3RpdGxlJ107XG4gICAgICBlZGl0ZWRSdW4hLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10gPSBhZGRlZC5vcHRpb25zWydkZXNjcmlwdGlvbiddO1xuICAgICAgZWRpdGVkUnVuIS5vcHRpb25zWydpc0Zhdm9yaXRlJ10gPSB0cnVlO1xuICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQodGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWZ0ZXJSdW5BZGRUb1NoYXJlZC5zdWJzY3JpYmUoKGFkZGVkKSA9PiB7XG4gICAgICBjb25zdCBlZGl0ZWRSdW4gPSB0aGlzLnN0b3JlLmFsbFJ1bnMudmFsdWUuZmluZCgoY2FsbCkgPT4gY2FsbC5pZCA9PT0gYWRkZWQuaWQpO1xuICAgICAgZWRpdGVkUnVuIS5vcHRpb25zWyd0aXRsZSddID0gYWRkZWQub3B0aW9uc1sndGl0bGUnXTtcbiAgICAgIGVkaXRlZFJ1biEub3B0aW9uc1snZGVzY3JpcHRpb24nXSA9IGFkZGVkLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ107XG4gICAgICBlZGl0ZWRSdW4hLm9wdGlvbnNbJ2lzU2hhcmVkJ10gPSB0cnVlO1xuICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQodGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWZ0ZXJSdW5SZW1vdmVGcm9tRmF2b3JpdGVzLnN1YnNjcmliZSgocmVtb3ZlZCkgPT4ge1xuICAgICAgY29uc3QgZWRpdGVkUnVuID0gdGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlLmZpbmQoKGNhbGwpID0+IGNhbGwuaWQgPT09IHJlbW92ZWQuaWQpITtcbiAgICAgIGVkaXRlZFJ1bi5vcHRpb25zWydpc0Zhdm9yaXRlJ10gPSBmYWxzZTtcbiAgICAgIGNsZWFyTWV0YWRhdGEoZWRpdGVkUnVuKTtcbiAgICAgIHRoaXMuc3RvcmUuYWxsUnVucy5uZXh0KHRoaXMuc3RvcmUuYWxsUnVucy52YWx1ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFmdGVyUnVuUmVtb3ZlRnJvbVNoYXJlZC5zdWJzY3JpYmUoKHJlbW92ZWQpID0+IHtcbiAgICAgIGNvbnN0IGVkaXRlZFJ1biA9IHRoaXMuc3RvcmUuYWxsUnVucy52YWx1ZS5maW5kKChjYWxsKSA9PiBjYWxsLmlkID09PSByZW1vdmVkLmlkKSE7XG4gICAgICBlZGl0ZWRSdW4ub3B0aW9uc1snaXNTaGFyZWQnXSA9IGZhbHNlO1xuICAgICAgY2xlYXJNZXRhZGF0YShlZGl0ZWRSdW4pO1xuICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQodGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWZ0ZXJSdW5EZWxldGVkLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuYWxsUnVucy5uZXh0KHRoaXMuc3RvcmUuYWxsUnVucy52YWx1ZS5maWx0ZXIoKGNhbGwpID0+IGNhbGwuaWQgIT09IGlkKSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFsbFJ1bnNGZXRjaC5uZXh0KCk7XG4gICAgdGhpcy51cGRhdGVGaWx0ZXJQYW5lKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGFkZFJ1blRvRmF2b3JpdGVzKGNhbGxUb0Zhdm9yaXRlOiBERy5GdW5jQ2FsbCk6IFByb21pc2U8REcuRnVuY0NhbGw+IHtcbiAgICBjYWxsVG9GYXZvcml0ZS5vcHRpb25zWydpc0Zhdm9yaXRlJ10gPSB0cnVlO1xuXG4gICAgdGhpcy5iZWZvcmVSdW5BZGRUb0Zhdm9yaXRlcy5uZXh0KGNhbGxUb0Zhdm9yaXRlKTtcbiAgICBjb25zdCBzYXZlZEZhdm9yaXRlID0gYXdhaXQgZ3Jvay5kYXBpLmZ1bmN0aW9ucy5jYWxscy5hbGxQYWNrYWdlVmVyc2lvbnMoKS5zYXZlKGNhbGxUb0Zhdm9yaXRlKTtcbiAgICB0aGlzLmFmdGVyUnVuQWRkVG9GYXZvcml0ZXMubmV4dChzYXZlZEZhdm9yaXRlKTtcbiAgICByZXR1cm4gc2F2ZWRGYXZvcml0ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVtb3ZlUnVuRnJvbUZhdm9yaXRlcyhjYWxsVG9VbmZhdm9yaXRlOiBERy5GdW5jQ2FsbCk6IFByb21pc2U8REcuRnVuY0NhbGw+IHtcbiAgICBjYWxsVG9VbmZhdm9yaXRlLm9wdGlvbnNbJ3RpdGxlJ10gPSBudWxsO1xuICAgIGNhbGxUb1VuZmF2b3JpdGUub3B0aW9uc1snZGVzY3JpcHRpb24nXSA9IG51bGw7XG4gICAgY2FsbFRvVW5mYXZvcml0ZS5vcHRpb25zWydpc0Zhdm9yaXRlJ10gPSBmYWxzZTtcblxuICAgIHRoaXMuYmVmb3JlUnVuUmVtb3ZlRnJvbUZhdm9yaXRlcy5uZXh0KGNhbGxUb1VuZmF2b3JpdGUpO1xuICAgIGNvbnN0IGZhdm9yaXRlU2F2ZSA9IGF3YWl0IGdyb2suZGFwaS5mdW5jdGlvbnMuY2FsbHMuYWxsUGFja2FnZVZlcnNpb25zKCkuc2F2ZShjYWxsVG9VbmZhdm9yaXRlKTtcbiAgICB0aGlzLmFmdGVyUnVuUmVtb3ZlRnJvbUZhdm9yaXRlcy5uZXh0KGZhdm9yaXRlU2F2ZSk7XG4gICAgcmV0dXJuIGZhdm9yaXRlU2F2ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkUnVuVG9TaGFyZWQoY2FsbFRvU2hhcmU6IERHLkZ1bmNDYWxsKTogUHJvbWlzZTxERy5GdW5jQ2FsbD4ge1xuICAgIGNhbGxUb1NoYXJlLm9wdGlvbnNbJ2lzU2hhcmVkJ10gPSB0cnVlO1xuXG4gICAgdGhpcy5iZWZvcmVSdW5BZGRUb1NoYXJlZC5uZXh0KGNhbGxUb1NoYXJlKTtcblxuICAgIGNvbnN0IGFsbEdyb3VwID0gYXdhaXQgZ3Jvay5kYXBpLmdyb3Vwcy5maW5kKGRlZmF1bHRHcm91cHNJZHNbJ0FsbCB1c2VycyddKTtcblxuICAgIGNvbnN0IGRmT3V0cHV0cyA9IHd1KGNhbGxUb1NoYXJlLm91dHB1dFBhcmFtcy52YWx1ZXMoKSBhcyBERy5GdW5jQ2FsbFBhcmFtW10pXG4gICAgICAuZmlsdGVyKChvdXRwdXQpID0+IG91dHB1dC5wcm9wZXJ0eS5wcm9wZXJ0eVR5cGUgPT09IERHLlRZUEUuREFUQV9GUkFNRSk7XG5cbiAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiBkZk91dHB1dHMpIHtcbiAgICAgIGNvbnN0IGRmID0gY2FsbFRvU2hhcmUub3V0cHV0c1tvdXRwdXQubmFtZV0gYXMgREcuRGF0YUZyYW1lO1xuICAgICAgYXdhaXQgZ3Jvay5kYXBpLnBlcm1pc3Npb25zLmdyYW50KGRmLmdldFRhYmxlSW5mbygpLCBhbGxHcm91cCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGNvbnN0IGRmSW5wdXRzID0gd3UoY2FsbFRvU2hhcmUuaW5wdXRQYXJhbXMudmFsdWVzKCkgYXMgREcuRnVuY0NhbGxQYXJhbVtdKVxuICAgICAgLmZpbHRlcigoaW5wdXQpID0+IGlucHV0LnByb3BlcnR5LnByb3BlcnR5VHlwZSA9PT0gREcuVFlQRS5EQVRBX0ZSQU1FKTtcbiAgICBmb3IgKGNvbnN0IGlucHV0IG9mIGRmSW5wdXRzKSB7XG4gICAgICBjb25zdCBkZiA9IGNhbGxUb1NoYXJlLmlucHV0c1tpbnB1dC5uYW1lXSBhcyBERy5EYXRhRnJhbWU7XG4gICAgICBhd2FpdCBncm9rLmRhcGkucGVybWlzc2lvbnMuZ3JhbnQoZGYuZ2V0VGFibGVJbmZvKCksIGFsbEdyb3VwLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2F2ZWRTaGFyZWQgPSBhd2FpdCBncm9rLmRhcGkuZnVuY3Rpb25zLmNhbGxzLmFsbFBhY2thZ2VWZXJzaW9ucygpLnNhdmUoY2FsbFRvU2hhcmUpO1xuXG4gICAgdGhpcy5hZnRlclJ1bkFkZFRvU2hhcmVkLm5leHQoc2F2ZWRTaGFyZWQpO1xuICAgIHJldHVybiBzYXZlZFNoYXJlZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVtb3ZlUnVuRnJvbVNoYXJlZChjYWxsVG9VbnNoYXJlOiBERy5GdW5jQ2FsbCk6IFByb21pc2U8REcuRnVuY0NhbGw+IHtcbiAgICBjYWxsVG9VbnNoYXJlLm9wdGlvbnNbJ3RpdGxlJ10gPSBudWxsO1xuICAgIGNhbGxUb1Vuc2hhcmUub3B0aW9uc1snZGVzY3JpcHRpb24nXSA9IG51bGw7XG4gICAgY2FsbFRvVW5zaGFyZS5vcHRpb25zWydpc1NoYXJlZCddID0gZmFsc2U7XG5cbiAgICB0aGlzLmJlZm9yZVJ1blJlbW92ZUZyb21TaGFyZWQubmV4dChjYWxsVG9VbnNoYXJlKTtcbiAgICBjb25zdCBzYXZlZFNoYXJlZCA9IGF3YWl0IGdyb2suZGFwaS5mdW5jdGlvbnMuY2FsbHMuYWxsUGFja2FnZVZlcnNpb25zKCkuc2F2ZShjYWxsVG9VbnNoYXJlKTtcbiAgICB0aGlzLmFmdGVyUnVuUmVtb3ZlRnJvbVNoYXJlZC5uZXh0KHNhdmVkU2hhcmVkKTtcbiAgICByZXR1cm4gc2F2ZWRTaGFyZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvb3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvb3Q7XG4gIH1cbn1cbiJdfQ==
|
|
443
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhpc3RvcnktcGFuZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsNEJBQTRCO0FBQzVCLE9BQU8sS0FBSyxJQUFJLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sNkJBQTZCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxzQ0FBc0M7SUFDOUMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxRQUFRLEVBQUUsc0NBQXNDO0NBQ2pELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixXQUFXLEVBQUUsc0NBQXNDO0lBQ25ELFlBQVksRUFBRSxzQ0FBc0M7SUFDcEQsZ0JBQWdCLEVBQUUsc0NBQXNDO0lBQ3hELE1BQU0sRUFBRSxzQ0FBc0M7SUFDOUMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxRQUFRLEVBQUUsc0NBQXNDO0lBQ2hELGdCQUFnQixFQUFFLHNDQUFzQztDQUN6RCxDQUFDO0FBRUYsTUFBTSxpQkFBaUI7SUFBdkI7UUFDRSxxQkFBZ0IsR0FBRyxFQUFDLElBQUksRUFBRSxFQUFFLEVBSTNCLENBQUM7UUFFRixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBc0NuRCxDQUFDO0lBcENDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFB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R0FBRyxJQUFJLENBQUM7WUFDdEMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDNUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUM7WUFFMUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7S0FBQTtJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB3dSBmcm9tICd3dSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2hpc3RvcnlVdGlsc30gZnJvbSAnLi4vaGlzdG9yeS11dGlscyc7XG5pbXBvcnQgJy4uLy4uL2Nzcy9oaXN0b3J5LXBhbmVsLmNzcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VXNlcnNJZHMgPSB7XG4gICdUZXN0JzogJ2NhMWU2NzJlLWUzYmUtNDBlMC1iNzliLWQyYzY4ZTY4ZDM4MCcsXG4gICdBZG1pbic6ICc4NzhjNDJiMC05YTUwLTExZTYtYzUzNy02YmY4ZTlhYjAyZWUnLFxuICAnU3lzdGVtJzogJzNlMzJjNWZhLWFjOWMtNGQzOS04YjRiLTRkYjNlNTc2YjNjMycsXG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3Vwc0lkcyA9IHtcbiAgJ0FsbCB1c2Vycyc6ICdhNGI0NTg0MC05YTUwLTExZTYtOWNjOS04NTQ2YjhiZjYyZTYnLFxuICAnRGV2ZWxvcGVycyc6ICdiYTljZDE5MS05YTUwLTExZTYtOWNjOS05MTBiZjgyN2YwYWInLFxuICAnTmVlZCB0byBjcmVhdGUnOiAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwJyxcbiAgJ1Rlc3QnOiAnY2ExZTY3MmUtZTNiZS00MGUwLWI3OWItODU0NmI4YmY2MmU2JyxcbiAgJ0FkbWluJzogJ2E0YjQ1ODQwLTlhNTAtMTFlNi1jNTM3LTZiZjhlOWFiMDJlZScsXG4gICdTeXN0ZW0nOiAnYTRiNDU4NDAtYWM5Yy00ZDM5LThiNGItNGRiM2U1NzZiM2MzJyxcbiAgJ0FkbWluaXN0cmF0b3JzJzogJzFhYjhiMzhkLTljNGUtNGIxZS04MWMzLWFlMmJkZTNlMTJjNScsXG59O1xuXG5jbGFzcyBIaXN0b3J5UGFuZWxTdG9yZSB7XG4gIGZpbHRlcmluZ09wdGlvbnMgPSB7dGV4dDogJyd9IGFzIHtcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgYXV0aG9yPzogREcuVXNlcixcbiAgICBzdGFydGVkQWZ0ZXI/OiBkYXlqcy5EYXlqcyxcbiAgfTtcblxuICBhbGxSdW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxERy5GdW5jQ2FsbFtdPihbXSk7XG5cbiAgZ2V0IG15UnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5hbGxSdW5zLnZhbHVlLmZpbHRlcigocnVuKSA9PiBydW4uYXV0aG9yLmlkID09PSBncm9rLnNoZWxsLnVzZXIuaWQpO1xuICB9XG5cbiAgZ2V0IGZhdm9yaXRlUnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5hbGxSdW5zLnZhbHVlLmZpbHRlcigocnVuKSA9PiBydW4ub3B0aW9uc1snaXNGYXZvcml0ZSddICYmICFydW4ub3B0aW9uc1snaXNJbXBvcnRlZCddKTtcbiAgfVxuXG4gIGdldCBzaGFyZWRSdW5zKCkge1xuICAgIHJldHVybiB0aGlzLmFsbFJ1bnMudmFsdWUuZmlsdGVyKChydW4pID0+IHJ1bi5vcHRpb25zWydpc1NoYXJlZCddKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJlZE15UnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5teVJ1bnMuZmlsdGVyKCh2YWwpID0+ICh0aGlzLmZpbHRlcmluZ09wdGlvbnMuc3RhcnRlZEFmdGVyID8gdmFsLnN0YXJ0ZWQgPiB0aGlzLmZpbHRlcmluZ09wdGlvbnMuc3RhcnRlZEFmdGVyIDogdHJ1ZSkpO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkRmF2b3JpdGVSdW5zKCkge1xuICAgIHJldHVybiB0aGlzLmZhdm9yaXRlUnVucy5maWx0ZXIoKHZhbCkgPT4ge1xuICAgICAgY29uc3Qgc3RhcnRlZEFmdGVyID0gKHRoaXMuZmlsdGVyaW5nT3B0aW9ucy5zdGFydGVkQWZ0ZXIgPyB2YWwuc3RhcnRlZCA+IHRoaXMuZmlsdGVyaW5nT3B0aW9ucy5zdGFydGVkQWZ0ZXIgOiB0cnVlKTtcbiAgICAgIGNvbnN0IHRpdGxlQ29udGFpbnNUZXh0ID0gKCF0aGlzLmZpbHRlcmluZ09wdGlvbnMudGV4dC5sZW5ndGgpID8gdHJ1ZSA6ICghIXZhbC5vcHRpb25zWyd0aXRsZSddKSA/IHZhbC5vcHRpb25zWyd0aXRsZSddLmluY2x1ZGVzKHRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0KTogZmFsc2U7XG4gICAgICBjb25zdCBkZXNjQ29udGFpbnNUZXh0ID0gKCF0aGlzLmZpbHRlcmluZ09wdGlvbnMudGV4dC5sZW5ndGgpID8gdHJ1ZSA6ICghIXZhbC5vcHRpb25zWydkZXNjcmlwdGlvbiddKSA/IHZhbC5vcHRpb25zWydkZXNjcmlwdGlvbiddLmluY2x1ZGVzKHRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0KTogZmFsc2U7XG5cbiAgICAgIHJldHVybiAodGl0bGVDb250YWluc1RleHQgfHwgZGVzY0NvbnRhaW5zVGV4dCkgJiYgc3RhcnRlZEFmdGVyO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkU2hhcmVkUnVucygpIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZWRSdW5zLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBjb25zdCBpc0F1dGhvcmVkID0gdGhpcy5maWx0ZXJpbmdPcHRpb25zLmF1dGhvciA/IHZhbC5hdXRob3IuaWQgPT09IHRoaXMuZmlsdGVyaW5nT3B0aW9ucy5hdXRob3IuaWQ6IHRydWU7XG4gICAgICBjb25zdCBzdGFydGVkQWZ0ZXIgPSAodGhpcy5maWx0ZXJpbmdPcHRpb25zLnN0YXJ0ZWRBZnRlciA/IHZhbC5zdGFydGVkID4gdGhpcy5maWx0ZXJpbmdPcHRpb25zLnN0YXJ0ZWRBZnRlciA6IHRydWUpO1xuICAgICAgY29uc3QgdGl0bGVDb250YWluc1RleHQgPSAoIXRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0Lmxlbmd0aCkgPyB0cnVlIDogKCEhdmFsLm9wdGlvbnNbJ3RpdGxlJ10pID8gdmFsLm9wdGlvbnNbJ3RpdGxlJ10uaW5jbHVkZXModGhpcy5maWx0ZXJpbmdPcHRpb25zLnRleHQpOiBmYWxzZTtcbiAgICAgIGNvbnN0IGRlc2NDb250YWluc1RleHQgPSAoIXRoaXMuZmlsdGVyaW5nT3B0aW9ucy50ZXh0Lmxlbmd0aCkgPyB0cnVlIDogKCEhdmFsLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10pID8gdmFsLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10uaW5jbHVkZXModGhpcy5maWx0ZXJpbmdPcHRpb25zLnRleHQpOiBmYWxzZTtcblxuICAgICAgcmV0dXJuICh0aXRsZUNvbnRhaW5zVGV4dCB8fCBkZXNjQ29udGFpbnNUZXh0KSAmJiBzdGFydGVkQWZ0ZXIgJiYgaXNBdXRob3JlZDtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSGlzdG9yeVBhbmVsIHtcbiAgLy8gRW1pdHRlZCB3aGVuIEZ1bmNDYWxsIHNob3VsZCBpcyBjaG9zZW4uIENvbnRhaW5zIEZ1bmNDYWxsIElEXG4gIHB1YmxpYyBvblJ1bkNob3NlbiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgYWRkZWQgdG8gZmF2b3JpdGVzXG4gIHB1YmxpYyBiZWZvcmVSdW5BZGRUb0Zhdm9yaXRlcyA9IG5ldyBTdWJqZWN0PERHLkZ1bmNDYWxsPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyBhZGRlZCB0byBzaGFyZWRcbiAgcHVibGljIGJlZm9yZVJ1bkFkZFRvU2hhcmVkID0gbmV3IFN1YmplY3Q8REcuRnVuY0NhbGw+KCk7XG5cbiAgLy8gRW1pdHRlZCB3aGVuIEZ1bmNDYWxsIGlzIHJlbW92ZWQgZnJvbSBmYXZvcml0ZXNcbiAgcHVibGljIGJlZm9yZVJ1blJlbW92ZUZyb21GYXZvcml0ZXMgPSBuZXcgU3ViamVjdDxERy5GdW5jQ2FsbD4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgcmVtb3ZlZCBmcm9tIHNoYXJlZFxuICBwdWJsaWMgYmVmb3JlUnVuUmVtb3ZlRnJvbVNoYXJlZCA9IG5ldyBTdWJqZWN0PERHLkZ1bmNDYWxsPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyBkZWxldGVkXG4gIHB1YmxpYyBiZWZvcmVSdW5EZWxldGVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyBhZGRlZCB0byBmYXZvcml0ZXNcbiAgcHVibGljIGFmdGVyUnVuQWRkVG9GYXZvcml0ZXMgPSBuZXcgU3ViamVjdDxERy5GdW5jQ2FsbD4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgYWRkZWQgdG8gc2hhcmVkXG4gIHB1YmxpYyBhZnRlclJ1bkFkZFRvU2hhcmVkID0gbmV3IFN1YmplY3Q8REcuRnVuY0NhbGw+KCk7XG5cbiAgLy8gRW1pdHRlZCB3aGVuIEZ1bmNDYWxsIGlzIHJlbW92ZWQgZnJvbSBmYXZvcml0ZXNcbiAgcHVibGljIGFmdGVyUnVuUmVtb3ZlRnJvbUZhdm9yaXRlcyA9IG5ldyBTdWJqZWN0PERHLkZ1bmNDYWxsPigpO1xuXG4gIC8vIEVtaXR0ZWQgd2hlbiBGdW5jQ2FsbCBpcyByZW1vdmVkIGZyb20gc2hhcmVkXG4gIHB1YmxpYyBhZnRlclJ1blJlbW92ZUZyb21TaGFyZWQgPSBuZXcgU3ViamVjdDxERy5GdW5jQ2FsbD4oKTtcblxuICAvLyBFbWl0dGVkIHdoZW4gRnVuY0NhbGwgaXMgZGVsZXRlZFxuICBwdWJsaWMgYWZ0ZXJSdW5EZWxldGVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgc3RvcmUgPSBuZXcgSGlzdG9yeVBhbmVsU3RvcmUoKTtcblxuICBwcml2YXRlIG15UnVuc0ZpbHRlciA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG4gIHByaXZhdGUgZmF2UnVuc0ZpbHRlciA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG4gIHByaXZhdGUgc2hhcmVkUnVuc0ZpbHRlciA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG5cbiAgcHVibGljIGFsbFJ1bnNGZXRjaCA9IG5ldyBTdWJqZWN0PHRydWU+KCk7XG5cbiAgaGlzdG9yeVRhYiA9IHVpLmRpdigpO1xuICBmYXZUYWIgPSB1aS5kaXYoKTtcbiAgc2hhcmVkVGFiID0gdWkuZGl2KCk7XG4gIHRhYnMgPSB1aS50YWJDb250cm9sKHtcbiAgICAnSElTVE9SWSc6IHVpLmJveCh0aGlzLmhpc3RvcnlUYWIpLFxuICAgICdGQVZPUklURVMnOiB1aS5ib3godGhpcy5mYXZUYWIpLFxuICAgICdTSEFSRUQnOiB1aS5ib3godGhpcy5zaGFyZWRUYWIpLFxuICB9KTtcbiAgZmlsdGVyUGFuZSA9IHVpLmRpdigpO1xuXG4gIHByaXZhdGUgX3Jvb3QgPSB1aS5kaXZWKFtcbiAgICB1aS5wYW5lbChbXG4gICAgICB1aS5oMignSGlzdG9yeScpLFxuICAgICAgdGhpcy5maWx0ZXJQYW5lLFxuICAgIF0pLFxuICAgIHVpLmVsZW1lbnQoJ2RpdicsICdzcGxpdGJhci1ob3Jpem9udGFsJyksXG4gICAgdGhpcy50YWJzLnJvb3QsXG4gIF0sIHtzdHlsZToge3dpZHRoOiAnMTAwJScsIGhlaWdodDogJzEwMCUnfX0pO1xuXG4gIG15Q2FyZHMgPSBbXSBhcyBIVE1MRWxlbWVudFtdO1xuICBmYXZvcml0ZUNhcmRzID0gW10gYXMgSFRNTEVsZW1lbnRbXTtcbiAgc2hhcmVkQ2FyZHMgPSBbXSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIHVwZGF0ZUZpbHRlclBhbmUoKSB7XG4gICAgY29uc3QgYnVpbGRGaWx0ZXJQYW5lID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHVpLndhaXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJpbmdUZXh0ID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICBjb25zdCB0ZXh0SW5wdXQgPSB1aS5zdHJpbmdJbnB1dCgnU2VhcmNoJywgJycsICh2OiBzdHJpbmcpID0+IGZpbHRlcmluZ1RleHQubmV4dCh2KSk7XG4gICAgICAgIHRleHRJbnB1dC5yb290LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIERHLmRlYm91bmNlKGZpbHRlcmluZ1RleHQuYXNPYnNlcnZhYmxlKCksIDYwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmZpbHRlcmluZ09wdGlvbnMudGV4dCA9IHRleHRJbnB1dC5zdHJpbmdWYWx1ZTtcbiAgICAgICAgICB0aGlzLmZhdlJ1bnNGaWx0ZXIubmV4dCgpO1xuICAgICAgICAgIHRoaXMuc2hhcmVkUnVuc0ZpbHRlci5uZXh0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGRhdGVJbnB1dCA9IHVpLmRhdGVJbnB1dCgnU3RhcnRlZCBhZnRlcicsIGRheWpzKCkuc3VidHJhY3QoMSwgJ3dlZWsnKSwgKHY6IGRheWpzLkRheWpzKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5maWx0ZXJpbmdPcHRpb25zLnN0YXJ0ZWRBZnRlciA9IHY7XG4gICAgICAgICAgdGhpcy5teVJ1bnNGaWx0ZXIubmV4dCgpO1xuICAgICAgICAgIHRoaXMuZmF2UnVuc0ZpbHRlci5uZXh0KCk7XG4gICAgICAgICAgdGhpcy5zaGFyZWRSdW5zRmlsdGVyLm5leHQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdFVzZXJzID0gT2JqZWN0LnZhbHVlcyhkZWZhdWx0VXNlcnNJZHMpO1xuICAgICAgICBjb25zdCBhbGxVc2VycyA9IGF3YWl0IGdyb2suZGFwaS51c2Vycy5saXN0KCkgYXMgREcuVXNlcltdO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZFVzZXJzID0gYWxsVXNlcnMuZmlsdGVyKCh1c2VyKSA9PiAhZGVmYXVsdFVzZXJzLmluY2x1ZGVzKHVzZXIuaWQpKTtcblxuICAgICAgICBjb25zdCBhdXRob3JJbnB1dCA9IHVpLmNob2ljZUlucHV0PERHLlVzZXIgfCBzdHJpbmc+KCdBdXRob3InLCAnQW55b25lJywgWydBbnlvbmUnLCAuLi5maWx0ZXJlZFVzZXJzXSwgKHY6IERHLlVzZXIgfCBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmZpbHRlcmluZ09wdGlvbnMuYXV0aG9yID0gKHYgPT09ICdBbnlvbmUnKSA/IHVuZGVmaW5lZCA6IHYgYXMgREcuVXNlcjtcbiAgICAgICAgICB0aGlzLnNoYXJlZFJ1bnNGaWx0ZXIubmV4dCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgYXV0aG9ySW5wdXQucm9vdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgIGRhdGVJbnB1dC5hZGRQYXR0ZXJuTWVudSgnZGF0ZXRpbWUnKTtcbiAgICAgICAgY29uc3QgZm9ybSA9IHVpLmRpdlYoW1xuICAgICAgICAgIHRleHRJbnB1dCxcbiAgICAgICAgICBkYXRlSW5wdXQsXG4gICAgICAgICAgYXV0aG9ySW5wdXQsXG4gICAgICAgIF0sICd1aS1mb3JtIHVpLWZvcm0td2lkZSB1aS1mb3JtLWxlZnQnKTtcbiAgICAgICAgZm9ybS5zdHlsZS5wYWRkaW5nID0gJzBweCc7XG5cbiAgICAgICAgdGhpcy50YWJzLm9uVGFiQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRUYWJOYW1lID0gdGhpcy50YWJzLmN1cnJlbnRQYW5lLm5hbWU7XG4gICAgICAgICAgaWYgKGN1cnJlbnRUYWJOYW1lID09PSAnSElTVE9SWScpIHtcbiAgICAgICAgICAgIHRleHRJbnB1dC5yb290LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICBkYXRlSW5wdXQucm9vdC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgICAgICAgYXV0aG9ySW5wdXQucm9vdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY3VycmVudFRhYk5hbWUgPT09ICdGQVZPUklURVMnKSB7XG4gICAgICAgICAgICB0ZXh0SW5wdXQucm9vdC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgICAgICAgZGF0ZUlucHV0LnJvb3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2Rpc3BsYXknKTtcbiAgICAgICAgICAgIGF1dGhvcklucHV0LnJvb3Quc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGN1cnJlbnRUYWJOYW1lID09PSAnU0hBUkVEJykge1xuICAgICAgICAgICAgdGV4dElucHV0LnJvb3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2Rpc3BsYXknKTtcbiAgICAgICAgICAgIGRhdGVJbnB1dC5yb290LnN0eWxlLnJlbW92ZVByb3BlcnR5KCdkaXNwbGF5Jyk7XG4gICAgICAgICAgICBhdXRob3JJbnB1dC5yb290LnN0eWxlLnJlbW92ZVByb3BlcnR5KCdkaXNwbGF5Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZm9ybTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBuZXdGaWx0ZXJQYW5lID0gYnVpbGRGaWx0ZXJQYW5lKCk7XG4gICAgdGhpcy5maWx0ZXJQYW5lLnJlcGxhY2VXaXRoKG5ld0ZpbHRlclBhbmUpO1xuICAgIHRoaXMuZmlsdGVyUGFuZSA9IG5ld0ZpbHRlclBhbmU7XG4gIH07XG5cbiAgc2hvd0RlbGV0ZVJ1bkRpYWxvZyhmdW5jQ2FsbDogREcuRnVuY0NhbGwpIHtcbiAgICB1aS5kaWFsb2coe3RpdGxlOiAnRGVsZXRlIHJ1bid9KVxuICAgICAgLmFkZCh1aS5kaXZUZXh0KCdUaGUgZGVsZXRlZCBydW4gaXMgaW1wb3NzaWJsZSB0byByZXN0b3JlLiBBcmUgeW91IHN1cmU/JykpXG4gICAgICAub25PSyhhc3luYyAoKSA9PiB7XG4gICAgICAgIHRoaXMuYmVmb3JlUnVuRGVsZXRlZC5uZXh0KGZ1bmNDYWxsLmlkKTtcbiAgICAgIH0pXG4gICAgICAuc2hvdyh7Y2VudGVyOiB0cnVlfSk7XG4gIH07XG5cbiAgdXBkYXRlU2hhcmVkUGFuZShzaGFyZWRSdW5zOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgY29uc3QgbmV3VGFiID0gKHNoYXJlZFJ1bnMubGVuZ3RoID4gMCkgPyB0aGlzLnJlbmRlclNoYXJlZENhcmRzKHNoYXJlZFJ1bnMpIDogdWkuZGl2VGV4dCgnTm8gcnVucyBhcmUgbWFya2VkIGFzIHNoYXJlZCcsICduby1lbGVtZW50cy1sYWJlbCcpO1xuICAgIHRoaXMuc2hhcmVkVGFiLnJlcGxhY2VXaXRoKG5ld1RhYik7XG4gICAgdGhpcy5zaGFyZWRUYWIgPSBuZXdUYWI7XG4gIH07XG5cbiAgdXBkYXRlRmF2b3JpdGVzUGFuZShmYXZvcml0ZVJ1bnM6IERHLkZ1bmNDYWxsW10pIHtcbiAgICBjb25zdCBuZXdUYWIgPSAoZmF2b3JpdGVSdW5zLmxlbmd0aCA+IDApID8gdGhpcy5yZW5kZXJGYXZvcml0ZUNhcmRzKGZhdm9yaXRlUnVucykgOiB1aS5kaXZUZXh0KCdObyBydW5zIGFyZSBtYXJrZWQgYXMgZmF2b3JpdGVzJywgJ25vLWVsZW1lbnRzLWxhYmVsJyk7XG4gICAgdGhpcy5mYXZUYWIucmVwbGFjZVdpdGgobmV3VGFiKTtcbiAgICB0aGlzLmZhdlRhYiA9IG5ld1RhYjtcbiAgfTtcblxuICB1cGRhdGVNeVBhbmUobXlSdW5zOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgY29uc3QgbmV3VGFiID0gKG15UnVucy5sZW5ndGggPiAwKSA/IHRoaXMucmVuZGVySGlzdG9yeUNhcmRzKG15UnVucykgOiB1aS5kaXZUZXh0KCdObyBydW5zIGFyZSBmb3VuZCBpbiBoaXN0b3J5JywgJ25vLWVsZW1lbnRzLWxhYmVsJyk7XG4gICAgdGhpcy5oaXN0b3J5VGFiLnJlcGxhY2VXaXRoKG5ld1RhYik7XG4gICAgdGhpcy5oaXN0b3J5VGFiID0gbmV3VGFiO1xuICB9O1xuXG4gIHJlbmRlckNhcmQoZnVuY0NhbGw6IERHLkZ1bmNDYWxsKSB7XG4gICAgY29uc3QgaWNvbiA9IGZ1bmNDYWxsLmF1dGhvci5waWN0dXJlIGFzIEhUTUxFbGVtZW50O1xuICAgIGljb24uc3R5bGUud2lkdGggPSAnMjVweCc7XG4gICAgaWNvbi5zdHlsZS5oZWlnaHQgPSAnMjVweCc7XG4gICAgaWNvbi5zdHlsZS5mb250U2l6ZSA9ICcyMHB4JztcbiAgICBjb25zdCBjYXJkTGFiZWwgPSB1aS5sYWJlbChmdW5jQ2FsbC5vcHRpb25zWyd0aXRsZSddID8/IGZ1bmNDYWxsLmF1dGhvci5mcmllbmRseU5hbWUsIHtzdHlsZTogeydjb2xvcic6ICd2YXIoLS1ibHVlLTEpJ319KTtcbiAgICB1aS5iaW5kKGZ1bmNDYWxsLmF1dGhvciwgaWNvbik7XG5cbiAgICBjb25zdCBlZGl0SWNvbiA9IHVpLmljb25GQSgnZWRpdCcsIChldikgPT4ge1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnNob3dFZGl0RGlhbG9nKGZ1bmNDYWxsKTtcbiAgICB9KTtcbiAgICBlZGl0SWNvbi5jbGFzc0xpc3QuYWRkKCdjdi1mdW5jY2FsbC1jYXJkLWhvdmVyLWljb24nKTtcblxuICAgIGNvbnN0IGRlbGV0ZUljb24gPSB1aS5pY29uRkEoJ3RyYXNoLWFsdCcsIGFzeW5jIChldikgPT4ge1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnNob3dEZWxldGVSdW5EaWFsb2coZnVuY0NhbGwpO1xuICAgIH0sICdEZWxldGUgdGhlIHJ1bicpO1xuICAgIGRlbGV0ZUljb24uY2xhc3NMaXN0LmFkZCgnY3YtZnVuY2NhbGwtY2FyZC1ob3Zlci1pY29uJyk7XG5cbiAgICBjb25zdCBmYXZvcml0ZWRJY29uID0gdWkuaWNvbkZBKCdzdGFyJywgbnVsbCwgJ1VuZmF2b3JpdGUgdGhlIHJ1bicpO1xuICAgIGZhdm9yaXRlZEljb24uY2xhc3NMaXN0LmFkZCgnZmFzJywgJ2N2LWZ1bmNjYWxsLWNhcmQtZGVmLWljb24nKTtcblxuICAgIGNvbnN0IHNoYXJlZEljb24gPSB1aS5pY29uRkEoJ3NoYXJlLWFsdCcsIG51bGwsICdBZGQgdG8gc2hhcmVkJyk7XG4gICAgc2hhcmVkSWNvbi5jbGFzc0xpc3QuYWRkKCdmYXMnLCAnY3YtZnVuY2NhbGwtY2FyZC1kZWYtaWNvbicpO1xuICAgIHNoYXJlZEljb24uc3R5bGUuY29sb3IgPSAndmFyKC0tYmx1ZS0xKSc7XG5cbiAgICBjb25zdCBkYXRlU3RhcnRlZCA9IG5ldyBEYXRlKGZ1bmNDYWxsLnN0YXJ0ZWQudG9TdHJpbmcoKSkudG9Mb2NhbGVTdHJpbmcoJ2VuLXVzJywge21vbnRoOiAnc2hvcnQnLCBkYXk6ICdudW1lcmljJywgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICdudW1lcmljJ30pO1xuXG4gICAgY29uc3QgY2FyZCA9IHVpLmRpdkgoW1xuICAgICAgdWkuZGl2SChbXG4gICAgICAgIGljb24sXG4gICAgICAgIHVpLmRpdlYoW1xuICAgICAgICAgIGNhcmRMYWJlbCxcbiAgICAgICAgICB1aS5zcGFuKFtkYXRlU3RhcnRlZF0pLFxuICAgICAgICAgIC4uLihmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddKSA/IFt1aS5kaXZUZXh0KGZ1bmNDYWxsLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10sICdkZXNjcmlwdGlvbicpXTogW10sXG4gICAgICAgIF0sICdjdi1jYXJkLWNvbnRlbnQnKSxcbiAgICAgIF0pLFxuICAgICAgdWkuZGl2SChbXG4gICAgICAgIGVkaXRJY29uLCBkZWxldGVJY29uLFxuICAgICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1snaXNGYXZvcml0ZSddKSA/IFtmYXZvcml0ZWRJY29uXSA6IFtdLFxuICAgICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1snaXNTaGFyZWQnXSkgPyBbc2hhcmVkSWNvbl06IFtdLFxuICAgICAgXSlcbiAgICBdLCAnY3YtZnVuY2NhbGwtY2FyZCcpO1xuXG4gICAgY2FyZC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHtcbiAgICAgIHRoaXMub25SdW5DaG9zZW4ubmV4dChmdW5jQ2FsbC5pZCk7XG5cbiAgICAgIGNvbnN0IGFsbENhcmRzID0gWy4uLnRoaXMubXlDYXJkcywgLi4udGhpcy5mYXZvcml0ZUNhcmRzLCAuLi50aGlzLnNoYXJlZENhcmRzXTtcbiAgICAgIGFsbENhcmRzLmZvckVhY2goKGMpID0+IGMuY2xhc3NMaXN0LnJlbW92ZSgnY2xpY2tlZCcpKTtcblxuICAgICAgY2FyZC5jbGFzc0xpc3QuYWRkKCdjbGlja2VkJyk7XG4gICAgfSk7XG4gICAgdWkudG9vbHRpcC5iaW5kKGNhcmQsICgpID0+IHVpLnRhYmxlRnJvbU1hcCh7XG4gICAgICBBdXRob3I6IGdyb2suc2hlbGwudXNlci50b01hcmt1cCgpLFxuICAgICAgRGF0ZTogZGF0ZVN0YXJ0ZWQsXG4gICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXSkgPyB7J1RpdGxlJzogZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXX06e30sXG4gICAgICAuLi4oZnVuY0NhbGwub3B0aW9uc1snZGVzY3JpcHRpb24nXSkgPyB7J0Rlc2NyaXB0aW9uJzogZnVuY0NhbGwub3B0aW9uc1snZGVzY3JpcHRpb24nXX06e30sXG4gICAgfSkpO1xuICAgIHJldHVybiBjYXJkO1xuICB9XG5cbiAgc2hvd0VkaXREaWFsb2coZnVuY0NhbGw6IERHLkZ1bmNDYWxsKSB7XG4gICAgY29uc3QgZGxnID0gdWkuZGlhbG9nKHt0aXRsZTogJ0VkaXQgcnVuJ30pO1xuXG4gICAgbGV0IHRpdGxlID0gZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXSA/PyAnJztcbiAgICBsZXQgZGVzY3JpcHRpb24gPSBmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddID8/ICcnO1xuICAgIGNvbnN0IHRpdGxlSW5wdXQgPSB1aS5zdHJpbmdJbnB1dCgnVGl0bGUnLCB0aXRsZSwgKHM6IHN0cmluZykgPT4ge1xuICAgICAgdGl0bGUgPSBzO1xuICAgICAgaWYgKHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRpdGxlSW5wdXQuc2V0VG9vbHRpcCgnVGl0bGUgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGl0bGVJbnB1dC5pbnB1dC5jbGFzc0xpc3QuYWRkKCdkNC1pbnZhbGlkJyksIDEwMCk7XG4gICAgICAgIGRsZy5nZXRCdXR0b24oJ09LJykuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGl0bGVJbnB1dC5zZXRUb29sdGlwKCcnKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aXRsZUlucHV0LmlucHV0LmNsYXNzTGlzdC5yZW1vdmUoJ2Q0LWludmFsaWQnKSwgMTAwKTtcbiAgICAgICAgZGxnLmdldEJ1dHRvbignT0snKS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGxldCBpc1NoYXJlZCA9IGZ1bmNDYWxsLm9wdGlvbnNbJ2lzU2hhcmVkJ10gPz8gZmFsc2U7XG4gICAgbGV0IGlzRmF2b3JpdGUgPSBmdW5jQ2FsbC5vcHRpb25zWydpc0Zhdm9yaXRlJ10gPz8gZmFsc2U7XG5cbiAgICBkbGcuYWRkKHVpLmZvcm0oW1xuICAgICAgdGl0bGVJbnB1dCxcbiAgICAgIHVpLnN0cmluZ0lucHV0KCdEZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAoczogc3RyaW5nKSA9PiB7IGRlc2NyaXB0aW9uID0gczsgfSksXG4gICAgICB1aS5ib29sSW5wdXQoJ0Zhdm9yaXRlcycsIGlzRmF2b3JpdGUsIChiOiBib29sZWFuKSA9PiBpc0Zhdm9yaXRlID0gYiksXG4gICAgICB1aS5ib29sSW5wdXQoJ1NoYXJlJywgaXNTaGFyZWQsIChiOiBib29sZWFuKSA9PiBpc1NoYXJlZCA9IGIpLFxuICAgIF0pKVxuICAgICAgLm9uT0soYXN5bmMgKCkgPT4ge1xuICAgICAgICBmdW5jQ2FsbCA9IGF3YWl0IGhpc3RvcnlVdGlscy5sb2FkUnVuKGZ1bmNDYWxsLmlkKTtcbiAgICAgICAgZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXSA9IHRpdGxlO1xuICAgICAgICBmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddID0gZGVzY3JpcHRpb247XG5cbiAgICAgICAgaWYgKGlzU2hhcmVkID09PSBmdW5jQ2FsbC5vcHRpb25zWydpc1NoYXJlZCddICYmIGlzRmF2b3JpdGUgPT09IGZ1bmNDYWxsLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSkge1xuICAgICAgICAgIGF3YWl0IGhpc3RvcnlVdGlscy5zYXZlUnVuKGZ1bmNDYWxsKTtcblxuICAgICAgICAgIGNvbnN0IGVkaXRlZFJ1biA9IHRoaXMuc3RvcmUuYWxsUnVucy52YWx1ZS5maW5kKChjYWxsKSA9PiBjYWxsLmlkID09PSBmdW5jQ2FsbC5pZCk7XG4gICAgICAgICAgZWRpdGVkUnVuIS5vcHRpb25zWyd0aXRsZSddID0gZnVuY0NhbGwub3B0aW9uc1sndGl0bGUnXTtcbiAgICAgICAgICBlZGl0ZWRSdW4hLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ10gPSBmdW5jQ2FsbC5vcHRpb25zWydkZXNjcmlwdGlvbiddO1xuXG4gICAgICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQodGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNTaGFyZWQgJiYgIWZ1bmNDYWxsLm9wdGlvbnNbJ2lzU2hhcmVkJ10pIHtcbiAgICAgICAgICBmdW5jQ2FsbC5vcHRpb25zWydpc1NoYXJlZCddID0gaXNTaGFyZWQ7XG4gICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMudGFicy5yb290LCB0cnVlKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmFkZFJ1blRvU2hhcmVkKGZ1bmNDYWxsKTtcbiAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy50YWJzLnJvb3QsIGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNTaGFyZWQgJiYgZnVuY0NhbGwub3B0aW9uc1snaXNTaGFyZWQnXSkge1xuICAgICAgICAgIGZ1bmNDYWxsLm9wdGlvbnNbJ2lzU2hhcmVkJ10gPSBpc1NoYXJlZDtcbiAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy50YWJzLnJvb3QsIHRydWUpO1xuICAgICAgICAgIGF3YWl0IHRoaXMucmVtb3ZlUnVuRnJvbVNoYXJlZChmdW5jQ2FsbCk7XG4gICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMudGFicy5yb290LCBmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGYXZvcml0ZSAmJiAhZnVuY0NhbGwub3B0aW9uc1snaXNGYXZvcml0ZSddKSB7XG4gICAgICAgICAgZnVuY0NhbGwub3B0aW9uc1snaXNGYXZvcml0ZSddID0gaXNGYXZvcml0ZTtcbiAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy50YWJzLnJvb3QsIHRydWUpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuYWRkUnVuVG9GYXZvcml0ZXMoZnVuY0NhbGwpO1xuICAgICAgICAgIHVpLnNldFVwZGF0ZUluZGljYXRvcih0aGlzLnRhYnMucm9vdCwgZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0Zhdm9yaXRlICYmIGZ1bmNDYWxsLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSkge1xuICAgICAgICAgIGZ1bmNDYWxsLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSA9IGlzRmF2b3JpdGU7XG4gICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMudGFicy5yb290LCB0cnVlKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnJlbW92ZVJ1bkZyb21GYXZvcml0ZXMoZnVuY0NhbGwpO1xuICAgICAgICAgIHVpLnNldFVwZGF0ZUluZGljYXRvcih0aGlzLnRhYnMucm9vdCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLnNob3coe2NlbnRlcjogdHJ1ZX0pO1xuICAgIHRpdGxlSW5wdXQuZmlyZUNoYW5nZWQoKTtcbiAgfVxuXG4gIHJlbmRlckZhdm9yaXRlQ2FyZHMoZnVuY0NhbGxzOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgdGhpcy5mYXZvcml0ZUNhcmRzID0gZnVuY0NhbGxzLm1hcCgoZnVuY0NhbGwpID0+IHRoaXMucmVuZGVyQ2FyZChmdW5jQ2FsbCkpO1xuICAgIHJldHVybiB1aS5kaXZWKHRoaXMuZmF2b3JpdGVDYXJkcyk7XG4gIH07XG5cbiAgcmVuZGVyU2hhcmVkQ2FyZHMoZnVuY0NhbGxzOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgdGhpcy5zaGFyZWRDYXJkcyA9IGZ1bmNDYWxscy5tYXAoKGZ1bmNDYWxsKSA9PiB0aGlzLnJlbmRlckNhcmQoZnVuY0NhbGwpKTtcbiAgICByZXR1cm4gdWkuZGl2Vih0aGlzLnNoYXJlZENhcmRzKTtcbiAgfTtcblxuICByZW5kZXJIaXN0b3J5Q2FyZHMoZnVuY0NhbGxzOiBERy5GdW5jQ2FsbFtdKSB7XG4gICAgdGhpcy5teUNhcmRzID0gZnVuY0NhbGxzLm1hcCgoZnVuY0NhbGwpID0+IHRoaXMucmVuZGVyQ2FyZChmdW5jQ2FsbCkpO1xuICAgIHJldHVybiB1aS5kaXZWKHRoaXMubXlDYXJkcywge3N0eWxlOiB7aGVpZ2h0OiAnMTAwJSd9fSk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmdW5jOiBERy5GdW5jXG4gICkge1xuICAgIHRoaXMudGFicy5yb290LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICAgIHRoaXMudGFicy5yb290LnN0eWxlLmhlaWdodCA9ICcxMDAlJztcblxuICAgIHRoaXMubXlSdW5zRmlsdGVyLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZU15UGFuZSh0aGlzLnN0b3JlLmZpbHRlcmVkTXlSdW5zKSk7XG4gICAgdGhpcy5mYXZSdW5zRmlsdGVyLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUZhdm9yaXRlc1BhbmUodGhpcy5zdG9yZS5maWx0ZXJlZEZhdm9yaXRlUnVucykpO1xuICAgIHRoaXMuc2hhcmVkUnVuc0ZpbHRlci5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVTaGFyZWRQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRTaGFyZWRSdW5zKSk7XG5cbiAgICB0aGlzLnN0b3JlLmFsbFJ1bnMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlTXlQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRNeVJ1bnMpO1xuICAgICAgdGhpcy51cGRhdGVGYXZvcml0ZXNQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRGYXZvcml0ZVJ1bnMpO1xuICAgICAgdGhpcy51cGRhdGVTaGFyZWRQYW5lKHRoaXMuc3RvcmUuZmlsdGVyZWRTaGFyZWRSdW5zKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWxsUnVuc0ZldGNoLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy5yb290LCB0cnVlKTtcbiAgICAgIGNvbnN0IGFsbFJ1bnMgPSAoYXdhaXQgaGlzdG9yeVV0aWxzLnB1bGxSdW5zQnlOYW1lKHRoaXMuZnVuYy5uYW1lLCBbXSwge29yZGVyOiAnc3RhcnRlZCd9LCBbJ3Nlc3Npb24udXNlcicsICdvcHRpb25zJ10pKS5yZXZlcnNlKCk7XG4gICAgICB0aGlzLnN0b3JlLmFsbFJ1bnMubmV4dChhbGxSdW5zKTtcbiAgICAgIHVpLnNldFVwZGF0ZUluZGljYXRvcih0aGlzLnJvb3QsIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNsZWFyTWV0YWRhdGEgPSAoZnVuY0NhbGw6IERHLkZ1bmNDYWxsKSA9PiB7XG4gICAgICBpZiAoIWZ1bmNDYWxsLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSAmJiAhZnVuY0NhbGwub3B0aW9uc1snaXNTaGFyZWQnXSkge1xuICAgICAgICBmdW5jQ2FsbC5vcHRpb25zWyd0aXRsZSddID0gbnVsbDtcbiAgICAgICAgZnVuY0NhbGwub3B0aW9uc1snZGVzY3JpcHRpb24nXSA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMuYWZ0ZXJSdW5BZGRUb0Zhdm9yaXRlcy5zdWJzY3JpYmUoKGFkZGVkKSA9PiB7XG4gICAgICBjb25zdCBlZGl0ZWRSdW4gPSB0aGlzLnN0b3JlLmFsbFJ1bnMudmFsdWUuZmluZCgoY2FsbCkgPT4gY2FsbC5pZCA9PT0gYWRkZWQuaWQpO1xuICAgICAgZWRpdGVkUnVuIS5vcHRpb25zWyd0aXRsZSddID0gYWRkZWQub3B0aW9uc1sndGl0bGUnXTtcbiAgICAgIGVkaXRlZFJ1biEub3B0aW9uc1snZGVzY3JpcHRpb24nXSA9IGFkZGVkLm9wdGlvbnNbJ2Rlc2NyaXB0aW9uJ107XG4gICAgICBlZGl0ZWRSdW4hLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSA9IHRydWU7XG4gICAgICB0aGlzLnN0b3JlLmFsbFJ1bnMubmV4dCh0aGlzLnN0b3JlLmFsbFJ1bnMudmFsdWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5hZnRlclJ1bkFkZFRvU2hhcmVkLnN1YnNjcmliZSgoYWRkZWQpID0+IHtcbiAgICAgIGNvbnN0IGVkaXRlZFJ1biA9IHRoaXMuc3RvcmUuYWxsUnVucy52YWx1ZS5maW5kKChjYWxsKSA9PiBjYWxsLmlkID09PSBhZGRlZC5pZCk7XG4gICAgICBlZGl0ZWRSdW4hLm9wdGlvbnNbJ3RpdGxlJ10gPSBhZGRlZC5vcHRpb25zWyd0aXRsZSddO1xuICAgICAgZWRpdGVkUnVuIS5vcHRpb25zWydkZXNjcmlwdGlvbiddID0gYWRkZWQub3B0aW9uc1snZGVzY3JpcHRpb24nXTtcbiAgICAgIGVkaXRlZFJ1biEub3B0aW9uc1snaXNTaGFyZWQnXSA9IHRydWU7XG4gICAgICB0aGlzLnN0b3JlLmFsbFJ1bnMubmV4dCh0aGlzLnN0b3JlLmFsbFJ1bnMudmFsdWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5hZnRlclJ1blJlbW92ZUZyb21GYXZvcml0ZXMuc3Vic2NyaWJlKChyZW1vdmVkKSA9PiB7XG4gICAgICBjb25zdCBlZGl0ZWRSdW4gPSB0aGlzLnN0b3JlLmFsbFJ1bnMudmFsdWUuZmluZCgoY2FsbCkgPT4gY2FsbC5pZCA9PT0gcmVtb3ZlZC5pZCkhO1xuICAgICAgZWRpdGVkUnVuLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSA9IGZhbHNlO1xuICAgICAgY2xlYXJNZXRhZGF0YShlZGl0ZWRSdW4pO1xuICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQodGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWZ0ZXJSdW5SZW1vdmVGcm9tU2hhcmVkLnN1YnNjcmliZSgocmVtb3ZlZCkgPT4ge1xuICAgICAgY29uc3QgZWRpdGVkUnVuID0gdGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlLmZpbmQoKGNhbGwpID0+IGNhbGwuaWQgPT09IHJlbW92ZWQuaWQpITtcbiAgICAgIGVkaXRlZFJ1bi5vcHRpb25zWydpc1NoYXJlZCddID0gZmFsc2U7XG4gICAgICBjbGVhck1ldGFkYXRhKGVkaXRlZFJ1bik7XG4gICAgICB0aGlzLnN0b3JlLmFsbFJ1bnMubmV4dCh0aGlzLnN0b3JlLmFsbFJ1bnMudmFsdWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5hZnRlclJ1bkRlbGV0ZWQuc3Vic2NyaWJlKChpZCkgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5hbGxSdW5zLm5leHQodGhpcy5zdG9yZS5hbGxSdW5zLnZhbHVlLmZpbHRlcigoY2FsbCkgPT4gY2FsbC5pZCAhPT0gaWQpKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWxsUnVuc0ZldGNoLm5leHQoKTtcbiAgICB0aGlzLnVwZGF0ZUZpbHRlclBhbmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkUnVuVG9GYXZvcml0ZXMoY2FsbFRvRmF2b3JpdGU6IERHLkZ1bmNDYWxsKTogUHJvbWlzZTxERy5GdW5jQ2FsbD4ge1xuICAgIGNhbGxUb0Zhdm9yaXRlLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSA9IHRydWU7XG5cbiAgICB0aGlzLmJlZm9yZVJ1bkFkZFRvRmF2b3JpdGVzLm5leHQoY2FsbFRvRmF2b3JpdGUpO1xuICAgIGNvbnN0IHNhdmVkRmF2b3JpdGUgPSBhd2FpdCBncm9rLmRhcGkuZnVuY3Rpb25zLmNhbGxzLmFsbFBhY2thZ2VWZXJzaW9ucygpLnNhdmUoY2FsbFRvRmF2b3JpdGUpO1xuICAgIHRoaXMuYWZ0ZXJSdW5BZGRUb0Zhdm9yaXRlcy5uZXh0KHNhdmVkRmF2b3JpdGUpO1xuICAgIHJldHVybiBzYXZlZEZhdm9yaXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZW1vdmVSdW5Gcm9tRmF2b3JpdGVzKGNhbGxUb1VuZmF2b3JpdGU6IERHLkZ1bmNDYWxsKTogUHJvbWlzZTxERy5GdW5jQ2FsbD4ge1xuICAgIGNhbGxUb1VuZmF2b3JpdGUub3B0aW9uc1sndGl0bGUnXSA9IG51bGw7XG4gICAgY2FsbFRvVW5mYXZvcml0ZS5vcHRpb25zWydkZXNjcmlwdGlvbiddID0gbnVsbDtcbiAgICBjYWxsVG9VbmZhdm9yaXRlLm9wdGlvbnNbJ2lzRmF2b3JpdGUnXSA9IGZhbHNlO1xuXG4gICAgdGhpcy5iZWZvcmVSdW5SZW1vdmVGcm9tRmF2b3JpdGVzLm5leHQoY2FsbFRvVW5mYXZvcml0ZSk7XG4gICAgY29uc3QgZmF2b3JpdGVTYXZlID0gYXdhaXQgZ3Jvay5kYXBpLmZ1bmN0aW9ucy5jYWxscy5hbGxQYWNrYWdlVmVyc2lvbnMoKS5zYXZlKGNhbGxUb1VuZmF2b3JpdGUpO1xuICAgIHRoaXMuYWZ0ZXJSdW5SZW1vdmVGcm9tRmF2b3JpdGVzLm5leHQoZmF2b3JpdGVTYXZlKTtcbiAgICByZXR1cm4gZmF2b3JpdGVTYXZlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhZGRSdW5Ub1NoYXJlZChjYWxsVG9TaGFyZTogREcuRnVuY0NhbGwpOiBQcm9taXNlPERHLkZ1bmNDYWxsPiB7XG4gICAgY2FsbFRvU2hhcmUub3B0aW9uc1snaXNTaGFyZWQnXSA9IHRydWU7XG5cbiAgICB0aGlzLmJlZm9yZVJ1bkFkZFRvU2hhcmVkLm5leHQoY2FsbFRvU2hhcmUpO1xuXG4gICAgY29uc3QgYWxsR3JvdXAgPSBhd2FpdCBncm9rLmRhcGkuZ3JvdXBzLmZpbmQoZGVmYXVsdEdyb3Vwc0lkc1snQWxsIHVzZXJzJ10pO1xuXG4gICAgY29uc3QgZGZPdXRwdXRzID0gd3UoY2FsbFRvU2hhcmUub3V0cHV0UGFyYW1zLnZhbHVlcygpIGFzIERHLkZ1bmNDYWxsUGFyYW1bXSlcbiAgICAgIC5maWx0ZXIoKG91dHB1dCkgPT4gb3V0cHV0LnByb3BlcnR5LnByb3BlcnR5VHlwZSA9PT0gREcuVFlQRS5EQVRBX0ZSQU1FKTtcblxuICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIGRmT3V0cHV0cykge1xuICAgICAgY29uc3QgZGYgPSBjYWxsVG9TaGFyZS5vdXRwdXRzW291dHB1dC5uYW1lXSBhcyBERy5EYXRhRnJhbWU7XG4gICAgICBhd2FpdCBncm9rLmRhcGkucGVybWlzc2lvbnMuZ3JhbnQoZGYuZ2V0VGFibGVJbmZvKCksIGFsbEdyb3VwLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGZJbnB1dHMgPSB3dShjYWxsVG9TaGFyZS5pbnB1dFBhcmFtcy52YWx1ZXMoKSBhcyBERy5GdW5jQ2FsbFBhcmFtW10pXG4gICAgICAuZmlsdGVyKChpbnB1dCkgPT4gaW5wdXQucHJvcGVydHkucHJvcGVydHlUeXBlID09PSBERy5UWVBFLkRBVEFfRlJBTUUpO1xuICAgIGZvciAoY29uc3QgaW5wdXQgb2YgZGZJbnB1dHMpIHtcbiAgICAgIGNvbnN0IGRmID0gY2FsbFRvU2hhcmUuaW5wdXRzW2lucHV0Lm5hbWVdIGFzIERHLkRhdGFGcmFtZTtcbiAgICAgIGF3YWl0IGdyb2suZGFwaS5wZXJtaXNzaW9ucy5ncmFudChkZi5nZXRUYWJsZUluZm8oKSwgYWxsR3JvdXAsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb25zdCBzYXZlZFNoYXJlZCA9IGF3YWl0IGdyb2suZGFwaS5mdW5jdGlvbnMuY2FsbHMuYWxsUGFja2FnZVZlcnNpb25zKCkuc2F2ZShjYWxsVG9TaGFyZSk7XG5cbiAgICB0aGlzLmFmdGVyUnVuQWRkVG9TaGFyZWQubmV4dChzYXZlZFNoYXJlZCk7XG4gICAgcmV0dXJuIHNhdmVkU2hhcmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZW1vdmVSdW5Gcm9tU2hhcmVkKGNhbGxUb1Vuc2hhcmU6IERHLkZ1bmNDYWxsKTogUHJvbWlzZTxERy5GdW5jQ2FsbD4ge1xuICAgIGNhbGxUb1Vuc2hhcmUub3B0aW9uc1sndGl0bGUnXSA9IG51bGw7XG4gICAgY2FsbFRvVW5zaGFyZS5vcHRpb25zWydkZXNjcmlwdGlvbiddID0gbnVsbDtcbiAgICBjYWxsVG9VbnNoYXJlLm9wdGlvbnNbJ2lzU2hhcmVkJ10gPSBmYWxzZTtcblxuICAgIHRoaXMuYmVmb3JlUnVuUmVtb3ZlRnJvbVNoYXJlZC5uZXh0KGNhbGxUb1Vuc2hhcmUpO1xuICAgIGNvbnN0IHNhdmVkU2hhcmVkID0gYXdhaXQgZ3Jvay5kYXBpLmZ1bmN0aW9ucy5jYWxscy5hbGxQYWNrYWdlVmVyc2lvbnMoKS5zYXZlKGNhbGxUb1Vuc2hhcmUpO1xuICAgIHRoaXMuYWZ0ZXJSdW5SZW1vdmVGcm9tU2hhcmVkLm5leHQoc2F2ZWRTaGFyZWQpO1xuICAgIHJldHVybiBzYXZlZFNoYXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm9vdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm9vdDtcbiAgfVxufVxuIl19
|
package/tsconfig.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// "incremental": true, /* Enable incremental compilation */
|
|
7
7
|
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
|
|
8
8
|
"module": "es2020", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
|
|
9
|
-
"lib": ["
|
|
9
|
+
"lib": ["es2021", "dom"], /* Specify library files to be included in the compilation. */
|
|
10
10
|
// "allowJs": true, /* Allow javascript files to be compiled. */
|
|
11
11
|
// "checkJs": true, /* Report errors in .js files. */
|
|
12
12
|
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
|