@remult/core
Advanced tools
Comparing version 1.0.28 to 1.0.30
@@ -254,3 +254,3 @@ /** | ||
r => { | ||
r.reset(); | ||
r.undoChanges(); | ||
}) | ||
@@ -364,2 +364,2 @@ }); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvYW5ndWxhci9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJbEcsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVbEMsTUFBTSxPQUFPLGtCQUFrQjtJQVQvQjtRQThCRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQXFDWCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBaUIzQixlQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUNsQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBcUJwQixTQUFJLEdBQUcsQ0FBQyxDQUFDO0lBbUhYLENBQUM7Ozs7SUFwTkMsZUFBZTtRQUNiLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQztTQUd6SDtJQUNILENBQUM7Ozs7O0lBQ0QsVUFBVSxDQUFDLEdBQTZCO1FBQ3RDLE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFDRCxXQUFXLENBQUMsR0FBNkI7O1lBQ25DLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFD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ZXMsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJy4uLy4uL2NvbHVtbic7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uL2VudGl0eSc7XHJcbmltcG9ydCB7IEdyaWRTZXR0aW5ncywgUm93QnV0dG9uIH0gZnJvbSAnLi4vLi4vZ3JpZC1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IERhdGFDb250cm9sU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9jb2x1bW4taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICd1dGlsJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRhLWdyaWQnLFxyXG4gIHRlbXBsYXRlVXJsOiBgLi9kYXRhLWdyaWQyLmNvbXBvbmVudC5odG1sYCxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWdyaWQyLmNvbXBvbmVudC5zY3NzJ11cclxufVxyXG4pXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZDJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh3aW5kb3cgJiYgd2luZG93LmdldENvbXB1dGVkU3R5bGUgJiYgdGhpcy5kYXRhR3JpZERpdikge1xyXG4gICAgICB0aGlzLnJpZ2h0VG9MZWZ0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5kYXRhR3JpZERpdi5uYXRpdmVFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PSAncnRsJztcclxuXHJcblxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRDb2xGbGV4KG1hcDogRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KSB7XHJcbiAgICByZXR1cm4gJzAgMCAnICsgdGhpcy5nZXRDb2xXaWR0aChtYXApO1xyXG4gIH1cclxuICBnZXRDb2xXaWR0aChtYXA6IERhdGFDb250cm9sU2V0dGluZ3M8YW55Pikge1xyXG4gICAgbGV0IHggPSB0aGlzLnNldHRpbmdzLmNvbHVtbnMuX19kYXRhQ29udHJvbFN0eWxlKG1hcCk7XHJcbiAgICBpZiAoIXgpXHJcbiAgICAgIHggPSAnMjAwcHgnO1xyXG4gICAgcmV0dXJuIHg7XHJcbiAgfVxyXG5cclxuICB0ZXN0KCkge1xyXG4gICAgLy90aGlzLmRhdGFHcmlkRGl2Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcclxuICB9XHJcbiAgcmlnaHRUb0xlZnQgPSBmYWxzZTtcclxuICAvL0B0cy1pZ25vcmVcclxuICBAVmlld0NoaWxkKCdkYXRhR3JpZERpdicpXHJcbiAgZGF0YUdyaWREaXY6IEVsZW1lbnRSZWY7IFxyXG4gIGdldFRvdGFsUm93cygpIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLnRvdGFsUm93cylcclxuICAgICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnNldHRpbmdzLnRvdGFsUm93cyAvIHRoaXMuc2V0dGluZ3Mucm93c1BlclBhZ2UpO1xyXG4gICAgaWYgKHRoaXMucmlnaHRUb0xlZnQpXHJcbiAgICAgIHJldHVybiAn16jXkdeZ150nO1xyXG4gICAgcmV0dXJuICdtYW55JztcclxuICB9XHJcbiAgdGVtcERyYWdDb2x1bW46IChEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pO1xyXG4gIGRyYWdTdGFydCh4OiBEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pIHtcclxuICAgIHRoaXMudGVtcERyYWdDb2x1bW4gPSB4O1xyXG5cclxuICB9XHJcbiAgZHJhZ092ZXIoeDogQ29sdW1uPGFueT4sIGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIG9uRHJvcCh4OiBEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pIHtcclxuICAgIGxldCBvbGRQb3NpdGlvbiA9IHRoaXMuc2V0dGluZ3MuY29sdW1ucy5pdGVtcy5pbmRleE9mKHRoaXMudGVtcERyYWdDb2x1bW4pO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5jb2x1bW5zLml0ZW1zLnNwbGljZShvbGRQb3NpdGlvbiwgMSk7XHJcbiAgICBsZXQgbmV3UG9zaXRpb24gPSB0aGlzLnNldHRpbmdzLmNvbHVtbnMuaXRlbXMuaW5kZXhPZih4KTtcclxuICAgIGlmIChuZXdQb3NpdGlvbiA9PSBvbGRQb3NpdGlvbilcclxuICAgICAgbmV3UG9zaXRpb24rKztcclxuICAgIHRoaXMuc2V0dGluZ3MuY29sdW1ucy5pdGVtcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIHRoaXMudGVtcERyYWdDb2x1bW4pO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5jb2x1bW5zLmNvbExpc3RDaGFuZ2VkKCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgX2dldEhlaWdodCgpIHtcclxuICAgIGlmICh0aGlzLmhlaWdodCkge1xyXG4gICAgICBpZiAoKCt0aGlzLmhlaWdodCkudG9TdHJpbmcoKSA9PSB0aGlzLmhlaWdodClcclxuICAgICAgICByZXR1cm4gdGhpcy5oZWlnaHQgKyBcInB4XCI7XHJcbiAgICAgIHJldHVybiB0aGlzLmhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgZGlzcGxheUJ1dHRvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlWQ1IgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSByZWNvcmRzOiBhbnk7XHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IEdyaWRTZXR0aW5nczxhbnk+O1xyXG4gIGlzRmlsdGVyZWQoYzogQ29sdW1uPGFueT4pIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmNvbHVtbnMuZmlsdGVySGVscGVyLmlzRmlsdGVyZWQoYyk7XHJcbiAgfVxyXG5cclxuICBnZXRCdXR0b25Dc3NDbGFzcyhiOiBSb3dCdXR0b248YW55Piwgcm93OiBhbnkpIHtcclxuICAgIGlmICghYi5jc3NDbGFzcylcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICBpZiAoaXNGdW5jdGlvbihiLmNzc0NsYXNzKSlcclxuICAgICAgcmV0dXJuICg8KChyb3c6IGFueSkgPT4gc3RyaW5nKT5iLmNzc0NsYXNzKShyb3cpO1xyXG4gICAgcmV0dXJuIGIuY3NzQ2xhc3MudG9TdHJpbmcoKTtcclxuXHJcbiAgfVxyXG5cclxuICByb3dCdXR0b25zOiBSb3dCdXR0b248YW55PltdID0gW107XHJcbiAga2V5czogc3RyaW5nW10gPSBbXTtcclxuICBwcml2YXRlIGFkZEJ1dHRvbihiOiBSb3dCdXR0b248YW55Pikge1xyXG4gICAgaWYgKCFiLmNsaWNrKVxyXG4gICAgICBiLmNsaWNrID0gKHIpID0+IHsgfTtcclxuICAgIGlmICghYi52aXNpYmxlKVxyXG4gICAgICBiLnZpc2libGUgPSByID0+IHRydWU7XHJcbiAgICBpZiAoIWIuY3NzQ2xhc3MpXHJcbiAgICAgIGIuY3NzQ2xhc3MgPSByID0+IFwiYnRuXCI7XHJcbiAgICBlbHNlIGlmICghaXNGdW5jdGlvbihiLmNzc0NsYXNzKSkge1xyXG4gICAgICBsZXQgeCA9IGIuY3NzQ2xhc3M7XHJcbiAgICAgIGIuY3NzQ2xhc3MgPSA8YW55PigocjogYW55KSA9PiB4KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0J1dHRvbnMucHVzaChiKTtcclxuICAgIHJldHVybiBiO1xyXG5cclxuICB9XHJcbiAgcm93Q2xpY2tlZChyb3c6IGFueSkge1xyXG4gICAgdGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93KHJvdyk7XHJcbiAgfVxyXG5cclxuICBwYWdlID0gMTtcclxuICBuZXh0UGFnZSgpIHtcclxuICAgIHRoaXMucGFnZSsrO1xyXG4gIH1cclxuICBwcmV2aW91c1BhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDw9IDEpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMucGFnZS0tO1xyXG4gIH1cclxuXHJcbiAgY2F0Y2hFcnJvcnMod2hhdDogYW55LCByOiBFbnRpdHk8YW55Pikge1xyXG4gICAgd2hhdC5jYXRjaCgoZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yKHIpO1xyXG5cclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgc2hvd0Vycm9yKHJvdzogRW50aXR5PGFueT4pIHtcclxuICAgIGxldCBtZXNzYWdlID0gcm93LnZhbGlkYXRpb25FcnJvcjtcclxuICAgIGlmICghbWVzc2FnZSlcclxuICAgICAgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICBsZXQgZm91bmRTdGF0ZUVycm9ycyA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBjIG9mIHJvdy5jb2x1bW5zKSB7XHJcbiAgICAgIGlmIChjLnZhbGlkYXRpb25FcnJvcikge1xyXG4gICAgICAgIGlmICghZm91bmRTdGF0ZUVycm9ycykge1xyXG4gICAgICAgICAgZm91bmRTdGF0ZUVycm9ycyA9IHRydWU7XHJcbiAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG0gPSBjLmRlZnMuY2FwdGlvbiArIFwiOiBcIjtcclxuICAgICAgICBtICs9IGMudmFsaWRhdGlvbkVycm9yO1xyXG4gICAgICAgIG1lc3NhZ2UgKz0gbSArIFwiXFxuXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFsZXJ0KG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MpXHJcbiAgICAgIHJldHVybjtcclxuXHJcblxyXG4gICAgdGhpcy5yb3dCdXR0b25zID0gW107XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5hbGxvd1VwZGF0ZSkge1xyXG4gICAgICB0aGlzLmFkZEJ1dHRvbih7XHJcbiAgICAgICAgbmFtZTogXCJcIixcclxuICAgICAgICBpY29uOiAnY2hlY2snLFxyXG4gICAgICAgIGNzc0NsYXNzOiBcImdseXBoaWNvbiBnbHlwaGljb24tb2sgYnRuLXN1Y2Nlc3NcIixcclxuICAgICAgICB2aXNpYmxlOiByID0+IHIud2FzQ2hhbmdlZCgpLFxyXG4gICAgICAgIGNsaWNrOiByID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnModGhpcy5zZXR0aW5ncy5fZG9TYXZpbmdSb3cociksIHIpO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hZGRCdXR0b24oe1xyXG4gICAgICAgIG5hbWU6IFwiXCIsXHJcbiAgICAgICAgaWNvbjogJ2NhbmNlbCcsXHJcbiAgICAgICAgY3NzQ2xhc3M6IFwiYnRuIGJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi1iYW4tY2lyY2xlXCIsXHJcbiAgICAgICAgdmlzaWJsZTogciA9PiByLndhc0NoYW5nZWQoKSxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICByLnJlc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuYWxsb3dEZWxldGUpXHJcbiAgICAgIHRoaXMuYWRkQnV0dG9uKHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2aXNpYmxlOiAocikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHIgJiYgIXIuaXNOZXcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLCBpY29uOiAnZGVsZXRlJyxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93ICYmIHRoaXMuc2V0dGluZ3Muc2V0dGluZ3MuY29uZmlybURlbGV0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLnNldHRpbmdzLmNvbmZpcm1EZWxldGUociwgKCkgPT4gdGhpcy5jYXRjaEVycm9ycyhyLmRlbGV0ZSgpLCByKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnMoci5kZWxldGUoKSwgcik7XHJcblxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGNzc0NsYXNzOiBcImJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi10cmFzaFwiXHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuX2J1dHRvbnMpXHJcbiAgICAgIGZvciAobGV0IGIgb2YgdGhpcy5zZXR0aW5ncy5fYnV0dG9ucykge1xyXG4gICAgICAgIHRoaXMuYWRkQnV0dG9uKGIpO1xyXG4gICAgICB9XHJcbiAgICBpZiAoIXRoaXMucmVjb3JkcyAmJiB0aGlzLnNldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuZ2V0UmVjb3JkcygpLnRoZW4oKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVjb3JkcyA9IHI7XHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgX2dldFJvd0NsYXNzKHJvdzogYW55KSB7XHJcbiAgICBsZXQgciA9ICdkYXRhR3JpZFJvdyAnO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3Mucm93Q2xhc3MpXHJcbiAgICAgIHIgKz0gdGhpcy5zZXR0aW5ncy5yb3dDbGFzcyhyb3cpO1xyXG4gICAgaWYgKHJvdyA9PSB0aGlzLnNldHRpbmdzLmN1cnJlbnRSb3cpXHJcbiAgICAgIHIgKz0gXCIgYWN0aXZlXCI7XHJcblxyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG4gIF9nZXRSb3dDb2x1bW5DbGFzcyhjb2w6IGFueSwgcm93OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmNvbHVtbnMuX2dldENvbHVtbkNsYXNzKGNvbCwgcm93KSArICcgZGF0YUdyaWREYXRhQ2VsbCc7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvYW5ndWxhci9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJbEcsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVbEMsTUFBTSxPQUFPLGtCQUFrQjtJQVQvQjtRQThCRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQXFDWCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBaUIzQixlQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUNsQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBcUJwQixTQUFJLEdBQUcsQ0FBQyxDQUFDO0lBbUhYLENBQUM7Ozs7SUFwTkMsZUFBZTtRQUNiLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQztTQUd6SDtJQUNILENBQUM7Ozs7O0lBQ0QsVUFBVSxDQUFDLEdBQTZCO1FBQ3RDLE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFDRCxXQUFXLENBQUMsR0FBNkI7O1lBQ25DLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFD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Z2VzLCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuLi8uLi9jb2x1bW4nO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi9lbnRpdHknO1xyXG5pbXBvcnQgeyBHcmlkU2V0dGluZ3MsIFJvd0J1dHRvbiB9IGZyb20gJy4uLy4uL2dyaWQtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBEYXRhQ29udHJvbFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vY29sdW1uLWludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAndXRpbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0YS1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogYC4vZGF0YS1ncmlkMi5jb21wb25lbnQuaHRtbGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1ncmlkMi5jb21wb25lbnQuc2NzcyddXHJcbn1cclxuKVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgRGF0YUdyaWQyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAod2luZG93ICYmIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlICYmIHRoaXMuZGF0YUdyaWREaXYpIHtcclxuICAgICAgdGhpcy5yaWdodFRvTGVmdCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZGF0YUdyaWREaXYubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT0gJ3J0bCc7XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0Q29sRmxleChtYXA6IERhdGFDb250cm9sU2V0dGluZ3M8YW55Pikge1xyXG4gICAgcmV0dXJuICcwIDAgJyArIHRoaXMuZ2V0Q29sV2lkdGgobWFwKTtcclxuICB9XHJcbiAgZ2V0Q29sV2lkdGgobWFwOiBEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pIHtcclxuICAgIGxldCB4ID0gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLl9fZGF0YUNvbnRyb2xTdHlsZShtYXApO1xyXG4gICAgaWYgKCF4KVxyXG4gICAgICB4ID0gJzIwMHB4JztcclxuICAgIHJldHVybiB4O1xyXG4gIH1cclxuXHJcbiAgdGVzdCgpIHtcclxuICAgIC8vdGhpcy5kYXRhR3JpZERpdi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IDA7XHJcbiAgfVxyXG4gIHJpZ2h0VG9MZWZ0ID0gZmFsc2U7XHJcbiAgLy9AdHMtaWdub3JlXHJcbiAgQFZpZXdDaGlsZCgnZGF0YUdyaWREaXYnKVxyXG4gIGRhdGFHcmlkRGl2OiBFbGVtZW50UmVmOyBcclxuICBnZXRUb3RhbFJvd3MoKSB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy50b3RhbFJvd3MpXHJcbiAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5zZXR0aW5ncy50b3RhbFJvd3MgLyB0aGlzLnNldHRpbmdzLnJvd3NQZXJQYWdlKTtcclxuICAgIGlmICh0aGlzLnJpZ2h0VG9MZWZ0KVxyXG4gICAgICByZXR1cm4gJ9eo15HXmdedJztcclxuICAgIHJldHVybiAnbWFueSc7XHJcbiAgfVxyXG4gIHRlbXBEcmFnQ29sdW1uOiAoRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KTtcclxuICBkcmFnU3RhcnQoeDogRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KSB7XHJcbiAgICB0aGlzLnRlbXBEcmFnQ29sdW1uID0geDtcclxuXHJcbiAgfVxyXG4gIGRyYWdPdmVyKHg6IENvbHVtbjxhbnk+LCBldmVudDogYW55KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBvbkRyb3AoeDogRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KSB7XHJcbiAgICBsZXQgb2xkUG9zaXRpb24gPSB0aGlzLnNldHRpbmdzLmNvbHVtbnMuaXRlbXMuaW5kZXhPZih0aGlzLnRlbXBEcmFnQ29sdW1uKTtcclxuICAgIHRoaXMuc2V0dGluZ3MuY29sdW1ucy5pdGVtcy5zcGxpY2Uob2xkUG9zaXRpb24sIDEpO1xyXG4gICAgbGV0IG5ld1Bvc2l0aW9uID0gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLml0ZW1zLmluZGV4T2YoeCk7XHJcbiAgICBpZiAobmV3UG9zaXRpb24gPT0gb2xkUG9zaXRpb24pXHJcbiAgICAgIG5ld1Bvc2l0aW9uKys7XHJcbiAgICB0aGlzLnNldHRpbmdzLmNvbHVtbnMuaXRlbXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCB0aGlzLnRlbXBEcmFnQ29sdW1uKTtcclxuICAgIHRoaXMuc2V0dGluZ3MuY29sdW1ucy5jb2xMaXN0Q2hhbmdlZCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nO1xyXG4gIF9nZXRIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcclxuICAgICAgaWYgKCgrdGhpcy5oZWlnaHQpLnRvU3RyaW5nKCkgPT0gdGhpcy5oZWlnaHQpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVpZ2h0ICsgXCJweFwiO1xyXG4gICAgICByZXR1cm4gdGhpcy5oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGRpc3BsYXlCdXR0b25zID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkaXNwbGF5VkNSID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcmVjb3JkczogYW55O1xyXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBHcmlkU2V0dGluZ3M8YW55PjtcclxuICBpc0ZpbHRlcmVkKGM6IENvbHVtbjxhbnk+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLmZpbHRlckhlbHBlci5pc0ZpbHRlcmVkKGMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnV0dG9uQ3NzQ2xhc3MoYjogUm93QnV0dG9uPGFueT4sIHJvdzogYW55KSB7XHJcbiAgICBpZiAoIWIuY3NzQ2xhc3MpXHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgaWYgKGlzRnVuY3Rpb24oYi5jc3NDbGFzcykpXHJcbiAgICAgIHJldHVybiAoPCgocm93OiBhbnkpID0+IHN0cmluZyk+Yi5jc3NDbGFzcykocm93KTtcclxuICAgIHJldHVybiBiLmNzc0NsYXNzLnRvU3RyaW5nKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgcm93QnV0dG9uczogUm93QnV0dG9uPGFueT5bXSA9IFtdO1xyXG4gIGtleXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBhZGRCdXR0b24oYjogUm93QnV0dG9uPEVudGl0eTxhbnk+Pikge1xyXG4gICAgaWYgKCFiLmNsaWNrKVxyXG4gICAgICBiLmNsaWNrID0gKHIpID0+IHsgfTtcclxuICAgIGlmICghYi52aXNpYmxlKVxyXG4gICAgICBiLnZpc2libGUgPSByID0+IHRydWU7XHJcbiAgICBpZiAoIWIuY3NzQ2xhc3MpXHJcbiAgICAgIGIuY3NzQ2xhc3MgPSByID0+IFwiYnRuXCI7XHJcbiAgICBlbHNlIGlmICghaXNGdW5jdGlvbihiLmNzc0NsYXNzKSkge1xyXG4gICAgICBsZXQgeCA9IGIuY3NzQ2xhc3M7XHJcbiAgICAgIGIuY3NzQ2xhc3MgPSA8YW55PigocjogYW55KSA9PiB4KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0J1dHRvbnMucHVzaChiKTtcclxuICAgIHJldHVybiBiO1xyXG5cclxuICB9XHJcbiAgcm93Q2xpY2tlZChyb3c6IGFueSkge1xyXG4gICAgdGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93KHJvdyk7XHJcbiAgfVxyXG5cclxuICBwYWdlID0gMTtcclxuICBuZXh0UGFnZSgpIHtcclxuICAgIHRoaXMucGFnZSsrO1xyXG4gIH1cclxuICBwcmV2aW91c1BhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDw9IDEpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMucGFnZS0tO1xyXG4gIH1cclxuXHJcbiAgY2F0Y2hFcnJvcnMod2hhdDogYW55LCByOiBFbnRpdHk8YW55Pikge1xyXG4gICAgd2hhdC5jYXRjaCgoZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yKHIpO1xyXG5cclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgc2hvd0Vycm9yKHJvdzogRW50aXR5PGFueT4pIHtcclxuICAgIGxldCBtZXNzYWdlID0gcm93LnZhbGlkYXRpb25FcnJvcjtcclxuICAgIGlmICghbWVzc2FnZSlcclxuICAgICAgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICBsZXQgZm91bmRTdGF0ZUVycm9ycyA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBjIG9mIHJvdy5jb2x1bW5zKSB7XHJcbiAgICAgIGlmIChjLnZhbGlkYXRpb25FcnJvcikge1xyXG4gICAgICAgIGlmICghZm91bmRTdGF0ZUVycm9ycykge1xyXG4gICAgICAgICAgZm91bmRTdGF0ZUVycm9ycyA9IHRydWU7XHJcbiAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG0gPSBjLmRlZnMuY2FwdGlvbiArIFwiOiBcIjtcclxuICAgICAgICBtICs9IGMudmFsaWRhdGlvbkVycm9yO1xyXG4gICAgICAgIG1lc3NhZ2UgKz0gbSArIFwiXFxuXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFsZXJ0KG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MpXHJcbiAgICAgIHJldHVybjtcclxuXHJcblxyXG4gICAgdGhpcy5yb3dCdXR0b25zID0gW107XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5hbGxvd1VwZGF0ZSkge1xyXG4gICAgICB0aGlzLmFkZEJ1dHRvbih7XHJcbiAgICAgICAgbmFtZTogXCJcIixcclxuICAgICAgICBpY29uOiAnY2hlY2snLFxyXG4gICAgICAgIGNzc0NsYXNzOiBcImdseXBoaWNvbiBnbHlwaGljb24tb2sgYnRuLXN1Y2Nlc3NcIixcclxuICAgICAgICB2aXNpYmxlOiByID0+IHIud2FzQ2hhbmdlZCgpLFxyXG4gICAgICAgIGNsaWNrOiByID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnModGhpcy5zZXR0aW5ncy5fZG9TYXZpbmdSb3cociksIHIpO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hZGRCdXR0b24oe1xyXG4gICAgICAgIG5hbWU6IFwiXCIsXHJcbiAgICAgICAgaWNvbjogJ2NhbmNlbCcsXHJcbiAgICAgICAgY3NzQ2xhc3M6IFwiYnRuIGJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi1iYW4tY2lyY2xlXCIsXHJcbiAgICAgICAgdmlzaWJsZTogciA9PiByLndhc0NoYW5nZWQoKSxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICByLnVuZG9DaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuYWxsb3dEZWxldGUpXHJcbiAgICAgIHRoaXMuYWRkQnV0dG9uKHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2aXNpYmxlOiAocikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHIgJiYgIXIuaXNOZXcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLCBpY29uOiAnZGVsZXRlJyxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93ICYmIHRoaXMuc2V0dGluZ3Muc2V0dGluZ3MuY29uZmlybURlbGV0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLnNldHRpbmdzLmNvbmZpcm1EZWxldGUociwgKCkgPT4gdGhpcy5jYXRjaEVycm9ycyhyLmRlbGV0ZSgpLCByKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnMoci5kZWxldGUoKSwgcik7XHJcblxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGNzc0NsYXNzOiBcImJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi10cmFzaFwiXHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuX2J1dHRvbnMpXHJcbiAgICAgIGZvciAobGV0IGIgb2YgdGhpcy5zZXR0aW5ncy5fYnV0dG9ucykge1xyXG4gICAgICAgIHRoaXMuYWRkQnV0dG9uKGIpO1xyXG4gICAgICB9XHJcbiAgICBpZiAoIXRoaXMucmVjb3JkcyAmJiB0aGlzLnNldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuZ2V0UmVjb3JkcygpLnRoZW4oKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVjb3JkcyA9IHI7XHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgX2dldFJvd0NsYXNzKHJvdzogYW55KSB7XHJcbiAgICBsZXQgciA9ICdkYXRhR3JpZFJvdyAnO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3Mucm93Q2xhc3MpXHJcbiAgICAgIHIgKz0gdGhpcy5zZXR0aW5ncy5yb3dDbGFzcyhyb3cpO1xyXG4gICAgaWYgKHJvdyA9PSB0aGlzLnNldHRpbmdzLmN1cnJlbnRSb3cpXHJcbiAgICAgIHIgKz0gXCIgYWN0aXZlXCI7XHJcblxyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG4gIF9nZXRSb3dDb2x1bW5DbGFzcyhjb2w6IGFueSwgcm93OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmNvbHVtbnMuX2dldENvbHVtbkNsYXNzKGNvbCwgcm93KSArICcgZGF0YUdyaWREYXRhQ2VsbCc7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19 |
@@ -339,3 +339,3 @@ /** | ||
function (r) { | ||
r.reset(); | ||
r.undoChanges(); | ||
}) | ||
@@ -470,2 +470,2 @@ }); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvYW5ndWxhci9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSWxHLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDO0lBQUE7UUE4QkUsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFxQ1gsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQWlCM0IsZUFBVSxHQUFxQixFQUFFLENBQUM7UUFDbEMsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQXFCcEIsU0FBSSxHQUFHLENBQUMsQ0FBQztJQW1IWCxDQUFDOzs7O0lBcE5DLDRDQUFlOzs7SUFBZjtRQUNFLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQztTQUd6SDtJQUNILENBQUM7Ozs7O0lBQ0QsdUNBQVU7Ozs7SUFBVixVQUFXLEdBQTZCO1FBQ3RDLE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFDRCx3Q0FBVzs7OztJQUFYLFVBQVksR0FBNkI7O1lBQ25DLENBQUMsR0FBRyxJQUFJLENBQUMs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MEJ2QixLQUFLO3lCQUNMLEtBQUs7aUNBUUwsS0FBSzs2QkFDTCxLQUFLOzBCQUVMLEtBQUs7MkJBQ0wsS0FBSzs7SUF1SlIseUJBQUM7Q0FBQSxBQTlORCxJQThOQztTQXJOWSxrQkFBa0I7OztJQXFCN0IseUNBQW9COztJQUVwQix5Q0FDd0I7O0lBUXhCLDRDQUEyQzs7SUFpQjNDLG1DQUF1Qjs7SUFDdkIsb0NBQXdCOztJQVF4Qiw0Q0FBK0I7O0lBQy9CLHdDQUEyQjs7SUFFM0IscUNBQXNCOztJQUN0QixzQ0FBcUM7O0lBY3JDLHdDQUFrQzs7SUFDbEMsa0NBQW9COztJQXFCcEIsa0NBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJy4uLy4uL2NvbHVtbic7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uL2VudGl0eSc7XHJcbmltcG9ydCB7IEdyaWRTZXR0aW5ncywgUm93QnV0dG9uIH0gZnJvbSAnLi4vLi4vZ3JpZC1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IERhdGFDb250cm9sU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9jb2x1bW4taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICd1dGlsJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRhLWdyaWQnLFxyXG4gIHRlbXBsYXRlVXJsOiBgLi9kYXRhLWdyaWQyLmNvbXBvbmVudC5odG1sYCxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWdyaWQyLmNvbXBvbmVudC5zY3NzJ11cclxufVxyXG4pXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZDJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh3aW5kb3cgJiYgd2luZG93LmdldENvbXB1dGVkU3R5bGUgJiYgdGhpcy5kYXRhR3JpZERpdikge1xyXG4gICAgICB0aGlzLnJpZ2h0VG9MZWZ0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5kYXRhR3JpZERpdi5uYXRpdmVFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PSAncnRsJztcclxuXHJcblxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRDb2xGbGV4KG1hcDogRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KSB7XHJcbiAgICByZXR1cm4gJzAgMCAnICsgdGhpcy5nZXRDb2xXaWR0aChtYXApO1xyXG4gIH1cclxuICBnZXRDb2xXaWR0aChtYXA6IERhdGFDb250cm9sU2V0dGluZ3M8YW55Pikge1xyXG4gICAgbGV0IHggPSB0aGlzLnNldHRpbmdzLmNvbHVtbnMuX19kYXRhQ29udHJvbFN0eWxlKG1hcCk7XHJcbiAgICBpZiAoIXgpXHJcbiAgICAgIHggPSAnMjAwcHgnO1xyXG4gICAgcmV0dXJuIHg7XHJcbiAgfVxyXG5cclxuICB0ZXN0KCkge1xyXG4gICAgLy90aGlzLmRhdGFHcmlkRGl2Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcclxuICB9XHJcbiAgcmlnaHRUb0xlZnQgPSBmYWxzZTtcclxuICAvL0B0cy1pZ25vcmVcclxuICBAVmlld0NoaWxkKCdkYXRhR3JpZERpdicpXHJcbiAgZGF0YUdyaWREaXY6IEVsZW1lbnRSZWY7IFxyXG4gIGdldFRvdGFsUm93cygpIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLnRvdGFsUm93cylcclxuICAgICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnNldHRpbmdzLnRvdGFsUm93cyAvIHRoaXMuc2V0dGluZ3Mucm93c1BlclBhZ2UpO1xyXG4gICAgaWYgKHRoaXMucmlnaHRUb0xlZnQpXHJcbiAgICAgIHJldHVybiAn16jXkdeZ150nO1xyXG4gICAgcmV0dXJuICdtYW55JztcclxuICB9XHJcbiAgdGVtcERyYWdDb2x1bW46IChEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pO1xyXG4gIGRyYWdTdGFydCh4OiBEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pIHtcclxuICAgIHRoaXMudGVtcERyYWdDb2x1bW4gPSB4O1xyXG5cclxuICB9XHJcbiAgZHJhZ092ZXIoeDogQ29sdW1uPGFueT4sIGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIG9uRHJvcCh4OiBEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pIHtcclxuICAgIGxldCBvbGRQb3NpdGlvbiA9IHRoaXMuc2V0dGluZ3MuY29sdW1ucy5pdGVtcy5pbmRleE9mKHRoaXMudGVtcERyYWdDb2x1bW4pO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5jb2x1bW5zLml0ZW1zLnNwbGljZShvbGRQb3NpdGlvbiwgMSk7XHJcbiAgICBsZXQgbmV3UG9zaXRpb24gPSB0aGlzLnNldHRpbmdzLmNvbHVtbnMuaXRlbXMuaW5kZXhPZih4KTtcclxuICAgIGlmIChuZXdQb3NpdGlvbiA9PSBvbGRQb3NpdGlvbilcclxuICAgICAgbmV3UG9zaXRpb24rKztcclxuICAgIHRoaXMuc2V0dGluZ3MuY29sdW1ucy5pdGVtcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIHRoaXMudGVtcERyYWdDb2x1bW4pO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5jb2x1bW5zLmNvbExpc3RDaGFuZ2VkKCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgX2dldEhlaWdodCgpIHtcclxuICAgIGlmICh0aGlzLmhlaWdodCkge1xyXG4gICAgICBpZiAoKCt0aGlzLmhlaWdodCkudG9TdHJpbmcoKSA9PSB0aGlzLmhlaWdodClcclxuICAgICAgICByZXR1cm4gdGhpcy5oZWlnaHQgKyBcInB4XCI7XHJcbiAgICAgIHJldHVybiB0aGlzLmhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgZGlzcGxheUJ1dHRvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlWQ1IgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSByZWNvcmRzOiBhbnk7XHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IEdyaWRTZXR0aW5nczxhbnk+O1xyXG4gIGlzRmlsdGVyZWQoYzogQ29sdW1uPGFueT4pIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmNvbHVtbnMuZmlsdGVySGVscGVyLmlzRmlsdGVyZWQoYyk7XHJcbiAgfVxyXG5cclxuICBnZXRCdXR0b25Dc3NDbGFzcyhiOiBSb3dCdXR0b248YW55Piwgcm93OiBhbnkpIHtcclxuICAgIGlmICghYi5jc3NDbGFzcylcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICBpZiAoaXNGdW5jdGlvbihiLmNzc0NsYXNzKSlcclxuICAgICAgcmV0dXJuICg8KChyb3c6IGFueSkgPT4gc3RyaW5nKT5iLmNzc0NsYXNzKShyb3cpO1xyXG4gICAgcmV0dXJuIGIuY3NzQ2xhc3MudG9TdHJpbmcoKTtcclxuXHJcbiAgfVxyXG5cclxuICByb3dCdXR0b25zOiBSb3dCdXR0b248YW55PltdID0gW107XHJcbiAga2V5czogc3RyaW5nW10gPSBbXTtcclxuICBwcml2YXRlIGFkZEJ1dHRvbihiOiBSb3dCdXR0b248YW55Pikge1xyXG4gICAgaWYgKCFiLmNsaWNrKVxyXG4gICAgICBiLmNsaWNrID0gKHIpID0+IHsgfTtcclxuICAgIGlmICghYi52aXNpYmxlKVxyXG4gICAgICBiLnZpc2libGUgPSByID0+IHRydWU7XHJcbiAgICBpZiAoIWIuY3NzQ2xhc3MpXHJcbiAgICAgIGIuY3NzQ2xhc3MgPSByID0+IFwiYnRuXCI7XHJcbiAgICBlbHNlIGlmICghaXNGdW5jdGlvbihiLmNzc0NsYXNzKSkge1xyXG4gICAgICBsZXQgeCA9IGIuY3NzQ2xhc3M7XHJcbiAgICAgIGIuY3NzQ2xhc3MgPSA8YW55PigocjogYW55KSA9PiB4KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0J1dHRvbnMucHVzaChiKTtcclxuICAgIHJldHVybiBiO1xyXG5cclxuICB9XHJcbiAgcm93Q2xpY2tlZChyb3c6IGFueSkge1xyXG4gICAgdGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93KHJvdyk7XHJcbiAgfVxyXG5cclxuICBwYWdlID0gMTtcclxuICBuZXh0UGFnZSgpIHtcclxuICAgIHRoaXMucGFnZSsrO1xyXG4gIH1cclxuICBwcmV2aW91c1BhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDw9IDEpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMucGFnZS0tO1xyXG4gIH1cclxuXHJcbiAgY2F0Y2hFcnJvcnMod2hhdDogYW55LCByOiBFbnRpdHk8YW55Pikge1xyXG4gICAgd2hhdC5jYXRjaCgoZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yKHIpO1xyXG5cclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgc2hvd0Vycm9yKHJvdzogRW50aXR5PGFueT4pIHtcclxuICAgIGxldCBtZXNzYWdlID0gcm93LnZhbGlkYXRpb25FcnJvcjtcclxuICAgIGlmICghbWVzc2FnZSlcclxuICAgICAgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICBsZXQgZm91bmRTdGF0ZUVycm9ycyA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBjIG9mIHJvdy5jb2x1bW5zKSB7XHJcbiAgICAgIGlmIChjLnZhbGlkYXRpb25FcnJvcikge1xyXG4gICAgICAgIGlmICghZm91bmRTdGF0ZUVycm9ycykge1xyXG4gICAgICAgICAgZm91bmRTdGF0ZUVycm9ycyA9IHRydWU7XHJcbiAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG0gPSBjLmRlZnMuY2FwdGlvbiArIFwiOiBcIjtcclxuICAgICAgICBtICs9IGMudmFsaWRhdGlvbkVycm9yO1xyXG4gICAgICAgIG1lc3NhZ2UgKz0gbSArIFwiXFxuXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFsZXJ0KG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MpXHJcbiAgICAgIHJldHVybjtcclxuXHJcblxyXG4gICAgdGhpcy5yb3dCdXR0b25zID0gW107XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5hbGxvd1VwZGF0ZSkge1xyXG4gICAgICB0aGlzLmFkZEJ1dHRvbih7XHJcbiAgICAgICAgbmFtZTogXCJcIixcclxuICAgICAgICBpY29uOiAnY2hlY2snLFxyXG4gICAgICAgIGNzc0NsYXNzOiBcImdseXBoaWNvbiBnbHlwaGljb24tb2sgYnRuLXN1Y2Nlc3NcIixcclxuICAgICAgICB2aXNpYmxlOiByID0+IHIud2FzQ2hhbmdlZCgpLFxyXG4gICAgICAgIGNsaWNrOiByID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnModGhpcy5zZXR0aW5ncy5fZG9TYXZpbmdSb3cociksIHIpO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hZGRCdXR0b24oe1xyXG4gICAgICAgIG5hbWU6IFwiXCIsXHJcbiAgICAgICAgaWNvbjogJ2NhbmNlbCcsXHJcbiAgICAgICAgY3NzQ2xhc3M6IFwiYnRuIGJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi1iYW4tY2lyY2xlXCIsXHJcbiAgICAgICAgdmlzaWJsZTogciA9PiByLndhc0NoYW5nZWQoKSxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICByLnJlc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuYWxsb3dEZWxldGUpXHJcbiAgICAgIHRoaXMuYWRkQnV0dG9uKHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2aXNpYmxlOiAocikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHIgJiYgIXIuaXNOZXcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLCBpY29uOiAnZGVsZXRlJyxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93ICYmIHRoaXMuc2V0dGluZ3Muc2V0dGluZ3MuY29uZmlybURlbGV0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLnNldHRpbmdzLmNvbmZpcm1EZWxldGUociwgKCkgPT4gdGhpcy5jYXRjaEVycm9ycyhyLmRlbGV0ZSgpLCByKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnMoci5kZWxldGUoKSwgcik7XHJcblxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGNzc0NsYXNzOiBcImJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi10cmFzaFwiXHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuX2J1dHRvbnMpXHJcbiAgICAgIGZvciAobGV0IGIgb2YgdGhpcy5zZXR0aW5ncy5fYnV0dG9ucykge1xyXG4gICAgICAgIHRoaXMuYWRkQnV0dG9uKGIpO1xyXG4gICAgICB9XHJcbiAgICBpZiAoIXRoaXMucmVjb3JkcyAmJiB0aGlzLnNldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuZ2V0UmVjb3JkcygpLnRoZW4oKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVjb3JkcyA9IHI7XHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgX2dldFJvd0NsYXNzKHJvdzogYW55KSB7XHJcbiAgICBsZXQgciA9ICdkYXRhR3JpZFJvdyAnO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3Mucm93Q2xhc3MpXHJcbiAgICAgIHIgKz0gdGhpcy5zZXR0aW5ncy5yb3dDbGFzcyhyb3cpO1xyXG4gICAgaWYgKHJvdyA9PSB0aGlzLnNldHRpbmdzLmN1cnJlbnRSb3cpXHJcbiAgICAgIHIgKz0gXCIgYWN0aXZlXCI7XHJcblxyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG4gIF9nZXRSb3dDb2x1bW5DbGFzcyhjb2w6IGFueSwgcm93OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmNvbHVtbnMuX2dldENvbHVtbkNsYXNzKGNvbCwgcm93KSArICcgZGF0YUdyaWREYXRhQ2VsbCc7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvYW5ndWxhci9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSWxHLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDO0lBQUE7UUE4QkUsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFxQ1gsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQWlCM0IsZUFBVSxHQUFxQixFQUFFLENBQUM7UUFDbEMsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQXFCcEIsU0FBSSxHQUFHLENBQUMsQ0FBQztJQW1IWCxDQUFDOzs7O0lBcE5DLDRDQUFlOzs7SUFBZjtRQUNFLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQztTQUd6SDtJQUNILENBQUM7Ozs7O0lBQ0QsdUNBQVU7Ozs7SUFBVixVQUFXLEdBQTZCO1FBQ3RDLE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFDRCx3Q0FBVzs7OztJQUFYLFVBQVksR0FBNkI7O1lBQ25DLENBQUMsR0FBRyxJQUFJLENBQUMs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QTBCdkIsS0FBSzt5QkFDTCxLQUFLO2lDQVFMLEtBQUs7NkJBQ0wsS0FBSzswQkFFTCxLQUFLOzJCQUNMLEtBQUs7O0lBdUpSLHlCQUFDO0NBQUEsQUE5TkQsSUE4TkM7U0FyTlksa0JBQWtCOzs7SUFxQjdCLHlDQUFvQjs7SUFFcEIseUNBQ3dCOztJQVF4Qiw0Q0FBMkM7O0lBaUIzQyxtQ0FBdUI7O0lBQ3ZCLG9DQUF3Qjs7SUFReEIsNENBQStCOztJQUMvQix3Q0FBMkI7O0lBRTNCLHFDQUFzQjs7SUFDdEIsc0NBQXFDOztJQWNyQyx3Q0FBa0M7O0lBQ2xDLGtDQUFvQjs7SUFxQnBCLGtDQUFTIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuLi8uLi9jb2x1bW4nO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi9lbnRpdHknO1xyXG5pbXBvcnQgeyBHcmlkU2V0dGluZ3MsIFJvd0J1dHRvbiB9IGZyb20gJy4uLy4uL2dyaWQtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBEYXRhQ29udHJvbFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vY29sdW1uLWludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAndXRpbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0YS1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogYC4vZGF0YS1ncmlkMi5jb21wb25lbnQuaHRtbGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1ncmlkMi5jb21wb25lbnQuc2NzcyddXHJcbn1cclxuKVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgRGF0YUdyaWQyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAod2luZG93ICYmIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlICYmIHRoaXMuZGF0YUdyaWREaXYpIHtcclxuICAgICAgdGhpcy5yaWdodFRvTGVmdCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZGF0YUdyaWREaXYubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT0gJ3J0bCc7XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0Q29sRmxleChtYXA6IERhdGFDb250cm9sU2V0dGluZ3M8YW55Pikge1xyXG4gICAgcmV0dXJuICcwIDAgJyArIHRoaXMuZ2V0Q29sV2lkdGgobWFwKTtcclxuICB9XHJcbiAgZ2V0Q29sV2lkdGgobWFwOiBEYXRhQ29udHJvbFNldHRpbmdzPGFueT4pIHtcclxuICAgIGxldCB4ID0gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLl9fZGF0YUNvbnRyb2xTdHlsZShtYXApO1xyXG4gICAgaWYgKCF4KVxyXG4gICAgICB4ID0gJzIwMHB4JztcclxuICAgIHJldHVybiB4O1xyXG4gIH1cclxuXHJcbiAgdGVzdCgpIHtcclxuICAgIC8vdGhpcy5kYXRhR3JpZERpdi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IDA7XHJcbiAgfVxyXG4gIHJpZ2h0VG9MZWZ0ID0gZmFsc2U7XHJcbiAgLy9AdHMtaWdub3JlXHJcbiAgQFZpZXdDaGlsZCgnZGF0YUdyaWREaXYnKVxyXG4gIGRhdGFHcmlkRGl2OiBFbGVtZW50UmVmOyBcclxuICBnZXRUb3RhbFJvd3MoKSB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy50b3RhbFJvd3MpXHJcbiAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5zZXR0aW5ncy50b3RhbFJvd3MgLyB0aGlzLnNldHRpbmdzLnJvd3NQZXJQYWdlKTtcclxuICAgIGlmICh0aGlzLnJpZ2h0VG9MZWZ0KVxyXG4gICAgICByZXR1cm4gJ9eo15HXmdedJztcclxuICAgIHJldHVybiAnbWFueSc7XHJcbiAgfVxyXG4gIHRlbXBEcmFnQ29sdW1uOiAoRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KTtcclxuICBkcmFnU3RhcnQoeDogRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KSB7XHJcbiAgICB0aGlzLnRlbXBEcmFnQ29sdW1uID0geDtcclxuXHJcbiAgfVxyXG4gIGRyYWdPdmVyKHg6IENvbHVtbjxhbnk+LCBldmVudDogYW55KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBvbkRyb3AoeDogRGF0YUNvbnRyb2xTZXR0aW5nczxhbnk+KSB7XHJcbiAgICBsZXQgb2xkUG9zaXRpb24gPSB0aGlzLnNldHRpbmdzLmNvbHVtbnMuaXRlbXMuaW5kZXhPZih0aGlzLnRlbXBEcmFnQ29sdW1uKTtcclxuICAgIHRoaXMuc2V0dGluZ3MuY29sdW1ucy5pdGVtcy5zcGxpY2Uob2xkUG9zaXRpb24sIDEpO1xyXG4gICAgbGV0IG5ld1Bvc2l0aW9uID0gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLml0ZW1zLmluZGV4T2YoeCk7XHJcbiAgICBpZiAobmV3UG9zaXRpb24gPT0gb2xkUG9zaXRpb24pXHJcbiAgICAgIG5ld1Bvc2l0aW9uKys7XHJcbiAgICB0aGlzLnNldHRpbmdzLmNvbHVtbnMuaXRlbXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCB0aGlzLnRlbXBEcmFnQ29sdW1uKTtcclxuICAgIHRoaXMuc2V0dGluZ3MuY29sdW1ucy5jb2xMaXN0Q2hhbmdlZCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nO1xyXG4gIF9nZXRIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcclxuICAgICAgaWYgKCgrdGhpcy5oZWlnaHQpLnRvU3RyaW5nKCkgPT0gdGhpcy5oZWlnaHQpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVpZ2h0ICsgXCJweFwiO1xyXG4gICAgICByZXR1cm4gdGhpcy5oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGRpc3BsYXlCdXR0b25zID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkaXNwbGF5VkNSID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcmVjb3JkczogYW55O1xyXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBHcmlkU2V0dGluZ3M8YW55PjtcclxuICBpc0ZpbHRlcmVkKGM6IENvbHVtbjxhbnk+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLmZpbHRlckhlbHBlci5pc0ZpbHRlcmVkKGMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnV0dG9uQ3NzQ2xhc3MoYjogUm93QnV0dG9uPGFueT4sIHJvdzogYW55KSB7XHJcbiAgICBpZiAoIWIuY3NzQ2xhc3MpXHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgaWYgKGlzRnVuY3Rpb24oYi5jc3NDbGFzcykpXHJcbiAgICAgIHJldHVybiAoPCgocm93OiBhbnkpID0+IHN0cmluZyk+Yi5jc3NDbGFzcykocm93KTtcclxuICAgIHJldHVybiBiLmNzc0NsYXNzLnRvU3RyaW5nKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgcm93QnV0dG9uczogUm93QnV0dG9uPGFueT5bXSA9IFtdO1xyXG4gIGtleXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBhZGRCdXR0b24oYjogUm93QnV0dG9uPEVudGl0eTxhbnk+Pikge1xyXG4gICAgaWYgKCFiLmNsaWNrKVxyXG4gICAgICBiLmNsaWNrID0gKHIpID0+IHsgfTtcclxuICAgIGlmICghYi52aXNpYmxlKVxyXG4gICAgICBiLnZpc2libGUgPSByID0+IHRydWU7XHJcbiAgICBpZiAoIWIuY3NzQ2xhc3MpXHJcbiAgICAgIGIuY3NzQ2xhc3MgPSByID0+IFwiYnRuXCI7XHJcbiAgICBlbHNlIGlmICghaXNGdW5jdGlvbihiLmNzc0NsYXNzKSkge1xyXG4gICAgICBsZXQgeCA9IGIuY3NzQ2xhc3M7XHJcbiAgICAgIGIuY3NzQ2xhc3MgPSA8YW55PigocjogYW55KSA9PiB4KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0J1dHRvbnMucHVzaChiKTtcclxuICAgIHJldHVybiBiO1xyXG5cclxuICB9XHJcbiAgcm93Q2xpY2tlZChyb3c6IGFueSkge1xyXG4gICAgdGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93KHJvdyk7XHJcbiAgfVxyXG5cclxuICBwYWdlID0gMTtcclxuICBuZXh0UGFnZSgpIHtcclxuICAgIHRoaXMucGFnZSsrO1xyXG4gIH1cclxuICBwcmV2aW91c1BhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDw9IDEpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMucGFnZS0tO1xyXG4gIH1cclxuXHJcbiAgY2F0Y2hFcnJvcnMod2hhdDogYW55LCByOiBFbnRpdHk8YW55Pikge1xyXG4gICAgd2hhdC5jYXRjaCgoZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yKHIpO1xyXG5cclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgc2hvd0Vycm9yKHJvdzogRW50aXR5PGFueT4pIHtcclxuICAgIGxldCBtZXNzYWdlID0gcm93LnZhbGlkYXRpb25FcnJvcjtcclxuICAgIGlmICghbWVzc2FnZSlcclxuICAgICAgbWVzc2FnZSA9IFwiXCI7XHJcbiAgICBsZXQgZm91bmRTdGF0ZUVycm9ycyA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBjIG9mIHJvdy5jb2x1bW5zKSB7XHJcbiAgICAgIGlmIChjLnZhbGlkYXRpb25FcnJvcikge1xyXG4gICAgICAgIGlmICghZm91bmRTdGF0ZUVycm9ycykge1xyXG4gICAgICAgICAgZm91bmRTdGF0ZUVycm9ycyA9IHRydWU7XHJcbiAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG0gPSBjLmRlZnMuY2FwdGlvbiArIFwiOiBcIjtcclxuICAgICAgICBtICs9IGMudmFsaWRhdGlvbkVycm9yO1xyXG4gICAgICAgIG1lc3NhZ2UgKz0gbSArIFwiXFxuXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFsZXJ0KG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MpXHJcbiAgICAgIHJldHVybjtcclxuXHJcblxyXG4gICAgdGhpcy5yb3dCdXR0b25zID0gW107XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5hbGxvd1VwZGF0ZSkge1xyXG4gICAgICB0aGlzLmFkZEJ1dHRvbih7XHJcbiAgICAgICAgbmFtZTogXCJcIixcclxuICAgICAgICBpY29uOiAnY2hlY2snLFxyXG4gICAgICAgIGNzc0NsYXNzOiBcImdseXBoaWNvbiBnbHlwaGljb24tb2sgYnRuLXN1Y2Nlc3NcIixcclxuICAgICAgICB2aXNpYmxlOiByID0+IHIud2FzQ2hhbmdlZCgpLFxyXG4gICAgICAgIGNsaWNrOiByID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnModGhpcy5zZXR0aW5ncy5fZG9TYXZpbmdSb3cociksIHIpO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hZGRCdXR0b24oe1xyXG4gICAgICAgIG5hbWU6IFwiXCIsXHJcbiAgICAgICAgaWNvbjogJ2NhbmNlbCcsXHJcbiAgICAgICAgY3NzQ2xhc3M6IFwiYnRuIGJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi1iYW4tY2lyY2xlXCIsXHJcbiAgICAgICAgdmlzaWJsZTogciA9PiByLndhc0NoYW5nZWQoKSxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICByLnVuZG9DaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuYWxsb3dEZWxldGUpXHJcbiAgICAgIHRoaXMuYWRkQnV0dG9uKHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2aXNpYmxlOiAocikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHIgJiYgIXIuaXNOZXcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLCBpY29uOiAnZGVsZXRlJyxcclxuICAgICAgICBjbGljazogciA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5zZXRDdXJyZW50Um93ICYmIHRoaXMuc2V0dGluZ3Muc2V0dGluZ3MuY29uZmlybURlbGV0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLnNldHRpbmdzLmNvbmZpcm1EZWxldGUociwgKCkgPT4gdGhpcy5jYXRjaEVycm9ycyhyLmRlbGV0ZSgpLCByKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcnMoci5kZWxldGUoKSwgcik7XHJcblxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGNzc0NsYXNzOiBcImJ0bi1kYW5nZXIgZ2x5cGhpY29uIGdseXBoaWNvbi10cmFzaFwiXHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuX2J1dHRvbnMpXHJcbiAgICAgIGZvciAobGV0IGIgb2YgdGhpcy5zZXR0aW5ncy5fYnV0dG9ucykge1xyXG4gICAgICAgIHRoaXMuYWRkQnV0dG9uKGIpO1xyXG4gICAgICB9XHJcbiAgICBpZiAoIXRoaXMucmVjb3JkcyAmJiB0aGlzLnNldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuZ2V0UmVjb3JkcygpLnRoZW4oKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVjb3JkcyA9IHI7XHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgX2dldFJvd0NsYXNzKHJvdzogYW55KSB7XHJcbiAgICBsZXQgciA9ICdkYXRhR3JpZFJvdyAnO1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3Mucm93Q2xhc3MpXHJcbiAgICAgIHIgKz0gdGhpcy5zZXR0aW5ncy5yb3dDbGFzcyhyb3cpO1xyXG4gICAgaWYgKHJvdyA9PSB0aGlzLnNldHRpbmdzLmN1cnJlbnRSb3cpXHJcbiAgICAgIHIgKz0gXCIgYWN0aXZlXCI7XHJcblxyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG4gIF9nZXRSb3dDb2x1bW5DbGFzcyhjb2w6IGFueSwgcm93OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLmNvbHVtbnMuX2dldENvbHVtbkNsYXNzKGNvbCwgcm93KSArICcgZGF0YUdyaWREYXRhQ2VsbCc7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19 |
{ | ||
"name": "@remult/core", | ||
"schematics": "./schematics/collection.json", | ||
"version": "1.0.28", | ||
"version": "1.0.30", | ||
"description": "remult core lib", | ||
@@ -6,0 +6,0 @@ "license": "MIT", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
3702487