@stemy/backend 3.5.7 → 3.5.9

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.
@@ -71,9 +71,10 @@ let Assets = class Assets {
71
71
  return __awaiter(this, void 0, void 0, function* () {
72
72
  metadata = metadata || {};
73
73
  metadata.filename = metadata.filename || url;
74
+ metadata.url = url;
74
75
  metadata.uploadTime = new Date().getTime();
75
76
  const oneWeek = 1000 * 3600 * 24 * 7;
76
- const asset = yield this.find({ filename: url, "metadata.uploadTime": { $gt: metadata.uploadTime - oneWeek } });
77
+ const asset = yield this.find({ "metadata.url": url, "metadata.uploadTime": { $gt: metadata.uploadTime - oneWeek } });
77
78
  if (asset)
78
79
  return asset;
79
80
  const buffer = (yield axios({ url, responseType: "arraybuffer" })).data;
@@ -177,4 +178,4 @@ Assets = __decorate([
177
178
  __metadata("design:paramtypes", [MongoConnector, AssetProcessor])
178
179
  ], Assets);
179
180
  export { Assets };
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2Fzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc5QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztJQUluQyxNQUFNLFNBQU4sTUFBTTtJQUtmLFlBQXFCLFNBQXlCLEVBQVcsY0FBOEI7O1FBQWxFLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ25GLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsU0FBUyxDQUFDLFFBQVEsMENBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFSyxLQUFLLENBQUMsTUFBZ0IsRUFBRSxjQUFzQixJQUFJLEVBQUUsV0FBdUIsSUFBSTs7WUFDakYsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUks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Q0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUNQLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO29CQUNuQyxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0tBQUE7Q0FDSixDQUFBO0FBbklZLE1BQU07SUFGbEIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7cUNBTUUsY0FBYyxFQUEyQixjQUFjO0dBTDlFLE1BQU0sQ0FtSWxCO1NBbklZLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtSZWFkYWJsZX0gZnJvbSBcInN0cmVhbVwiO1xyXG5pbXBvcnQge09iamVjdElkfSBmcm9tIFwiYnNvblwiO1xyXG5pbXBvcnQge0NvbGxlY3Rpb24sIEdyaWRGU0J1Y2tldH0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtGaWx0ZXJRdWVyeX0gZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCBheGlvcyBmcm9tIFwiYXhpb3NcIjtcclxuXHJcbmltcG9ydCB7YnVmZmVyVG9TdHJlYW0sIGNvcHlTdHJlYW0sIHN0cmVhbVRvQnVmZmVyfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtJQXNzZXQsIElBc3NldE1ldGEsIElGaWxlVHlwZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge01vbmdvQ29ubmVjdG9yfSBmcm9tIFwiLi9tb25nby1jb25uZWN0b3JcIjtcclxuaW1wb3J0IHtBc3NldFByb2Nlc3Nvcn0gZnJvbSBcIi4vYXNzZXQtcHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuL2VudGl0aWVzL2Fzc2V0XCI7XHJcbmltcG9ydCB7VGVtcEFzc2V0fSBmcm9tIFwiLi9lbnRpdGllcy90ZW1wLWFzc2V0XCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIEFzc2V0cyB7XHJcblxyXG4gICAgcmVhZG9ubHkgYnVja2V0OiBHcmlkRlNCdWNrZXQ7XHJcbiAgICByZWFkb25seSBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFBhcnRpYWw8SUFzc2V0Pj47XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29ubmVjdG9yOiBNb25nb0Nvbm5lY3RvciwgcmVhZG9ubHkgYXNzZXRQcm9jZXNzb3I6IEFzc2V0UHJvY2Vzc29yKSB7XHJcbiAgICAgICAgdGhpcy5idWNrZXQgPSBjb25uZWN0b3IuYnVja2V0O1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbiA9IGNvbm5lY3Rvci5kYXRhYmFzZT8uY29sbGVjdGlvbihcImFzc2V0cy5maWxlc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB3cml0ZShzdHJlYW06IFJlYWRhYmxlLCBjb250ZW50VHlwZTogc3RyaW5nID0gbnVsbCwgbWV0YWRhdGE6IElBc3NldE1ldGEgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCB1cGxvYWRTdHJlYW0gPSBjb3B5U3RyZWFtKHN0cmVhbSk7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgc3RyZWFtVG9CdWZmZXIoc3RyZWFtKTtcclxuICAgICAgICBsZXQgZmlsZVR5cGUgPSB7ZXh0OiBcIlwiLCBtaW1lOiBjb250ZW50VHlwZX0gYXMgSUZpbGVUeXBlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZpbGVUeXBlID0gYXdhaXQgQXNzZXRQcm9jZXNzb3IuZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWZpbGVUeXBlLm1pbWUpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWAsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhIHx8IHt9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZCh1cGxvYWRTdHJlYW0sIGZpbGVUeXBlLCBtZXRhZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgd3JpdGVCdWZmZXIoYnVmZmVyOiBCdWZmZXIsIG1ldGFkYXRhOiBJQXNzZXRNZXRhID0gbnVsbCwgY29udGVudFR5cGU6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGxldCBmaWxlVHlwZSA9IHtleHQ6IFwiXCIsIG1pbWU6IGNvbnRlbnRUeXBlfSBhcyBJRmlsZVR5cGU7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZmlsZVR5cGUgPSBhd2FpdCBBc3NldFByb2Nlc3Nvci5maWxlVHlwZUZyb21CdWZmZXIoYnVmZmVyKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGlmICghZmlsZVR5cGUubWltZSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYCwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1ldGFkYXRhID0gbWV0YWRhdGEgfHwge307XHJcbiAgICAgICAgYnVmZmVyID0gYXdhaXQgdGhpcy5hc3NldFByb2Nlc3Nvci5wcm9jZXNzKGJ1ZmZlciwgbWV0YWRhdGEsIGZpbGVUeXBlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWQoYnVmZmVyVG9TdHJlYW0oYnVmZmVyKSwgZmlsZVR5cGUsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB3cml0ZVVybCh1cmw6IHN0cmluZywgbWV0YWRhdGE6IElBc3NldE1ldGEgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhIHx8IHt9O1xyXG4gICAgICAgIG1ldGFkYXRhLmZpbGVuYW1lID0gbWV0YWRhdGEuZmlsZW5hbWUgfHwgdXJsO1xyXG4gICAgICAgIG1ldGFkYXRhLnVwbG9hZFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICBjb25zdCBvbmVXZWVrID0gMTAwMCAqIDM2MDAgKiAyNCAqIDc7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmZpbmQoe2ZpbGVuYW1lOiB1cmwsIFwibWV0YWRhdGEudXBsb2FkVGltZVwiOiB7JGd0OiBtZXRhZGF0YS51cGxvYWRUaW1lIC0gb25lV2Vla319KTtcclxuICAgICAgICBpZiAoYXNzZXQpIHJldHVybiBhc3NldDtcclxuICAgICAgICBjb25zdCBidWZmZXIgPSAoYXdhaXQgYXhpb3MoeyB1cmwsIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH0pKS5kYXRhIGFzIEJ1ZmZlcjtcclxuICAgICAgICByZXR1cm4gdGhpcy53cml0ZUJ1ZmZlcihidWZmZXIsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb3dubG9hZCh1cmw6IHN0cmluZywgY29udGVudFR5cGU6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGxldCBidWZmZXIgPSAoYXdhaXQgYXhpb3MoeyB1cmwsIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH0pKS5kYXRhIGFzIEJ1ZmZlcjtcclxuICAgICAgICBsZXQgZmlsZVR5cGUgPSB7ZXh0OiBcIlwiLCBtaW1lOiBjb250ZW50VHlwZX0gYXMgSUZpbGVUeXBlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZpbGVUeXBlID0gYXdhaXQgQXNzZXRQcm9jZXNzb3IuZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWZpbGVUeXBlLm1pbWUpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWAsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtZXRhZGF0YTogSUFzc2V0TWV0YSA9IHtcclxuICAgICAgICAgICAgZmlsZW5hbWU6IHVybCxcclxuICAgICAgICAgICAgZXh0ZW5zaW9uOiAoZmlsZVR5cGUuZXh0IHx8IFwiXCIpLnRyaW0oKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnVmZmVyID0gYXdhaXQgdGhpcy5hc3NldFByb2Nlc3Nvci5wcm9jZXNzKGJ1ZmZlciwgbWV0YWRhdGEsIGZpbGVUeXBlKTtcclxuICAgICAgICByZXR1cm4gbmV3IFRlbXBBc3NldChidWZmZXIsIHVybCwgZmlsZVR5cGUubWltZSwgbWV0YWRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlYWQoaWQ6IHN0cmluZyk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgcmV0dXJuICFpZCA/IG51bGwgOiB0aGlzLmZpbmQoe19pZDogbmV3IE9iamVjdElkKGlkKX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGZpbmQod2hlcmU6IEZpbHRlclF1ZXJ5PElBc3NldD4pOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuICFkYXRhID8gbnVsbCA6IG5ldyBBc3NldChkYXRhLl9pZCwgZGF0YSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmJ1Y2tldCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmluZE1hbnkod2hlcmU6IEZpbHRlclF1ZXJ5PElBc3NldD4pOiBQcm9taXNlPFJlYWRvbmx5QXJyYXk8SUFzc2V0Pj4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY29sbGVjdGlvbi5maW5kKHdoZXJlKTtcclxuICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IGN1cnNvci50b0FycmF5KCkgfHwgW107XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBJQXNzZXRbXSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgICAgICAgaWYgKCFpdGVtKSBjb250aW51ZTtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEFzc2V0KGl0ZW0uX2lkLCBpdGVtLCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMuYnVja2V0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlTWFueSh3aGVyZTogRmlsdGVyUXVlcnk8SUFzc2V0Pik6IFByb21pc2U8UmVhZG9ubHlBcnJheTxzdHJpbmc+PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXRzID0gYXdhaXQgdGhpcy5maW5kTWFueSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGFzc2V0cy5tYXAoYSA9PiBhLnVubGluaygpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdW5saW5rKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5yZWFkKGlkKTtcclxuICAgICAgICBpZiAoIWFzc2V0KSByZXR1cm4gbnVsbDtcclxuICAgICAgICByZXR1cm4gYXNzZXQudW5saW5rKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHVwbG9hZChzdHJlYW06IFJlYWRhYmxlLCBmaWxlVHlwZTogSUZpbGVUeXBlLCBtZXRhZGF0YTogSUFzc2V0TWV0YSk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSBmaWxlVHlwZS5taW1lLnRyaW0oKTtcclxuICAgICAgICBtZXRhZGF0YSA9IE9iamVjdC5hc3NpZ24oe1xyXG4gICAgICAgICAgICBkb3dubG9hZENvdW50OiAwLFxyXG4gICAgICAgICAgICBmaXJzdERvd25sb2FkOiBudWxsLFxyXG4gICAgICAgICAgICBsYXN0RG93bmxvYWQ6IG51bGxcclxuICAgICAgICB9LCBtZXRhZGF0YSB8fCB7fSk7XHJcbiAgICAgICAgbWV0YWRhdGEuZmlsZW5hbWUgPSBtZXRhZGF0YS5maWxlbmFtZSB8fCBuZXcgT2JqZWN0SWQoKS50b0hleFN0cmluZygpO1xyXG4gICAgICAgIG1ldGFkYXRhLmV4dGVuc2lvbiA9IChmaWxlVHlwZS5leHQgfHwgXCJcIikudHJpbSgpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJQXNzZXQ+KCgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVwbG9hZGVyU3RyZWFtID0gdGhpcy5idWNrZXQub3BlblVwbG9hZFN0cmVhbShtZXRhZGF0YS5maWxlbmFtZSk7XHJcbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHVwbG9hZGVyU3RyZWFtKVxyXG4gICAgICAgICAgICAgICAgLm9uKFwiZXJyb3JcIiwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAub24oXCJmaW5pc2hcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHVwbG9hZGVyU3RyZWFtLmlkIGFzIE9iamVjdElkLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBtZXRhZGF0YS5maWxlbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmJ1Y2tldCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXQuc2F2ZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFzc2V0KTtcclxuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2Fzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc5QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztJQUluQyxNQUFNLFNBQU4sTUFBTTtJQUtmLFlBQXFCLFNBQXlCLEVBQVcsY0FBOEI7O1FBQWxFLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ25GLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsU0FBUyxDQUFDLFFBQVEsMENBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFSyxLQUFLLENBQUMsTUFBZ0IsRUFBRSxjQUFzQixJQUFJLEVBQUUsV0FBdUIsSUFBSTs7WUFDakYsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksUUFBUSxHQUFHLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFjLENBQUM7WUFDekQsSUFBSTtnQkFDQSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDaEIsTUFBTSwyQkFBMkIsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FBQTtJQUVLLFdBQVcsQ0FBQyxNQUFjLEVBQUUsV0FBdUIsSUFBSSxFQUFFLGNBQXNCLElBQUk7O1lBQ3JGLElBQUksUUFBUSxHQUFHLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFjLENBQUM7WUFDekQsSUFBSTtnQkFDQSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDaEIsTUFBTSwyQkFBMkIsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQzFCLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEdBQVcsRUFBRSxXQUF1QixJQUFJOztZQUNuRCxRQUFRLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUMxQixRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxFQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsVUFBVSxHQUFHLE9BQU8sRUFBQyxFQUFDLENBQUMsQ0FBQztZQUNsSCxJQUFJLEtBQUs7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDeEIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQWMsQ0FBQztZQUNsRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7S0FBQTtJQUVLLFFBQVEsQ0FBQyxHQUFXLEVBQUUsY0FBc0IsSUFBSTs7WUFDbEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQWMsQ0FBQztZQUNoRixJQUFJLFFBQVEsR0FBRyxFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBYyxDQUFDO1lBQ3pELElBQUk7Z0JBQ0EsUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7b0JBQ2hCLE1BQU0sMkJBQTJCLENBQUM7aUJBQ3JDO2dCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0M7WUFDRCxNQUFNLFFBQVEsR0FBZTtnQkFDekIsUUFBUSxFQUFFLEdBQUc7Z0JBQ2IsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7YUFDekMsQ0FBQztZQUNGLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0QsQ0FBQztLQUFBO0lBRUssSUFBSSxDQUFDLEVBQVU7O1lBQ2pCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRUssSUFBSSxDQUFDLEtBQTBCOztZQUNqQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEYsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEtBQTBCOztZQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQyxNQUFNLEtBQUssR0FBRyxDQUFBLE1BQU0sTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFJLEVBQUUsQ0FBQztZQUMzQyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7WUFDNUIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJO29CQUFFLFNBQVM7Z0JBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUN4RTtZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7S0FBQTtJQUVLLFVBQVUsQ0FBQyxLQUEwQjs7WUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0tBQUE7SUFFSyxNQUFNLENBQUMsRUFBVTs7WUFDbkIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7S0FBQTtJQUVlLE1BQU0sQ0FBQyxNQUFnQixFQUFFLFFBQW1CLEVBQUUsUUFBb0I7O1lBQzlFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3JCLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsWUFBWSxFQUFFLElBQUk7YUFDckIsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEUsUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUM1QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7cUJBQ3RCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUM7cUJBQ0QsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQWMsRUFBRTt3QkFDbkQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO3dCQUMzQixXQUFXO3dCQUNYLFFBQVE7cUJBQ1gsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDakMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbkIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUNQLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO29CQUNuQyxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0tBQUE7Q0FDSixDQUFBO0FBcElZLE1BQU07SUFGbEIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7cUNBTUUsY0FBYyxFQUEyQixjQUFjO0dBTDlFLE1BQU0sQ0FvSWxCO1NBcElZLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtSZWFkYWJsZX0gZnJvbSBcInN0cmVhbVwiO1xyXG5pbXBvcnQge09iamVjdElkfSBmcm9tIFwiYnNvblwiO1xyXG5pbXBvcnQge0NvbGxlY3Rpb24sIEdyaWRGU0J1Y2tldH0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtGaWx0ZXJRdWVyeX0gZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCBheGlvcyBmcm9tIFwiYXhpb3NcIjtcclxuXHJcbmltcG9ydCB7YnVmZmVyVG9TdHJlYW0sIGNvcHlTdHJlYW0sIHN0cmVhbVRvQnVmZmVyfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtJQXNzZXQsIElBc3NldE1ldGEsIElGaWxlVHlwZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge01vbmdvQ29ubmVjdG9yfSBmcm9tIFwiLi9tb25nby1jb25uZWN0b3JcIjtcclxuaW1wb3J0IHtBc3NldFByb2Nlc3Nvcn0gZnJvbSBcIi4vYXNzZXQtcHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuL2VudGl0aWVzL2Fzc2V0XCI7XHJcbmltcG9ydCB7VGVtcEFzc2V0fSBmcm9tIFwiLi9lbnRpdGllcy90ZW1wLWFzc2V0XCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIEFzc2V0cyB7XHJcblxyXG4gICAgcmVhZG9ubHkgYnVja2V0OiBHcmlkRlNCdWNrZXQ7XHJcbiAgICByZWFkb25seSBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFBhcnRpYWw8SUFzc2V0Pj47XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29ubmVjdG9yOiBNb25nb0Nvbm5lY3RvciwgcmVhZG9ubHkgYXNzZXRQcm9jZXNzb3I6IEFzc2V0UHJvY2Vzc29yKSB7XHJcbiAgICAgICAgdGhpcy5idWNrZXQgPSBjb25uZWN0b3IuYnVja2V0O1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbiA9IGNvbm5lY3Rvci5kYXRhYmFzZT8uY29sbGVjdGlvbihcImFzc2V0cy5maWxlc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB3cml0ZShzdHJlYW06IFJlYWRhYmxlLCBjb250ZW50VHlwZTogc3RyaW5nID0gbnVsbCwgbWV0YWRhdGE6IElBc3NldE1ldGEgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCB1cGxvYWRTdHJlYW0gPSBjb3B5U3RyZWFtKHN0cmVhbSk7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgc3RyZWFtVG9CdWZmZXIoc3RyZWFtKTtcclxuICAgICAgICBsZXQgZmlsZVR5cGUgPSB7ZXh0OiBcIlwiLCBtaW1lOiBjb250ZW50VHlwZX0gYXMgSUZpbGVUeXBlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZpbGVUeXBlID0gYXdhaXQgQXNzZXRQcm9jZXNzb3IuZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWZpbGVUeXBlLm1pbWUpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWAsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhIHx8IHt9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZCh1cGxvYWRTdHJlYW0sIGZpbGVUeXBlLCBtZXRhZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgd3JpdGVCdWZmZXIoYnVmZmVyOiBCdWZmZXIsIG1ldGFkYXRhOiBJQXNzZXRNZXRhID0gbnVsbCwgY29udGVudFR5cGU6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGxldCBmaWxlVHlwZSA9IHtleHQ6IFwiXCIsIG1pbWU6IGNvbnRlbnRUeXBlfSBhcyBJRmlsZVR5cGU7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZmlsZVR5cGUgPSBhd2FpdCBBc3NldFByb2Nlc3Nvci5maWxlVHlwZUZyb21CdWZmZXIoYnVmZmVyKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGlmICghZmlsZVR5cGUubWltZSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYCwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1ldGFkYXRhID0gbWV0YWRhdGEgfHwge307XHJcbiAgICAgICAgYnVmZmVyID0gYXdhaXQgdGhpcy5hc3NldFByb2Nlc3Nvci5wcm9jZXNzKGJ1ZmZlciwgbWV0YWRhdGEsIGZpbGVUeXBlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWQoYnVmZmVyVG9TdHJlYW0oYnVmZmVyKSwgZmlsZVR5cGUsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB3cml0ZVVybCh1cmw6IHN0cmluZywgbWV0YWRhdGE6IElBc3NldE1ldGEgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhIHx8IHt9O1xyXG4gICAgICAgIG1ldGFkYXRhLmZpbGVuYW1lID0gbWV0YWRhdGEuZmlsZW5hbWUgfHwgdXJsO1xyXG4gICAgICAgIG1ldGFkYXRhLnVybCA9IHVybDtcclxuICAgICAgICBtZXRhZGF0YS51cGxvYWRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgY29uc3Qgb25lV2VlayA9IDEwMDAgKiAzNjAwICogMjQgKiA3O1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5maW5kKHtcIm1ldGFkYXRhLnVybFwiOiB1cmwsIFwibWV0YWRhdGEudXBsb2FkVGltZVwiOiB7JGd0OiBtZXRhZGF0YS51cGxvYWRUaW1lIC0gb25lV2Vla319KTtcclxuICAgICAgICBpZiAoYXNzZXQpIHJldHVybiBhc3NldDtcclxuICAgICAgICBjb25zdCBidWZmZXIgPSAoYXdhaXQgYXhpb3MoeyB1cmwsIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH0pKS5kYXRhIGFzIEJ1ZmZlcjtcclxuICAgICAgICByZXR1cm4gdGhpcy53cml0ZUJ1ZmZlcihidWZmZXIsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb3dubG9hZCh1cmw6IHN0cmluZywgY29udGVudFR5cGU6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGxldCBidWZmZXIgPSAoYXdhaXQgYXhpb3MoeyB1cmwsIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH0pKS5kYXRhIGFzIEJ1ZmZlcjtcclxuICAgICAgICBsZXQgZmlsZVR5cGUgPSB7ZXh0OiBcIlwiLCBtaW1lOiBjb250ZW50VHlwZX0gYXMgSUZpbGVUeXBlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZpbGVUeXBlID0gYXdhaXQgQXNzZXRQcm9jZXNzb3IuZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWZpbGVUeXBlLm1pbWUpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWAsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtZXRhZGF0YTogSUFzc2V0TWV0YSA9IHtcclxuICAgICAgICAgICAgZmlsZW5hbWU6IHVybCxcclxuICAgICAgICAgICAgZXh0ZW5zaW9uOiAoZmlsZVR5cGUuZXh0IHx8IFwiXCIpLnRyaW0oKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnVmZmVyID0gYXdhaXQgdGhpcy5hc3NldFByb2Nlc3Nvci5wcm9jZXNzKGJ1ZmZlciwgbWV0YWRhdGEsIGZpbGVUeXBlKTtcclxuICAgICAgICByZXR1cm4gbmV3IFRlbXBBc3NldChidWZmZXIsIHVybCwgZmlsZVR5cGUubWltZSwgbWV0YWRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlYWQoaWQ6IHN0cmluZyk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgcmV0dXJuICFpZCA/IG51bGwgOiB0aGlzLmZpbmQoe19pZDogbmV3IE9iamVjdElkKGlkKX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGZpbmQod2hlcmU6IEZpbHRlclF1ZXJ5PElBc3NldD4pOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuICFkYXRhID8gbnVsbCA6IG5ldyBBc3NldChkYXRhLl9pZCwgZGF0YSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmJ1Y2tldCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmluZE1hbnkod2hlcmU6IEZpbHRlclF1ZXJ5PElBc3NldD4pOiBQcm9taXNlPFJlYWRvbmx5QXJyYXk8SUFzc2V0Pj4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY29sbGVjdGlvbi5maW5kKHdoZXJlKTtcclxuICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IGN1cnNvci50b0FycmF5KCkgfHwgW107XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBJQXNzZXRbXSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgICAgICAgaWYgKCFpdGVtKSBjb250aW51ZTtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEFzc2V0KGl0ZW0uX2lkLCBpdGVtLCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMuYnVja2V0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlTWFueSh3aGVyZTogRmlsdGVyUXVlcnk8SUFzc2V0Pik6IFByb21pc2U8UmVhZG9ubHlBcnJheTxzdHJpbmc+PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXRzID0gYXdhaXQgdGhpcy5maW5kTWFueSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGFzc2V0cy5tYXAoYSA9PiBhLnVubGluaygpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdW5saW5rKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5yZWFkKGlkKTtcclxuICAgICAgICBpZiAoIWFzc2V0KSByZXR1cm4gbnVsbDtcclxuICAgICAgICByZXR1cm4gYXNzZXQudW5saW5rKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHVwbG9hZChzdHJlYW06IFJlYWRhYmxlLCBmaWxlVHlwZTogSUZpbGVUeXBlLCBtZXRhZGF0YTogSUFzc2V0TWV0YSk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSBmaWxlVHlwZS5taW1lLnRyaW0oKTtcclxuICAgICAgICBtZXRhZGF0YSA9IE9iamVjdC5hc3NpZ24oe1xyXG4gICAgICAgICAgICBkb3dubG9hZENvdW50OiAwLFxyXG4gICAgICAgICAgICBmaXJzdERvd25sb2FkOiBudWxsLFxyXG4gICAgICAgICAgICBsYXN0RG93bmxvYWQ6IG51bGxcclxuICAgICAgICB9LCBtZXRhZGF0YSB8fCB7fSk7XHJcbiAgICAgICAgbWV0YWRhdGEuZmlsZW5hbWUgPSBtZXRhZGF0YS5maWxlbmFtZSB8fCBuZXcgT2JqZWN0SWQoKS50b0hleFN0cmluZygpO1xyXG4gICAgICAgIG1ldGFkYXRhLmV4dGVuc2lvbiA9IChmaWxlVHlwZS5leHQgfHwgXCJcIikudHJpbSgpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJQXNzZXQ+KCgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVwbG9hZGVyU3RyZWFtID0gdGhpcy5idWNrZXQub3BlblVwbG9hZFN0cmVhbShtZXRhZGF0YS5maWxlbmFtZSk7XHJcbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHVwbG9hZGVyU3RyZWFtKVxyXG4gICAgICAgICAgICAgICAgLm9uKFwiZXJyb3JcIiwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAub24oXCJmaW5pc2hcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHVwbG9hZGVyU3RyZWFtLmlkIGFzIE9iamVjdElkLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBtZXRhZGF0YS5maWxlbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmJ1Y2tldCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXQuc2F2ZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFzc2V0KTtcclxuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -22,20 +22,19 @@ import { TranslationProvider } from "./translation-provider";
22
22
  let Translator = class Translator {
23
23
  constructor(translationProvider) {
24
24
  this.translationProvider = translationProvider;
25
- this.cache = {};
25
+ this.dictionaries = {};
26
26
  }
27
27
  getDictionary(language) {
28
28
  return __awaiter(this, void 0, void 0, function* () {
29
- const dictionary = yield this.translationProvider.getDictionary(language);
30
- this.cache[language] = dictionary;
31
- return dictionary;
29
+ this.dictionaries[language] = yield this.translationProvider.getDictionary(language);
30
+ return this.dictionaries[language];
32
31
  });
33
32
  }
34
33
  getTranslationSync(language, key, params) {
35
34
  if (!isString(key) || !key.length) {
36
35
  throw new Error(`Parameter "key" required`);
37
36
  }
38
- const dictionary = this.cache[language];
37
+ const dictionary = this.dictionaries[language];
39
38
  const translation = getValue(dictionary, key, key) || key;
40
39
  return this.interpolate(translation, params);
41
40
  }
@@ -82,4 +81,4 @@ Translator = __decorate([
82
81
  __metadata("design:paramtypes", [TranslationProvider])
83
82
  ], Translator);
84
83
  export { Translator };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy90cmFuc2xhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztJQUk5QyxVQUFVLFNBQVYsVUFBVTtJQUluQixZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUssYUFBYSxDQUFDLFFBQWdCOztZQUNoQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7WUFDbEMsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztLQUFBO0lBRUQsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxHQUFXLEVBQUUsTUFBWTtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDL0M7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsUUFBZ0IsRUFBRSxHQUFXLEVBQUUsTUFBWTtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztZQUMxRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBYztRQUMvQyxPQUFPLElBQUksT0FBTyxDQUFnQixPQUFPLENBQUMsRUFBRTtZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNqRixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLE9BQU8sTUFBTSxDQUFDO2dCQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsTUFBWTtRQUN2RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU8sSUFBYyxDQUFDO0lBQzFCLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsTUFBWTtRQUNsRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQWlCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDMUUsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTtBQTdEWSxVQUFVO0lBRnRCLFVBQVUsRUFBRTtJQUNaLFNBQVMsRUFBRTtxQ0FLaUMsbUJBQW1CO0dBSm5ELFVBQVUsQ0E2RHRCO1NBN0RZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIHNpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7Z2V0VmFsdWUsIGlzRGVmaW5lZCwgaXNTdHJpbmd9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge0lUcmFuc2xhdGlvbnN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGlvblByb3ZpZGVyfSBmcm9tIFwiLi90cmFuc2xhdGlvbi1wcm92aWRlclwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0b3Ige1xyXG5cclxuICAgIHByb3RlY3RlZCBjYWNoZTogeyBbbGFuZzogc3RyaW5nXTogSVRyYW5zbGF0aW9ucyB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRpb25Qcm92aWRlcjogVHJhbnNsYXRpb25Qcm92aWRlcikge1xyXG4gICAgICAgIHRoaXMuY2FjaGUgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXREaWN0aW9uYXJ5KGxhbmd1YWdlOiBzdHJpbmcpOiBQcm9taXNlPElUcmFuc2xhdGlvbnM+IHtcclxuICAgICAgICBjb25zdCBkaWN0aW9uYXJ5ID0gYXdhaXQgdGhpcy50cmFuc2xhdGlvblByb3ZpZGVyLmdldERpY3Rpb25hcnkobGFuZ3VhZ2UpO1xyXG4gICAgICAgIHRoaXMuY2FjaGVbbGFuZ3VhZ2VdID0gZGljdGlvbmFyeTtcclxuICAgICAgICByZXR1cm4gZGljdGlvbmFyeTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUcmFuc2xhdGlvblN5bmMobGFuZ3VhZ2U6IHN0cmluZywga2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFpc1N0cmluZyhrZXkpIHx8ICFrZXkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFyYW1ldGVyIFwia2V5XCIgcmVxdWlyZWRgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGljdGlvbmFyeSA9IHRoaXMuY2FjaGVbbGFuZ3VhZ2VdO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gZ2V0VmFsdWUoZGljdGlvbmFyeSwga2V5LCBrZXkpIHx8IGtleTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZSh0cmFuc2xhdGlvbiwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUcmFuc2xhdGlvbihsYW5ndWFnZTogc3RyaW5nLCBrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAoIWlzU3RyaW5nKGtleSkgfHwgIWtleS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCJrZXlcIiByZXF1aXJlZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXREaWN0aW9uYXJ5KGxhbmd1YWdlKS50aGVuKGRpY3Rpb25hcnkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IGdldFZhbHVlKGRpY3Rpb25hcnksIGtleSwga2V5KSB8fCBrZXk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlKHRyYW5zbGF0aW9uLCBwYXJhbXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zbGF0aW9ucyhsYW5ndWFnZTogc3RyaW5nLCAuLi5rZXlzOiBzdHJpbmdbXSk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJVHJhbnNsYXRpb25zPihyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgUHJvbWlzZS5hbGwoa2V5cy5tYXAoa2V5ID0+IHRoaXMuZ2V0VHJhbnNsYXRpb24obGFuZ3VhZ2UsIGtleSkpKS50aGVuKHRyYW5zbGF0aW9ucyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGtleXMucmVkdWNlKChyZXN1bHQsIGtleSwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNsYXRpb25zW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB9LCB7fSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGUoZXhwcjogc3RyaW5nIHwgRnVuY3Rpb24sIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlU3RyaW5nKGV4cHIsIHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgZXhwciA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBleHByKHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBleHByIGFzIHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGVTdHJpbmcoZXhwcjogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgICAgICBpZiAoIWV4cHIgfHwgIXBhcmFtcykgcmV0dXJuIGV4cHI7XHJcbiAgICAgICAgcmV0dXJuIGV4cHIucmVwbGFjZSgve3tcXHM/KFtee31cXHNdKilcXHM/fX0vZywgKHN1YnN0cmluZzogc3RyaW5nLCBiOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgciA9IGdldFZhbHVlKHBhcmFtcywgYik7XHJcbiAgICAgICAgICAgIHJldHVybiBpc0RlZmluZWQocikgPyByIDogc3Vic3RyaW5nO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy90cmFuc2xhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztJQUk5QyxVQUFVLFNBQVYsVUFBVTtJQUluQixZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUssYUFBYSxDQUFDLFFBQWdCOztZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztLQUFBO0lBRUQsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxHQUFXLEVBQUUsTUFBWTtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDL0M7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsUUFBZ0IsRUFBRSxHQUFXLEVBQUUsTUFBWTtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztZQUMxRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBYztRQUMvQyxPQUFPLElBQUksT0FBTyxDQUFnQixPQUFPLENBQUMsRUFBRTtZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNqRixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLE9BQU8sTUFBTSxDQUFDO2dCQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsTUFBWTtRQUN2RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU8sSUFBYyxDQUFDO0lBQzFCLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsTUFBWTtRQUNsRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQWlCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDMUUsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTtBQTVEWSxVQUFVO0lBRnRCLFVBQVUsRUFBRTtJQUNaLFNBQVMsRUFBRTtxQ0FLaUMsbUJBQW1CO0dBSm5ELFVBQVUsQ0E0RHRCO1NBNURZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIHNpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7Z2V0VmFsdWUsIGlzRGVmaW5lZCwgaXNTdHJpbmd9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge0lUcmFuc2xhdGlvbnN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGlvblByb3ZpZGVyfSBmcm9tIFwiLi90cmFuc2xhdGlvbi1wcm92aWRlclwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0b3Ige1xyXG5cclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJpZXM6IHsgW2xhbmc6IHN0cmluZ106IElUcmFuc2xhdGlvbnMgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0aW9uUHJvdmlkZXI6IFRyYW5zbGF0aW9uUHJvdmlkZXIpIHtcclxuICAgICAgICB0aGlzLmRpY3Rpb25hcmllcyA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldERpY3Rpb25hcnkobGFuZ3VhZ2U6IHN0cmluZyk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz4ge1xyXG4gICAgICAgIHRoaXMuZGljdGlvbmFyaWVzW2xhbmd1YWdlXSA9IGF3YWl0IHRoaXMudHJhbnNsYXRpb25Qcm92aWRlci5nZXREaWN0aW9uYXJ5KGxhbmd1YWdlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaWN0aW9uYXJpZXNbbGFuZ3VhZ2VdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zbGF0aW9uU3luYyhsYW5ndWFnZTogc3RyaW5nLCBrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWlzU3RyaW5nKGtleSkgfHwgIWtleS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCJrZXlcIiByZXF1aXJlZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkaWN0aW9uYXJ5ID0gdGhpcy5kaWN0aW9uYXJpZXNbbGFuZ3VhZ2VdO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gZ2V0VmFsdWUoZGljdGlvbmFyeSwga2V5LCBrZXkpIHx8IGtleTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZSh0cmFuc2xhdGlvbiwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUcmFuc2xhdGlvbihsYW5ndWFnZTogc3RyaW5nLCBrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAoIWlzU3RyaW5nKGtleSkgfHwgIWtleS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCJrZXlcIiByZXF1aXJlZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXREaWN0aW9uYXJ5KGxhbmd1YWdlKS50aGVuKGRpY3Rpb25hcnkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IGdldFZhbHVlKGRpY3Rpb25hcnksIGtleSwga2V5KSB8fCBrZXk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlKHRyYW5zbGF0aW9uLCBwYXJhbXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zbGF0aW9ucyhsYW5ndWFnZTogc3RyaW5nLCAuLi5rZXlzOiBzdHJpbmdbXSk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJVHJhbnNsYXRpb25zPihyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgUHJvbWlzZS5hbGwoa2V5cy5tYXAoa2V5ID0+IHRoaXMuZ2V0VHJhbnNsYXRpb24obGFuZ3VhZ2UsIGtleSkpKS50aGVuKHRyYW5zbGF0aW9ucyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGtleXMucmVkdWNlKChyZXN1bHQsIGtleSwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNsYXRpb25zW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB9LCB7fSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGUoZXhwcjogc3RyaW5nIHwgRnVuY3Rpb24sIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlU3RyaW5nKGV4cHIsIHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgZXhwciA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBleHByKHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBleHByIGFzIHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGVTdHJpbmcoZXhwcjogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgICAgICBpZiAoIWV4cHIgfHwgIXBhcmFtcykgcmV0dXJuIGV4cHI7XHJcbiAgICAgICAgcmV0dXJuIGV4cHIucmVwbGFjZSgve3tcXHM/KFtee31cXHNdKilcXHM/fX0vZywgKHN1YnN0cmluZzogc3RyaW5nLCBiOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgciA9IGdldFZhbHVlKHBhcmFtcywgYik7XHJcbiAgICAgICAgICAgIHJldHVybiBpc0RlZmluZWQocikgPyByIDogc3Vic3RyaW5nO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1157,9 +1157,10 @@ let Assets = class Assets {
1157
1157
  return __awaiter$v(this, void 0, void 0, function* () {
1158
1158
  metadata = metadata || {};
1159
1159
  metadata.filename = metadata.filename || url;
1160
+ metadata.url = url;
1160
1161
  metadata.uploadTime = new Date().getTime();
1161
1162
  const oneWeek = 1000 * 3600 * 24 * 7;
1162
- const asset = yield this.find({ filename: url, "metadata.uploadTime": { $gt: metadata.uploadTime - oneWeek } });
1163
+ const asset = yield this.find({ "metadata.url": url, "metadata.uploadTime": { $gt: metadata.uploadTime - oneWeek } });
1163
1164
  if (asset)
1164
1165
  return asset;
1165
1166
  const buffer = (yield axios({ url, responseType: "arraybuffer" })).data;
@@ -2583,20 +2584,19 @@ var __awaiter$g = (this && this.__awaiter) || function (thisArg, _arguments, P,
2583
2584
  let Translator = class Translator {
2584
2585
  constructor(translationProvider) {
2585
2586
  this.translationProvider = translationProvider;
2586
- this.cache = {};
2587
+ this.dictionaries = {};
2587
2588
  }
2588
2589
  getDictionary(language) {
2589
2590
  return __awaiter$g(this, void 0, void 0, function* () {
2590
- const dictionary = yield this.translationProvider.getDictionary(language);
2591
- this.cache[language] = dictionary;
2592
- return dictionary;
2591
+ this.dictionaries[language] = yield this.translationProvider.getDictionary(language);
2592
+ return this.dictionaries[language];
2593
2593
  });
2594
2594
  }
2595
2595
  getTranslationSync(language, key, params) {
2596
2596
  if (!isString(key) || !key.length) {
2597
2597
  throw new Error(`Parameter "key" required`);
2598
2598
  }
2599
- const dictionary = this.cache[language];
2599
+ const dictionary = this.dictionaries[language];
2600
2600
  const translation = getValue(dictionary, key, key) || key;
2601
2601
  return this.interpolate(translation, params);
2602
2602
  }