Sanakey
2021-07-09 3fc241d02fb8b671289de3d9d80bf848349c04d4
pages/storeEdit/storeEdit.js
@@ -291,7 +291,7 @@
            });
        });
    },
    onSave: function () {
    onSave: wx.$utils.debounce(function () {
        var location = this.data.location;
        if (!location) {
            wx.showToast({
@@ -315,7 +315,7 @@
        });
        console.log('....提交成功');
        this.saveStore();
    },
    }),
    onShow: function () {
        var location = chooseLocation.getLocation();
        console.log(location);
@@ -329,4 +329,4 @@
        chooseLocation.setLocation(null);
    }
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVFZGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RvcmVFZGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBa0Q7QUFFbEQsSUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDdkQsSUFBSSxpQkFBOEIsQ0FBQztBQUNuQyxJQUFJLENBQUM7SUFDSCxJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUMsSUFBVztRQUNuQixRQUFRLEVBQUMsSUFBVztRQUNwQixNQUFNLEVBQUMsRUFBRTtRQUNULFNBQVMsRUFBQyxFQUFFO1FBQ1osTUFBTSxFQUFDLEVBQUU7UUFDVCxLQUFLLEVBQUUsRUFBRTtRQUNULE9BQU8sRUFBQyxFQUFFO1FBQ1YsU0FBUyxFQUFDLE9BQU87UUFDakIsT0FBTyxFQUFDLE9BQU87UUFDZixlQUFlLEVBQUMsRUFBRTtLQUVuQjtJQUNELE1BQU0sWUFBQyxPQUFPO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxPQUFPLFNBQUE7YUFDUixDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7U0FDcEI7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ1gsYUFBYSxFQUFFLCtDQUErQztZQUM5RCxhQUFhLEVBQUUsK0NBQStDO1NBQy9ELENBQUMsQ0FBQztJQVVMLENBQUM7SUFDRCxPQUFPO1FBQ0wsaUJBQWlCLEdBQUcsSUFBSSxxQkFBVyxDQUFDO1lBQ2xDLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLElBQUk7aUJBQ2Y7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFFBQVEs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QUksTUFBTSxHQUFHLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxNQUFNLFFBQUE7U0FDUCxDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxRQUFRLFVBQUE7YUFDVCxDQUFDLENBQUE7U0FDSDtJQUVILENBQUM7SUFDRCxRQUFRO1FBRU4sY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBRUYsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE15VmFsaWRhdG9yIGZyb20gXCIuLi8uLi91dGlscy9teVZhbGlkYXRvclwiO1xyXG4vLyBAdHMtaWdub3JlXHJcbmNvbnN0IGNob29zZUxvY2F0aW9uID0gcmVxdWlyZVBsdWdpbignY2hvb3NlTG9jYXRpb24nKTtcclxubGV0IHZhbGlkYXRvckluc3RhbmNlOiBNeVZhbGlkYXRvcjtcclxuUGFnZSh7XHJcbiAgZGF0YToge1xyXG4gICAgZG9jY29kZTpudWxsIGFzIGFueSxcclxuICAgIGxvY2F0aW9uOm51bGwgYXMgYW55LFxyXG4gICAgc3RyZWV0OicnLFxyXG4gICAgc3RvcmVOYW1lOicnLFxyXG4gICAgaW1hZ2VzOicnLFxyXG4gICAgcGhvbmU6ICcnLFxyXG4gICAgbGlua01hbjonJyxcclxuICAgIHN0YXJ0VGltZTonMDA6MDAnLFxyXG4gICAgZW5kVGltZTonMjQ6MDAnLFxyXG4gICAgc3RvcmVTdGF0dXNMaXN0OltdXHJcbiAgICAvLyBzZWxlY3RlZFN0b3JlSWRMaXN0OltdXHJcbiAgfSxcclxuICBvbkxvYWQob3B0aW9ucykge1xyXG4gICAgY29uc29sZS5sb2cob3B0aW9ucyk7XHJcbiAgICBsZXQgZG9jY29kZSA9IG9wdGlvbnMuZG9jY29kZTtcclxuICAgIGlmIChkb2Njb2RlKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgZG9jY29kZVxyXG4gICAgICB9KVxyXG4gICAgICB0aGlzLmdldFN0b3JlRGF0YSgpXHJcbiAgICB9XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBmaWxlVXBsb2FkVXJsOiBcIi9zaG9wcGluZy9jdXN0b21lclN0b3JlLmRvP209dXBsb2FkQXR0YWNobWVudFwiLFxyXG4gICAgICBmaWxlRGVsZXRlVXJsOiBcIi9zaG9wcGluZy9jdXN0b21lclN0b3JlLmRvP209ZGVsZXRlQXR0YWNobWVudFwiLFxyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLmdldE15Rm9vdHByaW50KCk7XHJcbiAgICAvLyBjb25zdCBldmVudENoYW5uZWwgPSB0aGlzLmdldE9wZW5lckV2ZW50Q2hhbm5lbCgpO1xyXG4gICAgLy8gZXZlbnRDaGFubmVsLm9uKCdnZXRTdG9yZUxpc3RGcm9tU3RvcmVMaXN0UGFnZScsIChkYXRhOmFueSk9PiB7XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKCfojrflj5bmlrDlu7rmtLvliqjml7bpgInkuK3nmoTpl6jlupcnLGRhdGEpXHJcbiAgICAvLyAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAvLyAgICAgc2VsZWN0ZWRTdG9yZUlkTGlzdDpkYXRhLnNlbGVjdGVkU3RvcmVJZExpc3QsXHJcbiAgICAvLyAgIH0pXHJcbiAgICAvL1xyXG4gICAgLy8gfSlcclxuICB9LFxyXG4gIG9uUmVhZHkoKSB7XHJcbiAgICB2YWxpZGF0b3JJbnN0YW5jZSA9IG5ldyBNeVZhbGlkYXRvcih7XHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgc3RyZWV0OiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHN0b3JlTmFtZToge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxpbmtNYW46IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwaG9uZToge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICBtb2JpbGU6IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIG1lc3NhZ2VzOiB7XHJcbiAgICAgICAgc3RyZWV0OiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ+ivt+i+k+WFpemXqOW6l+ivpue7huWcsOWdgCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHN0b3JlTmFtZToge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6ICfor7fovpPlhaXpl6jlupflkI3np7AnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsaW5rTWFuOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ+ivt+i+k+WFpei0n+i0o+S6uuWnk+WQjSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBob25lOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ+ivt+i+k+WFpemXqOW6l+iBlOezu+aWueW8jycsXHJcbiAgICAgICAgICBtb2JpbGU6ICfmiYvmnLrlj7fmoLzlvI/kuI3mraPnoa4nXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgbXVsdGlDaGVjazp0cnVlXHJcbiAgICB9LHRoaXMpO1xyXG4gIH0sXHJcbiAgYXN5bmMgZ2V0U3RvcmVEYXRhKCl7XHJcbiAgICBsZXQgZG9jY29kZSA9IHRoaXMuZGF0YS5kb2Njb2RlO1xyXG4gICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgd3guJGh0dHAucmVxdWVzdCh7XHJcbiAgICAgICAgdXJsOmAvc2hvcHBpbmcvY3VzdG9tZXJTdG9yZS5kbz9tPWdldEN1c3RvbWVyU3RvcmVEZXRhaWxgLFxyXG4gICAgICAgIGRhdGE6e1xyXG4gICAgICAgICAgZG9jY29kZVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICAgIGlmIChlcnJvcil7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgIGxldCBkYXRhID0gcmVzdWx0Lmxpc3RbMF07XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBzdHJlZXQ6IGRhdGEuc3RyZWV0LFxyXG4gICAgICBzdG9yZU5hbWU6ZGF0YS5zdG9yZU5hbWUsXHJcbiAgICAgIGltYWdlc1VybDpkYXRhLmltYWdlc1VybCxcclxuICAgICAgW1wibG9jYXRpb24ucHJvdmluY2VcIl06IGRhdGEucHJvdmluY2VOYW1lLFxyXG4gICAgICBbXCJsb2NhdGlvbi5jaXR5XCJdOiBkYXRhLmNpdHlOYW1lLFxyXG4gICAgICBbXCJsb2NhdGlvbi5kaXN0cmljdFwiXTogZGF0YS5jb3VudHlOYW1lLFxyXG4gICAgICBbXCJsb2NhdGlvbi5hZGRyZXNzXCJdOiBkYXRhLmFkZHJlc3MsXHJcbiAgICAgIFtcImxvY2F0aW9uLm5hbWVcIl06IGRhdGEuYWRkcmVzc05hbWUsXHJcbiAgICAgIFtcImxvY2F0aW9uLmxvbmdpdHVkZVwiXTogZGF0YS5sb25naXR1ZGUsXHJcbiAgICAgIFtcImxvY2F0aW9uLmxhdGl0dWRlXCJdOiBkYXRhLmxhdGl0dWRlLFxyXG4gICAgICBzdGF0dXM6IGRhdGEuc3RhdHVzLFxyXG4gICAgICBzdGFydFRpbWU6IGRhdGEuZnJvbUJ1c2luZXNzSG91cnMsXHJcbiAgICAgIGVuZFRpbWU6IGRhdGEudG9CdXNpbmVzc0hvdXJzLFxyXG4gICAgICBwaG9uZTogZGF0YS50ZWxlcGhvbmUsXHJcbiAgICAgIGxpbmtNYW46IGRhdGEubGlua01hbixcclxuICAgICAgc3RvcmVTdGF0dXNMaXN0OnJlc3VsdC5zdG9yZVN0YXR1c0xpc3RcclxuICAgIH0pXHJcbiAgfSxcclxuICBzZWxlY3RMb2NhdGlvbigpe1xyXG4gICAgY29uc3Qga2V5ID0gd3guZ2xvYmFsRGF0YS5UZW5nWHVuTWFwTG9jYXRpb25TZXJ2aWNlS2V5O1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgd3guc2hvd01vZGFsKHtcclxuICAgICAgICB0aXRsZTogJ+aPkOekuicsXHJcbiAgICAgICAgY29udGVudDogJ+ivt+mFjee9ruiFvuiur+WcsOWbvuacjeWKoeaJgOmcgOimgeeahGtleScsXHJcbiAgICAgICAgc2hvd0NhbmNlbDpmYWxzZVxyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCByZWZlcmVyID0gJ21pbmlBcHAnO1xyXG4gICAgd3gubmF2aWdhdGVUbyh7XHJcbiAgICAgIHVybDogJ3BsdWdpbjovL2Nob29zZUxvY2F0aW9uL2luZGV4P2tleT0nICsga2V5ICsgJyZyZWZlcmVyPScgKyByZWZlcmVyXHJcbiAgICAgIC8vICArICcmbG9jYXRpb249JyArIGxvY2F0aW9uICsgJyZjYXRlZ29yeT0nICsgY2F0ZWdvcnlcclxuICAgIH0pO1xyXG4gIH0sXHJcbiAgY2hlY2tTdHJlZXQoZTphbnkpe1xyXG4gICAgbGV0IHsgdmFsdWUgfSA9IGUuZGV0YWlsO1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB0aGlzLmNoZWNrRmllbGQoYHN0cmVldGAsdmFsdWUpO1xyXG4gIH0sXHJcbiAgY2hlY2tTdG9yZU5hbWUoZTphbnkpe1xyXG4gICAgbGV0IHsgdmFsdWUgfSA9IGUuZGV0YWlsO1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB0aGlzLmNoZWNrRmllbGQoYHN0b3JlTmFtZWAsdmFsdWUpO1xyXG4gIH0sXHJcbiAgY2hlY2tMaW5rTWFuKGU6YW55KXtcclxuICAgIGxldCB7IHZhbHVlIH0gPSBlLmRldGFpbDtcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdGhpcy5jaGVja0ZpZWxkKGBsaW5rTWFuYCx2YWx1ZSk7XHJcbiAgfSxcclxuICBjaGVja1Bob25lKGU6YW55KXtcclxuICAgIGxldCB7IHZhbHVlIH0gPSBlLmRldGFpbDtcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdGhpcy5jaGVja0ZpZWxkKGBwaG9uZWAsdmFsdWUpO1xyXG4gIH0sXHJcbiAgY2hlY2tGaWVsZChuYW1lOnN0cmluZyx2YWx1ZTpzdHJpbmcpe1xyXG4gICAgbGV0IGVycm9yTXNnID0gdmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tGaWVsZChgJHtuYW1lfWAsdmFsdWUpO1xyXG4gICAgaWYgKGVycm9yTXNnPT09Jycpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIFtgJHtuYW1lfWBdOiB2YWx1ZSxcclxuICAgICAgICBbYCR7bmFtZX1FcnJvcmBdOiBlcnJvck1zZyxcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgW2Ake25hbWV9TmFtZWBdOiB2YWx1ZSxcclxuICAgICAgICBbYCR7bmFtZX1FcnJvcmBdOiBlcnJvck1zZyxcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9LFxyXG4gIG9uRGVsZXRlU3RvcmUoKSB7XHJcblxyXG4gICAgLy8gY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgd3gucHJvLnNob3dNb2RhbCh7XHJcbiAgICAgIHRpdGxlOiAn56Gu5a6a5Yig6Zmk6K+l6Zeo5bqX5ZCX77yfJyxcclxuICAgIH0pLnRoZW4oKHJlczphbnkpID0+IHtcclxuICAgICAgaWYgKHJlcy5jb25maXJtKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+eUqOaIt+eCueWHu+ehruWumicpXHJcbiAgICAgICAgdGhpcy5kZWxldGVTdG9yZSgpO1xyXG5cclxuICAgICAgfSBlbHNlIGlmIChyZXMuY2FuY2VsKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+eUqOaIt+eCueWHu+WPlua2iCcpXHJcbiAgICAgIH1cclxuICAgICAgLy8gaW5zdGFuY2UuY2xvc2UoKTtcclxuICAgIH0pO1xyXG4gIH0sXHJcbiAgYXN5bmMgZGVsZXRlU3RvcmUoKXtcclxuICAgIGxldCBkb2Njb2RlID0gdGhpcy5kYXRhLmRvY2NvZGU7XHJcbiAgICBsZXQgW2Vycm9yLCByZXN1bHRdID0gYXdhaXQgd3guJHV0aWxzLnRvKFxyXG4gICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICB1cmw6YC9zaG9wcGluZy9jdXN0b21lclN0b3JlLmRvP209ZGVsZXRlQ3VzdG9tZXJTdG9yZWAsXHJcbiAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICBkb2Njb2RlXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICAgaWYgKGVycm9yKXtcclxuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gICAgd3guc2hvd1RvYXN0KHtcclxuICAgICAgdGl0bGU6J+WIoOmZpOaIkOWKnydcclxuICAgIH0pXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHt3eC5uYXZpZ2F0ZUJhY2soKTt9LDEwMDApXHJcbiAgfSxcclxuICBhc3luYyBzYXZlU3RvcmUoKXtcclxuICAgIGxldCB0aW1lU2VsZWN0b3IgPSB0aGlzLnNlbGVjdENvbXBvbmVudCgnI3RpbWUtc2VsZWN0b3InKTtcclxuICAgIGxldCB7c3RhcnRUaW1lLGVuZFRpbWV9ID0gdGltZVNlbGVjdG9yLmdldFNlbGVjdGVkVGltZSgpO1xyXG4gICAgbGV0IHN0b3JlU3RhdHVzID0gdGhpcy5zZWxlY3RDb21wb25lbnQoJyNzdG9yZS1zdGF0dXMnKTtcclxuICAgIGxldCBzdGF0dXMgPSBzdG9yZVN0YXR1cy5nZXRTdG9yZVN0YXR1c1ZhbHVlKCk7XHJcbiAgICBsZXQge1xyXG4gICAgICBsb2NhdGlvbixcclxuICAgICAgc3RyZWV0LFxyXG4gICAgICBzdG9yZU5hbWUsXHJcbiAgICAgIGRvY2NvZGUsXHJcbiAgICAgIGltYWdlcyxcclxuICAgICAgbGlua01hbixcclxuICAgICAgcGhvbmVcclxuICAgIH0gPSB0aGlzLmRhdGE7XHJcbiAgICBsZXQgc3RvcmVEYXRhID0ge1xyXG4gICAgICBjb3VudHJ5TmFtZTon5Lit5Zu9JyxcclxuICAgICAgcHJvdmluY2VOYW1lOiBsb2NhdGlvbi5wcm92aW5jZSxcclxuICAgICAgY2l0eU5hbWU6IGxvY2F0aW9uLmNpdHksXHJcbiAgICAgIGNvdW50eU5hbWU6IGxvY2F0aW9uLmRpc3RyaWN0LFxyXG4gICAgICBhZGRyZXNzOiBsb2NhdGlvbi5hZGRyZXNzLFxyXG4gICAgICBhZGRyZXNzTmFtZTogbG9jYXRpb24ubmFtZSxcclxuICAgICAgbG9uZ2l0dWRlOiBsb2NhdGlvbi5sb25naXR1ZGUsXHJcbiAgICAgIGxhdGl0dWRlOiBsb2NhdGlvbi5sYXRpdHVkZSxcclxuICAgICAgc3RyZWV0LFxyXG4gICAgICBzdG9yZU5hbWUsXHJcbiAgICAgIGltYWdlcyxcclxuICAgICAgbGlua01hbixcclxuICAgICAgZnJvbUJ1c2luZXNzSG91cnM6c3RhcnRUaW1lLFxyXG4gICAgICB0b0J1c2luZXNzSG91cnM6ZW5kVGltZSxcclxuICAgICAgdGVsZXBob25lOnBob25lLFxyXG4gICAgICBkb2NDb2RlOmRvY2NvZGUsXHJcbiAgICAgIHN0YXR1c1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ+W+heS/neWtmOeahOmXqOW6l+aVsOaNricsc3RvcmVEYXRhKTtcclxuICAgIGxldCBbZXJyb3IsIHJlc3VsdF0gPSBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICAgIHVybDpgL3Nob3BwaW5nL2N1c3RvbWVyU3RvcmUuZG8/bT1zYXZlQ3VzdG9tZXJTdG9yZWAsXHJcbiAgICAgICAgZGF0YTogc3RvcmVEYXRhLFxyXG4gICAgICAgIG1ldGhvZDonUE9TVCdcclxuICAgICAgfSlcclxuICAgIClcclxuICAgIGlmIChlcnJvcil7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgIHRpdGxlOifkv53lrZjmiJDlip8nXHJcbiAgICB9KVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7d3gubmF2aWdhdGVCYWNrKCk7fSwxNTAwKVxyXG4gIH0sXHJcbiAgLy8gbmF2aWdhdGVCYWNrKG1vZGU/OmFueSl7XHJcbiAgLy8gICBsZXQge3NlbGVjdGVkU3RvcmVJZExpc3QsZG9jY29kZX0gPSB0aGlzLmRhdGE7XHJcbiAgLy8gICBpZiAobW9kZSA9PSdkZWxldGUnKXtcclxuICAvLyAgICAgLy8gQHRzLWlnbm9yZVxyXG4gIC8vICAgICBzZWxlY3RlZFN0b3JlSWRMaXN0LnNwbGljZShzZWxlY3RlZFN0b3JlSWRMaXN0LmluZGV4T2YoZG9jY29kZSksMSlcclxuICAvLyAgICAgY29uc29sZS5sb2coJ+WIoOmZpOmXqOW6l+WQjueahHNlbGVjdGVkU3RvcmVJZExpc3QnLHNlbGVjdGVkU3RvcmVJZExpc3QpO1xyXG4gIC8vICAgfVxyXG4gIC8vXHJcbiAgLy8gICBsZXQgZXZlbnRDaGFubmVsID0gdGhpcy5nZXRPcGVuZXJFdmVudENoYW5uZWwoKTtcclxuICAvLyAgIGV2ZW50Q2hhbm5lbC5lbWl0KCdnZXRTZWxlY3RlZFN0b3JlSWRMaXN0RnJvbVN0b3JlRWRpdFBhZ2UnLCB7XHJcbiAgLy8gICAgIHNlbGVjdGVkU3RvcmVJZExpc3QsXHJcbiAgLy8gICB9KTtcclxuICAvLyAgIHd4Lm5hdmlnYXRlQmFjaygpO1xyXG4gIC8vIH0sXHJcbiAgb25TYXZlKCl7XHJcbiAgICBsZXQgbG9jYXRpb24gPSB0aGlzLmRhdGEubG9jYXRpb247XHJcbiAgICBpZiAoIWxvY2F0aW9uKSB7XHJcbiAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgdGl0bGU6J+ivt+mAieaLqemXqOW6l+WcsOWdgCcsXHJcbiAgICAgICAgaWNvbjonbm9uZSdcclxuICAgICAgfSlcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNoZWNrQWxsRGF0YSA9IHZhbGlkYXRvckluc3RhbmNlLmNoZWNrQWxsRGF0YSgpO1xyXG4gICAgbGV0IGZpbGVVcGxvYWRlck11bHRpcGxlID0gdGhpcy5zZWxlY3RDb21wb25lbnQoJyNmaWxlLXVwbG9hZGVyLW11bHRpcGxlJyk7XHJcbiAgICBsZXQgY2hlY2tJbWFnZXMgPSBmaWxlVXBsb2FkZXJNdWx0aXBsZS5jaGVja0ltYWdlcyhcImltYWdlc1wiLCBcIuivt+iHs+WwkeS4iuS8oOS4gOW8oOWbvueJh1wiKTtcclxuICAgIGlmICghY2hlY2tBbGxEYXRhKXtcclxuICAgICAgY29uc29sZS5sb2coJ+i/mOaciemUmeivr+acquWkhOeQhicpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoZWNrSW1hZ2VzKSByZXR1cm47XHJcbiAgICBsZXQgaW1hZ2VzID0gZmlsZVVwbG9hZGVyTXVsdGlwbGUuZ2V0SW1hZ2VzVW5pZCgpO1xyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgaW1hZ2VzXHJcbiAgICB9KVxyXG4gICAgY29uc29sZS5sb2coJy4uLi7mj5DkuqTmiJDlip8nKTtcclxuICAgIHRoaXMuc2F2ZVN0b3JlKCk7XHJcbiAgfSxcclxuICBvblNob3coKXtcclxuICAgIGNvbnN0IGxvY2F0aW9uID0gY2hvb3NlTG9jYXRpb24uZ2V0TG9jYXRpb24oKTsgLy8g5aaC5p6c54K55Ye756Gu6K6k6YCJ54K55oyJ6ZKu77yM5YiZ6L+U5Zue6YCJ54K557uT5p6c5a+56LGh77yM5ZCm5YiZ6L+U5ZuebnVsbFxyXG4gICAgY29uc29sZS5sb2cobG9jYXRpb24pO1xyXG4gICAgaWYgKGxvY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbG9jYXRpb25cclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgfSxcclxuICBvblVubG9hZCAoKSB7XHJcbiAgICAvLyDpobXpnaLljbjovb3ml7borr7nva7mj5Lku7bpgInngrnmlbDmja7kuLpudWxs77yM6Ziy5q2i5YaN5qyh6L+b5YWl6aG16Z2i77yMZ2VMb2NhdGlvbui/lOWbnueahOaYr+S4iuasoemAieeCuee7k+aenFxyXG4gICAgY2hvb3NlTG9jYXRpb24uc2V0TG9jYXRpb24obnVsbCk7XHJcbiAgfVxyXG5cclxufSlcclxuZXhwb3J0IHt9XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVFZGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RvcmVFZGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBa0Q7QUFFbEQsSUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDdkQsSUFBSSxpQkFBOEIsQ0FBQztBQUNuQyxJQUFJLENBQUM7SUFDSCxJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUMsSUFBVztRQUNuQixRQUFRLEVBQUMsSUFBVztRQUNwQixNQUFNLEVBQUMsRUFBRTtRQUNULFNBQVMsRUFBQyxFQUFFO1FBQ1osTUFBTSxFQUFDLEVBQUU7UUFDVCxLQUFLLEVBQUUsRUFBRTtRQUNULE9BQU8sRUFBQyxFQUFFO1FBQ1YsU0FBUyxFQUFDLE9BQU87UUFDakIsT0FBTyxFQUFDLE9BQU87UUFDZixlQUFlLEVBQUMsRUFBRTtLQUVuQjtJQUNELE1BQU0sWUFBQyxPQUFPO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxPQUFPLFNBQUE7YUFDUixDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7U0FDcEI7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ1gsYUFBYSxFQUFFLCtDQUErQztZQUM5RCxhQUFhLEVBQUUsK0NBQStDO1NBQy9ELENBQUMsQ0FBQztJQVVMLENBQUM7SUFDRCxPQUFPO1FBQ0wsaUJBQWlCLEdBQUcsSUFBSSxxQkFBVyxDQUFDO1lBQ2xDLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLElBQUk7aUJBQ2Y7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFFBQVEsRUFBRSxJQUFJO2lCQUNmO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxRQUFRLEVBQUUsSUFBSTtpQkFDZjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsUUFBUSxFQUFFLElBQUk7b0JBQ2QsTUFBTSxFQUFFLElBQUk7aUJBQ2I7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFdBQVc7aUJBQ3RCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxRQUFRLEVBQUUsU0FBUztpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRSxVQUFVO2lCQUNyQjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLE1BQU0sRUFBRSxVQUFVO2lCQUNuQjthQUNGO1lBQ0QsVUFBVSxFQUFDLElBQUk7U0FDaEIsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNWLENBQUM7SUFDSyxZQUFZOzs7Ozs7d0JBQ1osT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNWLFdBQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ3RDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO2dDQUNmLEdBQUcsRUFBQyxxREFBcUQ7Z0NBQ3pELElBQUksRUFBQztvQ0FDSCxPQUFPLFNBQUE7aUNBQ1I7NkJBQ0YsQ0FBQyxDQUNILEVBQUE7O3dCQVBHLEtBQWtCLFNBT3JCLEVBUEksS0FBSyxRQUFBLEVBQUUsTUFBTSxRQUFBO3dCQVFsQixJQUFJLEtBQUssRUFBQzs0QkFDUixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUNuQixXQUFPO3lCQUNSO3dCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ2hCLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUMxQixJQUFJLENBQUMsT0FBTztnQ0FDVixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0NBQ25CLFNBQVMsRUFBQyxJQUFJLENBQUMsU0FBUztnQ0FDeEIsU0FBUyxFQUFDLElBQUksQ0FBQyxTQUFTOzs0QkFDeEIsR0FBQyxtQkFBbUIsSUFBRyxJQUFJLENBQUMsWUFBWTs0QkFDeEMsR0FBQyxlQUFlLElBQUcsSUFBSSxDQUFDLFFBQVE7NEJBQ2hDLEdBQUMsbUJBQW1CLElBQUcsSUFBSSxDQUFDLFVBQVU7NEJBQ3RDLEdBQUMsa0JBQWtCLElBQUcsSUFBSSxDQUFDLE9BQU87NEJBQ2xDLEdBQUMsZUFBZSxJQUFHLElBQUksQ0FBQyxXQUFXOzRCQUNuQyxHQUFDLG9CQUFvQixJQUFHLElBQUksQ0FBQyxTQUFTOzRCQUN0QyxHQUFDLG1CQUFtQixJQUFHLElBQUksQ0FBQyxRQUFROzRCQUNwQyxTQUFNLEdBQUUsSUFBSSxDQUFDLE1BQU07NEJBQ25CLFlBQVMsR0FBRSxJQUFJLENBQUMsaUJBQWlCOzRCQUNqQyxVQUFPLEdBQUUsSUFBSSxDQUFDLGVBQWU7NEJBQzdCLFFBQUssR0FBRSxJQUFJLENBQUMsU0FBUzs0QkFDckIsVUFBTyxHQUFFLElBQUksQ0FBQyxPQUFPOzRCQUNyQixrQkFBZSxHQUFDLE1BQU0sQ0FBQyxlQUFlO2dDQUN0QyxDQUFBOzs7OztLQUNIO0lBQ0QsY0FBYztRQUNaLElBQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUM7UUFDdkQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ1gsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsVUFBVSxFQUFDLEtBQUs7YUFDakIsQ0FBQyxDQUFBO1lBQ0YsT0FBTztTQUNSO1FBQ0QsSUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzFCLEVBQUUsQ0FBQyxVQUFVLENBQUM7WUFDWixHQUFHLEVBQUUsb0NBQW9DLEdBQUcsR0FBRyxHQUFHLFdBQVcsR0FBRyxPQUFPO1NBRXhFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXLFlBQUMsQ0FBSztRQUNULElBQUEsc0JBQUssQ0FBYztRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELGNBQWMsWUFBQyxDQUFLO1FBQ1osSUFBQSxzQkFBSyxDQUFjO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsWUFBWSxZQUFDLENBQUs7UUFDVixJQUFBLHNCQUFLLENBQWM7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxVQUFVLFlBQUMsQ0FBSztRQUNSLElBQUEsc0JBQUssQ0FBYztRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELFVBQVUsWUFBQyxJQUFXLEVBQUMsS0FBWTs7UUFDakMsSUFBSSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEtBQUcsSUFBTSxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELElBQUksUUFBUSxLQUFHLEVBQUUsRUFBQztZQUNoQixJQUFJLENBQUMsT0FBTztnQkFDVixHQUFDLEtBQUcsSUFBTSxJQUFHLEtBQUs7Z0JBQ2xCLEdBQUksSUFBSSxVQUFPLElBQUcsUUFBUTtvQkFDMUIsQ0FBQTtTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTztnQkFDVixHQUFJLElBQUksU0FBTSxJQUFHLEtBQUs7Z0JBQ3RCLEdBQUksSUFBSSxVQUFPLElBQUcsUUFBUTtvQkFDMUIsQ0FBQTtTQUNIO0lBQ0gsQ0FBQztJQUNELGFBQWE7UUFBYixpQkFlQztRQVpDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQ2YsS0FBSyxFQUFFLFdBQVc7U0FDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLEdBQU87WUFDZCxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDckIsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBRXBCO2lCQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtnQkFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUN0QjtRQUVILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNLLFdBQVc7Ozs7Ozt3QkFDWCxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7d0JBQ1YsV0FBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDdEMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7Z0NBQ2YsR0FBRyxFQUFDLGtEQUFrRDtnQ0FDdEQsSUFBSSxFQUFDO29DQUNILE9BQU8sU0FBQTtpQ0FDUjs2QkFDRixDQUFDLENBQ0gsRUFBQTs7d0JBUEcsS0FBa0IsU0FPckIsRUFQSSxLQUFLLFFBQUEsRUFBRSxNQUFNLFFBQUE7d0JBUWxCLElBQUksS0FBSyxFQUFDOzRCQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQ25CLFdBQU87eUJBQ1I7d0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDcEIsRUFBRSxDQUFDLFNBQVMsQ0FBQzs0QkFDWCxLQUFLLEVBQUMsTUFBTTt5QkFDYixDQUFDLENBQUE7d0JBQ0YsVUFBVSxDQUFDLGNBQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFBOzs7OztLQUM1QztJQUNLLFNBQVM7Ozs7Ozt3QkFDVCxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUN0RCxLQUFzQixZQUFZLENBQUMsZUFBZSxFQUFFLEVBQW5ELFNBQVMsZUFBQSxFQUFDLE9BQU8sYUFBQSxDQUFtQzt3QkFDckQsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ3BELE1BQU0sR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzt3QkFDM0MsS0FRQSxJQUFJLENBQUMsSUFBSSxFQVBYLFFBQVEsY0FBQSxFQUNSLE1BQU0sWUFBQSxFQUNOLFNBQVMsZUFBQSxFQUNULE9BQU8sYUFBQSxFQUNQLE1BQU0sWUFBQSxFQUNOLE9BQU8sYUFBQSxFQUNQLEtBQUssV0FBQSxDQUNPO3dCQUNWLFNBQVMsR0FBRzs0QkFDZCxXQUFXLEVBQUMsSUFBSTs0QkFDaEIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxRQUFROzRCQUMvQixRQUFRLEVBQUUsUUFBUSxDQUFDLElBQUk7NEJBQ3ZCLFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUTs0QkFDN0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPOzRCQUN6QixXQUFXLEVBQUUsUUFBUSxDQUFDLElBQUk7NEJBQzFCLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUzs0QkFDN0IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFROzRCQUMzQixNQUFNLFFBQUE7NEJBQ04sU0FBUyxXQUFBOzRCQUNULE1BQU0sUUFBQTs0QkFDTixPQUFPLFNBQUE7NEJBQ1AsaUJBQWlCLEVBQUMsU0FBUzs0QkFDM0IsZUFBZSxFQUFDLE9BQU87NEJBQ3ZCLFNBQVMsRUFBQyxLQUFLOzRCQUNmLE9BQU8sRUFBQyxPQUFPOzRCQUNmLE1BQU0sUUFBQTt5QkFDUCxDQUFBO3dCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUNaLFdBQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ3RDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO2dDQUNmLEdBQUcsRUFBQyxnREFBZ0Q7Z0NBQ3BELElBQUksRUFBRSxTQUFTO2dDQUNmLE1BQU0sRUFBQyxNQUFNOzZCQUNkLENBQUMsQ0FDSCxFQUFBOzt3QkFORyxLQUFrQixTQU1yQixFQU5JLEtBQUssUUFBQSxFQUFFLE1BQU0sUUFBQTt3QkFPbEIsSUFBSSxLQUFLLEVBQUM7NEJBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDbkIsV0FBTzt5QkFDUjt3QkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNwQixFQUFFLENBQUMsU0FBUyxDQUFDOzRCQUNYLEtBQUssRUFBQyxNQUFNO3lCQUNiLENBQUMsQ0FBQTt3QkFDRixVQUFVLENBQUMsY0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUE7Ozs7O0tBQzVDO0lBZUQsTUFBTSxFQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3hCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNYLEtBQUssRUFBQyxTQUFTO2dCQUNmLElBQUksRUFBQyxNQUFNO2FBQ1osQ0FBQyxDQUFBO1lBQ0YsT0FBTTtTQUNQO1FBRUQsSUFBSSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEQsSUFBSSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0UsSUFBSSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsWUFBWSxFQUFDO1lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQ3pCLElBQUksTUFBTSxHQUFHLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxNQUFNLFFBQUE7U0FDUCxDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFDRixNQUFNO1FBQ0osSUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEIsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFFBQVEsVUFBQTthQUNULENBQUMsQ0FBQTtTQUNIO0lBRUgsQ0FBQztJQUNELFFBQVE7UUFFTixjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FFRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTXlWYWxpZGF0b3IgZnJvbSBcIi4uLy4uL3V0aWxzL215VmFsaWRhdG9yXCI7XHJcbi8vIEB0cy1pZ25vcmVcclxuY29uc3QgY2hvb3NlTG9jYXRpb24gPSByZXF1aXJlUGx1Z2luKCdjaG9vc2VMb2NhdGlvbicpO1xyXG5sZXQgdmFsaWRhdG9ySW5zdGFuY2U6IE15VmFsaWRhdG9yO1xyXG5QYWdlKHtcclxuICBkYXRhOiB7XHJcbiAgICBkb2Njb2RlOm51bGwgYXMgYW55LFxyXG4gICAgbG9jYXRpb246bnVsbCBhcyBhbnksXHJcbiAgICBzdHJlZXQ6JycsXHJcbiAgICBzdG9yZU5hbWU6JycsXHJcbiAgICBpbWFnZXM6JycsXHJcbiAgICBwaG9uZTogJycsXHJcbiAgICBsaW5rTWFuOicnLFxyXG4gICAgc3RhcnRUaW1lOicwMDowMCcsXHJcbiAgICBlbmRUaW1lOicyNDowMCcsXHJcbiAgICBzdG9yZVN0YXR1c0xpc3Q6W11cclxuICAgIC8vIHNlbGVjdGVkU3RvcmVJZExpc3Q6W11cclxuICB9LFxyXG4gIG9uTG9hZChvcHRpb25zKSB7XHJcbiAgICBjb25zb2xlLmxvZyhvcHRpb25zKTtcclxuICAgIGxldCBkb2Njb2RlID0gb3B0aW9ucy5kb2Njb2RlO1xyXG4gICAgaWYgKGRvY2NvZGUpIHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBkb2Njb2RlXHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMuZ2V0U3RvcmVEYXRhKClcclxuICAgIH1cclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGZpbGVVcGxvYWRVcmw6IFwiL3Nob3BwaW5nL2N1c3RvbWVyU3RvcmUuZG8/bT11cGxvYWRBdHRhY2htZW50XCIsXHJcbiAgICAgIGZpbGVEZWxldGVVcmw6IFwiL3Nob3BwaW5nL2N1c3RvbWVyU3RvcmUuZG8/bT1kZWxldGVBdHRhY2htZW50XCIsXHJcbiAgICB9KTtcclxuICAgIC8vIHRoaXMuZ2V0TXlGb290cHJpbnQoKTtcclxuICAgIC8vIGNvbnN0IGV2ZW50Q2hhbm5lbCA9IHRoaXMuZ2V0T3BlbmVyRXZlbnRDaGFubmVsKCk7XHJcbiAgICAvLyBldmVudENoYW5uZWwub24oJ2dldFN0b3JlTGlzdEZyb21TdG9yZUxpc3RQYWdlJywgKGRhdGE6YW55KT0+IHtcclxuICAgIC8vICAgY29uc29sZS5sb2coJ+iOt+WPluaWsOW7uua0u+WKqOaXtumAieS4reeahOmXqOW6lycsZGF0YSlcclxuICAgIC8vICAgdGhpcy5zZXREYXRhKHtcclxuICAgIC8vICAgICBzZWxlY3RlZFN0b3JlSWRMaXN0OmRhdGEuc2VsZWN0ZWRTdG9yZUlkTGlzdCxcclxuICAgIC8vICAgfSlcclxuICAgIC8vXHJcbiAgICAvLyB9KVxyXG4gIH0sXHJcbiAgb25SZWFkeSgpIHtcclxuICAgIHZhbGlkYXRvckluc3RhbmNlID0gbmV3IE15VmFsaWRhdG9yKHtcclxuICAgICAgcnVsZXM6IHtcclxuICAgICAgICBzdHJlZXQ6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3RvcmVOYW1lOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGlua01hbjoge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBob25lOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgIG1vYmlsZTogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgbWVzc2FnZXM6IHtcclxuICAgICAgICBzdHJlZXQ6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+36L6T5YWl6Zeo5bqX6K+m57uG5Zyw5Z2AJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3RvcmVOYW1lOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ+ivt+i+k+WFpemXqOW6l+WQjeensCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxpbmtNYW46IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+36L6T5YWl6LSf6LSj5Lq65aeT5ZCNJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGhvbmU6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+36L6T5YWl6Zeo5bqX6IGU57O75pa55byPJyxcclxuICAgICAgICAgIG1vYmlsZTogJ+aJi+acuuWPt+agvOW8j+S4jeato+ehridcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBtdWx0aUNoZWNrOnRydWVcclxuICAgIH0sdGhpcyk7XHJcbiAgfSxcclxuICBhc3luYyBnZXRTdG9yZURhdGEoKXtcclxuICAgIGxldCBkb2Njb2RlID0gdGhpcy5kYXRhLmRvY2NvZGU7XHJcbiAgICBsZXQgW2Vycm9yLCByZXN1bHRdID0gYXdhaXQgd3guJHV0aWxzLnRvKFxyXG4gICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICB1cmw6YC9zaG9wcGluZy9jdXN0b21lclN0b3JlLmRvP209Z2V0Q3VzdG9tZXJTdG9yZURldGFpbGAsXHJcbiAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICBkb2Njb2RlXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICAgaWYgKGVycm9yKXtcclxuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gICAgbGV0IGRhdGEgPSByZXN1bHQubGlzdFswXTtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIHN0cmVldDogZGF0YS5zdHJlZXQsXHJcbiAgICAgIHN0b3JlTmFtZTpkYXRhLnN0b3JlTmFtZSxcclxuICAgICAgaW1hZ2VzVXJsOmRhdGEuaW1hZ2VzVXJsLFxyXG4gICAgICBbXCJsb2NhdGlvbi5wcm92aW5jZVwiXTogZGF0YS5wcm92aW5jZU5hbWUsXHJcbiAgICAgIFtcImxvY2F0aW9uLmNpdHlcIl06IGRhdGEuY2l0eU5hbWUsXHJcbiAgICAgIFtcImxvY2F0aW9uLmRpc3RyaWN0XCJdOiBkYXRhLmNvdW50eU5hbWUsXHJcbiAgICAgIFtcImxvY2F0aW9uLmFkZHJlc3NcIl06IGRhdGEuYWRkcmVzcyxcclxuICAgICAgW1wibG9jYXRpb24ubmFtZVwiXTogZGF0YS5hZGRyZXNzTmFtZSxcclxuICAgICAgW1wibG9jYXRpb24ubG9uZ2l0dWRlXCJdOiBkYXRhLmxvbmdpdHVkZSxcclxuICAgICAgW1wibG9jYXRpb24ubGF0aXR1ZGVcIl06IGRhdGEubGF0aXR1ZGUsXHJcbiAgICAgIHN0YXR1czogZGF0YS5zdGF0dXMsXHJcbiAgICAgIHN0YXJ0VGltZTogZGF0YS5mcm9tQnVzaW5lc3NIb3VycyxcclxuICAgICAgZW5kVGltZTogZGF0YS50b0J1c2luZXNzSG91cnMsXHJcbiAgICAgIHBob25lOiBkYXRhLnRlbGVwaG9uZSxcclxuICAgICAgbGlua01hbjogZGF0YS5saW5rTWFuLFxyXG4gICAgICBzdG9yZVN0YXR1c0xpc3Q6cmVzdWx0LnN0b3JlU3RhdHVzTGlzdFxyXG4gICAgfSlcclxuICB9LFxyXG4gIHNlbGVjdExvY2F0aW9uKCl7XHJcbiAgICBjb25zdCBrZXkgPSB3eC5nbG9iYWxEYXRhLlRlbmdYdW5NYXBMb2NhdGlvblNlcnZpY2VLZXk7XHJcbiAgICBpZiAoIWtleSkge1xyXG4gICAgICB3eC5zaG93TW9kYWwoe1xyXG4gICAgICAgIHRpdGxlOiAn5o+Q56S6JyxcclxuICAgICAgICBjb250ZW50OiAn6K+36YWN572u6IW+6K6v5Zyw5Zu+5pyN5Yqh5omA6ZyA6KaB55qEa2V5JyxcclxuICAgICAgICBzaG93Q2FuY2VsOmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlZmVyZXIgPSAnbWluaUFwcCc7XHJcbiAgICB3eC5uYXZpZ2F0ZVRvKHtcclxuICAgICAgdXJsOiAncGx1Z2luOi8vY2hvb3NlTG9jYXRpb24vaW5kZXg/a2V5PScgKyBrZXkgKyAnJnJlZmVyZXI9JyArIHJlZmVyZXJcclxuICAgICAgLy8gICsgJyZsb2NhdGlvbj0nICsgbG9jYXRpb24gKyAnJmNhdGVnb3J5PScgKyBjYXRlZ29yeVxyXG4gICAgfSk7XHJcbiAgfSxcclxuICBjaGVja1N0cmVldChlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWw7XHJcbiAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgIHRoaXMuY2hlY2tGaWVsZChgc3RyZWV0YCx2YWx1ZSk7XHJcbiAgfSxcclxuICBjaGVja1N0b3JlTmFtZShlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWw7XHJcbiAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgIHRoaXMuY2hlY2tGaWVsZChgc3RvcmVOYW1lYCx2YWx1ZSk7XHJcbiAgfSxcclxuICBjaGVja0xpbmtNYW4oZTphbnkpe1xyXG4gICAgbGV0IHsgdmFsdWUgfSA9IGUuZGV0YWlsO1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB0aGlzLmNoZWNrRmllbGQoYGxpbmtNYW5gLHZhbHVlKTtcclxuICB9LFxyXG4gIGNoZWNrUGhvbmUoZTphbnkpe1xyXG4gICAgbGV0IHsgdmFsdWUgfSA9IGUuZGV0YWlsO1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB0aGlzLmNoZWNrRmllbGQoYHBob25lYCx2YWx1ZSk7XHJcbiAgfSxcclxuICBjaGVja0ZpZWxkKG5hbWU6c3RyaW5nLHZhbHVlOnN0cmluZyl7XHJcbiAgICBsZXQgZXJyb3JNc2cgPSB2YWxpZGF0b3JJbnN0YW5jZS5jaGVja0ZpZWxkKGAke25hbWV9YCx2YWx1ZSk7XHJcbiAgICBpZiAoZXJyb3JNc2c9PT0nJyl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgW2Ake25hbWV9YF06IHZhbHVlLFxyXG4gICAgICAgIFtgJHtuYW1lfUVycm9yYF06IGVycm9yTXNnLFxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBbYCR7bmFtZX1OYW1lYF06IHZhbHVlLFxyXG4gICAgICAgIFtgJHtuYW1lfUVycm9yYF06IGVycm9yTXNnLFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH0sXHJcbiAgb25EZWxldGVTdG9yZSgpIHtcclxuXHJcbiAgICAvLyBjb25zb2xlLmxvZyhldmVudCk7XHJcbiAgICB3eC5wcm8uc2hvd01vZGFsKHtcclxuICAgICAgdGl0bGU6ICfnoa7lrprliKDpmaTor6Xpl6jlupflkJfvvJ8nLFxyXG4gICAgfSkudGhlbigocmVzOmFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzLmNvbmZpcm0pIHtcclxuICAgICAgICBjb25zb2xlLmxvZygn55So5oi354K55Ye756Gu5a6aJylcclxuICAgICAgICB0aGlzLmRlbGV0ZVN0b3JlKCk7XHJcblxyXG4gICAgICB9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygn55So5oi354K55Ye75Y+W5raIJylcclxuICAgICAgfVxyXG4gICAgICAvLyBpbnN0YW5jZS5jbG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfSxcclxuICBhc3luYyBkZWxldGVTdG9yZSgpe1xyXG4gICAgbGV0IGRvY2NvZGUgPSB0aGlzLmRhdGEuZG9jY29kZTtcclxuICAgIGxldCBbZXJyb3IsIHJlc3VsdF0gPSBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICAgIHVybDpgL3Nob3BwaW5nL2N1c3RvbWVyU3RvcmUuZG8/bT1kZWxldGVDdXN0b21lclN0b3JlYCxcclxuICAgICAgICBkYXRhOntcclxuICAgICAgICAgIGRvY2NvZGVcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICBpZiAoZXJyb3Ipe1xyXG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgICB3eC5zaG93VG9hc3Qoe1xyXG4gICAgICB0aXRsZTon5Yig6Zmk5oiQ5YqfJ1xyXG4gICAgfSlcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge3d4Lm5hdmlnYXRlQmFjaygpO30sMTAwMClcclxuICB9LFxyXG4gIGFzeW5jIHNhdmVTdG9yZSgpe1xyXG4gICAgbGV0IHRpbWVTZWxlY3RvciA9IHRoaXMuc2VsZWN0Q29tcG9uZW50KCcjdGltZS1zZWxlY3RvcicpO1xyXG4gICAgbGV0IHtzdGFydFRpbWUsZW5kVGltZX0gPSB0aW1lU2VsZWN0b3IuZ2V0U2VsZWN0ZWRUaW1lKCk7XHJcbiAgICBsZXQgc3RvcmVTdGF0dXMgPSB0aGlzLnNlbGVjdENvbXBvbmVudCgnI3N0b3JlLXN0YXR1cycpO1xyXG4gICAgbGV0IHN0YXR1cyA9IHN0b3JlU3RhdHVzLmdldFN0b3JlU3RhdHVzVmFsdWUoKTtcclxuICAgIGxldCB7XHJcbiAgICAgIGxvY2F0aW9uLFxyXG4gICAgICBzdHJlZXQsXHJcbiAgICAgIHN0b3JlTmFtZSxcclxuICAgICAgZG9jY29kZSxcclxuICAgICAgaW1hZ2VzLFxyXG4gICAgICBsaW5rTWFuLFxyXG4gICAgICBwaG9uZVxyXG4gICAgfSA9IHRoaXMuZGF0YTtcclxuICAgIGxldCBzdG9yZURhdGEgPSB7XHJcbiAgICAgIGNvdW50cnlOYW1lOifkuK3lm70nLFxyXG4gICAgICBwcm92aW5jZU5hbWU6IGxvY2F0aW9uLnByb3ZpbmNlLFxyXG4gICAgICBjaXR5TmFtZTogbG9jYXRpb24uY2l0eSxcclxuICAgICAgY291bnR5TmFtZTogbG9jYXRpb24uZGlzdHJpY3QsXHJcbiAgICAgIGFkZHJlc3M6IGxvY2F0aW9uLmFkZHJlc3MsXHJcbiAgICAgIGFkZHJlc3NOYW1lOiBsb2NhdGlvbi5uYW1lLFxyXG4gICAgICBsb25naXR1ZGU6IGxvY2F0aW9uLmxvbmdpdHVkZSxcclxuICAgICAgbGF0aXR1ZGU6IGxvY2F0aW9uLmxhdGl0dWRlLFxyXG4gICAgICBzdHJlZXQsXHJcbiAgICAgIHN0b3JlTmFtZSxcclxuICAgICAgaW1hZ2VzLFxyXG4gICAgICBsaW5rTWFuLFxyXG4gICAgICBmcm9tQnVzaW5lc3NIb3VyczpzdGFydFRpbWUsXHJcbiAgICAgIHRvQnVzaW5lc3NIb3VyczplbmRUaW1lLFxyXG4gICAgICB0ZWxlcGhvbmU6cGhvbmUsXHJcbiAgICAgIGRvY0NvZGU6ZG9jY29kZSxcclxuICAgICAgc3RhdHVzXHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZygn5b6F5L+d5a2Y55qE6Zeo5bqX5pWw5o2uJyxzdG9yZURhdGEpO1xyXG4gICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgd3guJGh0dHAucmVxdWVzdCh7XHJcbiAgICAgICAgdXJsOmAvc2hvcHBpbmcvY3VzdG9tZXJTdG9yZS5kbz9tPXNhdmVDdXN0b21lclN0b3JlYCxcclxuICAgICAgICBkYXRhOiBzdG9yZURhdGEsXHJcbiAgICAgICAgbWV0aG9kOidQT1NUJ1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICAgaWYgKGVycm9yKXtcclxuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gICAgd3guc2hvd1RvYXN0KHtcclxuICAgICAgdGl0bGU6J+S/neWtmOaIkOWKnydcclxuICAgIH0pXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHt3eC5uYXZpZ2F0ZUJhY2soKTt9LDE1MDApXHJcbiAgfSxcclxuICAvLyBuYXZpZ2F0ZUJhY2sobW9kZT86YW55KXtcclxuICAvLyAgIGxldCB7c2VsZWN0ZWRTdG9yZUlkTGlzdCxkb2Njb2RlfSA9IHRoaXMuZGF0YTtcclxuICAvLyAgIGlmIChtb2RlID09J2RlbGV0ZScpe1xyXG4gIC8vICAgICAvLyBAdHMtaWdub3JlXHJcbiAgLy8gICAgIHNlbGVjdGVkU3RvcmVJZExpc3Quc3BsaWNlKHNlbGVjdGVkU3RvcmVJZExpc3QuaW5kZXhPZihkb2Njb2RlKSwxKVxyXG4gIC8vICAgICBjb25zb2xlLmxvZygn5Yig6Zmk6Zeo5bqX5ZCO55qEc2VsZWN0ZWRTdG9yZUlkTGlzdCcsc2VsZWN0ZWRTdG9yZUlkTGlzdCk7XHJcbiAgLy8gICB9XHJcbiAgLy9cclxuICAvLyAgIGxldCBldmVudENoYW5uZWwgPSB0aGlzLmdldE9wZW5lckV2ZW50Q2hhbm5lbCgpO1xyXG4gIC8vICAgZXZlbnRDaGFubmVsLmVtaXQoJ2dldFNlbGVjdGVkU3RvcmVJZExpc3RGcm9tU3RvcmVFZGl0UGFnZScsIHtcclxuICAvLyAgICAgc2VsZWN0ZWRTdG9yZUlkTGlzdCxcclxuICAvLyAgIH0pO1xyXG4gIC8vICAgd3gubmF2aWdhdGVCYWNrKCk7XHJcbiAgLy8gfSxcclxuICBvblNhdmU6d3guJHV0aWxzLmRlYm91bmNlKGZ1bmN0aW9uKHRoaXM6YW55KXtcclxuICAgIGxldCBsb2NhdGlvbiA9IHRoaXMuZGF0YS5sb2NhdGlvbjtcclxuICAgIGlmICghbG9jYXRpb24pIHtcclxuICAgICAgd3guc2hvd1RvYXN0KHtcclxuICAgICAgICB0aXRsZTon6K+36YCJ5oup6Zeo5bqX5Zyw5Z2AJyxcclxuICAgICAgICBpY29uOidub25lJ1xyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBsZXQgY2hlY2tBbGxEYXRhID0gdmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tBbGxEYXRhKCk7XHJcbiAgICBsZXQgZmlsZVVwbG9hZGVyTXVsdGlwbGUgPSB0aGlzLnNlbGVjdENvbXBvbmVudCgnI2ZpbGUtdXBsb2FkZXItbXVsdGlwbGUnKTtcclxuICAgIGxldCBjaGVja0ltYWdlcyA9IGZpbGVVcGxvYWRlck11bHRpcGxlLmNoZWNrSW1hZ2VzKFwiaW1hZ2VzXCIsIFwi6K+36Iez5bCR5LiK5Lyg5LiA5byg5Zu+54mHXCIpO1xyXG4gICAgaWYgKCFjaGVja0FsbERhdGEpe1xyXG4gICAgICBjb25zb2xlLmxvZygn6L+Y5pyJ6ZSZ6K+v5pyq5aSE55CGJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghY2hlY2tJbWFnZXMpIHJldHVybjtcclxuICAgIGxldCBpbWFnZXMgPSBmaWxlVXBsb2FkZXJNdWx0aXBsZS5nZXRJbWFnZXNVbmlkKCk7XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBpbWFnZXNcclxuICAgIH0pXHJcbiAgICBjb25zb2xlLmxvZygnLi4uLuaPkOS6pOaIkOWKnycpO1xyXG4gICAgdGhpcy5zYXZlU3RvcmUoKTtcclxuICB9KSxcclxuICBvblNob3coKXtcclxuICAgIGNvbnN0IGxvY2F0aW9uID0gY2hvb3NlTG9jYXRpb24uZ2V0TG9jYXRpb24oKTsgLy8g5aaC5p6c54K55Ye756Gu6K6k6YCJ54K55oyJ6ZKu77yM5YiZ6L+U5Zue6YCJ54K557uT5p6c5a+56LGh77yM5ZCm5YiZ6L+U5ZuebnVsbFxyXG4gICAgY29uc29sZS5sb2cobG9jYXRpb24pO1xyXG4gICAgaWYgKGxvY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbG9jYXRpb25cclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgfSxcclxuICBvblVubG9hZCAoKSB7XHJcbiAgICAvLyDpobXpnaLljbjovb3ml7borr7nva7mj5Lku7bpgInngrnmlbDmja7kuLpudWxs77yM6Ziy5q2i5YaN5qyh6L+b5YWl6aG16Z2i77yMZ2VMb2NhdGlvbui/lOWbnueahOaYr+S4iuasoemAieeCuee7k+aenFxyXG4gICAgY2hvb3NlTG9jYXRpb24uc2V0TG9jYXRpb24obnVsbCk7XHJcbiAgfVxyXG5cclxufSlcclxuZXhwb3J0IHt9XHJcbiJdfQ==