@annalib/anna-core 18.1.0 → 18.1.1

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.
Files changed (23) hide show
  1. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
  2. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +11 -1
  3. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +2 -2
  4. package/esm2020/lib/anna-core.module.mjs +5 -10
  5. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +19 -7
  6. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +1 -1
  7. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +10 -42
  8. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +3 -3
  9. package/esm2020/public-api.mjs +1 -2
  10. package/fesm2015/annalib-anna-core.mjs +49 -83
  11. package/fesm2015/annalib-anna-core.mjs.map +1 -1
  12. package/fesm2020/annalib-anna-core.mjs +49 -82
  13. package/fesm2020/annalib-anna-core.mjs.map +1 -1
  14. package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +1 -1
  15. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +1 -0
  16. package/lib/anna-core.module.d.ts +11 -12
  17. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +5 -1
  18. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +1 -8
  19. package/package.json +1 -1
  20. package/public-api.d.ts +0 -1
  21. package/src/lib/anna-common-scss/_business-rule-common.scss +35 -0
  22. package/esm2020/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +0 -22
  23. package/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.d.ts +0 -8
@@ -8,4 +8,4 @@ export class ClickableItem {
8
8
  this.enableTooltipForAdditionalText = false;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRkEsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFBWSxxQkFBMEIsRUFBRSxJQUFZLEVBQUUsU0FBaUIsRUFBRSxXQUFvQixFQUFFLFdBQTJDO1FBQ3RJLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGFjdGlvbktleT86IHN0cmluZztcclxuICAgIHRvb2x0aXBLZXk/OiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkS2V5Pzogc3RyaW5nO1xyXG4gICAgdHlwZU9mSGVhZGVyRGF0YTogREFUQVRZUEU7XHJcbiAgICB0eXBlT2ZCb2R5RGF0YTogREFUQVRZUEU7XHJcbiAgICBmaWx0ZXI/OiBGSUxURVJUWVBFO1xyXG4gICAgZmlsdGVyU29ydE9iamVjdEtleXM/OiBzdHJpbmdbXTtcclxuICAgIGlzU29ydFJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgaXNGaWx0ZXJSZXF1aXJlZD86IGJvb2xlYW5bXTtcclxuICAgIHNob3dUb29sdGlwSWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVUb29sdGlwSWNvbj86IGJvb2xlYW47XHJcbiAgICB0b29sdGlwPzogSVRvb2x0aXA7XHJcbiAgICBqb2luZWRGaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZztcclxufVxyXG5cclxudHlwZSBEQVRBVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiSUNPTlwiIHwgXCJTVFJJTkdcIiB8IFwiUkFESU9cIiB8IFwiXCIgfCBcIlNWR19JQ09OXCIgfCBcIlRFWFRfQUNUSU9OU1wiIHwgXCJDTElDS0FCTEVfREFUQVwiIHwgXCJTVFJJTkdfX1RFWFRfQUNUSU9OXCJcclxuICAgIHwgXCJTVFJJTkdfX0lDT05fQUNUSU9OXCIgfCBcIlNUUklOR19fX0lDT05fT1JfVEVYVF9BQ1RJT05cIiB8IFwiSFRNTFwiIHwgXCJIVE1MX1NUUklOR1wiIHwgXCJJQ09OX0NFTExcIiB8IFwiU1RSSU5HX09SX0lOUFVUXCIgfCBcIlNJTkdMRV9SQURJT1wiO1xyXG50eXBlIEZJTFRFUlRZUEUgPSBcIkNIRUNLQk9YXCIgfCBcIlNMSURFUlwiIHwgXCJEQVRFXCIgfCBcIlRJTUVcIiB8IFwiV0VFS1wiO1xyXG50eXBlIFRPT0xUSVBPU0lUSU9OID0gXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbFJvd0luZm8ge1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbG93ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgY29sTmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPSBcIlNQT1RERVRBSUxTXCIgfCBcIkVYQ0xVREVJTlZFTlRPUllQT1BVUFwiIHwgXCJFWENMVURFSU5WRU5UT1JZXCIgfCBcIkRSUkxJU1RJTkdcIiB8IFwiRFJSXCIgfCBcIlwiIHwgXCJSQVRJTkdcIiB8IFwiT1JERVJfTElTVElOR19JTkZMSUdIVFwiIHwgXCJPUkRFUl9MSVNUSU5HX0NPTVBMRVRFRFwiIHwgXCJPUkRFUl9MSVNUSU5HX0JMQU5LXCIgfCBcIkxVUl9WSU9MQVRJT05TXCIgfCBcIkFDVElWSVRZTE9HXCIgfCBcIk5PVElGSUNBVElPTlNcIiB8IFwiRFBfUkVTVFJJQ1RJT05TXCI7XHJcbmludGVyZmFjZSBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGlzR3JvdXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXAge1xyXG4gICAgaWNvblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2Fib3ZlJyB8ICdiZWxvdycgfCAnYmVmb3JlJyB8ICdhZnRlcic7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcENsYXNzOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkRhdGEge1xyXG4gICAgZGF0YTogYW55O1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0QWN0aW9uIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzczogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlja2FibGVJdGVtIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfTtcclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q6IGFueSwgbmFtZTogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZywgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0pIHtcclxuICAgICAgICB0aGlzLmlkID0gdHlwZU9mQWN0aW9uTGlua0Zvckd0O1xyXG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5jbGFzcyA9IGNsYXNzTmFtZTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGlvbkl0ZW1UeXBlU1RSSU5HX19JQ09OX09SX1RFWFRfQUNUSU9OIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcblxyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkSWNvbjogYm9vbGVhbjtcclxuXHJcbiAgICBsaW5rQ2xhc3M6IHN0cmluZztcclxuICAgIHNob3dMaW5rOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRMaW5rOiBib29sZWFuO1xyXG5cclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG5cclxuICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXTtcclxuICAgIHRvb2x0aXBDbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBQbGFjZW1lbnQ/OiBzdHJpbmc7XHJcblxyXG4gICAgdHlwZU9mRGF0YTogJ1NUUklORycgfCAnSUNPTl9URVhUX0FDVElPTic7XHJcbiAgICBhZGRpdGlvbmFsVGV4dEJlZm9yZUxpbms6IHN0cmluZztcclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWNvblRvU2hvdyA9IFwiTElWRVwiIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFX0FDVElWRVwiIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFXCIgfCBcIlJFSkVDVEVEXCIgfCBcIk5PVElGWVwiIHwgXCJBV0FJVElOR19BUFBST1ZBTFwiIHwgXCJERUxFVEVEX09SREVSXCIgfCBcIk5FRURfU0VMTEVSX0NPTkZJUk1BVElPTlwiIHwgXCJORUVEX0JVWUVSX0NPTkZJUk1BVElPTlwiO1xyXG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRkEsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFBWSxxQkFBMEIsRUFBRSxJQUFZLEVBQUUsU0FBaUIsRUFBRSxXQUFvQixFQUFFLFdBQTJDO1FBQ3RJLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGFjdGlvbktleT86IHN0cmluZztcclxuICAgIHRvb2x0aXBLZXk/OiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkS2V5Pzogc3RyaW5nO1xyXG4gICAgdHlwZU9mSGVhZGVyRGF0YTogREFUQVRZUEU7XHJcbiAgICB0eXBlT2ZCb2R5RGF0YTogREFUQVRZUEU7XHJcbiAgICBmaWx0ZXI/OiBGSUxURVJUWVBFO1xyXG4gICAgZmlsdGVyU29ydE9iamVjdEtleXM/OiBzdHJpbmdbXTtcclxuICAgIGlzU29ydFJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgaXNGaWx0ZXJSZXF1aXJlZD86IGJvb2xlYW5bXTtcclxuICAgIHNob3dUb29sdGlwSWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVUb29sdGlwSWNvbj86IGJvb2xlYW47XHJcbiAgICB0b29sdGlwPzogSVRvb2x0aXA7XHJcbiAgICBqb2luZWRGaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZztcclxufVxyXG5cclxudHlwZSBEQVRBVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiSUNPTlwiIHwgXCJTVFJJTkdcIiB8IFwiUkFESU9cIiB8IFwiXCIgfCBcIlNWR19JQ09OXCIgfCBcIlRFWFRfQUNUSU9OU1wiIHwgXCJDTElDS0FCTEVfREFUQVwiIHwgXCJTVFJJTkdfX1RFWFRfQUNUSU9OXCJcclxuICAgIHwgXCJTVFJJTkdfX0lDT05fQUNUSU9OXCIgfCBcIlNUUklOR19fX0lDT05fT1JfVEVYVF9BQ1RJT05cIiB8IFwiSFRNTFwiIHwgXCJIVE1MX1NUUklOR1wiIHwgXCJJQ09OX0NFTExcIiB8IFwiU1RSSU5HX09SX0lOUFVUXCIgfCBcIlNJTkdMRV9SQURJT1wiO1xyXG50eXBlIEZJTFRFUlRZUEUgPSBcIkNIRUNLQk9YXCIgfCBcIlNMSURFUlwiIHwgXCJEQVRFXCIgfCBcIlRJTUVcIiB8IFwiV0VFS1wiO1xyXG50eXBlIFRPT0xUSVBPU0lUSU9OID0gXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbFJvd0luZm8ge1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbG93ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgY29sTmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPSBcIlNQT1RERVRBSUxTXCIgfCBcIkVYQ0xVREVJTlZFTlRPUllQT1BVUFwiIHwgXCJFWENMVURFSU5WRU5UT1JZXCIgfCBcIkRSUkxJU1RJTkdcIiB8IFwiRFJSXCIgfCBcIlwiIHwgXCJSQVRJTkdcIiB8IFwiT1JERVJfTElTVElOR19JTkZMSUdIVFwiIHwgXCJPUkRFUl9MSVNUSU5HX0NPTVBMRVRFRFwiIHwgXCJPUkRFUl9MSVNUSU5HX0JMQU5LXCIgfCBcIkxVUl9WSU9MQVRJT05TXCIgfCBcIkFDVElWSVRZTE9HXCIgfCBcIk5PVElGSUNBVElPTlNcIjtcclxuaW50ZXJmYWNlIElTcG90VGFibGVDb25maWcge1xyXG4gICAgaXNHcm91cGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcCB7XHJcbiAgICBpY29uUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAnYWJvdmUnIHwgJ2JlbG93JyB8ICdiZWZvcmUnIHwgJ2FmdGVyJztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGF0YSB7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBY3Rpb24ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIENsaWNrYWJsZUl0ZW0ge1xyXG4gICAgaWQ6IGFueTtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBjbGFzczogc3RyaW5nO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwRGF0YTogeyBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9O1xyXG4gICAgZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0OiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHR5cGVPZkFjdGlvbkxpbmtGb3JHdDogYW55LCBuYW1lOiBzdHJpbmcsIGNsYXNzTmFtZTogc3RyaW5nLCBzaG93VG9vbHRpcDogYm9vbGVhbiwgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfSkge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmNsYXNzID0gY2xhc3NOYW1lO1xyXG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAgPSBzaG93VG9vbHRpcDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBEYXRhID0gdG9vbHRpcERhdGE7XHJcbiAgICAgICAgdGhpcy5lbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uSXRlbVR5cGVTVFJJTkdfX0lDT05fT1JfVEVYVF9BQ1RJT04ge1xyXG4gICAgaWQ6IGFueTtcclxuICAgIGRhdGE6IHN0cmluZztcclxuXHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHNob3dJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRJY29uOiBib29sZWFuO1xyXG5cclxuICAgIGxpbmtDbGFzczogc3RyaW5nO1xyXG4gICAgc2hvd0xpbms6IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZExpbms6IGJvb2xlYW47XHJcblxyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcblxyXG4gICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdO1xyXG4gICAgdG9vbHRpcENsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBsYWNlbWVudD86IHN0cmluZztcclxuXHJcbiAgICB0eXBlT2ZEYXRhOiAnU1RSSU5HJyB8ICdJQ09OX1RFWFRfQUNUSU9OJztcclxuICAgIGFkZGl0aW9uYWxUZXh0QmVmb3JlTGluazogc3RyaW5nO1xyXG4gICAgZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJY29uVG9TaG93ID0gXCJMSVZFXCIgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCIgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VcIiB8IFwiUkVKRUNURURcIiB8IFwiTk9USUZZXCIgfCBcIkFXQUlUSU5HX0FQUFJPVkFMXCIgfCBcIkRFTEVURURfT1JERVJcIiB8IFwiTkVFRF9TRUxMRVJfQ09ORklSTUFUSU9OXCIgfCBcIk5FRURfQlVZRVJfQ09ORklSTUFUSU9OXCI7XHJcbiJdfQ==
@@ -2,9 +2,11 @@
2
2
  import { Injectable } from '@angular/core';
3
3
  // Third party import statements
4
4
  import dayjs from "dayjs";
5
+ import customParseFormat from "dayjs/plugin/customParseFormat";
5
6
  import * as i0 from "@angular/core";
6
7
  export class AnnaDateTimeFormatService {
7
8
  constructor() {
9
+ dayjs.extend(customParseFormat);
8
10
  }
9
11
  convertToNgbDateStandardFormat(date) {
10
12
  return {
@@ -186,6 +188,14 @@ export class AnnaDateTimeFormatService {
186
188
  let result = a.isBefore(b) ? -1 : a.isAfter(b) ? 1 : 0;
187
189
  return result;
188
190
  }
191
+ convertNgbDateToMomentInSpecificFormat(ngbDate, format) {
192
+ let converted = null;
193
+ if (ngbDate && ngbDate.month && ngbDate.day && ngbDate.year) {
194
+ converted = ngbDate.month + "/" + ngbDate.day + "/" + ngbDate.year;
195
+ converted = dayjs(converted).format(format);
196
+ }
197
+ return converted;
198
+ }
189
199
  }
190
200
  AnnaDateTimeFormatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnaDateTimeFormatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
191
201
  AnnaDateTimeFormatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnaDateTimeFormatService, providedIn: 'root' });
@@ -195,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
195
205
  providedIn: 'root'
196
206
  }]
197
207
  }], ctorParameters: function () { return []; } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxnQ0FBZ0M7QUFDaEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQVExQixNQUFNLE9BQU8seUJBQXlCO0lBRXBDO0lBQ0EsQ0FBQztJQUVELDhCQUE4QixDQUFDLElBQVM7UUFDdEMsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JELENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBUyxFQUFFLFdBQWdCO1FBQzFDLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckQsR0FBRyxFQUFFLFFBQVEs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QUssQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFdkMsSUFBSSxzQkFBc0IsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTlELENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7dUhBMU1VLHlCQUF5QjsySEFBekIseUJBQXlCLGNBRnhCLE1BQU07NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzIFxyXG5leHBvcnQgdHlwZSBOZ2JEYXRlVHlwZSA9IHsgeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlciB9O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvTmdiRGF0ZVN0YW5kYXJkRm9ybWF0KGRhdGU6IGFueSk6IE5nYkRhdGVUeXBlIHwgTmdiRGF0ZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB5ZWFyOiBwYXJzZUludChkYXlqcyhkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiWVlZWVwiKSksXHJcbiAgICAgIG1vbnRoOiBwYXJzZUludChkYXlqcyhkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiTVwiKSksXHJcbiAgICAgIGRheTogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIkRcIikpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb05nYkRhdGUoZGF0ZTogYW55LCBwYXJzZUZvcm1hdDogYW55KTogTmdiRGF0ZVR5cGUgfCBOZ2JEYXRlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHllYXI6IHBhcnNlSW50KGRheWpzKGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJZWVlZXCIpKSxcclxuICAgICAgbW9udGg6IHBhcnNlSW50KGRheWpzKGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJNXCIpKSxcclxuICAgICAgZGF5OiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiRFwiKSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRUb1R3ZWx2ZUhycyh0aW1lOiBhbnksIGNhbGxSZW1vdmVaZXJvOiBib29sZWFuKSB7XHJcbiAgICBpZiAodGltZS5lbmRzV2l0aCgnQScpIHx8IHRpbWUuZW5kc1dpdGgoJ1AnKSkge1xyXG4gICAgICB0aW1lID0gdGltZS5zdWJzdHJpbmcoMCwgdGltZS5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuICAgIGxldCB0bXAgPSB0aW1lLnNwbGl0KFwiOlwiKTtcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICBpZiAoK3RtcFswXSA+IDEyKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSAtIDEyKS50b1N0cmluZygpO1xyXG4gICAgICBpZiAoK3RtcFswXSA9PSAyNCkgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgICAgZWxzZSBmb3JtYXR0ZWRUaW1lWzJdID0gXCJQTVwiO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIxMlwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSB0bXBbMF07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIlBNXCI7XHJcbiAgICB9IGVsc2UgaWYgKHRtcFswXSA9PSBcIjAwXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMTJcIlxyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzJdID0gXCJBTVwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgIH1cclxuICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0bXBbMV07XHJcbiAgICBpZiAoY2FsbFJlbW92ZVplcm8pIGZvcm1hdHRlZFRpbWUgPSBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnJlbW92ZVplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb3R3ZW50eUZvdXJIcnNGb3JtYXQodGltZTogYW55LCBjYWxsQWRkWmVybzogYW55KSB7XHJcbiAgICBsZXQgdG1wID0gdGltZS5zcGxpdCgvWyA6XSsvKTtcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICBpZiAodG1wWzBdICE9IFwiMTJcIiAmJiB0bXBbMl0gPT0gXCJQTVwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSArIDEyKS50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIxMlwiICYmIHRtcFsyXSA9PSBcIkFNXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMDBcIjtcclxuICAgIH0gZWxzZSBmb3JtYXR0ZWRUaW1lWzBdID0gdG1wWzBdLnRvU3RyaW5nKCk7XHJcbiAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdG1wWzFdLnRvU3RyaW5nKCk7XHJcbiAgICBpZiAoY2FsbEFkZFplcm8pIGZvcm1hdHRlZFRpbWUgPSB0aGlzLmFkZFplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlWmVybyh0aW1lOiBhbnkpIHtcclxuICAgIGxldCByZW1vdmVkWmVybztcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgIGlmIChcclxuICAgICAgdGltZVswXSA9PSBcIjAxXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjAyXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjAzXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA0XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA1XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA2XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA3XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA4XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA5XCJcclxuICAgICkge1xyXG4gICAgICByZW1vdmVkWmVybyA9IHRpbWVbMF0udG9TdHJpbmcoKTtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHJlbW92ZWRaZXJvLmNoYXJBdCgxKTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRpbWVbMV07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSB0aW1lWzJdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICBhZGRaZXJvKHRpbWU6IGFueSkge1xyXG4gICAgbGV0IGFkZGVkWmVybztcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgIGlmICh0aW1lWzFdID09IFwiMFwiKSB0aW1lWzFdID0gXCIwXCIgKyB0aW1lWzFdO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aW1lWzBdID09IFwiMFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIxXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjJcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiM1wiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI0XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjVcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiNlwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI3XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjhcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiOVwiXHJcbiAgICApIHtcclxuICAgICAgYWRkZWRaZXJvID0gXCIwXCIgKyB0aW1lWzBdO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gYWRkZWRaZXJvO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdGltZVsxXTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gIH1cclxuXHJcbiAgc29ydEJ5VGltZUFzY2VuZGluZyhhOiBhbnksIGI6IGFueSkge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwiTU0vREQvWVlZWSBISDptbTpzc1wiO1xyXG4gICAgYSA9IGRheWpzKCcwMS8wMS8yMDAxICcgKyBhLCBmb3JtYXQpO1xyXG4gICAgYiA9IGRheWpzKCcwMS8wMS8yMDAxICcgKyBiLCBmb3JtYXQpO1xyXG5cclxuICAgIGxldCByZXN1bHRzO1xyXG5cclxuICAgIHJlc3VsdHMgPSBhLmdldCgnaG91cicpID4gYi5nZXQoJ2hvdXInKSA/IDEgOiBhLmdldCgnaG91cicpIDwgYi5nZXQoJ2hvdXInKSA/IC0xIDogMDtcclxuXHJcbiAgICBpZiAocmVzdWx0cyA9PT0gMCkgcmVzdWx0cyA9IGEuZ2V0KCdtaW51dGUnKSA+IGIuZ2V0KCdtaW51dGUnKSA/IDEgOiBhLmdldCgnbWludXRlJykgPCBiLmdldCgnbWludXRlJykgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLmdldCgnc2Vjb25kJykgPiBiLmdldCgnc2Vjb25kJykgPyAxIDogYS5nZXQoJ3NlY29uZCcpIDwgYi5nZXQoJ3NlY29uZCcpID8gLTEgOiAwO1xyXG5cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgc29ydEJ5VGltZURlc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgIGxldCBmb3JtYXQgPSBcIk1NL0REL1lZWVkgSEg6bW06c3NcIjtcclxuICAgIGEgPSBkYXlqcygnMDEvMDEvMjAwMSAnICsgYSwgZm9ybWF0KTtcclxuICAgIGIgPSBkYXlqcygnMDEvMDEvMjAwMSAnICsgYiwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgcmVzdWx0cztcclxuXHJcbiAgICByZXN1bHRzID0gYS5nZXQoJ2hvdXInKSA8IGIuZ2V0KCdob3VyJykgPyAxIDogYS5nZXQoJ2hvdXInKSA+IGIuZ2V0KCdob3VyJykgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLmdldCgnbWludXRlJykgPCBiLmdldCgnbWludXRlJykgPyAxIDogYS5nZXQoJ21pbnV0ZScpID4gYi5nZXQoJ21pbnV0ZScpID8gLTEgOiAwO1xyXG5cclxuICAgIGlmIChyZXN1bHRzID09PSAwKSByZXN1bHRzID0gYS5nZXQoJ3NlY29uZCcpIDwgYi5nZXQoJ3NlY29uZCcpID8gMSA6IGEuZ2V0KCdzZWNvbmQnKSA+IGIuZ2V0KCdzZWNvbmQnKSA/IC0xIDogMDtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG4gIGNvbnZlcnROZ2JEYXRlVG9Nb21lbnQobmdiRGF0ZTogTmdiRGF0ZSB8IE5nYkRhdGVUeXBlKTogc3RyaW5nIHtcclxuICAgIGxldCBmb3JtYXRUeXBlID0gXCJNTS9ERC9ZWVlZXCI7XHJcbiAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgIGlmIChuZ2JEYXRlICYmIG5nYkRhdGUubW9udGggJiYgbmdiRGF0ZS5kYXkgJiYgbmdiRGF0ZS55ZWFyKSB7XHJcbiAgICAgIGNvbnZlcnRlZCA9IG5nYkRhdGUubW9udGggKyBcIi9cIiArIG5nYkRhdGUuZGF5ICsgXCIvXCIgKyBuZ2JEYXRlLnllYXI7XHJcbiAgICAgIGNvbnZlcnRlZCA9IGRheWpzKGNvbnZlcnRlZCkuZm9ybWF0KGZvcm1hdFR5cGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICB9XHJcblxyXG4gIGNvbXBhcmVEYXRlKGE6IHN0cmluZywgYjogc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIGlzQXNjID8gZGF5anMoYSkuZGlmZihiKSA6IGRheWpzKGIpLmRpZmYoYSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZW50eUZvdXJIb3VyVGltZVRvSEhNTUFGb3JtYXQodmFsdWU6IGFueSwgZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB2YWx1ZSA9IGRheWpzKGRhdGUgPyBkYXRlIDogJzAxLzAxLzIwMDAgJyArIHZhbHVlKS5mb3JtYXQoXCJNTS9ERC9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgcmV0dXJuIHZhbHVlWzE0XSA9PSBcIjBcIiAmJiB2YWx1ZVsxNV0gPT0gXCIwXCJcclxuICAgICAgPyBkYXlqcyh2YWx1ZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaEFcIikuc2xpY2UoMCwgLTEpXHJcbiAgICAgIDogZGF5anModmFsdWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImg6bW1BXCIpLnNsaWNlKDAsIC0xKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0VHdlbHZlSG91clRpbWVUb0hITU1BRm9ybWF0KHRpbWVWYWx1ZTogYW55LCBkYXRlPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHRpbWVWYWx1ZSA9IGRheWpzKGRhdGUgPyBkYXRlIDogJzAxLzAxLzIwMDAgJyArIHRpbWVWYWx1ZSkuZm9ybWF0KFwiTU0vREQvWVlZWSBISDptbTpzc1wiKTtcclxuICAgIC8vIGNoZWNrIGlmIG1pbj09MDBcclxuICAgIHJldHVybiB0aW1lVmFsdWVbMTRdID09IFwiMFwiICYmIHRpbWVWYWx1ZVsxNV0gPT0gXCIwXCJcclxuICAgICAgPyBkYXlqcyh0aW1lVmFsdWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImhBXCIpLnNsaWNlKDAsIC0xKVxyXG4gICAgICA6IGRheWpzKHRpbWVWYWx1ZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaDptbUFcIikuc2xpY2UoMCwgLTEpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoZGF0ZUFuZFRpbWU6IGFueSkge1xyXG4gICAgbGV0IHN0YW5kYXJkRm9ybWF0LCBkYXRlLCB0aW1lO1xyXG4gICAgaWYgKGRhdGVBbmRUaW1lLmluY2x1ZGVzKFwifFwiKSkge1xyXG4gICAgICBkYXRlID0gZGF0ZUFuZFRpbWUuc2xpY2UoMCwgZGF0ZUFuZFRpbWUuaW5kZXhPZihcInxcIikpO1xyXG4gICAgICB0aW1lID0gZGF0ZUFuZFRpbWUuc2xpY2UoZGF0ZUFuZFRpbWUuaW5kZXhPZignfCcpICsgMSwgZGF0ZUFuZFRpbWUubGVuZ3RoKS50cmltKCk7XHJcblxyXG4gICAgICB0aW1lID0gdGltZS5zbGljZSgwLCAyKSArIFwiOlwiICsgdGltZS5zbGljZSgyLCA0KSArIFwiIFwiICsgdGltZS5zbGljZSg0LCA1KTtcclxuICAgICAgdGltZSA9IHRpbWUgKyBcIk1cIjtcclxuICAgICAgc3RhbmRhcmRGb3JtYXQgPSBkYXRlICsgdGltZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzdGFuZGFyZEZvcm1hdCA9IGRhdGVBbmRUaW1lICsgXCIgMDA6MDAgQU1cIlxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRheWpzKHN0YW5kYXJkRm9ybWF0KS5mb3JtYXQoXCJNTS9ERC9ZWVlZIGhoOm1tIEFcIik7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlKGE6IG51bWJlciB8IHN0cmluZywgYjogbnVtYmVyIHwgc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgaWYgKHR5cGVvZiBhID09ICdzdHJpbmcnICYmIHR5cGVvZiBiID09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGEgPSBhID09IFwiLVwiID8gXCIwXCIgOiBhLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGIgPSBiID09IFwiLVwiID8gXCIwXCIgOiBiLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XHJcbiAgfVxyXG5cclxuICBzb3J0RGF0YUJ5QnJvYWRjYXN0VGltZUFzYyhmaXJzdFBhcmFtVGltZTogc3RyaW5nLCBzZWNvbmRQYXJhbVRpbWU6IHN0cmluZywgYnJvYWRjYXN0VGltZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZm9ybWF0ID0gXCJISDptbTpzc1wiO1xyXG5cclxuICAgIGxldCBhID0gZGF5anMoZmlyc3RQYXJhbVRpbWUsIGZvcm1hdCk7XHJcbiAgICBsZXQgYiA9IGRheWpzKHNlY29uZFBhcmFtVGltZSwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgYnJvYWRjYXN0ZGF5anNEYXRlVGltZSA9IGRheWpzKGJyb2FkY2FzdFRpbWUsIFwiSEg6bW06c3NcIik7XHJcblxyXG4gICAgYSA9IGEuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBhLmFkZCgxLCBcImRcIikgOiBhO1xyXG4gICAgYiA9IGIuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBiLmFkZCgxLCBcImRcIikgOiBiO1xyXG5cclxuICAgIGxldCByZXN1bHQgPSBhLmlzQmVmb3JlKGIpID8gLTEgOiBhLmlzQWZ0ZXIoYikgPyAxIDogMDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxnQ0FBZ0M7QUFDaEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUM7O0FBUS9ELE1BQU0sT0FBTyx5QkFBeUI7SUFFcEM7UUFDRSxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELDhCQUE4QixDQUFDLElBQVM7UUFDdEMsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JELENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBUyxFQUFFLFdBQWdCO1FBQzFDLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELEtBQUssRUFBRSxRQUFRLENBQUMsS0FB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Q0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0M7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzt1SEF0TlUseUJBQXlCOzJIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBjdXN0b21QYXJzZUZvcm1hdCBmcm9tIFwiZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0XCI7XHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHMgXHJcbmV4cG9ydCB0eXBlIE5nYkRhdGVUeXBlID0geyB5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRheTogbnVtYmVyIH07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBkYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvTmdiRGF0ZVN0YW5kYXJkRm9ybWF0KGRhdGU6IGFueSk6IE5nYkRhdGVUeXBlIHwgTmdiRGF0ZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB5ZWFyOiBwYXJzZUludChkYXlqcyhkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiWVlZWVwiKSksXHJcbiAgICAgIG1vbnRoOiBwYXJzZUludChkYXlqcyhkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiTVwiKSksXHJcbiAgICAgIGRheTogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIkRcIikpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb05nYkRhdGUoZGF0ZTogYW55LCBwYXJzZUZvcm1hdDogYW55KTogTmdiRGF0ZVR5cGUgfCBOZ2JEYXRlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHllYXI6IHBhcnNlSW50KGRheWpzKGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJZWVlZXCIpKSxcclxuICAgICAgbW9udGg6IHBhcnNlSW50KGRheWpzKGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJNXCIpKSxcclxuICAgICAgZGF5OiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiRFwiKSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRUb1R3ZWx2ZUhycyh0aW1lOiBhbnksIGNhbGxSZW1vdmVaZXJvOiBib29sZWFuKSB7XHJcbiAgICBpZiAodGltZS5lbmRzV2l0aCgnQScpIHx8IHRpbWUuZW5kc1dpdGgoJ1AnKSkge1xyXG4gICAgICB0aW1lID0gdGltZS5zdWJzdHJpbmcoMCwgdGltZS5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuICAgIGxldCB0bXAgPSB0aW1lLnNwbGl0KFwiOlwiKTtcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICBpZiAoK3RtcFswXSA+IDEyKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSAtIDEyKS50b1N0cmluZygpO1xyXG4gICAgICBpZiAoK3RtcFswXSA9PSAyNCkgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgICAgZWxzZSBmb3JtYXR0ZWRUaW1lWzJdID0gXCJQTVwiO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIxMlwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSB0bXBbMF07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIlBNXCI7XHJcbiAgICB9IGVsc2UgaWYgKHRtcFswXSA9PSBcIjAwXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMTJcIlxyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzJdID0gXCJBTVwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgIH1cclxuICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0bXBbMV07XHJcbiAgICBpZiAoY2FsbFJlbW92ZVplcm8pIGZvcm1hdHRlZFRpbWUgPSBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnJlbW92ZVplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb3R3ZW50eUZvdXJIcnNGb3JtYXQodGltZTogYW55LCBjYWxsQWRkWmVybzogYW55KSB7XHJcbiAgICBsZXQgdG1wID0gdGltZS5zcGxpdCgvWyA6XSsvKTtcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICBpZiAodG1wWzBdICE9IFwiMTJcIiAmJiB0bXBbMl0gPT0gXCJQTVwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSArIDEyKS50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIxMlwiICYmIHRtcFsyXSA9PSBcIkFNXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMDBcIjtcclxuICAgIH0gZWxzZSBmb3JtYXR0ZWRUaW1lWzBdID0gdG1wWzBdLnRvU3RyaW5nKCk7XHJcbiAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdG1wWzFdLnRvU3RyaW5nKCk7XHJcbiAgICBpZiAoY2FsbEFkZFplcm8pIGZvcm1hdHRlZFRpbWUgPSB0aGlzLmFkZFplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlWmVybyh0aW1lOiBhbnkpIHtcclxuICAgIGxldCByZW1vdmVkWmVybztcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgIGlmIChcclxuICAgICAgdGltZVswXSA9PSBcIjAxXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjAyXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjAzXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA0XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA1XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA2XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA3XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA4XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjA5XCJcclxuICAgICkge1xyXG4gICAgICByZW1vdmVkWmVybyA9IHRpbWVbMF0udG9TdHJpbmcoKTtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHJlbW92ZWRaZXJvLmNoYXJBdCgxKTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRpbWVbMV07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSB0aW1lWzJdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICBhZGRaZXJvKHRpbWU6IGFueSkge1xyXG4gICAgbGV0IGFkZGVkWmVybztcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgIGlmICh0aW1lWzFdID09IFwiMFwiKSB0aW1lWzFdID0gXCIwXCIgKyB0aW1lWzFdO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aW1lWzBdID09IFwiMFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIxXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjJcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiM1wiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI0XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjVcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiNlwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI3XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjhcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiOVwiXHJcbiAgICApIHtcclxuICAgICAgYWRkZWRaZXJvID0gXCIwXCIgKyB0aW1lWzBdO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gYWRkZWRaZXJvO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdGltZVsxXTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gIH1cclxuXHJcbiAgc29ydEJ5VGltZUFzY2VuZGluZyhhOiBhbnksIGI6IGFueSkge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwiTU0vREQvWVlZWSBISDptbTpzc1wiO1xyXG4gICAgYSA9IGRheWpzKCcwMS8wMS8yMDAxICcgKyBhLCBmb3JtYXQpO1xyXG4gICAgYiA9IGRheWpzKCcwMS8wMS8yMDAxICcgKyBiLCBmb3JtYXQpO1xyXG5cclxuICAgIGxldCByZXN1bHRzO1xyXG5cclxuICAgIHJlc3VsdHMgPSBhLmdldCgnaG91cicpID4gYi5nZXQoJ2hvdXInKSA/IDEgOiBhLmdldCgnaG91cicpIDwgYi5nZXQoJ2hvdXInKSA/IC0xIDogMDtcclxuXHJcbiAgICBpZiAocmVzdWx0cyA9PT0gMCkgcmVzdWx0cyA9IGEuZ2V0KCdtaW51dGUnKSA+IGIuZ2V0KCdtaW51dGUnKSA/IDEgOiBhLmdldCgnbWludXRlJykgPCBiLmdldCgnbWludXRlJykgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLmdldCgnc2Vjb25kJykgPiBiLmdldCgnc2Vjb25kJykgPyAxIDogYS5nZXQoJ3NlY29uZCcpIDwgYi5nZXQoJ3NlY29uZCcpID8gLTEgOiAwO1xyXG5cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgc29ydEJ5VGltZURlc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgIGxldCBmb3JtYXQgPSBcIk1NL0REL1lZWVkgSEg6bW06c3NcIjtcclxuICAgIGEgPSBkYXlqcygnMDEvMDEvMjAwMSAnICsgYSwgZm9ybWF0KTtcclxuICAgIGIgPSBkYXlqcygnMDEvMDEvMjAwMSAnICsgYiwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgcmVzdWx0cztcclxuXHJcbiAgICByZXN1bHRzID0gYS5nZXQoJ2hvdXInKSA8IGIuZ2V0KCdob3VyJykgPyAxIDogYS5nZXQoJ2hvdXInKSA+IGIuZ2V0KCdob3VyJykgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLmdldCgnbWludXRlJykgPCBiLmdldCgnbWludXRlJykgPyAxIDogYS5nZXQoJ21pbnV0ZScpID4gYi5nZXQoJ21pbnV0ZScpID8gLTEgOiAwO1xyXG5cclxuICAgIGlmIChyZXN1bHRzID09PSAwKSByZXN1bHRzID0gYS5nZXQoJ3NlY29uZCcpIDwgYi5nZXQoJ3NlY29uZCcpID8gMSA6IGEuZ2V0KCdzZWNvbmQnKSA+IGIuZ2V0KCdzZWNvbmQnKSA/IC0xIDogMDtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG4gIGNvbnZlcnROZ2JEYXRlVG9Nb21lbnQobmdiRGF0ZTogTmdiRGF0ZSB8IE5nYkRhdGVUeXBlKTogc3RyaW5nIHtcclxuICAgIGxldCBmb3JtYXRUeXBlID0gXCJNTS9ERC9ZWVlZXCI7XHJcbiAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgIGlmIChuZ2JEYXRlICYmIG5nYkRhdGUubW9udGggJiYgbmdiRGF0ZS5kYXkgJiYgbmdiRGF0ZS55ZWFyKSB7XHJcbiAgICAgIGNvbnZlcnRlZCA9IG5nYkRhdGUubW9udGggKyBcIi9cIiArIG5nYkRhdGUuZGF5ICsgXCIvXCIgKyBuZ2JEYXRlLnllYXI7XHJcbiAgICAgIGNvbnZlcnRlZCA9IGRheWpzKGNvbnZlcnRlZCkuZm9ybWF0KGZvcm1hdFR5cGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICB9XHJcblxyXG4gIGNvbXBhcmVEYXRlKGE6IHN0cmluZywgYjogc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIGlzQXNjID8gZGF5anMoYSkuZGlmZihiKSA6IGRheWpzKGIpLmRpZmYoYSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZW50eUZvdXJIb3VyVGltZVRvSEhNTUFGb3JtYXQodmFsdWU6IGFueSwgZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB2YWx1ZSA9IGRheWpzKGRhdGUgPyBkYXRlIDogJzAxLzAxLzIwMDAgJyArIHZhbHVlKS5mb3JtYXQoXCJNTS9ERC9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgcmV0dXJuIHZhbHVlWzE0XSA9PSBcIjBcIiAmJiB2YWx1ZVsxNV0gPT0gXCIwXCJcclxuICAgICAgPyBkYXlqcyh2YWx1ZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaEFcIikuc2xpY2UoMCwgLTEpXHJcbiAgICAgIDogZGF5anModmFsdWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImg6bW1BXCIpLnNsaWNlKDAsIC0xKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0VHdlbHZlSG91clRpbWVUb0hITU1BRm9ybWF0KHRpbWVWYWx1ZTogYW55LCBkYXRlPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHRpbWVWYWx1ZSA9IGRheWpzKGRhdGUgPyBkYXRlIDogJzAxLzAxLzIwMDAgJyArIHRpbWVWYWx1ZSkuZm9ybWF0KFwiTU0vREQvWVlZWSBISDptbTpzc1wiKTtcclxuICAgIC8vIGNoZWNrIGlmIG1pbj09MDBcclxuICAgIHJldHVybiB0aW1lVmFsdWVbMTRdID09IFwiMFwiICYmIHRpbWVWYWx1ZVsxNV0gPT0gXCIwXCJcclxuICAgICAgPyBkYXlqcyh0aW1lVmFsdWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImhBXCIpLnNsaWNlKDAsIC0xKVxyXG4gICAgICA6IGRheWpzKHRpbWVWYWx1ZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaDptbUFcIikuc2xpY2UoMCwgLTEpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoZGF0ZUFuZFRpbWU6IGFueSkge1xyXG4gICAgbGV0IHN0YW5kYXJkRm9ybWF0LCBkYXRlLCB0aW1lO1xyXG4gICAgaWYgKGRhdGVBbmRUaW1lLmluY2x1ZGVzKFwifFwiKSkge1xyXG4gICAgICBkYXRlID0gZGF0ZUFuZFRpbWUuc2xpY2UoMCwgZGF0ZUFuZFRpbWUuaW5kZXhPZihcInxcIikpO1xyXG4gICAgICB0aW1lID0gZGF0ZUFuZFRpbWUuc2xpY2UoZGF0ZUFuZFRpbWUuaW5kZXhPZignfCcpICsgMSwgZGF0ZUFuZFRpbWUubGVuZ3RoKS50cmltKCk7XHJcblxyXG4gICAgICB0aW1lID0gdGltZS5zbGljZSgwLCAyKSArIFwiOlwiICsgdGltZS5zbGljZSgyLCA0KSArIFwiIFwiICsgdGltZS5zbGljZSg0LCA1KTtcclxuICAgICAgdGltZSA9IHRpbWUgKyBcIk1cIjtcclxuICAgICAgc3RhbmRhcmRGb3JtYXQgPSBkYXRlICsgdGltZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzdGFuZGFyZEZvcm1hdCA9IGRhdGVBbmRUaW1lICsgXCIgMDA6MDAgQU1cIlxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRheWpzKHN0YW5kYXJkRm9ybWF0KS5mb3JtYXQoXCJNTS9ERC9ZWVlZIGhoOm1tIEFcIik7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlKGE6IG51bWJlciB8IHN0cmluZywgYjogbnVtYmVyIHwgc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgaWYgKHR5cGVvZiBhID09ICdzdHJpbmcnICYmIHR5cGVvZiBiID09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGEgPSBhID09IFwiLVwiID8gXCIwXCIgOiBhLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGIgPSBiID09IFwiLVwiID8gXCIwXCIgOiBiLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XHJcbiAgfVxyXG5cclxuICBzb3J0RGF0YUJ5QnJvYWRjYXN0VGltZUFzYyhmaXJzdFBhcmFtVGltZTogc3RyaW5nLCBzZWNvbmRQYXJhbVRpbWU6IHN0cmluZywgYnJvYWRjYXN0VGltZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZm9ybWF0ID0gXCJISDptbTpzc1wiO1xyXG5cclxuICAgIGxldCBhID0gZGF5anMoZmlyc3RQYXJhbVRpbWUsIGZvcm1hdCk7XHJcbiAgICBsZXQgYiA9IGRheWpzKHNlY29uZFBhcmFtVGltZSwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgYnJvYWRjYXN0ZGF5anNEYXRlVGltZSA9IGRheWpzKGJyb2FkY2FzdFRpbWUsIFwiSEg6bW06c3NcIik7XHJcblxyXG4gICAgYSA9IGEuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBhLmFkZCgxLCBcImRcIikgOiBhO1xyXG4gICAgYiA9IGIuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBiLmFkZCgxLCBcImRcIikgOiBiO1xyXG5cclxuICAgIGxldCByZXN1bHQgPSBhLmlzQmVmb3JlKGIpID8gLTEgOiBhLmlzQWZ0ZXIoYikgPyAxIDogMDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50SW5TcGVjaWZpY0Zvcm1hdChuZ2JEYXRlOiBOZ2JEYXRlVHlwZSwgZm9ybWF0OiBzdHJpbmcpe1xyXG4gICAgbGV0IGNvbnZlcnRlZCA9IG51bGw7XHJcbiAgICBcclxuICAgIGlmIChuZ2JEYXRlICYmIG5nYkRhdGUubW9udGggJiYgbmdiRGF0ZS5kYXkgJiYgbmdiRGF0ZS55ZWFyKSB7XHJcbiAgICAgICAgY29udmVydGVkID0gbmdiRGF0ZS5tb250aCArIFwiL1wiICsgbmdiRGF0ZS5kYXkgKyBcIi9cIiArIG5nYkRhdGUueWVhcjtcclxuICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChmb3JtYXQpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZXR1cm4gY29udmVydGVkO1xyXG4gIH1cclxuXHJcbn1cclxuIl19