@annalib/anna-core 3.5.0 → 3.6.0

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 (22) hide show
  1. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +26 -0
  2. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +20 -5
  3. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +25 -0
  4. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +16 -0
  5. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +7 -1
  6. package/esm2020/lib/anna-core.module.mjs +15 -1
  7. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +8 -6
  8. package/esm2020/public-api.mjs +4 -1
  9. package/fesm2015/annalib-anna-core.mjs +104 -11
  10. package/fesm2015/annalib-anna-core.mjs.map +1 -1
  11. package/fesm2020/annalib-anna-core.mjs +104 -11
  12. package/fesm2020/annalib-anna-core.mjs.map +1 -1
  13. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -0
  14. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -0
  15. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -0
  16. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +1 -0
  17. package/lib/anna-core.module.d.ts +27 -25
  18. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +2 -1
  19. package/package.json +1 -1
  20. package/public-api.d.ts +3 -0
  21. package/src/lib/anna-common-scss/_mixins.scss +172 -171
  22. package/src/lib/anna-common-scss/_application-spacing.scss +0 -6
@@ -0,0 +1,26 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { memoize } from "lodash-es";
3
+ import * as i0 from "@angular/core";
4
+ export class AnnaConvertZeroOrNullOrUndefinedPipe {
5
+ constructor() {
6
+ this.transformer = memoize(this.replace, (...args) => this.replace(args[0], args[1]));
7
+ }
8
+ transform(value, convertTo) {
9
+ return this.transformer(value, convertTo);
10
+ }
11
+ replace(value, convertTo) {
12
+ if (value === "undefined" || value === null || value === "" || Number(value) === 0) {
13
+ return convertTo;
14
+ }
15
+ return value;
16
+ }
17
+ }
18
+ AnnaConvertZeroOrNullOrUndefinedPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaConvertZeroOrNullOrUndefinedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
+ AnnaConvertZeroOrNullOrUndefinedPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaConvertZeroOrNullOrUndefinedPipe, name: "AnnaConvertZeroOrNullOrUndefined" });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaConvertZeroOrNullOrUndefinedPipe, decorators: [{
21
+ type: Pipe,
22
+ args: [{
23
+ name: "AnnaConvertZeroOrNullOrUndefined",
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLcEMsTUFBTSxPQUFPLG9DQUFvQztJQUhqRDtRQUlJLGdCQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQVlwRjtJQVZHLFNBQVMsQ0FBQyxLQUFTLEVBQUUsU0FBYTtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBUyxFQUFFLFNBQWE7UUFDNUIsSUFBSSxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hGLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7aUlBWlEsb0NBQW9DOytIQUFwQyxvQ0FBb0M7MkZBQXBDLG9DQUFvQztrQkFIaEQsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsa0NBQWtDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJBbm5hQ29udmVydFplcm9Pck51bGxPclVuZGVmaW5lZFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm1lciA9IG1lbW9pemUodGhpcy5yZXBsYWNlLCAoLi4uYXJncykgPT4gdGhpcy5yZXBsYWNlKGFyZ3NbMF0sIGFyZ3NbMV0pKTtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6YW55LCBjb252ZXJ0VG86YW55KTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1lcih2YWx1ZSwgY29udmVydFRvKTtcclxuICAgIH1cclxuXHJcbiAgICByZXBsYWNlKHZhbHVlOmFueSwgY29udmVydFRvOmFueSk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSBcInVuZGVmaW5lZFwiIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSBcIlwiIHx8IE51bWJlcih2YWx1ZSkgPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRUbztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -14,10 +14,25 @@ export class AnnaFilterSearchedTextPipe {
14
14
  if (!searchText)
15
15
  return items;
16
16
  searchText = searchText.toString().toLowerCase();
17
- //if keyName is undefined every key will be considered for filtering.
18
- if (!keyName)
19
- return items.filter((item) => Object.values(item).filter((n) => n.toString().toLowerCase().includes(searchText)).length > 0);
20
- return items.filter((item) => item[keyName].toString().toLowerCase().startsWith(searchText));
17
+ // if keyName is an array then loop through all the keynames
18
+ if (typeof (keyName) == 'object') {
19
+ let isFoundAtleastOnce = false;
20
+ let isFound;
21
+ for (const key of keyName) {
22
+ isFound = items.filter((item) => item[key].toString().toLowerCase().includes(searchText));
23
+ if (isFound.length) {
24
+ isFoundAtleastOnce = true;
25
+ break;
26
+ }
27
+ }
28
+ return isFoundAtleastOnce ? isFound : [];
29
+ }
30
+ else {
31
+ //if keyName is undefined every key will be considered for filtering.
32
+ if (!keyName)
33
+ return items.filter((item) => Object.values(item).filter((n) => n ? n.toString().toLowerCase().includes(searchText) : false).length > 0);
34
+ return items.filter((item) => item[keyName].toString().toLowerCase().startsWith(searchText));
35
+ }
21
36
  }
22
37
  }
23
38
  AnnaFilterSearchedTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaFilterSearchedTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -28,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
28
43
  name: "AnnafilterSearchedText",
29
44
  }]
30
45
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3BDLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFJSSxlQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FrQjFGO0lBaEJHLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBZSxFQUFFLE9BQWE7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxPQUFhO1FBQ2xELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM5QixVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpELHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsT0FBTztZQUNSLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDZixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUMxRyxDQUFDO1FBQ04sT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQzs7dUhBbEJRLDBCQUEwQjtxSEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHdCQUF3QjtpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgbWVtb2l6ZSB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiQW5uYWZpbHRlclNlYXJjaGVkVGV4dFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIGNhbGxGaWx0ZXIgPSBtZW1vaXplKHRoaXMuZmlsdGVyLCAoLi4uYXJncykgPT4gdGhpcy5maWx0ZXIoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpO1xyXG5cclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIHNlYXJjaFRleHQ6IGFueSwga2V5TmFtZT86IGFueSk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsRmlsdGVyKGl0ZW1zLCBzZWFyY2hUZXh0LCBrZXlOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXIoaXRlbXM6IGFueVtdLCBzZWFyY2hUZXh0OiBzdHJpbmcsIGtleU5hbWU/OiBhbnkpOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKCFpdGVtcykgcmV0dXJuIFtdO1xyXG4gICAgICAgIGlmICghc2VhcmNoVGV4dCkgcmV0dXJuIGl0ZW1zO1xyXG4gICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgICAgLy9pZiBrZXlOYW1lIGlzIHVuZGVmaW5lZCBldmVyeSBrZXkgd2lsbCBiZSBjb25zaWRlcmVkIGZvciBmaWx0ZXJpbmcuXHJcbiAgICAgICAgaWYgKCFrZXlOYW1lKVxyXG4gICAgICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgKGl0ZW0pID0+IE9iamVjdC52YWx1ZXMoaXRlbSkuZmlsdGVyKChuKSA9PiBuLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0KSkubGVuZ3RoID4gMFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW1ba2V5TmFtZV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoc2VhcmNoVGV4dCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3BDLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFJSSxlQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FtQzFGO0lBakNHLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBZSxFQUFFLE9BQWE7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxPQUFhO1FBQ2xELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM5QixVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBR2pELDREQUE0RDtRQUM1RCxJQUFHLE9BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLEVBQUM7WUFDN0IsSUFBSSxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxPQUFhLENBQUM7WUFFbEIsS0FBSSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUM7Z0JBQ3ZCLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFGLElBQUcsT0FBTyxDQUFDLE1BQU0sRUFBQztvQkFDaEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO29CQUMxQixNQUFNO2lCQUNQO2FBQ0Y7WUFDRCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUMxQzthQUNJO1lBQ0wscUVBQXFFO1lBQ25FLElBQUksQ0FBQyxPQUFPO2dCQUNWLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDakIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ2xILENBQUM7WUFDTixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUM5RjtJQUNMLENBQUM7O3VIQW5DUSwwQkFBMEI7cUhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSx3QkFBd0I7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcIkFubmFmaWx0ZXJTZWFyY2hlZFRleHRcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICBjYWxsRmlsdGVyID0gbWVtb2l6ZSh0aGlzLmZpbHRlciwgKC4uLmFyZ3MpID0+IHRoaXMuZmlsdGVyKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pKTtcclxuXHJcbiAgICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBzZWFyY2hUZXh0OiBhbnksIGtleU5hbWU/OiBhbnkpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEZpbHRlcihpdGVtcywgc2VhcmNoVGV4dCwga2V5TmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZmlsdGVyKGl0ZW1zOiBhbnlbXSwgc2VhcmNoVGV4dDogc3RyaW5nLCBrZXlOYW1lPzogYW55KTogYW55W10ge1xyXG4gICAgICAgIGlmICghaXRlbXMpIHJldHVybiBbXTtcclxuICAgICAgICBpZiAoIXNlYXJjaFRleHQpIHJldHVybiBpdGVtcztcclxuICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XHJcblxyXG5cclxuICAgICAgICAvLyBpZiBrZXlOYW1lIGlzIGFuIGFycmF5IHRoZW4gbG9vcCB0aHJvdWdoIGFsbCB0aGUga2V5bmFtZXNcclxuICAgICAgICBpZih0eXBlb2Yoa2V5TmFtZSkgPT0gJ29iamVjdCcpe1xyXG4gICAgICAgICAgbGV0IGlzRm91bmRBdGxlYXN0T25jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgbGV0IGlzRm91bmQ6YW55W107XHJcblxyXG4gICAgICAgICAgZm9yKGNvbnN0IGtleSBvZiBrZXlOYW1lKXtcclxuICAgICAgICAgICAgaXNGb3VuZCA9IGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbVtrZXldLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0KSk7XHJcbiAgICAgICAgICAgIGlmKGlzRm91bmQubGVuZ3RoKXtcclxuICAgICAgICAgICAgICBpc0ZvdW5kQXRsZWFzdE9uY2UgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gaXNGb3VuZEF0bGVhc3RPbmNlID8gaXNGb3VuZCA6IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAvL2lmIGtleU5hbWUgaXMgdW5kZWZpbmVkIGV2ZXJ5IGtleSB3aWxsIGJlIGNvbnNpZGVyZWQgZm9yIGZpbHRlcmluZy5cclxuICAgICAgICAgIGlmICgha2V5TmFtZSlcclxuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihcclxuICAgICAgICAgICAgICAoaXRlbSkgPT4gT2JqZWN0LnZhbHVlcyhpdGVtKS5maWx0ZXIoKG4pID0+IG4gPyBuLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0KSA6IGZhbHNlKS5sZW5ndGggPiAwXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW1ba2V5TmFtZV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoc2VhcmNoVGV4dCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { memoize } from "lodash-es";
3
+ import * as i0 from "@angular/core";
4
+ export class AnnaReplaceCharPipe {
5
+ constructor() {
6
+ this.converter = memoize(this.replace, (...args) => this.replace(args[0], args[1], args[2]));
7
+ }
8
+ transform(value, charToBeReplaced, replaceBy) {
9
+ if (value !== undefined || value != null) {
10
+ return this.converter(value, charToBeReplaced, replaceBy);
11
+ }
12
+ }
13
+ replace(value, from, to) {
14
+ return value.replace(new RegExp(from, "g"), to);
15
+ }
16
+ }
17
+ AnnaReplaceCharPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaReplaceCharPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
+ AnnaReplaceCharPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaReplaceCharPipe, name: "annaReplaceChar" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaReplaceCharPipe, decorators: [{
20
+ type: Pipe,
21
+ args: [{
22
+ name: "annaReplaceChar",
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYVJlcGxhY2VDaGFyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hUmVwbGFjZUNoYXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUtwQyxNQUFNLE9BQU8sbUJBQW1CO0lBSGhDO1FBSUksY0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBVzNGO0lBVEcsU0FBUyxDQUFDLEtBQWEsRUFBRSxnQkFBd0IsRUFBRSxTQUFpQjtRQUNoRSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzdEO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLEVBQVU7UUFDM0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDOztnSEFYUSxtQkFBbUI7OEdBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUgvQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxpQkFBaUI7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImFubmFSZXBsYWNlQ2hhclwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVJlcGxhY2VDaGFyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgY29udmVydGVyID0gbWVtb2l6ZSh0aGlzLnJlcGxhY2UsICguLi5hcmdzKSA9PiB0aGlzLnJlcGxhY2UoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpO1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBjaGFyVG9CZVJlcGxhY2VkOiBzdHJpbmcsIHJlcGxhY2VCeTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCB8fCB2YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRlcih2YWx1ZSwgY2hhclRvQmVSZXBsYWNlZCwgcmVwbGFjZUJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVwbGFjZSh2YWx1ZTogc3RyaW5nLCBmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoZnJvbSwgXCJnXCIpLCB0byk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AnnaTypeofDataPipe {
4
+ transform(value) {
5
+ return typeof value;
6
+ }
7
+ }
8
+ AnnaTypeofDataPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaTypeofDataPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ AnnaTypeofDataPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaTypeofDataPipe, name: "AnnatypeofData" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaTypeofDataPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'AnnatypeofData'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYVR5cGVPZkRhdGEucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFUeXBlT2ZEYXRhLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsU0FBUyxDQUFDLEtBQVU7UUFDbEIsT0FBTyxPQUFPLEtBQUssQ0FBQztJQUN0QixDQUFDOzsrR0FKVSxrQkFBa0I7NkdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnQW5uYXR5cGVvZkRhdGEnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hVHlwZW9mRGF0YVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZTtcclxuICB9XHJcblxyXG59Il19
@@ -141,6 +141,12 @@ export class AnnaDateTimeFormatService {
141
141
  compareDate(a, b, isAsc) {
142
142
  return isAsc ? moment(a).diff(b) : moment(b).diff(a);
143
143
  }
144
+ static formatTwentyFourHourTimeToHHMMAFormat(value) {
145
+ value = moment(value, ["HH:mm:ss"]).format("HH:mm:ss");
146
+ return value[3] == "0" && value[4] == "0"
147
+ ? moment(value, ["HH:mm:ss"]).format("hA").slice(0, -1)
148
+ : moment(value, ["HH:mm:ss"]).format("h:mmA").slice(0, -1);
149
+ }
144
150
  formatDateAndHHMMATimeToStandardFormat(dateAndTime) {
145
151
  let standardFormat, date, time;
146
152
  if (dateAndTime.includes("|")) {
@@ -181,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
181
187
  providedIn: 'root'
182
188
  }]
183
189
  }], ctorParameters: function () { return []; } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxnQ0FBZ0M7QUFDaEMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOztBQVE1QixNQUFNLE9BQU8seUJBQXlCO0lBRXBDO1FBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUFTO1FBQ3RDLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkQsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVMsRUFBRSxXQUFnQjtRQUMxQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RCxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsTUFB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QjswSEFBekIseUJBQXlCLGNBRnhCLE1BQU07MkZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHMgXHJcbmV4cG9ydCB0eXBlIE5nYkRhdGVUeXBlID0geyB5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRheTogbnVtYmVyIH07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Ugc2VydmljZSBjcmVhdGVkLlwiKVxyXG4gIH1cclxuXHJcbiAgY29udmVydFRvTmdiRGF0ZVN0YW5kYXJkRm9ybWF0KGRhdGU6IGFueSk6IE5nYkRhdGVUeXBlIHwgTmdiRGF0ZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB5ZWFyOiBwYXJzZUludChtb21lbnQoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIllZWVlcIikpLFxyXG4gICAgICBtb250aDogcGFyc2VJbnQobW9tZW50KGRhdGUsIFwiTU0vREQvWVlZWVwiKS5mb3JtYXQoXCJNXCIpKSxcclxuICAgICAgZGF5OiBwYXJzZUludChtb21lbnQoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIkRcIikpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb05nYkRhdGUoZGF0ZTogYW55LCBwYXJzZUZvcm1hdDogYW55KTogTmdiRGF0ZVR5cGUgfCBOZ2JEYXRlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHllYXI6IHBhcnNlSW50KG1vbWVudChkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiWVlZWVwiKSksXHJcbiAgICAgIG1vbnRoOiBwYXJzZUludChtb21lbnQoZGF0ZSwgcGFyc2VGb3JtYXQpLmZvcm1hdChcIk1cIikpLFxyXG4gICAgICBkYXk6IHBhcnNlSW50KG1vbWVudChkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiRFwiKSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0VG9Ud2VsdmVIcnModGltZTogYW55LCBjYWxsUmVtb3ZlWmVybzogYm9vbGVhbikge1xyXG4gICAgaWYgKHRpbWUuZW5kc1dpdGgoJ0EnKSB8fCB0aW1lLmVuZHNXaXRoKCdQJykpIHtcclxuICAgICAgdGltZSA9IHRpbWUuc3Vic3RyaW5nKDAsIHRpbWUubGVuZ3RoIC0gMSk7XHJcbiAgICB9XHJcbiAgICBsZXQgdG1wID0gdGltZS5zcGxpdChcIjpcIik7XHJcbiAgICBsZXQgZm9ybWF0dGVkVGltZSA9IFtdO1xyXG4gICAgaWYgKCt0bXBbMF0gPiAxMikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gKCt0bXBbMF0gLSAxMikudG9TdHJpbmcoKTtcclxuICAgICAgaWYgKCt0bXBbMF0gPT0gMjQpIGZvcm1hdHRlZFRpbWVbMl0gPSBcIkFNXCI7XHJcbiAgICAgIGVsc2UgZm9ybWF0dGVkVGltZVsyXSA9IFwiUE1cIjtcclxuICAgIH0gZWxzZSBpZiAodG1wWzBdID09IFwiMTJcIikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gdG1wWzBdO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzJdID0gXCJQTVwiO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIwMFwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBcIjEyXCJcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSB0bXBbMF07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIkFNXCI7XHJcbiAgICB9XHJcbiAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdG1wWzFdO1xyXG4gICAgaWYgKGNhbGxSZW1vdmVaZXJvKSBmb3JtYXR0ZWRUaW1lID0gdGhpcy5yZW1vdmVaZXJvKGZvcm1hdHRlZFRpbWUpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG90d2VudHlGb3VySHJzRm9ybWF0KHRpbWU6IGFueSwgY2FsbEFkZFplcm86IGFueSkge1xyXG4gICAgbGV0IHRtcCA9IHRpbWUuc3BsaXQoL1sgOl0rLyk7XHJcbiAgICBsZXQgZm9ybWF0dGVkVGltZSA9IFtdO1xyXG4gICAgaWYgKHRtcFswXSAhPSBcIjEyXCIgJiYgdG1wWzJdID09IFwiUE1cIikge1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gKCt0bXBbMF0gKyAxMikudG9TdHJpbmcoKTtcclxuICAgIH0gZWxzZSBpZiAodG1wWzBdID09IFwiMTJcIiAmJiB0bXBbMl0gPT0gXCJBTVwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBcIjAwXCI7XHJcbiAgICB9IGVsc2UgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXS50b1N0cmluZygpO1xyXG4gICAgZm9ybWF0dGVkVGltZVsxXSA9IHRtcFsxXS50b1N0cmluZygpO1xyXG4gICAgaWYgKGNhbGxBZGRaZXJvKSBmb3JtYXR0ZWRUaW1lID0gdGhpcy5hZGRaZXJvKGZvcm1hdHRlZFRpbWUpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICByZW1vdmVaZXJvKHRpbWU6IGFueSkge1xyXG4gICAgbGV0IHJlbW92ZWRaZXJvO1xyXG4gICAgbGV0IGZvcm1hdHRlZFRpbWUgPSB0aW1lO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aW1lWzBdID09IFwiMDFcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDJcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDNcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDRcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDVcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDZcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDdcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDhcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMDlcIlxyXG4gICAgKSB7XHJcbiAgICAgIHJlbW92ZWRaZXJvID0gdGltZVswXS50b1N0cmluZygpO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gcmVtb3ZlZFplcm8uY2hhckF0KDEpO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdGltZVsxXTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IHRpbWVbMl07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIGFkZFplcm8odGltZTogYW55KSB7XHJcbiAgICBsZXQgYWRkZWRaZXJvO1xyXG4gICAgbGV0IGZvcm1hdHRlZFRpbWUgPSB0aW1lO1xyXG4gICAgaWYgKHRpbWVbMV0gPT0gXCIwXCIpIHRpbWVbMV0gPSBcIjBcIiArIHRpbWVbMV07XHJcbiAgICBpZiAoXHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjFcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMlwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIzXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjRcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiNVwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI2XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjdcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiOFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI5XCJcclxuICAgICkge1xyXG4gICAgICBhZGRlZFplcm8gPSBcIjBcIiArIHRpbWVbMF07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBhZGRlZFplcm87XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0aW1lWzFdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxuICBzb3J0QnlUaW1lQXNjZW5kaW5nKGE6IGFueSwgYjogYW55KSB7XHJcbiAgICBsZXQgZm9ybWF0ID0gXCJISDptbTpzc1wiO1xyXG4gICAgYSA9IG1vbWVudChhLCBmb3JtYXQpO1xyXG4gICAgYiA9IG1vbWVudChiLCBmb3JtYXQpO1xyXG5cclxuICAgIGxldCByZXN1bHRzO1xyXG5cclxuICAgIHJlc3VsdHMgPSBhLmhvdXJzKCkgPiBiLmhvdXJzKCkgPyAxIDogYS5ob3VycygpIDwgYi5ob3VycygpID8gLTEgOiAwO1xyXG5cclxuICAgIGlmIChyZXN1bHRzID09PSAwKSByZXN1bHRzID0gYS5taW51dGVzKCkgPiBiLm1pbnV0ZXMoKSA/IDEgOiBhLm1pbnV0ZXMoKSA8IGIubWludXRlcygpID8gLTEgOiAwO1xyXG5cclxuICAgIGlmIChyZXN1bHRzID09PSAwKSByZXN1bHRzID0gYS5zZWNvbmRzKCkgPiBiLnNlY29uZHMoKSA/IDEgOiBhLnNlY29uZHMoKSA8IGIuc2Vjb25kcygpID8gLTEgOiAwO1xyXG5cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgc29ydEJ5VGltZURlc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgIGxldCBmb3JtYXQgPSBcIkhIOm1tOnNzXCI7XHJcbiAgICBhID0gbW9tZW50KGEsIGZvcm1hdCk7XHJcbiAgICBiID0gbW9tZW50KGIsIGZvcm1hdCk7XHJcblxyXG4gICAgbGV0IHJlc3VsdHM7XHJcblxyXG4gICAgcmVzdWx0cyA9IGEuaG91cnMoKSA8IGIuaG91cnMoKSA/IDEgOiBhLmhvdXJzKCkgPiBiLmhvdXJzKCkgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLm1pbnV0ZXMoKSA8IGIubWludXRlcygpID8gMSA6IGEubWludXRlcygpID4gYi5taW51dGVzKCkgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLnNlY29uZHMoKSA8IGIuc2Vjb25kcygpID8gMSA6IGEuc2Vjb25kcygpID4gYi5zZWNvbmRzKCkgPyAtMSA6IDA7XHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG4gIGNvbnZlcnROZ2JEYXRlVG9Nb21lbnQobmdiRGF0ZTogTmdiRGF0ZSB8IE5nYkRhdGVUeXBlKTogc3RyaW5nIHtcclxuICAgIGxldCBjb252ZXJ0ZWQgPSBtb21lbnQoKTtcclxuICAgIGNvbnZlcnRlZC5tb250aChuZ2JEYXRlLm1vbnRoIC0gMSk7XHJcbiAgICBjb252ZXJ0ZWQuZGF0ZShuZ2JEYXRlLmRheSk7XHJcbiAgICBjb252ZXJ0ZWQueWVhcihuZ2JEYXRlLnllYXIpO1xyXG4gICAgcmV0dXJuIGNvbnZlcnRlZC5mb3JtYXQoXCJNTS9ERC9ZWVlZXCIpO1xyXG4gIH1cclxuXHJcbiAgY29tcGFyZURhdGUoYTogc3RyaW5nLCBiOiBzdHJpbmcsIGlzQXNjOiBib29sZWFuKSB7XHJcbiAgICByZXR1cm4gaXNBc2MgPyBtb21lbnQoYSkuZGlmZihiKSA6IG1vbWVudChiKS5kaWZmKGEpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoZGF0ZUFuZFRpbWU6IGFueSkge1xyXG4gICAgbGV0IHN0YW5kYXJkRm9ybWF0LCBkYXRlLCB0aW1lO1xyXG4gICAgaWYgKGRhdGVBbmRUaW1lLmluY2x1ZGVzKFwifFwiKSkge1xyXG4gICAgICBkYXRlID0gZGF0ZUFuZFRpbWUuc2xpY2UoMCwgZGF0ZUFuZFRpbWUuaW5kZXhPZihcInxcIikpO1xyXG4gICAgICB0aW1lID0gZGF0ZUFuZFRpbWUuc2xpY2UoZGF0ZUFuZFRpbWUuaW5kZXhPZignfCcpICsgMSwgZGF0ZUFuZFRpbWUubGVuZ3RoKS50cmltKCk7XHJcblxyXG4gICAgICB0aW1lID0gdGltZS5zbGljZSgwLCAyKSArIFwiOlwiICsgdGltZS5zbGljZSgyLCA0KSArIFwiIFwiICsgdGltZS5zbGljZSg0LCA1KTtcclxuICAgICAgdGltZSA9IHRpbWUgKyBcIk1cIjtcclxuICAgICAgc3RhbmRhcmRGb3JtYXQgPSBkYXRlICsgdGltZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzdGFuZGFyZEZvcm1hdCA9IGRhdGVBbmRUaW1lICsgXCIgMDA6MDAgQU1cIlxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vbWVudChzdGFuZGFyZEZvcm1hdCkuZm9ybWF0KFwiTU0vREQvWVlZWSBoaDptbSBBXCIpO1xyXG4gIH1cclxuXHJcbiAgY29tcGFyZShhOiBudW1iZXIgfCBzdHJpbmcsIGI6IG51bWJlciB8IHN0cmluZywgaXNBc2M6IGJvb2xlYW4pIHtcclxuICAgIGlmKHR5cGVvZiBhID09ICdzdHJpbmcnICYmIHR5cGVvZiBiID09ICdzdHJpbmcnKXtcclxuICAgICAgYSA9IGEudG9Mb3dlckNhc2UoKTtcclxuICAgICAgYiA9IGIudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIChhIDwgYiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xyXG4gIH1cclxuXHJcbiAgc29ydERhdGFCeUJyb2FkY2FzdFRpbWVBc2MoZmlyc3RQYXJhbVRpbWU6IHN0cmluZywgc2Vjb25kUGFyYW1UaW1lOiBzdHJpbmcsIGJyb2FkY2FzdFRpbWU6IHN0cmluZykge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwiSEg6bW06c3NcIjtcclxuXHJcbiAgICBsZXQgYSA9IG1vbWVudChmaXJzdFBhcmFtVGltZSwgZm9ybWF0KTtcclxuICAgIGxldCBiID0gbW9tZW50KHNlY29uZFBhcmFtVGltZSwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgYnJvYWRjYXN0TW9tZW50RGF0ZVRpbWUgPSBtb21lbnQoYnJvYWRjYXN0VGltZSwgXCJISDptbTpzc1wiKTtcclxuXHJcbiAgICBhID0gYS5pc0JlZm9yZShicm9hZGNhc3RNb21lbnREYXRlVGltZSkgPyBhLmFkZCgxLCBcImRcIikgOiBhO1xyXG4gICAgYiA9IGIuaXNCZWZvcmUoYnJvYWRjYXN0TW9tZW50RGF0ZVRpbWUpID8gYi5hZGQoMSwgXCJkXCIpIDogYjtcclxuXHJcbiAgICBsZXQgcmVzdWx0ID0gYS5pc0JlZm9yZShiKSA/IC0xIDogYS5pc0FmdGVyKGIpID8gMSA6IDA7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBcclxufVxyXG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxnQ0FBZ0M7QUFDaEMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOztBQVE1QixNQUFNLE9BQU8seUJBQXlCO0lBRXBDO1FBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUFTO1FBQ3RDLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkQsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVMsRUFBRSxXQUFnQjtRQUMxQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RCxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsTUFB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LENBQUMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztzSEFqTVUseUJBQXlCOzBIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50cyBcclxuZXhwb3J0IHR5cGUgTmdiRGF0ZVR5cGUgPSB7IHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF5OiBudW1iZXIgfTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSBzZXJ2aWNlIGNyZWF0ZWQuXCIpXHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9OZ2JEYXRlU3RhbmRhcmRGb3JtYXQoZGF0ZTogYW55KTogTmdiRGF0ZVR5cGUgfCBOZ2JEYXRlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHllYXI6IHBhcnNlSW50KG1vbWVudChkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiWVlZWVwiKSksXHJcbiAgICAgIG1vbnRoOiBwYXJzZUludChtb21lbnQoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIk1cIikpLFxyXG4gICAgICBkYXk6IHBhcnNlSW50KG1vbWVudChkYXRlLCBcIk1NL0REL1lZWVlcIikuZm9ybWF0KFwiRFwiKSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvTmdiRGF0ZShkYXRlOiBhbnksIHBhcnNlRm9ybWF0OiBhbnkpOiBOZ2JEYXRlVHlwZSB8IE5nYkRhdGUge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgeWVhcjogcGFyc2VJbnQobW9tZW50KGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJZWVlZXCIpKSxcclxuICAgICAgbW9udGg6IHBhcnNlSW50KG1vbWVudChkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiTVwiKSksXHJcbiAgICAgIGRheTogcGFyc2VJbnQobW9tZW50KGRhdGUsIHBhcnNlRm9ybWF0KS5mb3JtYXQoXCJEXCIpKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmb3JtYXRUb1R3ZWx2ZUhycyh0aW1lOiBhbnksIGNhbGxSZW1vdmVaZXJvOiBib29sZWFuKSB7XHJcbiAgICBpZiAodGltZS5lbmRzV2l0aCgnQScpIHx8IHRpbWUuZW5kc1dpdGgoJ1AnKSkge1xyXG4gICAgICB0aW1lID0gdGltZS5zdWJzdHJpbmcoMCwgdGltZS5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuICAgIGxldCB0bXAgPSB0aW1lLnNwbGl0KFwiOlwiKTtcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICBpZiAoK3RtcFswXSA+IDEyKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSAtIDEyKS50b1N0cmluZygpO1xyXG4gICAgICBpZiAoK3RtcFswXSA9PSAyNCkgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgICAgZWxzZSBmb3JtYXR0ZWRUaW1lWzJdID0gXCJQTVwiO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIxMlwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSB0bXBbMF07XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIlBNXCI7XHJcbiAgICB9IGVsc2UgaWYgKHRtcFswXSA9PSBcIjAwXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMTJcIlxyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzJdID0gXCJBTVwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgIH1cclxuICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0bXBbMV07XHJcbiAgICBpZiAoY2FsbFJlbW92ZVplcm8pIGZvcm1hdHRlZFRpbWUgPSB0aGlzLnJlbW92ZVplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb3R3ZW50eUZvdXJIcnNGb3JtYXQodGltZTogYW55LCBjYWxsQWRkWmVybzogYW55KSB7XHJcbiAgICBsZXQgdG1wID0gdGltZS5zcGxpdCgvWyA6XSsvKTtcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICBpZiAodG1wWzBdICE9IFwiMTJcIiAmJiB0bXBbMl0gPT0gXCJQTVwiKSB7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSArIDEyKS50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIGlmICh0bXBbMF0gPT0gXCIxMlwiICYmIHRtcFsyXSA9PSBcIkFNXCIpIHtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMDBcIjtcclxuICAgIH0gZWxzZSBmb3JtYXR0ZWRUaW1lWzBdID0gdG1wWzBdLnRvU3RyaW5nKCk7XHJcbiAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdG1wWzFdLnRvU3RyaW5nKCk7XHJcbiAgICBpZiAoY2FsbEFkZFplcm8pIGZvcm1hdHRlZFRpbWUgPSB0aGlzLmFkZFplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIHJlbW92ZVplcm8odGltZTogYW55KSB7XHJcbiAgICBsZXQgcmVtb3ZlZFplcm87XHJcbiAgICBsZXQgZm9ybWF0dGVkVGltZSA9IHRpbWU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwMVwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwMlwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwM1wiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwNFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwNVwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwNlwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwN1wiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwOFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIwOVwiXHJcbiAgICApIHtcclxuICAgICAgcmVtb3ZlZFplcm8gPSB0aW1lWzBdLnRvU3RyaW5nKCk7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSByZW1vdmVkWmVyby5jaGFyQXQoMSk7XHJcbiAgICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0aW1lWzFdO1xyXG4gICAgICBmb3JtYXR0ZWRUaW1lWzJdID0gdGltZVsyXTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gIH1cclxuXHJcbiAgYWRkWmVybyh0aW1lOiBhbnkpIHtcclxuICAgIGxldCBhZGRlZFplcm87XHJcbiAgICBsZXQgZm9ybWF0dGVkVGltZSA9IHRpbWU7XHJcbiAgICBpZiAodGltZVsxXSA9PSBcIjBcIikgdGltZVsxXSA9IFwiMFwiICsgdGltZVsxXTtcclxuICAgIGlmIChcclxuICAgICAgdGltZVswXSA9PSBcIjBcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiMVwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCIyXCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjNcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiNFwiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI1XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjZcIiB8fFxyXG4gICAgICB0aW1lWzBdID09IFwiN1wiIHx8XHJcbiAgICAgIHRpbWVbMF0gPT0gXCI4XCIgfHxcclxuICAgICAgdGltZVswXSA9PSBcIjlcIlxyXG4gICAgKSB7XHJcbiAgICAgIGFkZGVkWmVybyA9IFwiMFwiICsgdGltZVswXTtcclxuICAgICAgZm9ybWF0dGVkVGltZVswXSA9IGFkZGVkWmVybztcclxuICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRpbWVbMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcclxuICB9XHJcblxyXG4gIHNvcnRCeVRpbWVBc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgIGxldCBmb3JtYXQgPSBcIkhIOm1tOnNzXCI7XHJcbiAgICBhID0gbW9tZW50KGEsIGZvcm1hdCk7XHJcbiAgICBiID0gbW9tZW50KGIsIGZvcm1hdCk7XHJcblxyXG4gICAgbGV0IHJlc3VsdHM7XHJcblxyXG4gICAgcmVzdWx0cyA9IGEuaG91cnMoKSA+IGIuaG91cnMoKSA/IDEgOiBhLmhvdXJzKCkgPCBiLmhvdXJzKCkgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLm1pbnV0ZXMoKSA+IGIubWludXRlcygpID8gMSA6IGEubWludXRlcygpIDwgYi5taW51dGVzKCkgPyAtMSA6IDA7XHJcblxyXG4gICAgaWYgKHJlc3VsdHMgPT09IDApIHJlc3VsdHMgPSBhLnNlY29uZHMoKSA+IGIuc2Vjb25kcygpID8gMSA6IGEuc2Vjb25kcygpIDwgYi5zZWNvbmRzKCkgPyAtMSA6IDA7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICBzb3J0QnlUaW1lRGVzY2VuZGluZyhhOiBhbnksIGI6IGFueSkge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwiSEg6bW06c3NcIjtcclxuICAgIGEgPSBtb21lbnQoYSwgZm9ybWF0KTtcclxuICAgIGIgPSBtb21lbnQoYiwgZm9ybWF0KTtcclxuXHJcbiAgICBsZXQgcmVzdWx0cztcclxuXHJcbiAgICByZXN1bHRzID0gYS5ob3VycygpIDwgYi5ob3VycygpID8gMSA6IGEuaG91cnMoKSA+IGIuaG91cnMoKSA/IC0xIDogMDtcclxuXHJcbiAgICBpZiAocmVzdWx0cyA9PT0gMCkgcmVzdWx0cyA9IGEubWludXRlcygpIDwgYi5taW51dGVzKCkgPyAxIDogYS5taW51dGVzKCkgPiBiLm1pbnV0ZXMoKSA/IC0xIDogMDtcclxuXHJcbiAgICBpZiAocmVzdWx0cyA9PT0gMCkgcmVzdWx0cyA9IGEuc2Vjb25kcygpIDwgYi5zZWNvbmRzKCkgPyAxIDogYS5zZWNvbmRzKCkgPiBiLnNlY29uZHMoKSA/IC0xIDogMDtcclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgY29udmVydE5nYkRhdGVUb01vbWVudChuZ2JEYXRlOiBOZ2JEYXRlIHwgTmdiRGF0ZVR5cGUpOiBzdHJpbmcge1xyXG4gICAgbGV0IGNvbnZlcnRlZCA9IG1vbWVudCgpO1xyXG4gICAgY29udmVydGVkLm1vbnRoKG5nYkRhdGUubW9udGggLSAxKTtcclxuICAgIGNvbnZlcnRlZC5kYXRlKG5nYkRhdGUuZGF5KTtcclxuICAgIGNvbnZlcnRlZC55ZWFyKG5nYkRhdGUueWVhcik7XHJcbiAgICByZXR1cm4gY29udmVydGVkLmZvcm1hdChcIk1NL0REL1lZWVlcIik7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlRGF0ZShhOiBzdHJpbmcsIGI6IHN0cmluZywgaXNBc2M6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBpc0FzYyA/IG1vbWVudChhKS5kaWZmKGIpIDogbW9tZW50KGIpLmRpZmYoYSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZW50eUZvdXJIb3VyVGltZVRvSEhNTUFGb3JtYXQodmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICB2YWx1ZSA9IG1vbWVudCh2YWx1ZSwgW1wiSEg6bW06c3NcIl0pLmZvcm1hdChcIkhIOm1tOnNzXCIpO1xyXG4gICAgcmV0dXJuIHZhbHVlWzNdID09IFwiMFwiICYmIHZhbHVlWzRdID09IFwiMFwiXHJcbiAgICAgICAgPyBtb21lbnQodmFsdWUsIFtcIkhIOm1tOnNzXCJdKS5mb3JtYXQoXCJoQVwiKS5zbGljZSgwLCAtMSlcclxuICAgICAgICA6IG1vbWVudCh2YWx1ZSwgW1wiSEg6bW06c3NcIl0pLmZvcm1hdChcImg6bW1BXCIpLnNsaWNlKDAsIC0xKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdERhdGVBbmRISE1NQVRpbWVUb1N0YW5kYXJkRm9ybWF0KGRhdGVBbmRUaW1lOiBhbnkpIHtcclxuICAgIGxldCBzdGFuZGFyZEZvcm1hdCwgZGF0ZSwgdGltZTtcclxuICAgIGlmIChkYXRlQW5kVGltZS5pbmNsdWRlcyhcInxcIikpIHtcclxuICAgICAgZGF0ZSA9IGRhdGVBbmRUaW1lLnNsaWNlKDAsIGRhdGVBbmRUaW1lLmluZGV4T2YoXCJ8XCIpKTtcclxuICAgICAgdGltZSA9IGRhdGVBbmRUaW1lLnNsaWNlKGRhdGVBbmRUaW1lLmluZGV4T2YoJ3wnKSArIDEsIGRhdGVBbmRUaW1lLmxlbmd0aCkudHJpbSgpO1xyXG5cclxuICAgICAgdGltZSA9IHRpbWUuc2xpY2UoMCwgMikgKyBcIjpcIiArIHRpbWUuc2xpY2UoMiwgNCkgKyBcIiBcIiArIHRpbWUuc2xpY2UoNCwgNSk7XHJcbiAgICAgIHRpbWUgPSB0aW1lICsgXCJNXCI7XHJcbiAgICAgIHN0YW5kYXJkRm9ybWF0ID0gZGF0ZSArIHRpbWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgc3RhbmRhcmRGb3JtYXQgPSBkYXRlQW5kVGltZSArIFwiIDAwOjAwIEFNXCJcclxuICAgIH1cclxuICAgIHJldHVybiBtb21lbnQoc3RhbmRhcmRGb3JtYXQpLmZvcm1hdChcIk1NL0REL1lZWVkgaGg6bW0gQVwiKTtcclxuICB9XHJcblxyXG4gIGNvbXBhcmUoYTogbnVtYmVyIHwgc3RyaW5nLCBiOiBudW1iZXIgfCBzdHJpbmcsIGlzQXNjOiBib29sZWFuKSB7XHJcbiAgICBpZih0eXBlb2YgYSA9PSAnc3RyaW5nJyAmJiB0eXBlb2YgYiA9PSAnc3RyaW5nJyl7XHJcbiAgICAgIGEgPSBhLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGIgPSBiLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJldHVybiAoYSA8IGIgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcclxuICB9XHJcblxyXG4gIHNvcnREYXRhQnlCcm9hZGNhc3RUaW1lQXNjKGZpcnN0UGFyYW1UaW1lOiBzdHJpbmcsIHNlY29uZFBhcmFtVGltZTogc3RyaW5nLCBicm9hZGNhc3RUaW1lOiBzdHJpbmcpIHtcclxuICAgIGxldCBmb3JtYXQgPSBcIkhIOm1tOnNzXCI7XHJcblxyXG4gICAgbGV0IGEgPSBtb21lbnQoZmlyc3RQYXJhbVRpbWUsIGZvcm1hdCk7XHJcbiAgICBsZXQgYiA9IG1vbWVudChzZWNvbmRQYXJhbVRpbWUsIGZvcm1hdCk7XHJcblxyXG4gICAgbGV0IGJyb2FkY2FzdE1vbWVudERhdGVUaW1lID0gbW9tZW50KGJyb2FkY2FzdFRpbWUsIFwiSEg6bW06c3NcIik7XHJcblxyXG4gICAgYSA9IGEuaXNCZWZvcmUoYnJvYWRjYXN0TW9tZW50RGF0ZVRpbWUpID8gYS5hZGQoMSwgXCJkXCIpIDogYTtcclxuICAgIGIgPSBiLmlzQmVmb3JlKGJyb2FkY2FzdE1vbWVudERhdGVUaW1lKSA/IGIuYWRkKDEsIFwiZFwiKSA6IGI7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGEuaXNCZWZvcmUoYikgPyAtMSA6IGEuaXNBZnRlcihiKSA/IDEgOiAwO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgXHJcbn1cclxuIl19
@@ -21,6 +21,7 @@ import { AnnaNotifyIconTemplateComponent } from './anna-core-shared-lib/componen
21
21
  import { AnnaPayForPerformanceIconTemplateComponent } from './anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component';
22
22
  import { AnnaRejectedIconTemplateComponent } from './anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component';
23
23
  import { showEllipsisTextOnHoverDirective } from './anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive';
24
+ import { AnnaConvertZeroOrNullOrUndefinedPipe } from './anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe';
24
25
  //Anna-dropdown-lib User defined import statements
25
26
  import { AnnaWeekCalendarComponent } from './anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component';
26
27
  import { AnnaCalendarFilterComponent } from './anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component';
@@ -30,12 +31,16 @@ import { AnnaSortComponent } from './anna-generic-table-lib/components/anna-sort
30
31
  import { AnnaTableVirtualScrollViewportComponent } from './anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component';
31
32
  import { AnnaFixedRowSizeTableVirtualScrollStrategyDirective } from './anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy';
32
33
  import { AnnaVirtualTableDirective } from './anna-generic-table-lib/directives/anna-virtual-table';
34
+ import { AnnaTypeofDataPipe } from './anna-core-shared-lib/pipes/annaTypeOfData.pipe';
33
35
  import * as i0 from "@angular/core";
34
36
  import * as i1 from "ng-circle-progress";
35
37
  export class AnnaCoreModule {
36
38
  }
37
39
  AnnaCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
40
  AnnaCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCoreModule, declarations: [AnnaNoDataComponent,
41
+ AnnaFilterSearchedTextPipe,
42
+ AnnaConvertZeroOrNullOrUndefinedPipe,
43
+ AnnaTypeofDataPipe,
39
44
  AnnaFilterSearchedTextPipe,
40
45
  AnnaBuyerApprovalIconTemplateComponent,
41
46
  AnnaLiveIconTemplateComponent,
@@ -60,6 +65,9 @@ AnnaCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
60
65
  NgxSkeletonLoaderModule,
61
66
  ScrollingModule, i1.NgCircleProgressModule], exports: [AnnaNoDataComponent,
62
67
  AnnaFilterSearchedTextPipe,
68
+ AnnaConvertZeroOrNullOrUndefinedPipe,
69
+ AnnaTypeofDataPipe,
70
+ AnnaFilterSearchedTextPipe,
63
71
  AnnaBuyerApprovalIconTemplateComponent,
64
72
  AnnaLiveIconTemplateComponent,
65
73
  AnnaNotifyIconTemplateComponent,
@@ -99,6 +107,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
99
107
  declarations: [
100
108
  AnnaNoDataComponent,
101
109
  AnnaFilterSearchedTextPipe,
110
+ AnnaConvertZeroOrNullOrUndefinedPipe,
111
+ AnnaTypeofDataPipe,
112
+ AnnaFilterSearchedTextPipe,
102
113
  AnnaBuyerApprovalIconTemplateComponent,
103
114
  AnnaLiveIconTemplateComponent,
104
115
  AnnaNotifyIconTemplateComponent,
@@ -136,6 +147,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
136
147
  exports: [
137
148
  AnnaNoDataComponent,
138
149
  AnnaFilterSearchedTextPipe,
150
+ AnnaConvertZeroOrNullOrUndefinedPipe,
151
+ AnnaTypeofDataPipe,
152
+ AnnaFilterSearchedTextPipe,
139
153
  AnnaBuyerApprovalIconTemplateComponent,
140
154
  AnnaLiveIconTemplateComponent,
141
155
  AnnaNotifyIconTemplateComponent,
@@ -153,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
153
167
  ]
154
168
  }]
155
169
  }] });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUhBQWlILENBQUM7QUFDekssT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkZBQTZGLENBQUM7QUFDNUks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Qzs0QkFDN0IsTUFBTSxFQUFFLEdBQUc7NEJBQ1gsZ0JBQWdCLEVBQUUsRUFBRTs0QkFDcEIsZ0JBQWdCLEVBQUUsQ0FBQzs0QkFDbkIsZ0JBQWdCLEVBQUUsU0FBUzs0QkFDM0IsZ0JBQWdCLEVBQUUsU0FBUzs0QkFDM0IsaUJBQWlCLEVBQUUsR0FBRzt5QkFDdkIsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUc7d0JBQ1IsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLHNDQUFzQzt3QkFDdEMsNkJBQTZCO3dCQUM3QiwrQkFBK0I7d0JBQy9CLDBDQUEwQzt3QkFDMUMsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIseUJBQXlCO3dCQUN6QixvQ0FBb0M7d0JBQ3BDLHVDQUF1Qzt3QkFDdkMsbURBQW1EO3FCQUNwRDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItc2xpZGVyL25neC1zbGlkZXInO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xyXG5pbXBvcnQgeyBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmctY2lyY2xlLXByb2dyZXNzJztcclxuXHJcbi8vQW5uYS1jb3JlIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlJztcclxuaW1wb3J0IHsgQW5uYU5vRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLW5vLWRhdGEvYW5uYS1uby1kYXRhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFJY29uQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUvYW5uYS1idXllci1hcHByb3ZhbC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1ub3RpZnktaWNvbi10ZW1wbGF0ZS9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1yZWplY3RlZC1pY29uLXRlbXBsYXRlL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBzaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9zaG93LWVsbGlwc2lzLXRleHQvc2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZSc7XHJcblxyXG4vL0FubmEtZHJvcGRvd24tbGliIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50cyBcclxuaW1wb3J0IHsgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCAgfSBmcm9tICcuL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8vQW5uYS1nZW5lcmljLXRhYmxlIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLW5vbi1lZGl0YWJsZS1nZW5lcmljLXRhYmxlL2FubmEtbm9uLWVkaXRhYmxlLWdlbmVyaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQW5uYVNvcnRDb21wb25lbnQgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLXNvcnQvYW5uYS1zb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFUYWJsZVZpcnR1YWxTY3JvbGxWaWV3cG9ydENvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtdGFibGUtdmlydHVhbC1zY3JvbGwtdmlld3BvcnQvYW5uYS10YWJsZS12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hRml4ZWRSb3dTaXplVGFibGVWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3lEaXJlY3RpdmUgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvZGlyZWN0aXZlcy9hbm5hLWZpeGVkLXJvdy1zaXplLXRhYmxlLXZpcnR1YWwtc2Nyb2xsLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9kaXJlY3RpdmVzL2FubmEtdmlydHVhbC10YWJsZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgIEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgQW5uYUxpdmVJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hTm90aWZ5SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgQW5uYVBheUZvclBlcmZvcm1hbmNlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgc2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBBbm5hSWNvbkNvbHVtbkNvbXBvbmVudCxcclxuICAgIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBBbm5hU29ydENvbXBvbmVudCxcclxuICAgIEFubmFWaXJ0dWFsVGFibGVEaXJlY3RpdmUsXHJcbiAgICBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQsXHJcbiAgICBBbm5hVGFibGVWaXJ0dWFsU2Nyb2xsVmlld3BvcnRDb21wb25lbnQsXHJcbiAgICBBbm5hRml4ZWRSb3dTaXplVGFibGVWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3lEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBOZ2JNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICBOZ3hTbGlkZXJNb2R1bGUsXHJcbiAgICBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSxcclxuICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgIE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgIHJhZGl1czogMTAwLFxyXG4gICAgICBvdXRlclN0cm9rZVdpZHRoOiAxNixcclxuICAgICAgaW5uZXJTdHJva2VXaWR0aDogOCxcclxuICAgICAgb3V0ZXJTdHJva2VDb2xvcjogJyM3OEMwMDAnLFxyXG4gICAgICBpbm5lclN0cm9rZUNvbG9yOiAnI0M3RTU5NicsXHJcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiAzMDAsXHJcbiAgICB9KSxcclxuICBdLFxyXG4gIGV4cG9ydHMgOiBbXHJcbiAgICBBbm5hTm9EYXRhQ29tcG9uZW50LFxyXG4gICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEFubmFSZWplY3RlZEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIHNob3dFbGxpcHNpc1RleHRPbkhvdmVyRGlyZWN0aXZlLFxyXG4gICAgQW5uYUljb25Db2x1bW5Db21wb25lbnQsXHJcbiAgICBBbm5hV2Vla0NhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgQW5uYUNhbGVuZGFyRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgQW5uYVNvcnRDb21wb25lbnQsXHJcbiAgICBBbm5hVmlydHVhbFRhYmxlRGlyZWN0aXZlLFxyXG4gICAgQW5uYU5vbkVkaXRhYmxlR2VuZXJpY1RhYmxlQ29tcG9uZW50LFxyXG4gICAgQW5uYVRhYmxlVmlydHVhbFNjcm9sbFZpZXdwb3J0Q29tcG9uZW50LFxyXG4gICAgQW5uYUZpeGVkUm93U2l6ZVRhYmxlVmlydHVhbFNjcm9sbFN0cmF0ZWd5RGlyZWN0aXZlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNvcmVNb2R1bGUgeyB9XHJcbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUhBQWlILENBQUM7QUFDekssT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkZBQTZGLENBQUM7QUFDNUks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d0JBQ2pCLHlCQUF5Qjt3QkFDekIsb0NBQW9DO3dCQUNwQyx1Q0FBdUM7d0JBQ3ZDLG1EQUFtRDtxQkFDcEQ7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLHNCQUFzQixDQUFDLE9BQU8sQ0FBQzs0QkFDN0IsTUFBTSxFQUFFLEdBQUc7NEJBQ1gsZ0JBQWdCLEVBQUUsRUFBRTs0QkFDcEIsZ0JBQWdCLEVBQUUsQ0FBQzs0QkFDbkIsZ0JBQWdCLEVBQUUsU0FBUzs0QkFDM0IsZ0JBQWdCLEVBQUUsU0FBUzs0QkFDM0IsaUJBQWlCLEVBQUUsR0FBRzt5QkFDdkIsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUc7d0JBQ1IsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLG9DQUFvQzt3QkFDcEMsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLHNDQUFzQzt3QkFDdEMsNkJBQTZCO3dCQUM3QiwrQkFBK0I7d0JBQy9CLDBDQUEwQzt3QkFDMUMsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIseUJBQXlCO3dCQUN6QixvQ0FBb0M7d0JBQ3BDLHVDQUF1Qzt3QkFDdkMsbURBQW1EO3FCQUNwRDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItc2xpZGVyL25neC1zbGlkZXInO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xyXG5pbXBvcnQgeyBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmctY2lyY2xlLXByb2dyZXNzJztcclxuXHJcbi8vQW5uYS1jb3JlIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlJztcclxuaW1wb3J0IHsgQW5uYU5vRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLW5vLWRhdGEvYW5uYS1uby1kYXRhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFJY29uQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUvYW5uYS1idXllci1hcHByb3ZhbC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1ub3RpZnktaWNvbi10ZW1wbGF0ZS9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1yZWplY3RlZC1pY29uLXRlbXBsYXRlL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBzaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9zaG93LWVsbGlwc2lzLXRleHQvc2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWQucGlwZSc7XHJcblxyXG4vL0FubmEtZHJvcGRvd24tbGliIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50cyBcclxuaW1wb3J0IHsgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCAgfSBmcm9tICcuL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8vQW5uYS1nZW5lcmljLXRhYmxlIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLW5vbi1lZGl0YWJsZS1nZW5lcmljLXRhYmxlL2FubmEtbm9uLWVkaXRhYmxlLWdlbmVyaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQW5uYVNvcnRDb21wb25lbnQgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLXNvcnQvYW5uYS1zb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFubmFUYWJsZVZpcnR1YWxTY3JvbGxWaWV3cG9ydENvbXBvbmVudCB9IGZyb20gJy4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtdGFibGUtdmlydHVhbC1zY3JvbGwtdmlld3BvcnQvYW5uYS10YWJsZS12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbm5hRml4ZWRSb3dTaXplVGFibGVWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3lEaXJlY3RpdmUgfSBmcm9tICcuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvZGlyZWN0aXZlcy9hbm5hLWZpeGVkLXJvdy1zaXplLXRhYmxlLXZpcnR1YWwtc2Nyb2xsLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9kaXJlY3RpdmVzL2FubmEtdmlydHVhbC10YWJsZSc7XHJcbmltcG9ydCB7IEFubmFUeXBlb2ZEYXRhUGlwZSB9IGZyb20gJy4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYVR5cGVPZkRhdGEucGlwZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgIEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSxcclxuICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgQW5uYUJ1eWVyQXBwcm92YWxJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBzaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSxcclxuICAgIEFubmFJY29uQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCxcclxuICAgIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCxcclxuICAgIEFubmFTb3J0Q29tcG9uZW50LFxyXG4gICAgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSxcclxuICAgIEFubmFOb25FZGl0YWJsZUdlbmVyaWNUYWJsZUNvbXBvbmVudCxcclxuICAgIEFubmFUYWJsZVZpcnR1YWxTY3JvbGxWaWV3cG9ydENvbXBvbmVudCxcclxuICAgIEFubmFGaXhlZFJvd1NpemVUYWJsZVZpcnR1YWxTY3JvbGxTdHJhdGVneURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE5nYk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE5neFNsaWRlck1vZHVsZSxcclxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcclxuICAgICAgcmFkaXVzOiAxMDAsXHJcbiAgICAgIG91dGVyU3Ryb2tlV2lkdGg6IDE2LFxyXG4gICAgICBpbm5lclN0cm9rZVdpZHRoOiA4LFxyXG4gICAgICBvdXRlclN0cm9rZUNvbG9yOiAnIzc4QzAwMCcsXHJcbiAgICAgIGlubmVyU3Ryb2tlQ29sb3I6ICcjQzdFNTk2JyxcclxuICAgICAgYW5pbWF0aW9uRHVyYXRpb246IDMwMCxcclxuICAgIH0pLFxyXG4gIF0sXHJcbiAgZXhwb3J0cyA6IFtcclxuICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgIEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSxcclxuICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgQW5uYUJ1eWVyQXBwcm92YWxJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBzaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSxcclxuICAgIEFubmFJY29uQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCxcclxuICAgIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCxcclxuICAgIEFubmFTb3J0Q29tcG9uZW50LFxyXG4gICAgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSxcclxuICAgIEFubmFOb25FZGl0YWJsZUdlbmVyaWNUYWJsZUNvbXBvbmVudCxcclxuICAgIEFubmFUYWJsZVZpcnR1YWxTY3JvbGxWaWV3cG9ydENvbXBvbmVudCxcclxuICAgIEFubmFGaXhlZFJvd1NpemVUYWJsZVZpcnR1YWxTY3JvbGxTdHJhdGVneURpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFDb3JlTW9kdWxlIHsgfVxyXG4iXX0=