From 941c5e261ba7859e9b44d4430858b11ade84a03e Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Tue, 23 May 2023 18:21:10 +0200 Subject: [PATCH] 0.1.7 --- manifest.json | 2 +- package.json | 2 +- test-vault/.obsidian/plugins/simple-time-tracker/main | 1 - test-vault/.obsidian/plugins/simple-time-tracker/main.js | 1 - test-vault/.obsidian/plugins/simple-time-tracker/manifest | 2 +- test-vault/.obsidian/plugins/simple-time-tracker/manifest.json | 2 +- versions.json | 3 ++- 7 files changed, 6 insertions(+), 7 deletions(-) diff --git a/manifest.json b/manifest.json index 0381859..ae0dedb 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "simple-time-tracker", "name": "Super Simple Time Tracker", - "version": "0.1.6", + "version": "0.1.7", "minAppVersion": "1.2.8", "description": "Multi-purpose time trackers for your notes!", "author": "Ellpeck", diff --git a/package.json b/package.json index a53e3a4..74a50bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "simple-time-tracker", - "version": "0.1.6", + "version": "0.1.7", "description": "Multi-purpose time trackers for your notes!", "main": "main.js", "scripts": { diff --git a/test-vault/.obsidian/plugins/simple-time-tracker/main b/test-vault/.obsidian/plugins/simple-time-tracker/main index 4c26e94..f152d05 100644 --- a/test-vault/.obsidian/plugins/simple-time-tracker/main +++ b/test-vault/.obsidian/plugins/simple-time-tracker/main @@ -402,4 +402,3 @@ var SimpleTimeTrackerPlugin = class extends import_obsidian3.Plugin { }); } }; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL21haW4udHMiLCAic3JjL3NldHRpbmdzLnRzIiwgInNyYy9zZXR0aW5ncy10YWIudHMiLCAic3JjL3RyYWNrZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFBsdWdpbiB9IGZyb20gXCJvYnNpZGlhblwiO1xyXG5pbXBvcnQgeyBkZWZhdWx0U2V0dGluZ3MsIFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MgfSBmcm9tIFwiLi9zZXR0aW5nc1wiO1xyXG5pbXBvcnQgeyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzVGFiIH0gZnJvbSBcIi4vc2V0dGluZ3MtdGFiXCI7XHJcbmltcG9ydCB7IGRpc3BsYXlUcmFja2VyLCBsb2FkVHJhY2tlciwgVHJhY2tlciB9IGZyb20gXCIuL3RyYWNrZXJcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNpbXBsZVRpbWVUcmFja2VyUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcclxuXHJcbiAgICBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncztcclxuXHJcbiAgICBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcclxuXHJcbiAgICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzVGFiKHRoaXMuYXBwLCB0aGlzKSk7XHJcblxyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJNYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3NvcihcInNpbXBsZS10aW1lLXRyYWNrZXJcIiwgKHMsIGUsIGkpID0+IHtcclxuICAgICAgICAgICAgbGV0IHRyYWNrZXI6IFRyYWNrZXIgPSBsb2FkVHJhY2tlcihzKTtcclxuICAgICAgICAgICAgZS5lbXB0eSgpO1xyXG4gICAgICAgICAgICBkaXNwbGF5VHJhY2tlcih0cmFja2VyLCBlLCBpLnNvdXJjZVBhdGgsICgpID0+IGkuZ2V0U2VjdGlvbkluZm8oZSksIHRoaXMuc2V0dGluZ3MpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmFkZENvbW1hbmQoe1xyXG4gICAgICAgICAgICBpZDogYGluc2VydGAsXHJcbiAgICAgICAgICAgIG5hbWU6IGBJbnNlcnQgVGltZSBUcmFja2VyYCxcclxuICAgICAgICAgICAgZWRpdG9yQ2FsbGJhY2s6IChlLCBfKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBlLnJlcGxhY2VTZWxlY3Rpb24oXCJgYGBzaW1wbGUtdGltZS10cmFja2VyXFxuYGBgXFxuXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U2V0dGluZ3MsIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2F2ZVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XHJcbiAgICB9XHJcbn1cclxuIiwgImV4cG9ydCBjb25zdCBkZWZhdWx0U2V0dGluZ3M6IFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MgPSB7XHJcbiAgICB0aW1lc3RhbXBGb3JtYXQ6IFwiWVktTU0tREQgaGg6bW06c3NcIixcclxuICAgIGNzdkRlbGltaXRlcjogXCIsXCIsXHJcbiAgICBmaW5lR3JhaW5lZER1cmF0aW9uczogdHJ1ZVxyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzIHtcclxuXHJcbiAgICB0aW1lc3RhbXBGb3JtYXQ6IHN0cmluZztcclxuICAgIGNzdkRlbGltaXRlcjogc3RyaW5nO1xyXG4gICAgZmluZUdyYWluZWREdXJhdGlvbnM6IGJvb2xlYW47XHJcblxyXG59XHJcbiIsICJpbXBvcnQgeyBBcHAsIFBsdWdpblNldHRpbmdUYWIsIFNldHRpbmcgfSBmcm9tIFwib2JzaWRpYW5cIjtcclxuaW1wb3J0IFNpbXBsZVRpbWVUcmFja2VyUGx1Z2luIGZyb20gXCIuL21haW5cIjtcclxuaW1wb3J0IHsgZGVmYXVsdFNldHRpbmdzIH0gZnJvbSBcIi4vc2V0dGluZ3NcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XHJcblxyXG4gICAgcGx1Z2luOiBTaW1wbGVUaW1lVHJhY2tlclBsdWdpbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBTaW1wbGVUaW1lVHJhY2tlclBsdWdpbikge1xyXG4gICAgICAgIHN1cGVyKGFwcCwgcGx1Z2luKTtcclxuICAgICAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuZW1wdHkoKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaDJcIiwge3RleHQ6IFwiU3VwZXIgU2ltcGxlIFRpbWUgVHJhY2tlciBTZXR0aW5nc1wifSk7XHJcblxyXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXHJcbiAgICAgICAgICAgIC5zZXROYW1lKFwiVGltZXN0YW1wIERpc3BsYXkgRm9ybWF0XCIpXHJcbiAgICAgICAgICAgIC5zZXREZXNjKGNyZWF0ZUZyYWdtZW50KGYgPT4ge1xyXG4gICAgICAgICAgICAgICAgZi5jcmVhdGVTcGFuKHt0ZXh0OiBcIlRoZSB3YXkgdGhhdCB0aW1lc3RhbXBzIGluIHRpbWUgdHJhY2tlciB0YWJsZXMgc2hvdWxkIGJlIGRpc3BsYXllZC4gVXNlcyBcIn0pO1xyXG4gICAgICAgICAgICAgICAgZi5jcmVhdGVFbChcImFcIiwge3RleHQ6IFwibW9tZW50LmpzXCIsIGhyZWY6IFwiaHR0cHM6Ly9tb21lbnRqcy5jb20vZG9jcy8jL3BhcnNpbmcvc3RyaW5nLWZvcm1hdC9cIn0pO1xyXG4gICAgICAgICAgICAgICAgZi5jcmVhdGVTcGFuKHt0ZXh0OiBcIiBzeW50YXguXCJ9KTtcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIC5hZGRUZXh0KHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdC5zZXRWYWx1ZShTdHJpbmcodGhpcy5wbHVnaW4uc2V0dGluZ3MudGltZXN0YW1wRm9ybWF0KSk7XHJcbiAgICAgICAgICAgICAgICB0Lm9uQ2hhbmdlKGFzeW5jIHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLnRpbWVzdGFtcEZvcm1hdCA9IHYubGVuZ3RoID8gdiA6IGRlZmF1bHRTZXR0aW5ncy50aW1lc3RhbXBGb3JtYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXHJcbiAgICAgICAgICAgIC5zZXROYW1lKFwiQ1NWIERlbGltaXRlclwiKVxyXG4gICAgICAgICAgICAuc2V0RGVzYyhcIlRoZSBkZWxpbWl0ZXIgY2hhcmFjdGVyIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlbiBjb3B5aW5nIGEgdHJhY2tlciB0YWJsZSBhcyBDU1YuIEZvciBleGFtcGxlLCBzb21lIGxhbmd1YWdlcyB1c2UgYSBzZW1pY29sb24gaW5zdGVhZCBvZiBhIGNvbW1hLlwiKVxyXG4gICAgICAgICAgICAuYWRkVGV4dCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIHQuc2V0VmFsdWUoU3RyaW5nKHRoaXMucGx1Z2luLnNldHRpbmdzLmNzdkRlbGltaXRlcikpO1xyXG4gICAgICAgICAgICAgICAgdC5vbkNoYW5nZShhc3luYyB2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy5jc3ZEZWxpbWl0ZXIgPSB2Lmxlbmd0aCA/IHYgOiBkZWZhdWx0U2V0dGluZ3MuY3N2RGVsaW1pdGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxyXG4gICAgICAgICAgICAuc2V0TmFtZShcIkZpbmUtR3JhaW5lZCBEdXJhdGlvbnNcIilcclxuICAgICAgICAgICAgLnNldERlc2MoXCJXaGV0aGVyIGR1cmF0aW9ucyBzaG91bGQgaW5jbHVkZSBkYXlzLCBtb250aHMgYW5kIHllYXJzLiBJZiB0aGlzIGlzIGRpc2FibGVkLCBhZGRpdGlvbmFsIHRpbWUgdW5pdHMgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgcGFydCBvZiB0aGUgaG91cnMuXCIpXHJcbiAgICAgICAgICAgIC5hZGRUb2dnbGUodCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmZpbmVHcmFpbmVkRHVyYXRpb25zKTtcclxuICAgICAgICAgICAgICAgIHQub25DaGFuZ2UoYXN5bmMgdiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MuZmluZUdyYWluZWREdXJhdGlvbnMgPSB2O1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaHJcIik7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJFbC5jcmVhdGVFbChcInBcIiwge3RleHQ6IFwiSWYgeW91IGxpa2UgdGhpcyBwbHVnaW4gYW5kIHdhbnQgdG8gc3VwcG9ydCBpdHMgZGV2ZWxvcG1lbnQsIHlvdSBjYW4gZG8gc28gdGhyb3VnaCBteSB3ZWJzaXRlIGJ5IGNsaWNraW5nIHRoaXMgZmFuY3kgaW1hZ2UhXCJ9KTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiYVwiLCB7aHJlZjogXCJodHRwczovL2VsbHBlY2suZGUvc3VwcG9ydFwifSlcclxuICAgICAgICAgICAgLmNyZWF0ZUVsKFwiaW1nXCIsIHtcclxuICAgICAgICAgICAgICAgIGF0dHI6IHtzcmM6IFwiaHR0cHM6Ly9lbGxwZWNrLmRlL3Jlcy9nZW5lcmFsc3VwcG9ydC5wbmdcIn0sXHJcbiAgICAgICAgICAgICAgICBjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci1zdXBwb3J0XCJcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwgImltcG9ydCB7IG1vbWVudCwgQXBwLCBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbiwgQnV0dG9uQ29tcG9uZW50LCBUZXh0Q29tcG9uZW50LCBURmlsZSB9IGZyb20gXCJvYnNpZGlhblwiO1xyXG5pbXBvcnQgeyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzIH0gZnJvbSBcIi4vc2V0dGluZ3NcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2tlciB7XHJcbiAgICBlbnRyaWVzOiBFbnRyeVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudHJ5IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHN0YXJ0VGltZTogbnVtYmVyO1xyXG4gICAgZW5kVGltZTogbnVtYmVyO1xyXG4gICAgc3ViRW50cmllczogRW50cnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhdmVUcmFja2VyKHRyYWNrZXI6IFRyYWNrZXIsIGFwcDogQXBwLCBmaWxlTmFtZTogc3RyaW5nLCBzZWN0aW9uOiBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IGZpbGUgPSBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKGZpbGVOYW1lKSBhcyBURmlsZTtcclxuICAgIGlmICghZmlsZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICBsZXQgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xyXG5cclxuICAgIC8vIGZpZ3VyZSBvdXQgd2hhdCBwYXJ0IG9mIHRoZSBjb250ZW50IHdlIGhhdmUgdG8gZWRpdFxyXG4gICAgbGV0IGxpbmVzID0gY29udGVudC5zcGxpdChcIlxcblwiKTtcclxuICAgIGxldCBwcmV2ID0gbGluZXMuZmlsdGVyKChfLCBpKSA9PiBpIDw9IHNlY3Rpb24ubGluZVN0YXJ0KS5qb2luKFwiXFxuXCIpO1xyXG4gICAgbGV0IG5leHQgPSBsaW5lcy5maWx0ZXIoKF8sIGkpID0+IGkgPj0gc2VjdGlvbi5saW5lRW5kKS5qb2luKFwiXFxuXCIpO1xyXG4gICAgLy8gZWRpdCBvbmx5IHRoZSBjb2RlIGJsb2NrIGNvbnRlbnQsIGxlYXZlIHRoZSByZXN0IHVudG91Y2hlZFxyXG4gICAgY29udGVudCA9IGAke3ByZXZ9XFxuJHtKU09OLnN0cmluZ2lmeSh0cmFja2VyKX1cXG4ke25leHR9YDtcclxuXHJcbiAgICBhd2FpdCBhcHAudmF1bHQubW9kaWZ5KGZpbGUsIGNvbnRlbnQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFRyYWNrZXIoanNvbjogc3RyaW5nKTogVHJhY2tlciB7XHJcbiAgICBpZiAoanNvbikge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGpzb24pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYEZhaWxlZCB0byBwYXJzZSBUcmFja2VyIGZyb20gJHtqc29ufWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7ZW50cmllczogW119O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGlzcGxheVRyYWNrZXIodHJhY2tlcjogVHJhY2tlciwgZWxlbWVudDogSFRNTEVsZW1lbnQsIGZpbGU6IHN0cmluZywgZ2V0U2VjdGlvbkluZm86ICgpID0+IE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uLCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHZvaWQge1xyXG4gICAgLy8gYWRkIHN0YXJ0L3N0b3AgY29udHJvbHNcclxuICAgIGxldCBydW5uaW5nID0gaXNSdW5uaW5nKHRyYWNrZXIpO1xyXG4gICAgbGV0IGJ0biA9IG5ldyBCdXR0b25Db21wb25lbnQoZWxlbWVudClcclxuICAgICAgICAuc2V0Q2xhc3MoXCJjbGlja2FibGUtaWNvblwiKVxyXG4gICAgICAgIC5zZXRJY29uKGBsdWNpZGUtJHtydW5uaW5nID8gXCJzdG9wXCIgOiBcInBsYXlcIn0tY2lyY2xlYClcclxuICAgICAgICAuc2V0VG9vbHRpcChydW5uaW5nID8gXCJFbmRcIiA6IFwiU3RhcnRcIilcclxuICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChydW5uaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBlbmRSdW5uaW5nRW50cnkodHJhY2tlcik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydE5ld0VudHJ5KHRyYWNrZXIsIG5ld1NlZ21lbnROYW1lQm94LmdldFZhbHVlKCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGF3YWl0IHNhdmVUcmFja2VyKHRyYWNrZXIsIHRoaXMuYXBwLCBmaWxlLCBnZXRTZWN0aW9uSW5mbygpKTtcclxuICAgICAgICB9KTtcclxuICAgIGJ0bi5idXR0b25FbC5hZGRDbGFzcyhcInNpbXBsZS10aW1lLXRyYWNrZXItYnRuXCIpO1xyXG4gICAgbGV0IG5ld1NlZ21lbnROYW1lQm94ID0gbmV3IFRleHRDb21wb25lbnQoZWxlbWVudClcclxuICAgICAgICAuc2V0UGxhY2Vob2xkZXIoXCJTZWdtZW50IG5hbWVcIilcclxuICAgICAgICAuc2V0RGlzYWJsZWQocnVubmluZyk7XHJcbiAgICBuZXdTZWdtZW50TmFtZUJveC5pbnB1dEVsLmFkZENsYXNzKFwic2ltcGxlLXRpbWUtdHJhY2tlci10eHRcIik7XHJcblxyXG4gICAgLy8gYWRkIHRpbWVyc1xyXG4gICAgbGV0IHRpbWVyID0gZWxlbWVudC5jcmVhdGVEaXYoe2NsczogXCJzaW1wbGUtdGltZS10cmFja2VyLXRpbWVyc1wifSk7XHJcbiAgICBsZXQgY3VycmVudERpdiA9IHRpbWVyLmNyZWF0ZUVsKFwiZGl2XCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci10aW1lclwifSk7XHJcbiAgICBsZXQgY3VycmVudCA9IGN1cnJlbnREaXYuY3JlYXRlRWwoXCJzcGFuXCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci10aW1lci10aW1lXCJ9KTtcclxuICAgIGN1cnJlbnREaXYuY3JlYXRlRWwoXCJzcGFuXCIsIHt0ZXh0OiBcIkN1cnJlbnRcIn0pO1xyXG4gICAgbGV0IHRvdGFsRGl2ID0gdGltZXIuY3JlYXRlRWwoXCJkaXZcIiwge2NsczogXCJzaW1wbGUtdGltZS10cmFja2VyLXRpbWVyXCJ9KTtcclxuICAgIGxldCB0b3RhbCA9IHRvdGFsRGl2LmNyZWF0ZUVsKFwic3BhblwiLCB7Y2xzOiBcInNpbXBsZS10aW1lLXRyYWNrZXItdGltZXItdGltZVwiLCB0ZXh0OiBcIjBzXCJ9KTtcclxuICAgIHRvdGFsRGl2LmNyZWF0ZUVsKFwic3BhblwiLCB7dGV4dDogXCJUb3RhbFwifSk7XHJcblxyXG4gICAgaWYgKHRyYWNrZXIuZW50cmllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgLy8gYWRkIHRhYmxlXHJcbiAgICAgICAgbGV0IHRhYmxlID0gZWxlbWVudC5jcmVhdGVFbChcInRhYmxlXCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci10YWJsZVwifSk7XHJcbiAgICAgICAgdGFibGUuY3JlYXRlRWwoXCJ0clwiKS5hcHBlbmQoXHJcbiAgICAgICAgICAgIGNyZWF0ZUVsKFwidGhcIiwge3RleHQ6IFwiU2VnbWVudFwifSksXHJcbiAgICAgICAgICAgIGNyZWF0ZUVsKFwidGhcIiwge3RleHQ6IFwiU3RhcnQgdGltZVwifSksXHJcbiAgICAgICAgICAgIGNyZWF0ZUVsKFwidGhcIiwge3RleHQ6IFwiRW5kIHRpbWVcIn0pLFxyXG4gICAgICAgICAgICBjcmVhdGVFbChcInRoXCIsIHt0ZXh0OiBcIkR1cmF0aW9uXCJ9KSxcclxuICAgICAgICAgICAgY3JlYXRlRWwoXCJ0aFwiKSk7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGVudHJ5IG9mIHRyYWNrZXIuZW50cmllcylcclxuICAgICAgICAgICAgYWRkRWRpdGFibGVUYWJsZVJvdyh0cmFja2VyLCBlbnRyeSwgdGFibGUsIG5ld1NlZ21lbnROYW1lQm94LCBydW5uaW5nLCBmaWxlLCBnZXRTZWN0aW9uSW5mbywgc2V0dGluZ3MsIDApO1xyXG5cclxuICAgICAgICAvLyBhZGQgY29weSBidXR0b25zXHJcbiAgICAgICAgbGV0IGJ1dHRvbnMgPSBlbGVtZW50LmNyZWF0ZUVsKFwiZGl2XCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci1ib3R0b21cIn0pO1xyXG4gICAgICAgIG5ldyBCdXR0b25Db21wb25lbnQoYnV0dG9ucylcclxuICAgICAgICAgICAgLnNldEJ1dHRvblRleHQoXCJDb3B5IGFzIHRhYmxlXCIpXHJcbiAgICAgICAgICAgIC5vbkNsaWNrKCgpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNyZWF0ZU1hcmtkb3duVGFibGUodHJhY2tlciwgc2V0dGluZ3MpKSk7XHJcbiAgICAgICAgbmV3IEJ1dHRvbkNvbXBvbmVudChidXR0b25zKVxyXG4gICAgICAgICAgICAuc2V0QnV0dG9uVGV4dChcIkNvcHkgYXMgQ1NWXCIpXHJcbiAgICAgICAgICAgIC5vbkNsaWNrKCgpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNyZWF0ZUNzdih0cmFja2VyLCBzZXR0aW5ncykpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0Q291bnRkb3duVmFsdWVzKHRyYWNrZXIsIGN1cnJlbnQsIHRvdGFsLCBjdXJyZW50RGl2LCBzZXR0aW5ncyk7XHJcbiAgICBsZXQgaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgLy8gd2UgZGVsZXRlIHRoZSBpbnRlcnZhbCB0aW1lciB3aGVuIHRoZSBlbGVtZW50IGlzIHJlbW92ZWRcclxuICAgICAgICBpZiAoIWVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcclxuICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0Q291bnRkb3duVmFsdWVzKHRyYWNrZXIsIGN1cnJlbnQsIHRvdGFsLCBjdXJyZW50RGl2LCBzZXR0aW5ncyk7XHJcbiAgICB9LCAxMDAwKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc3RhcnRTdWJFbnRyeShlbnRyeTogRW50cnksIG5hbWU6IHN0cmluZykge1xyXG4gICAgLy8gaWYgdGhpcyBlbnRyeSBpcyBub3Qgc3BsaXQgeWV0LCB3ZSBhZGQgaXRzIHRpbWUgYXMgYSBzdWItZW50cnkgaW5zdGVhZFxyXG4gICAgaWYgKCFlbnRyeS5zdWJFbnRyaWVzKSB7XHJcbiAgICAgICAgZW50cnkuc3ViRW50cmllcyA9IFt7Li4uZW50cnksIG5hbWU6IGBQYXJ0IDFgfV07XHJcbiAgICAgICAgZW50cnkuc3RhcnRUaW1lID0gbnVsbDtcclxuICAgICAgICBlbnRyeS5lbmRUaW1lID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIW5hbWUpXHJcbiAgICAgICAgbmFtZSA9IGBQYXJ0ICR7ZW50cnkuc3ViRW50cmllcy5sZW5ndGggKyAxfWA7XHJcbiAgICBlbnRyeS5zdWJFbnRyaWVzLnB1c2goe25hbWU6IG5hbWUsIHN0YXJ0VGltZTogbW9tZW50KCkudW5peCgpLCBlbmRUaW1lOiBudWxsLCBzdWJFbnRyaWVzOiBudWxsfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHN0YXJ0TmV3RW50cnkodHJhY2tlcjogVHJhY2tlciwgbmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIW5hbWUpXHJcbiAgICAgICAgbmFtZSA9IGBTZWdtZW50ICR7dHJhY2tlci5lbnRyaWVzLmxlbmd0aCArIDF9YDtcclxuICAgIGxldCBlbnRyeTogRW50cnkgPSB7bmFtZTogbmFtZSwgc3RhcnRUaW1lOiBtb21lbnQoKS51bml4KCksIGVuZFRpbWU6IG51bGwsIHN1YkVudHJpZXM6IG51bGx9O1xyXG4gICAgdHJhY2tlci5lbnRyaWVzLnB1c2goZW50cnkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbmRSdW5uaW5nRW50cnkodHJhY2tlcjogVHJhY2tlcik6IHZvaWQge1xyXG4gICAgbGV0IGVudHJ5ID0gZ2V0UnVubmluZ0VudHJ5KHRyYWNrZXIuZW50cmllcyk7XHJcbiAgICBlbnRyeS5lbmRUaW1lID0gbW9tZW50KCkudW5peCgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiByZW1vdmVFbnRyeShlbnRyaWVzOiBFbnRyeVtdLCB0b1JlbW92ZTogRW50cnkpOiBib29sZWFuIHtcclxuICAgIGlmIChlbnRyaWVzLmNvbnRhaW5zKHRvUmVtb3ZlKSkge1xyXG4gICAgICAgIGVudHJpZXMucmVtb3ZlKHRvUmVtb3ZlKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykge1xyXG4gICAgICAgICAgICBpZiAoZW50cnkuc3ViRW50cmllcyAmJiByZW1vdmVFbnRyeShlbnRyeS5zdWJFbnRyaWVzLCB0b1JlbW92ZSkpIHtcclxuICAgICAgICAgICAgICAgIC8vIGlmIHdlIG9ubHkgaGF2ZSBvbmUgc3ViIGVudHJ5IHJlbWFpbmluZywgd2UgY2FuIG1lcmdlIGJhY2sgaW50byBvdXIgbWFpbiBlbnRyeVxyXG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnN1YkVudHJpZXMubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgc2luZ2xlID0gZW50cnkuc3ViRW50cmllc1swXTtcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5zdGFydFRpbWUgPSBzaW5nbGUuc3RhcnRUaW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5LmVuZFRpbWUgPSBzaW5nbGUuZW5kVGltZTtcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5zdWJFbnRyaWVzID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc1J1bm5pbmcodHJhY2tlcjogVHJhY2tlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhZ2V0UnVubmluZ0VudHJ5KHRyYWNrZXIuZW50cmllcyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFJ1bm5pbmdFbnRyeShlbnRyaWVzOiBFbnRyeVtdKTogRW50cnkge1xyXG4gICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykge1xyXG4gICAgICAgIC8vIGlmIHRoaXMgZW50cnkgaGFzIHN1YiBlbnRyaWVzLCBjaGVjayBpZiBvbmUgb2YgdGhlbSBpcyBydW5uaW5nXHJcbiAgICAgICAgaWYgKGVudHJ5LnN1YkVudHJpZXMpIHtcclxuICAgICAgICAgICAgbGV0IHJ1bm5pbmcgPSBnZXRSdW5uaW5nRW50cnkoZW50cnkuc3ViRW50cmllcyk7XHJcbiAgICAgICAgICAgIGlmIChydW5uaW5nKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJ1bm5pbmc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gaWYgdGhpcyBlbnRyeSBoYXMgbm8gc3ViIGVudHJpZXMgYW5kIG5vIGVuZCB0aW1lLCBpdCdzIHJ1bm5pbmdcclxuICAgICAgICAgICAgaWYgKCFlbnRyeS5lbmRUaW1lKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXREdXJhdGlvbihlbnRyeTogRW50cnkpIHtcclxuICAgIGlmIChlbnRyeS5zdWJFbnRyaWVzKSB7XHJcbiAgICAgICAgcmV0dXJuIGdldFRvdGFsRHVyYXRpb24oZW50cnkuc3ViRW50cmllcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gZW50cnkuZW5kVGltZSA/IG1vbWVudC51bml4KGVudHJ5LmVuZFRpbWUpIDogbW9tZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIGVuZFRpbWUuZGlmZihtb21lbnQudW5peChlbnRyeS5zdGFydFRpbWUpKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0VG90YWxEdXJhdGlvbihlbnRyaWVzOiBFbnRyeVtdKTogbnVtYmVyIHtcclxuICAgIGxldCByZXQgPSAwO1xyXG4gICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcylcclxuICAgICAgICByZXQgKz0gZ2V0RHVyYXRpb24oZW50cnkpO1xyXG4gICAgcmV0dXJuIHJldDtcclxufVxyXG5cclxuZnVuY3Rpb24gc2V0Q291bnRkb3duVmFsdWVzKHRyYWNrZXI6IFRyYWNrZXIsIGN1cnJlbnQ6IEhUTUxFbGVtZW50LCB0b3RhbDogSFRNTEVsZW1lbnQsIGN1cnJlbnREaXY6IEhUTUxEaXZFbGVtZW50LCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncykge1xyXG4gICAgbGV0IHJ1bm5pbmcgPSBnZXRSdW5uaW5nRW50cnkodHJhY2tlci5lbnRyaWVzKTtcclxuICAgIGlmIChydW5uaW5nICYmICFydW5uaW5nLmVuZFRpbWUpIHtcclxuICAgICAgICBjdXJyZW50LnNldFRleHQoZm9ybWF0RHVyYXRpb24oZ2V0RHVyYXRpb24ocnVubmluZyksIHNldHRpbmdzKSk7XHJcbiAgICAgICAgY3VycmVudERpdi5oaWRkZW4gPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY3VycmVudERpdi5oaWRkZW4gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdG90YWwuc2V0VGV4dChmb3JtYXREdXJhdGlvbihnZXRUb3RhbER1cmF0aW9uKHRyYWNrZXIuZW50cmllcyksIHNldHRpbmdzKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdFRpbWVzdGFtcCh0aW1lc3RhbXA6IG51bWJlciwgc2V0dGluZ3M6IFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1vbWVudC51bml4KHRpbWVzdGFtcCkuZm9ybWF0KHNldHRpbmdzLnRpbWVzdGFtcEZvcm1hdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKHRvdGFsVGltZTogbnVtYmVyLCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmV0ID0gXCJcIjtcclxuICAgIGxldCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbih0b3RhbFRpbWUpO1xyXG4gICAgbGV0IGhvdXJzOiBudW1iZXI7XHJcbiAgICBpZiAoc2V0dGluZ3MuZmluZUdyYWluZWREdXJhdGlvbnMpIHtcclxuICAgICAgICBpZiAoZHVyYXRpb24ueWVhcnMoKSA+IDApXHJcbiAgICAgICAgICAgIHJldCArPSBkdXJhdGlvbi55ZWFycygpICsgXCJ5IFwiO1xyXG4gICAgICAgIGlmIChkdXJhdGlvbi5tb250aHMoKSA+IDApXHJcbiAgICAgICAgICAgIHJldCArPSBkdXJhdGlvbi5tb250aHMoKSArIFwiTSBcIjtcclxuICAgICAgICBpZiAoZHVyYXRpb24uZGF5cygpID4gMClcclxuICAgICAgICAgICAgcmV0ICs9IGR1cmF0aW9uLmRheXMoKSArIFwiZCBcIjtcclxuICAgICAgICBob3VycyA9IGR1cmF0aW9uLmhvdXJzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGhvdXJzID0gTWF0aC5mbG9vcihkdXJhdGlvbi5hc0hvdXJzKCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGhvdXJzID4gMClcclxuICAgICAgICByZXQgKz0gaG91cnMgKyBcImggXCI7XHJcbiAgICBpZiAoZHVyYXRpb24ubWludXRlcygpID4gMClcclxuICAgICAgICByZXQgKz0gZHVyYXRpb24ubWludXRlcygpICsgXCJtIFwiO1xyXG4gICAgcmV0ICs9IGR1cmF0aW9uLnNlY29uZHMoKSArIFwic1wiO1xyXG4gICAgcmV0dXJuIHJldDtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlTWFya2Rvd25UYWJsZSh0cmFja2VyOiBUcmFja2VyLCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHN0cmluZyB7XHJcbiAgICBsZXQgdGFibGUgPSBbW1wiU2VnbWVudFwiLCBcIlN0YXJ0IHRpbWVcIiwgXCJFbmQgdGltZVwiLCBcIkR1cmF0aW9uXCJdXTtcclxuICAgIGZvciAobGV0IGVudHJ5IG9mIHRyYWNrZXIuZW50cmllcylcclxuICAgICAgICB0YWJsZS5wdXNoKC4uLmNyZWF0ZVRhYmxlU2VjdGlvbihlbnRyeSwgc2V0dGluZ3MpKTtcclxuICAgIHRhYmxlLnB1c2goW1wiKipUb3RhbCoqXCIsIFwiXCIsIFwiXCIsIGAqKiR7Zm9ybWF0RHVyYXRpb24oZ2V0VG90YWxEdXJhdGlvbih0cmFja2VyLmVudHJpZXMpLCBzZXR0aW5ncyl9KipgXSk7XHJcblxyXG4gICAgbGV0IHJldCA9IFwiXCI7XHJcbiAgICAvLyBjYWxjdWxhdGUgdGhlIHdpZHRoIGV2ZXJ5IGNvbHVtbiBuZWVkcyB0byBsb29rIG5lYXQgd2hlbiBtb25vc3BhY2VkXHJcbiAgICBsZXQgd2lkdGhzID0gQXJyYXkuZnJvbShBcnJheSg0KS5rZXlzKCkpLm1hcChpID0+IE1hdGgubWF4KC4uLnRhYmxlLm1hcChhID0+IGFbaV0ubGVuZ3RoKSkpO1xyXG4gICAgZm9yIChsZXQgciA9IDA7IHIgPCB0YWJsZS5sZW5ndGg7IHIrKykge1xyXG4gICAgICAgIC8vIGFkZCBzZXBhcmF0b3JzIGFmdGVyIGZpcnN0IHJvd1xyXG4gICAgICAgIGlmIChyID09IDEpXHJcbiAgICAgICAgICAgIHJldCArPSBcInwgXCIgKyBBcnJheS5mcm9tKEFycmF5KDQpLmtleXMoKSkubWFwKGkgPT4gXCItXCIucmVwZWF0KHdpZHRoc1tpXSkpLmpvaW4oXCIgfCBcIikgKyBcIiB8XFxuXCI7XHJcblxyXG4gICAgICAgIGxldCByb3c6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspXHJcbiAgICAgICAgICAgIHJvdy5wdXNoKHRhYmxlW3JdW2ldLnBhZEVuZCh3aWR0aHNbaV0sIFwiIFwiKSk7XHJcbiAgICAgICAgcmV0ICs9IFwifCBcIiArIHJvdy5qb2luKFwiIHwgXCIpICsgXCIgfFxcblwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldDtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlQ3N2KHRyYWNrZXI6IFRyYWNrZXIsIHNldHRpbmdzOiBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzKTogc3RyaW5nIHtcclxuICAgIGxldCByZXQgPSBcIlwiO1xyXG4gICAgZm9yIChsZXQgZW50cnkgb2YgdHJhY2tlci5lbnRyaWVzKSB7XHJcbiAgICAgICAgZm9yIChsZXQgcm93IG9mIGNyZWF0ZVRhYmxlU2VjdGlvbihlbnRyeSwgc2V0dGluZ3MpKVxyXG4gICAgICAgICAgICByZXQgKz0gcm93LmpvaW4oc2V0dGluZ3MuY3N2RGVsaW1pdGVyKSArIFwiXFxuXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVUYWJsZVNlY3Rpb24oZW50cnk6IEVudHJ5LCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHN0cmluZ1tdW10ge1xyXG4gICAgbGV0IHJldDogc3RyaW5nW11bXSA9IFtbXHJcbiAgICAgICAgZW50cnkubmFtZSxcclxuICAgICAgICBlbnRyeS5zdGFydFRpbWUgPyBmb3JtYXRUaW1lc3RhbXAoZW50cnkuc3RhcnRUaW1lLCBzZXR0aW5ncykgOiBcIlwiLFxyXG4gICAgICAgIGVudHJ5LmVuZFRpbWUgPyBmb3JtYXRUaW1lc3RhbXAoZW50cnkuZW5kVGltZSwgc2V0dGluZ3MpIDogXCJcIixcclxuICAgICAgICBlbnRyeS5lbmRUaW1lIHx8IGVudHJ5LnN1YkVudHJpZXMgPyBmb3JtYXREdXJhdGlvbihnZXREdXJhdGlvbihlbnRyeSksIHNldHRpbmdzKSA6IFwiXCJdXTtcclxuICAgIGlmIChlbnRyeS5zdWJFbnRyaWVzKSB7XHJcbiAgICAgICAgZm9yIChsZXQgc3ViIG9mIGVudHJ5LnN1YkVudHJpZXMpXHJcbiAgICAgICAgICAgIHJldC5wdXNoKC4uLmNyZWF0ZVRhYmxlU2VjdGlvbihzdWIsIHNldHRpbmdzKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBhZGRFZGl0YWJsZVRhYmxlUm93KHRyYWNrZXI6IFRyYWNrZXIsIGVudHJ5OiBFbnRyeSwgdGFibGU6IEhUTUxUYWJsZUVsZW1lbnQsIG5ld1NlZ21lbnROYW1lQm94OiBUZXh0Q29tcG9uZW50LCBydW5uaW5nOiBib29sZWFuLCBmaWxlOiBzdHJpbmcsIGdldFNlY3Rpb25JbmZvOiAoKSA9PiBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbiwgc2V0dGluZ3M6IFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MsIGluZGVudDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcm93ID0gdGFibGUuY3JlYXRlRWwoXCJ0clwiKTtcclxuXHJcbiAgICBsZXQgbmFtZSA9IHJvdy5jcmVhdGVFbChcInRkXCIpO1xyXG4gICAgbGV0IG5hbWVQYXIgPSBuYW1lLmNyZWF0ZUVsKFwic3BhblwiLCB7dGV4dDogZW50cnkubmFtZX0pO1xyXG4gICAgbmFtZVBhci5zdHlsZS5tYXJnaW5MZWZ0ID0gYCR7aW5kZW50fWVtYDtcclxuICAgIGxldCBuYW1lQm94ID0gbmV3IFRleHRDb21wb25lbnQobmFtZSkuc2V0VmFsdWUoZW50cnkubmFtZSk7XHJcbiAgICBuYW1lQm94LmlucHV0RWwuaGlkZGVuID0gdHJ1ZTtcclxuXHJcbiAgICByb3cuY3JlYXRlRWwoXCJ0ZFwiLCB7dGV4dDogZW50cnkuc3RhcnRUaW1lID8gZm9ybWF0VGltZXN0YW1wKGVudHJ5LnN0YXJ0VGltZSwgc2V0dGluZ3MpIDogXCJcIn0pO1xyXG4gICAgcm93LmNyZWF0ZUVsKFwidGRcIiwge3RleHQ6IGVudHJ5LmVuZFRpbWUgPyBmb3JtYXRUaW1lc3RhbXAoZW50cnkuZW5kVGltZSwgc2V0dGluZ3MpIDogXCJcIn0pO1xyXG4gICAgcm93LmNyZWF0ZUVsKFwidGRcIiwge3RleHQ6IGVudHJ5LmVuZFRpbWUgfHwgZW50cnkuc3ViRW50cmllcyA/IGZvcm1hdER1cmF0aW9uKGdldER1cmF0aW9uKGVudHJ5KSwgc2V0dGluZ3MpIDogXCJcIn0pO1xyXG5cclxuICAgIGxldCBlbnRyeUJ1dHRvbnMgPSByb3cuY3JlYXRlRWwoXCJ0ZFwiKTtcclxuICAgIGlmICghcnVubmluZykge1xyXG4gICAgICAgIG5ldyBCdXR0b25Db21wb25lbnQoZW50cnlCdXR0b25zKVxyXG4gICAgICAgICAgICAuc2V0Q2xhc3MoXCJjbGlja2FibGUtaWNvblwiKVxyXG4gICAgICAgICAgICAuc2V0SWNvbihgbHVjaWRlLXBsYXlgKVxyXG4gICAgICAgICAgICAuc2V0VG9vbHRpcChcIkNvbnRpbnVlXCIpXHJcbiAgICAgICAgICAgIC5vbkNsaWNrKGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHN0YXJ0U3ViRW50cnkoZW50cnksIG5ld1NlZ21lbnROYW1lQm94LmdldFZhbHVlKCkpO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgc2F2ZVRyYWNrZXIodHJhY2tlciwgdGhpcy5hcHAsIGZpbGUsIGdldFNlY3Rpb25JbmZvKCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGxldCBlZGl0QnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudChlbnRyeUJ1dHRvbnMpXHJcbiAgICAgICAgLnNldENsYXNzKFwiY2xpY2thYmxlLWljb25cIilcclxuICAgICAgICAuc2V0VG9vbHRpcChcIkVkaXRcIilcclxuICAgICAgICAuc2V0SWNvbihcImx1Y2lkZS1wZW5jaWxcIilcclxuICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lUGFyLmhpZGRlbikge1xyXG4gICAgICAgICAgICAgICAgbmFtZVBhci5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIG5hbWVCb3guaW5wdXRFbC5oaWRkZW4gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZWRpdEJ1dHRvbi5zZXRJY29uKFwibHVjaWRlLXBlbmNpbFwiKTtcclxuICAgICAgICAgICAgICAgIGlmIChuYW1lQm94LmdldFZhbHVlKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5uYW1lID0gbmFtZUJveC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWVQYXIuc2V0VGV4dChlbnRyeS5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzYXZlVHJhY2tlcih0cmFja2VyLCB0aGlzLmFwcCwgZmlsZSwgZ2V0U2VjdGlvbkluZm8oKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBuYW1lUGFyLmhpZGRlbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBuYW1lQm94LmlucHV0RWwuaGlkZGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBuYW1lQm94LnNldFZhbHVlKGVudHJ5Lm5hbWUpO1xyXG4gICAgICAgICAgICAgICAgZWRpdEJ1dHRvbi5zZXRJY29uKFwibHVjaWRlLWNoZWNrXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICBuZXcgQnV0dG9uQ29tcG9uZW50KGVudHJ5QnV0dG9ucylcclxuICAgICAgICAuc2V0Q2xhc3MoXCJjbGlja2FibGUtaWNvblwiKVxyXG4gICAgICAgIC5zZXRUb29sdGlwKFwiUmVtb3ZlXCIpXHJcbiAgICAgICAgLnNldEljb24oXCJsdWNpZGUtdHJhc2hcIilcclxuICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIHJlbW92ZUVudHJ5KHRyYWNrZXIuZW50cmllcywgZW50cnkpO1xyXG4gICAgICAgICAgICBhd2FpdCBzYXZlVHJhY2tlcih0cmFja2VyLCB0aGlzLmFwcCwgZmlsZSwgZ2V0U2VjdGlvbkluZm8oKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgaWYgKGVudHJ5LnN1YkVudHJpZXMpIHtcclxuICAgICAgICBmb3IgKGxldCBzdWIgb2YgZW50cnkuc3ViRW50cmllcylcclxuICAgICAgICAgICAgYWRkRWRpdGFibGVUYWJsZVJvdyh0cmFja2VyLCBzdWIsIHRhYmxlLCBuZXdTZWdtZW50TmFtZUJveCwgcnVubmluZywgZmlsZSwgZ2V0U2VjdGlvbkluZm8sIHNldHRpbmdzLCBpbmRlbnQgKyAxKTtcclxuICAgIH1cclxufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQSx1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 diff --git a/test-vault/.obsidian/plugins/simple-time-tracker/main.js b/test-vault/.obsidian/plugins/simple-time-tracker/main.js index 4c26e94..f152d05 100644 --- a/test-vault/.obsidian/plugins/simple-time-tracker/main.js +++ b/test-vault/.obsidian/plugins/simple-time-tracker/main.js @@ -402,4 +402,3 @@ var SimpleTimeTrackerPlugin = class extends import_obsidian3.Plugin { }); } }; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL21haW4udHMiLCAic3JjL3NldHRpbmdzLnRzIiwgInNyYy9zZXR0aW5ncy10YWIudHMiLCAic3JjL3RyYWNrZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFBsdWdpbiB9IGZyb20gXCJvYnNpZGlhblwiO1xyXG5pbXBvcnQgeyBkZWZhdWx0U2V0dGluZ3MsIFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MgfSBmcm9tIFwiLi9zZXR0aW5nc1wiO1xyXG5pbXBvcnQgeyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzVGFiIH0gZnJvbSBcIi4vc2V0dGluZ3MtdGFiXCI7XHJcbmltcG9ydCB7IGRpc3BsYXlUcmFja2VyLCBsb2FkVHJhY2tlciwgVHJhY2tlciB9IGZyb20gXCIuL3RyYWNrZXJcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNpbXBsZVRpbWVUcmFja2VyUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcclxuXHJcbiAgICBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncztcclxuXHJcbiAgICBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcclxuXHJcbiAgICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzVGFiKHRoaXMuYXBwLCB0aGlzKSk7XHJcblxyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJNYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3NvcihcInNpbXBsZS10aW1lLXRyYWNrZXJcIiwgKHMsIGUsIGkpID0+IHtcclxuICAgICAgICAgICAgbGV0IHRyYWNrZXI6IFRyYWNrZXIgPSBsb2FkVHJhY2tlcihzKTtcclxuICAgICAgICAgICAgZS5lbXB0eSgpO1xyXG4gICAgICAgICAgICBkaXNwbGF5VHJhY2tlcih0cmFja2VyLCBlLCBpLnNvdXJjZVBhdGgsICgpID0+IGkuZ2V0U2VjdGlvbkluZm8oZSksIHRoaXMuc2V0dGluZ3MpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmFkZENvbW1hbmQoe1xyXG4gICAgICAgICAgICBpZDogYGluc2VydGAsXHJcbiAgICAgICAgICAgIG5hbWU6IGBJbnNlcnQgVGltZSBUcmFja2VyYCxcclxuICAgICAgICAgICAgZWRpdG9yQ2FsbGJhY2s6IChlLCBfKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBlLnJlcGxhY2VTZWxlY3Rpb24oXCJgYGBzaW1wbGUtdGltZS10cmFja2VyXFxuYGBgXFxuXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U2V0dGluZ3MsIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2F2ZVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XHJcbiAgICB9XHJcbn1cclxuIiwgImV4cG9ydCBjb25zdCBkZWZhdWx0U2V0dGluZ3M6IFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MgPSB7XHJcbiAgICB0aW1lc3RhbXBGb3JtYXQ6IFwiWVktTU0tREQgaGg6bW06c3NcIixcclxuICAgIGNzdkRlbGltaXRlcjogXCIsXCIsXHJcbiAgICBmaW5lR3JhaW5lZER1cmF0aW9uczogdHJ1ZVxyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzIHtcclxuXHJcbiAgICB0aW1lc3RhbXBGb3JtYXQ6IHN0cmluZztcclxuICAgIGNzdkRlbGltaXRlcjogc3RyaW5nO1xyXG4gICAgZmluZUdyYWluZWREdXJhdGlvbnM6IGJvb2xlYW47XHJcblxyXG59XHJcbiIsICJpbXBvcnQgeyBBcHAsIFBsdWdpblNldHRpbmdUYWIsIFNldHRpbmcgfSBmcm9tIFwib2JzaWRpYW5cIjtcclxuaW1wb3J0IFNpbXBsZVRpbWVUcmFja2VyUGx1Z2luIGZyb20gXCIuL21haW5cIjtcclxuaW1wb3J0IHsgZGVmYXVsdFNldHRpbmdzIH0gZnJvbSBcIi4vc2V0dGluZ3NcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XHJcblxyXG4gICAgcGx1Z2luOiBTaW1wbGVUaW1lVHJhY2tlclBsdWdpbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBTaW1wbGVUaW1lVHJhY2tlclBsdWdpbikge1xyXG4gICAgICAgIHN1cGVyKGFwcCwgcGx1Z2luKTtcclxuICAgICAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuZW1wdHkoKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaDJcIiwge3RleHQ6IFwiU3VwZXIgU2ltcGxlIFRpbWUgVHJhY2tlciBTZXR0aW5nc1wifSk7XHJcblxyXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXHJcbiAgICAgICAgICAgIC5zZXROYW1lKFwiVGltZXN0YW1wIERpc3BsYXkgRm9ybWF0XCIpXHJcbiAgICAgICAgICAgIC5zZXREZXNjKGNyZWF0ZUZyYWdtZW50KGYgPT4ge1xyXG4gICAgICAgICAgICAgICAgZi5jcmVhdGVTcGFuKHt0ZXh0OiBcIlRoZSB3YXkgdGhhdCB0aW1lc3RhbXBzIGluIHRpbWUgdHJhY2tlciB0YWJsZXMgc2hvdWxkIGJlIGRpc3BsYXllZC4gVXNlcyBcIn0pO1xyXG4gICAgICAgICAgICAgICAgZi5jcmVhdGVFbChcImFcIiwge3RleHQ6IFwibW9tZW50LmpzXCIsIGhyZWY6IFwiaHR0cHM6Ly9tb21lbnRqcy5jb20vZG9jcy8jL3BhcnNpbmcvc3RyaW5nLWZvcm1hdC9cIn0pO1xyXG4gICAgICAgICAgICAgICAgZi5jcmVhdGVTcGFuKHt0ZXh0OiBcIiBzeW50YXguXCJ9KTtcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIC5hZGRUZXh0KHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdC5zZXRWYWx1ZShTdHJpbmcodGhpcy5wbHVnaW4uc2V0dGluZ3MudGltZXN0YW1wRm9ybWF0KSk7XHJcbiAgICAgICAgICAgICAgICB0Lm9uQ2hhbmdlKGFzeW5jIHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLnRpbWVzdGFtcEZvcm1hdCA9IHYubGVuZ3RoID8gdiA6IGRlZmF1bHRTZXR0aW5ncy50aW1lc3RhbXBGb3JtYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXHJcbiAgICAgICAgICAgIC5zZXROYW1lKFwiQ1NWIERlbGltaXRlclwiKVxyXG4gICAgICAgICAgICAuc2V0RGVzYyhcIlRoZSBkZWxpbWl0ZXIgY2hhcmFjdGVyIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlbiBjb3B5aW5nIGEgdHJhY2tlciB0YWJsZSBhcyBDU1YuIEZvciBleGFtcGxlLCBzb21lIGxhbmd1YWdlcyB1c2UgYSBzZW1pY29sb24gaW5zdGVhZCBvZiBhIGNvbW1hLlwiKVxyXG4gICAgICAgICAgICAuYWRkVGV4dCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIHQuc2V0VmFsdWUoU3RyaW5nKHRoaXMucGx1Z2luLnNldHRpbmdzLmNzdkRlbGltaXRlcikpO1xyXG4gICAgICAgICAgICAgICAgdC5vbkNoYW5nZShhc3luYyB2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy5jc3ZEZWxpbWl0ZXIgPSB2Lmxlbmd0aCA/IHYgOiBkZWZhdWx0U2V0dGluZ3MuY3N2RGVsaW1pdGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxyXG4gICAgICAgICAgICAuc2V0TmFtZShcIkZpbmUtR3JhaW5lZCBEdXJhdGlvbnNcIilcclxuICAgICAgICAgICAgLnNldERlc2MoXCJXaGV0aGVyIGR1cmF0aW9ucyBzaG91bGQgaW5jbHVkZSBkYXlzLCBtb250aHMgYW5kIHllYXJzLiBJZiB0aGlzIGlzIGRpc2FibGVkLCBhZGRpdGlvbmFsIHRpbWUgdW5pdHMgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgcGFydCBvZiB0aGUgaG91cnMuXCIpXHJcbiAgICAgICAgICAgIC5hZGRUb2dnbGUodCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmZpbmVHcmFpbmVkRHVyYXRpb25zKTtcclxuICAgICAgICAgICAgICAgIHQub25DaGFuZ2UoYXN5bmMgdiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MuZmluZUdyYWluZWREdXJhdGlvbnMgPSB2O1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaHJcIik7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJFbC5jcmVhdGVFbChcInBcIiwge3RleHQ6IFwiSWYgeW91IGxpa2UgdGhpcyBwbHVnaW4gYW5kIHdhbnQgdG8gc3VwcG9ydCBpdHMgZGV2ZWxvcG1lbnQsIHlvdSBjYW4gZG8gc28gdGhyb3VnaCBteSB3ZWJzaXRlIGJ5IGNsaWNraW5nIHRoaXMgZmFuY3kgaW1hZ2UhXCJ9KTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiYVwiLCB7aHJlZjogXCJodHRwczovL2VsbHBlY2suZGUvc3VwcG9ydFwifSlcclxuICAgICAgICAgICAgLmNyZWF0ZUVsKFwiaW1nXCIsIHtcclxuICAgICAgICAgICAgICAgIGF0dHI6IHtzcmM6IFwiaHR0cHM6Ly9lbGxwZWNrLmRlL3Jlcy9nZW5lcmFsc3VwcG9ydC5wbmdcIn0sXHJcbiAgICAgICAgICAgICAgICBjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci1zdXBwb3J0XCJcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwgImltcG9ydCB7IG1vbWVudCwgQXBwLCBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbiwgQnV0dG9uQ29tcG9uZW50LCBUZXh0Q29tcG9uZW50LCBURmlsZSB9IGZyb20gXCJvYnNpZGlhblwiO1xyXG5pbXBvcnQgeyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzIH0gZnJvbSBcIi4vc2V0dGluZ3NcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2tlciB7XHJcbiAgICBlbnRyaWVzOiBFbnRyeVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudHJ5IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHN0YXJ0VGltZTogbnVtYmVyO1xyXG4gICAgZW5kVGltZTogbnVtYmVyO1xyXG4gICAgc3ViRW50cmllczogRW50cnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhdmVUcmFja2VyKHRyYWNrZXI6IFRyYWNrZXIsIGFwcDogQXBwLCBmaWxlTmFtZTogc3RyaW5nLCBzZWN0aW9uOiBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IGZpbGUgPSBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKGZpbGVOYW1lKSBhcyBURmlsZTtcclxuICAgIGlmICghZmlsZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICBsZXQgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKGZpbGUpO1xyXG5cclxuICAgIC8vIGZpZ3VyZSBvdXQgd2hhdCBwYXJ0IG9mIHRoZSBjb250ZW50IHdlIGhhdmUgdG8gZWRpdFxyXG4gICAgbGV0IGxpbmVzID0gY29udGVudC5zcGxpdChcIlxcblwiKTtcclxuICAgIGxldCBwcmV2ID0gbGluZXMuZmlsdGVyKChfLCBpKSA9PiBpIDw9IHNlY3Rpb24ubGluZVN0YXJ0KS5qb2luKFwiXFxuXCIpO1xyXG4gICAgbGV0IG5leHQgPSBsaW5lcy5maWx0ZXIoKF8sIGkpID0+IGkgPj0gc2VjdGlvbi5saW5lRW5kKS5qb2luKFwiXFxuXCIpO1xyXG4gICAgLy8gZWRpdCBvbmx5IHRoZSBjb2RlIGJsb2NrIGNvbnRlbnQsIGxlYXZlIHRoZSByZXN0IHVudG91Y2hlZFxyXG4gICAgY29udGVudCA9IGAke3ByZXZ9XFxuJHtKU09OLnN0cmluZ2lmeSh0cmFja2VyKX1cXG4ke25leHR9YDtcclxuXHJcbiAgICBhd2FpdCBhcHAudmF1bHQubW9kaWZ5KGZpbGUsIGNvbnRlbnQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFRyYWNrZXIoanNvbjogc3RyaW5nKTogVHJhY2tlciB7XHJcbiAgICBpZiAoanNvbikge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGpzb24pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYEZhaWxlZCB0byBwYXJzZSBUcmFja2VyIGZyb20gJHtqc29ufWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7ZW50cmllczogW119O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGlzcGxheVRyYWNrZXIodHJhY2tlcjogVHJhY2tlciwgZWxlbWVudDogSFRNTEVsZW1lbnQsIGZpbGU6IHN0cmluZywgZ2V0U2VjdGlvbkluZm86ICgpID0+IE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uLCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHZvaWQge1xyXG4gICAgLy8gYWRkIHN0YXJ0L3N0b3AgY29udHJvbHNcclxuICAgIGxldCBydW5uaW5nID0gaXNSdW5uaW5nKHRyYWNrZXIpO1xyXG4gICAgbGV0IGJ0biA9IG5ldyBCdXR0b25Db21wb25lbnQoZWxlbWVudClcclxuICAgICAgICAuc2V0Q2xhc3MoXCJjbGlja2FibGUtaWNvblwiKVxyXG4gICAgICAgIC5zZXRJY29uKGBsdWNpZGUtJHtydW5uaW5nID8gXCJzdG9wXCIgOiBcInBsYXlcIn0tY2lyY2xlYClcclxuICAgICAgICAuc2V0VG9vbHRpcChydW5uaW5nID8gXCJFbmRcIiA6IFwiU3RhcnRcIilcclxuICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChydW5uaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBlbmRSdW5uaW5nRW50cnkodHJhY2tlcik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydE5ld0VudHJ5KHRyYWNrZXIsIG5ld1NlZ21lbnROYW1lQm94LmdldFZhbHVlKCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGF3YWl0IHNhdmVUcmFja2VyKHRyYWNrZXIsIHRoaXMuYXBwLCBmaWxlLCBnZXRTZWN0aW9uSW5mbygpKTtcclxuICAgICAgICB9KTtcclxuICAgIGJ0bi5idXR0b25FbC5hZGRDbGFzcyhcInNpbXBsZS10aW1lLXRyYWNrZXItYnRuXCIpO1xyXG4gICAgbGV0IG5ld1NlZ21lbnROYW1lQm94ID0gbmV3IFRleHRDb21wb25lbnQoZWxlbWVudClcclxuICAgICAgICAuc2V0UGxhY2Vob2xkZXIoXCJTZWdtZW50IG5hbWVcIilcclxuICAgICAgICAuc2V0RGlzYWJsZWQocnVubmluZyk7XHJcbiAgICBuZXdTZWdtZW50TmFtZUJveC5pbnB1dEVsLmFkZENsYXNzKFwic2ltcGxlLXRpbWUtdHJhY2tlci10eHRcIik7XHJcblxyXG4gICAgLy8gYWRkIHRpbWVyc1xyXG4gICAgbGV0IHRpbWVyID0gZWxlbWVudC5jcmVhdGVEaXYoe2NsczogXCJzaW1wbGUtdGltZS10cmFja2VyLXRpbWVyc1wifSk7XHJcbiAgICBsZXQgY3VycmVudERpdiA9IHRpbWVyLmNyZWF0ZUVsKFwiZGl2XCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci10aW1lclwifSk7XHJcbiAgICBsZXQgY3VycmVudCA9IGN1cnJlbnREaXYuY3JlYXRlRWwoXCJzcGFuXCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci10aW1lci10aW1lXCJ9KTtcclxuICAgIGN1cnJlbnREaXYuY3JlYXRlRWwoXCJzcGFuXCIsIHt0ZXh0OiBcIkN1cnJlbnRcIn0pO1xyXG4gICAgbGV0IHRvdGFsRGl2ID0gdGltZXIuY3JlYXRlRWwoXCJkaXZcIiwge2NsczogXCJzaW1wbGUtdGltZS10cmFja2VyLXRpbWVyXCJ9KTtcclxuICAgIGxldCB0b3RhbCA9IHRvdGFsRGl2LmNyZWF0ZUVsKFwic3BhblwiLCB7Y2xzOiBcInNpbXBsZS10aW1lLXRyYWNrZXItdGltZXItdGltZVwiLCB0ZXh0OiBcIjBzXCJ9KTtcclxuICAgIHRvdGFsRGl2LmNyZWF0ZUVsKFwic3BhblwiLCB7dGV4dDogXCJUb3RhbFwifSk7XHJcblxyXG4gICAgaWYgKHRyYWNrZXIuZW50cmllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgLy8gYWRkIHRhYmxlXHJcbiAgICAgICAgbGV0IHRhYmxlID0gZWxlbWVudC5jcmVhdGVFbChcInRhYmxlXCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci10YWJsZVwifSk7XHJcbiAgICAgICAgdGFibGUuY3JlYXRlRWwoXCJ0clwiKS5hcHBlbmQoXHJcbiAgICAgICAgICAgIGNyZWF0ZUVsKFwidGhcIiwge3RleHQ6IFwiU2VnbWVudFwifSksXHJcbiAgICAgICAgICAgIGNyZWF0ZUVsKFwidGhcIiwge3RleHQ6IFwiU3RhcnQgdGltZVwifSksXHJcbiAgICAgICAgICAgIGNyZWF0ZUVsKFwidGhcIiwge3RleHQ6IFwiRW5kIHRpbWVcIn0pLFxyXG4gICAgICAgICAgICBjcmVhdGVFbChcInRoXCIsIHt0ZXh0OiBcIkR1cmF0aW9uXCJ9KSxcclxuICAgICAgICAgICAgY3JlYXRlRWwoXCJ0aFwiKSk7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGVudHJ5IG9mIHRyYWNrZXIuZW50cmllcylcclxuICAgICAgICAgICAgYWRkRWRpdGFibGVUYWJsZVJvdyh0cmFja2VyLCBlbnRyeSwgdGFibGUsIG5ld1NlZ21lbnROYW1lQm94LCBydW5uaW5nLCBmaWxlLCBnZXRTZWN0aW9uSW5mbywgc2V0dGluZ3MsIDApO1xyXG5cclxuICAgICAgICAvLyBhZGQgY29weSBidXR0b25zXHJcbiAgICAgICAgbGV0IGJ1dHRvbnMgPSBlbGVtZW50LmNyZWF0ZUVsKFwiZGl2XCIsIHtjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci1ib3R0b21cIn0pO1xyXG4gICAgICAgIG5ldyBCdXR0b25Db21wb25lbnQoYnV0dG9ucylcclxuICAgICAgICAgICAgLnNldEJ1dHRvblRleHQoXCJDb3B5IGFzIHRhYmxlXCIpXHJcbiAgICAgICAgICAgIC5vbkNsaWNrKCgpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNyZWF0ZU1hcmtkb3duVGFibGUodHJhY2tlciwgc2V0dGluZ3MpKSk7XHJcbiAgICAgICAgbmV3IEJ1dHRvbkNvbXBvbmVudChidXR0b25zKVxyXG4gICAgICAgICAgICAuc2V0QnV0dG9uVGV4dChcIkNvcHkgYXMgQ1NWXCIpXHJcbiAgICAgICAgICAgIC5vbkNsaWNrKCgpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNyZWF0ZUNzdih0cmFja2VyLCBzZXR0aW5ncykpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0Q291bnRkb3duVmFsdWVzKHRyYWNrZXIsIGN1cnJlbnQsIHRvdGFsLCBjdXJyZW50RGl2LCBzZXR0aW5ncyk7XHJcbiAgICBsZXQgaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgLy8gd2UgZGVsZXRlIHRoZSBpbnRlcnZhbCB0aW1lciB3aGVuIHRoZSBlbGVtZW50IGlzIHJlbW92ZWRcclxuICAgICAgICBpZiAoIWVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcclxuICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0Q291bnRkb3duVmFsdWVzKHRyYWNrZXIsIGN1cnJlbnQsIHRvdGFsLCBjdXJyZW50RGl2LCBzZXR0aW5ncyk7XHJcbiAgICB9LCAxMDAwKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc3RhcnRTdWJFbnRyeShlbnRyeTogRW50cnksIG5hbWU6IHN0cmluZykge1xyXG4gICAgLy8gaWYgdGhpcyBlbnRyeSBpcyBub3Qgc3BsaXQgeWV0LCB3ZSBhZGQgaXRzIHRpbWUgYXMgYSBzdWItZW50cnkgaW5zdGVhZFxyXG4gICAgaWYgKCFlbnRyeS5zdWJFbnRyaWVzKSB7XHJcbiAgICAgICAgZW50cnkuc3ViRW50cmllcyA9IFt7Li4uZW50cnksIG5hbWU6IGBQYXJ0IDFgfV07XHJcbiAgICAgICAgZW50cnkuc3RhcnRUaW1lID0gbnVsbDtcclxuICAgICAgICBlbnRyeS5lbmRUaW1lID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIW5hbWUpXHJcbiAgICAgICAgbmFtZSA9IGBQYXJ0ICR7ZW50cnkuc3ViRW50cmllcy5sZW5ndGggKyAxfWA7XHJcbiAgICBlbnRyeS5zdWJFbnRyaWVzLnB1c2goe25hbWU6IG5hbWUsIHN0YXJ0VGltZTogbW9tZW50KCkudW5peCgpLCBlbmRUaW1lOiBudWxsLCBzdWJFbnRyaWVzOiBudWxsfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHN0YXJ0TmV3RW50cnkodHJhY2tlcjogVHJhY2tlciwgbmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIW5hbWUpXHJcbiAgICAgICAgbmFtZSA9IGBTZWdtZW50ICR7dHJhY2tlci5lbnRyaWVzLmxlbmd0aCArIDF9YDtcclxuICAgIGxldCBlbnRyeTogRW50cnkgPSB7bmFtZTogbmFtZSwgc3RhcnRUaW1lOiBtb21lbnQoKS51bml4KCksIGVuZFRpbWU6IG51bGwsIHN1YkVudHJpZXM6IG51bGx9O1xyXG4gICAgdHJhY2tlci5lbnRyaWVzLnB1c2goZW50cnkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbmRSdW5uaW5nRW50cnkodHJhY2tlcjogVHJhY2tlcik6IHZvaWQge1xyXG4gICAgbGV0IGVudHJ5ID0gZ2V0UnVubmluZ0VudHJ5KHRyYWNrZXIuZW50cmllcyk7XHJcbiAgICBlbnRyeS5lbmRUaW1lID0gbW9tZW50KCkudW5peCgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiByZW1vdmVFbnRyeShlbnRyaWVzOiBFbnRyeVtdLCB0b1JlbW92ZTogRW50cnkpOiBib29sZWFuIHtcclxuICAgIGlmIChlbnRyaWVzLmNvbnRhaW5zKHRvUmVtb3ZlKSkge1xyXG4gICAgICAgIGVudHJpZXMucmVtb3ZlKHRvUmVtb3ZlKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykge1xyXG4gICAgICAgICAgICBpZiAoZW50cnkuc3ViRW50cmllcyAmJiByZW1vdmVFbnRyeShlbnRyeS5zdWJFbnRyaWVzLCB0b1JlbW92ZSkpIHtcclxuICAgICAgICAgICAgICAgIC8vIGlmIHdlIG9ubHkgaGF2ZSBvbmUgc3ViIGVudHJ5IHJlbWFpbmluZywgd2UgY2FuIG1lcmdlIGJhY2sgaW50byBvdXIgbWFpbiBlbnRyeVxyXG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnN1YkVudHJpZXMubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgc2luZ2xlID0gZW50cnkuc3ViRW50cmllc1swXTtcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5zdGFydFRpbWUgPSBzaW5nbGUuc3RhcnRUaW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5LmVuZFRpbWUgPSBzaW5nbGUuZW5kVGltZTtcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5zdWJFbnRyaWVzID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc1J1bm5pbmcodHJhY2tlcjogVHJhY2tlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhZ2V0UnVubmluZ0VudHJ5KHRyYWNrZXIuZW50cmllcyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFJ1bm5pbmdFbnRyeShlbnRyaWVzOiBFbnRyeVtdKTogRW50cnkge1xyXG4gICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykge1xyXG4gICAgICAgIC8vIGlmIHRoaXMgZW50cnkgaGFzIHN1YiBlbnRyaWVzLCBjaGVjayBpZiBvbmUgb2YgdGhlbSBpcyBydW5uaW5nXHJcbiAgICAgICAgaWYgKGVudHJ5LnN1YkVudHJpZXMpIHtcclxuICAgICAgICAgICAgbGV0IHJ1bm5pbmcgPSBnZXRSdW5uaW5nRW50cnkoZW50cnkuc3ViRW50cmllcyk7XHJcbiAgICAgICAgICAgIGlmIChydW5uaW5nKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJ1bm5pbmc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gaWYgdGhpcyBlbnRyeSBoYXMgbm8gc3ViIGVudHJpZXMgYW5kIG5vIGVuZCB0aW1lLCBpdCdzIHJ1bm5pbmdcclxuICAgICAgICAgICAgaWYgKCFlbnRyeS5lbmRUaW1lKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXREdXJhdGlvbihlbnRyeTogRW50cnkpIHtcclxuICAgIGlmIChlbnRyeS5zdWJFbnRyaWVzKSB7XHJcbiAgICAgICAgcmV0dXJuIGdldFRvdGFsRHVyYXRpb24oZW50cnkuc3ViRW50cmllcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gZW50cnkuZW5kVGltZSA/IG1vbWVudC51bml4KGVudHJ5LmVuZFRpbWUpIDogbW9tZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIGVuZFRpbWUuZGlmZihtb21lbnQudW5peChlbnRyeS5zdGFydFRpbWUpKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0VG90YWxEdXJhdGlvbihlbnRyaWVzOiBFbnRyeVtdKTogbnVtYmVyIHtcclxuICAgIGxldCByZXQgPSAwO1xyXG4gICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcylcclxuICAgICAgICByZXQgKz0gZ2V0RHVyYXRpb24oZW50cnkpO1xyXG4gICAgcmV0dXJuIHJldDtcclxufVxyXG5cclxuZnVuY3Rpb24gc2V0Q291bnRkb3duVmFsdWVzKHRyYWNrZXI6IFRyYWNrZXIsIGN1cnJlbnQ6IEhUTUxFbGVtZW50LCB0b3RhbDogSFRNTEVsZW1lbnQsIGN1cnJlbnREaXY6IEhUTUxEaXZFbGVtZW50LCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncykge1xyXG4gICAgbGV0IHJ1bm5pbmcgPSBnZXRSdW5uaW5nRW50cnkodHJhY2tlci5lbnRyaWVzKTtcclxuICAgIGlmIChydW5uaW5nICYmICFydW5uaW5nLmVuZFRpbWUpIHtcclxuICAgICAgICBjdXJyZW50LnNldFRleHQoZm9ybWF0RHVyYXRpb24oZ2V0RHVyYXRpb24ocnVubmluZyksIHNldHRpbmdzKSk7XHJcbiAgICAgICAgY3VycmVudERpdi5oaWRkZW4gPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY3VycmVudERpdi5oaWRkZW4gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdG90YWwuc2V0VGV4dChmb3JtYXREdXJhdGlvbihnZXRUb3RhbER1cmF0aW9uKHRyYWNrZXIuZW50cmllcyksIHNldHRpbmdzKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdFRpbWVzdGFtcCh0aW1lc3RhbXA6IG51bWJlciwgc2V0dGluZ3M6IFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1vbWVudC51bml4KHRpbWVzdGFtcCkuZm9ybWF0KHNldHRpbmdzLnRpbWVzdGFtcEZvcm1hdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKHRvdGFsVGltZTogbnVtYmVyLCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmV0ID0gXCJcIjtcclxuICAgIGxldCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbih0b3RhbFRpbWUpO1xyXG4gICAgbGV0IGhvdXJzOiBudW1iZXI7XHJcbiAgICBpZiAoc2V0dGluZ3MuZmluZUdyYWluZWREdXJhdGlvbnMpIHtcclxuICAgICAgICBpZiAoZHVyYXRpb24ueWVhcnMoKSA+IDApXHJcbiAgICAgICAgICAgIHJldCArPSBkdXJhdGlvbi55ZWFycygpICsgXCJ5IFwiO1xyXG4gICAgICAgIGlmIChkdXJhdGlvbi5tb250aHMoKSA+IDApXHJcbiAgICAgICAgICAgIHJldCArPSBkdXJhdGlvbi5tb250aHMoKSArIFwiTSBcIjtcclxuICAgICAgICBpZiAoZHVyYXRpb24uZGF5cygpID4gMClcclxuICAgICAgICAgICAgcmV0ICs9IGR1cmF0aW9uLmRheXMoKSArIFwiZCBcIjtcclxuICAgICAgICBob3VycyA9IGR1cmF0aW9uLmhvdXJzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGhvdXJzID0gTWF0aC5mbG9vcihkdXJhdGlvbi5hc0hvdXJzKCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGhvdXJzID4gMClcclxuICAgICAgICByZXQgKz0gaG91cnMgKyBcImggXCI7XHJcbiAgICBpZiAoZHVyYXRpb24ubWludXRlcygpID4gMClcclxuICAgICAgICByZXQgKz0gZHVyYXRpb24ubWludXRlcygpICsgXCJtIFwiO1xyXG4gICAgcmV0ICs9IGR1cmF0aW9uLnNlY29uZHMoKSArIFwic1wiO1xyXG4gICAgcmV0dXJuIHJldDtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlTWFya2Rvd25UYWJsZSh0cmFja2VyOiBUcmFja2VyLCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHN0cmluZyB7XHJcbiAgICBsZXQgdGFibGUgPSBbW1wiU2VnbWVudFwiLCBcIlN0YXJ0IHRpbWVcIiwgXCJFbmQgdGltZVwiLCBcIkR1cmF0aW9uXCJdXTtcclxuICAgIGZvciAobGV0IGVudHJ5IG9mIHRyYWNrZXIuZW50cmllcylcclxuICAgICAgICB0YWJsZS5wdXNoKC4uLmNyZWF0ZVRhYmxlU2VjdGlvbihlbnRyeSwgc2V0dGluZ3MpKTtcclxuICAgIHRhYmxlLnB1c2goW1wiKipUb3RhbCoqXCIsIFwiXCIsIFwiXCIsIGAqKiR7Zm9ybWF0RHVyYXRpb24oZ2V0VG90YWxEdXJhdGlvbih0cmFja2VyLmVudHJpZXMpLCBzZXR0aW5ncyl9KipgXSk7XHJcblxyXG4gICAgbGV0IHJldCA9IFwiXCI7XHJcbiAgICAvLyBjYWxjdWxhdGUgdGhlIHdpZHRoIGV2ZXJ5IGNvbHVtbiBuZWVkcyB0byBsb29rIG5lYXQgd2hlbiBtb25vc3BhY2VkXHJcbiAgICBsZXQgd2lkdGhzID0gQXJyYXkuZnJvbShBcnJheSg0KS5rZXlzKCkpLm1hcChpID0+IE1hdGgubWF4KC4uLnRhYmxlLm1hcChhID0+IGFbaV0ubGVuZ3RoKSkpO1xyXG4gICAgZm9yIChsZXQgciA9IDA7IHIgPCB0YWJsZS5sZW5ndGg7IHIrKykge1xyXG4gICAgICAgIC8vIGFkZCBzZXBhcmF0b3JzIGFmdGVyIGZpcnN0IHJvd1xyXG4gICAgICAgIGlmIChyID09IDEpXHJcbiAgICAgICAgICAgIHJldCArPSBcInwgXCIgKyBBcnJheS5mcm9tKEFycmF5KDQpLmtleXMoKSkubWFwKGkgPT4gXCItXCIucmVwZWF0KHdpZHRoc1tpXSkpLmpvaW4oXCIgfCBcIikgKyBcIiB8XFxuXCI7XHJcblxyXG4gICAgICAgIGxldCByb3c6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspXHJcbiAgICAgICAgICAgIHJvdy5wdXNoKHRhYmxlW3JdW2ldLnBhZEVuZCh3aWR0aHNbaV0sIFwiIFwiKSk7XHJcbiAgICAgICAgcmV0ICs9IFwifCBcIiArIHJvdy5qb2luKFwiIHwgXCIpICsgXCIgfFxcblwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldDtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlQ3N2KHRyYWNrZXI6IFRyYWNrZXIsIHNldHRpbmdzOiBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzKTogc3RyaW5nIHtcclxuICAgIGxldCByZXQgPSBcIlwiO1xyXG4gICAgZm9yIChsZXQgZW50cnkgb2YgdHJhY2tlci5lbnRyaWVzKSB7XHJcbiAgICAgICAgZm9yIChsZXQgcm93IG9mIGNyZWF0ZVRhYmxlU2VjdGlvbihlbnRyeSwgc2V0dGluZ3MpKVxyXG4gICAgICAgICAgICByZXQgKz0gcm93LmpvaW4oc2V0dGluZ3MuY3N2RGVsaW1pdGVyKSArIFwiXFxuXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVUYWJsZVNlY3Rpb24oZW50cnk6IEVudHJ5LCBzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyk6IHN0cmluZ1tdW10ge1xyXG4gICAgbGV0IHJldDogc3RyaW5nW11bXSA9IFtbXHJcbiAgICAgICAgZW50cnkubmFtZSxcclxuICAgICAgICBlbnRyeS5zdGFydFRpbWUgPyBmb3JtYXRUaW1lc3RhbXAoZW50cnkuc3RhcnRUaW1lLCBzZXR0aW5ncykgOiBcIlwiLFxyXG4gICAgICAgIGVudHJ5LmVuZFRpbWUgPyBmb3JtYXRUaW1lc3RhbXAoZW50cnkuZW5kVGltZSwgc2V0dGluZ3MpIDogXCJcIixcclxuICAgICAgICBlbnRyeS5lbmRUaW1lIHx8IGVudHJ5LnN1YkVudHJpZXMgPyBmb3JtYXREdXJhdGlvbihnZXREdXJhdGlvbihlbnRyeSksIHNldHRpbmdzKSA6IFwiXCJdXTtcclxuICAgIGlmIChlbnRyeS5zdWJFbnRyaWVzKSB7XHJcbiAgICAgICAgZm9yIChsZXQgc3ViIG9mIGVudHJ5LnN1YkVudHJpZXMpXHJcbiAgICAgICAgICAgIHJldC5wdXNoKC4uLmNyZWF0ZVRhYmxlU2VjdGlvbihzdWIsIHNldHRpbmdzKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBhZGRFZGl0YWJsZVRhYmxlUm93KHRyYWNrZXI6IFRyYWNrZXIsIGVudHJ5OiBFbnRyeSwgdGFibGU6IEhUTUxUYWJsZUVsZW1lbnQsIG5ld1NlZ21lbnROYW1lQm94OiBUZXh0Q29tcG9uZW50LCBydW5uaW5nOiBib29sZWFuLCBmaWxlOiBzdHJpbmcsIGdldFNlY3Rpb25JbmZvOiAoKSA9PiBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbiwgc2V0dGluZ3M6IFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3MsIGluZGVudDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcm93ID0gdGFibGUuY3JlYXRlRWwoXCJ0clwiKTtcclxuXHJcbiAgICBsZXQgbmFtZSA9IHJvdy5jcmVhdGVFbChcInRkXCIpO1xyXG4gICAgbGV0IG5hbWVQYXIgPSBuYW1lLmNyZWF0ZUVsKFwic3BhblwiLCB7dGV4dDogZW50cnkubmFtZX0pO1xyXG4gICAgbmFtZVBhci5zdHlsZS5tYXJnaW5MZWZ0ID0gYCR7aW5kZW50fWVtYDtcclxuICAgIGxldCBuYW1lQm94ID0gbmV3IFRleHRDb21wb25lbnQobmFtZSkuc2V0VmFsdWUoZW50cnkubmFtZSk7XHJcbiAgICBuYW1lQm94LmlucHV0RWwuaGlkZGVuID0gdHJ1ZTtcclxuXHJcbiAgICByb3cuY3JlYXRlRWwoXCJ0ZFwiLCB7dGV4dDogZW50cnkuc3RhcnRUaW1lID8gZm9ybWF0VGltZXN0YW1wKGVudHJ5LnN0YXJ0VGltZSwgc2V0dGluZ3MpIDogXCJcIn0pO1xyXG4gICAgcm93LmNyZWF0ZUVsKFwidGRcIiwge3RleHQ6IGVudHJ5LmVuZFRpbWUgPyBmb3JtYXRUaW1lc3RhbXAoZW50cnkuZW5kVGltZSwgc2V0dGluZ3MpIDogXCJcIn0pO1xyXG4gICAgcm93LmNyZWF0ZUVsKFwidGRcIiwge3RleHQ6IGVudHJ5LmVuZFRpbWUgfHwgZW50cnkuc3ViRW50cmllcyA/IGZvcm1hdER1cmF0aW9uKGdldER1cmF0aW9uKGVudHJ5KSwgc2V0dGluZ3MpIDogXCJcIn0pO1xyXG5cclxuICAgIGxldCBlbnRyeUJ1dHRvbnMgPSByb3cuY3JlYXRlRWwoXCJ0ZFwiKTtcclxuICAgIGlmICghcnVubmluZykge1xyXG4gICAgICAgIG5ldyBCdXR0b25Db21wb25lbnQoZW50cnlCdXR0b25zKVxyXG4gICAgICAgICAgICAuc2V0Q2xhc3MoXCJjbGlja2FibGUtaWNvblwiKVxyXG4gICAgICAgICAgICAuc2V0SWNvbihgbHVjaWRlLXBsYXlgKVxyXG4gICAgICAgICAgICAuc2V0VG9vbHRpcChcIkNvbnRpbnVlXCIpXHJcbiAgICAgICAgICAgIC5vbkNsaWNrKGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHN0YXJ0U3ViRW50cnkoZW50cnksIG5ld1NlZ21lbnROYW1lQm94LmdldFZhbHVlKCkpO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgc2F2ZVRyYWNrZXIodHJhY2tlciwgdGhpcy5hcHAsIGZpbGUsIGdldFNlY3Rpb25JbmZvKCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGxldCBlZGl0QnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudChlbnRyeUJ1dHRvbnMpXHJcbiAgICAgICAgLnNldENsYXNzKFwiY2xpY2thYmxlLWljb25cIilcclxuICAgICAgICAuc2V0VG9vbHRpcChcIkVkaXRcIilcclxuICAgICAgICAuc2V0SWNvbihcImx1Y2lkZS1wZW5jaWxcIilcclxuICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lUGFyLmhpZGRlbikge1xyXG4gICAgICAgICAgICAgICAgbmFtZVBhci5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIG5hbWVCb3guaW5wdXRFbC5oaWRkZW4gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZWRpdEJ1dHRvbi5zZXRJY29uKFwibHVjaWRlLXBlbmNpbFwiKTtcclxuICAgICAgICAgICAgICAgIGlmIChuYW1lQm94LmdldFZhbHVlKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBlbnRyeS5uYW1lID0gbmFtZUJveC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWVQYXIuc2V0VGV4dChlbnRyeS5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzYXZlVHJhY2tlcih0cmFja2VyLCB0aGlzLmFwcCwgZmlsZSwgZ2V0U2VjdGlvbkluZm8oKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBuYW1lUGFyLmhpZGRlbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBuYW1lQm94LmlucHV0RWwuaGlkZGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBuYW1lQm94LnNldFZhbHVlKGVudHJ5Lm5hbWUpO1xyXG4gICAgICAgICAgICAgICAgZWRpdEJ1dHRvbi5zZXRJY29uKFwibHVjaWRlLWNoZWNrXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICBuZXcgQnV0dG9uQ29tcG9uZW50KGVudHJ5QnV0dG9ucylcclxuICAgICAgICAuc2V0Q2xhc3MoXCJjbGlja2FibGUtaWNvblwiKVxyXG4gICAgICAgIC5zZXRUb29sdGlwKFwiUmVtb3ZlXCIpXHJcbiAgICAgICAgLnNldEljb24oXCJsdWNpZGUtdHJhc2hcIilcclxuICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIHJlbW92ZUVudHJ5KHRyYWNrZXIuZW50cmllcywgZW50cnkpO1xyXG4gICAgICAgICAgICBhd2FpdCBzYXZlVHJhY2tlcih0cmFja2VyLCB0aGlzLmFwcCwgZmlsZSwgZ2V0U2VjdGlvbkluZm8oKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgaWYgKGVudHJ5LnN1YkVudHJpZXMpIHtcclxuICAgICAgICBmb3IgKGxldCBzdWIgb2YgZW50cnkuc3ViRW50cmllcylcclxuICAgICAgICAgICAgYWRkRWRpdGFibGVUYWJsZVJvdyh0cmFja2VyLCBzdWIsIHRhYmxlLCBuZXdTZWdtZW50TmFtZUJveCwgcnVubmluZywgZmlsZSwgZ2V0U2VjdGlvbkluZm8sIHNldHRpbmdzLCBpbmRlbnQgKyAxKTtcclxuICAgIH1cclxufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQSx1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 diff --git a/test-vault/.obsidian/plugins/simple-time-tracker/manifest b/test-vault/.obsidian/plugins/simple-time-tracker/manifest index 0381859..ae0dedb 100644 --- a/test-vault/.obsidian/plugins/simple-time-tracker/manifest +++ b/test-vault/.obsidian/plugins/simple-time-tracker/manifest @@ -1,7 +1,7 @@ { "id": "simple-time-tracker", "name": "Super Simple Time Tracker", - "version": "0.1.6", + "version": "0.1.7", "minAppVersion": "1.2.8", "description": "Multi-purpose time trackers for your notes!", "author": "Ellpeck", diff --git a/test-vault/.obsidian/plugins/simple-time-tracker/manifest.json b/test-vault/.obsidian/plugins/simple-time-tracker/manifest.json index 0381859..ae0dedb 100644 --- a/test-vault/.obsidian/plugins/simple-time-tracker/manifest.json +++ b/test-vault/.obsidian/plugins/simple-time-tracker/manifest.json @@ -1,7 +1,7 @@ { "id": "simple-time-tracker", "name": "Super Simple Time Tracker", - "version": "0.1.6", + "version": "0.1.7", "minAppVersion": "1.2.8", "description": "Multi-purpose time trackers for your notes!", "author": "Ellpeck", diff --git a/versions.json b/versions.json index 142fb40..384fced 100644 --- a/versions.json +++ b/versions.json @@ -6,5 +6,6 @@ "0.1.3": "0.15.0", "0.1.4": "0.15.0", "0.1.5": "0.15.0", - "0.1.6": "0.15.0" + "0.1.6": "0.15.0", + "0.1.7": "1.2.8" }