@annalib/anna-core 10.0.14 → 10.0.16

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.
@@ -1,6 +1,6 @@
1
1
  // Angular import statements
2
2
  import { Injectable } from "@angular/core";
3
- import { ActivatedRoute, Router } from '@angular/router';
3
+ import { ActivatedRoute, Router } from "@angular/router";
4
4
  // Third party import statements
5
5
  import { Subject } from "rxjs";
6
6
  import { cloneDeep } from "lodash-es";
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
132
132
  providedIn: "root",
133
133
  }]
134
134
  }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AnnaSortService }]; } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDFDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNbkMsQ0FBQztJQUVILHdDQUF3QyxDQUFDLFlBQW1CO1FBQzFELElBQUksdUJBQXVCLEdBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QixJQUFJLE1B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QjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG4vL3N1Yi1lbnRyaWVzIG9mIGFubmEgbGliIGltcG9ydCBzdGF0ZW1lbnRcclxuaW1wb3J0IHsgQW5uYUZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi9hbm5hLWZpbHRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFubmFTb3J0U2VydmljZSB9IGZyb20gXCIuL2FubmEtc29ydC5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR3RIZWxwZXJTZXJ2aWNlIHtcclxuXHJcbiAgdmlydHVhbFNjcm9sbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGFubmFTb3J0U2VydmljZTogQW5uYVNvcnRTZXJ2aWNlKXtcclxuICAgIH1cclxuXHJcbiAgY2FsY3VsYXRlTnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnNGb3JUYWJsZSh0YWJsZUhlYWRlcnM6IGFueVtdKTogbnVtYmVyW11bXSB7XHJcbiAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgIHZhciBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgIHRhYmxlSGVhZGVycy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJJbmZvLmZvckVhY2goKCkgPT4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uKys7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBudW1iZXJPZlNrZWxldG9uQ29sdW1ucztcclxuICB9XHJcblxyXG4gIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgfVxyXG5cclxuICBcclxuICBlbmFibGVPckRpc2FibGVDbGVhckFsbEJ0bigpOiBib29sZWFuIHtcclxuICAgIGxldCBpc0ZpbHRlckFwcGxpZWQgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkubGVuZ3RoID4gMDtcclxuICAgIGxldCBpc1NvcnRBcHBsaWVkID0gdGhpcy5pc1NvcnRpbmdBcHBsaWVkVG9UYWJsZSgpO1xyXG5cclxuICAgIHJldHVybiBpc0ZpbHRlckFwcGxpZWQgfHwgaXNTb3J0QXBwbGllZCA/IGZhbHNlIDogdHJ1ZTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUZpbHRlcnNJblVSTCgpe1xyXG4gICAgbGV0IGxhdGVzdFF1ZXJ5UGFyYW1zID0gdGhpcy5wcmVwYXJlUXVlcnlQYXJhbXNPbkZpbHRlcigpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10se1xyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGZpbHRlcnM6IEpTT04uc3RyaW5naWZ5KGxhdGVzdFF1ZXJ5UGFyYW1zKSB9LFxyXG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50LFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVF1ZXJ5UGFyYW1zT25GaWx0ZXIoKSB7XHJcbiAgICBpZighdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5Lmxlbmd0aCAmJiBcclxuICAgICAgIXRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwLnNpemUgJiYgXHJcbiAgICAgICF0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUuc2l6ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH0gXHJcblxyXG4gICAgbGV0IHF1ZXJ5ID0ge1xyXG4gICAgICBhcHBsaWVkRmlsdGVyczogdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5LFxyXG4gICAgICBzZWxlY3RlZEZpbHRlckRhdGE6IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXApKSxcclxuICAgICAgc29ydFN0YXRlOiBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSkpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcXVlcnk7XHJcbiAgfVxyXG5cclxuICBpbml0VGFibGVGaWx0ZXJzKGNsb25lZFRhYmxlRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IG51bGw7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcclxuXHJcbiAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUgPSBuZXcgTWFwKCk7XHJcblxyXG4gICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAoY2xvbmVkVGFibGVEYXRhKTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICB9XHJcblxyXG4gIGluaXRGaWx0ZXJzKCl7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YUFzUGVyUGVyc2lzdGluZ0ZpbHRlcihpc1BlcnNpc3RpbmdGaWx0ZXI6IGJvb2xlYW4sIGNsb25lZFRhYmxlOiBhbnksIGZpbHRlcnM6IGFueSk6IGFueXtcclxuICAgIGxldCB1c2Vyc1RhYmxlO1xyXG4gICAgaWYoaXNQZXJzaXN0aW5nRmlsdGVyKXtcclxuICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZmlsdGVyRGF0YShjbG9uZWRUYWJsZSwgXCJcIik7XHJcbiAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHVzZXJzVGFibGUpO1xyXG5cclxuICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcChKU09OLnBhcnNlKGZpbHRlcnMuc29ydFN0YXRlKSk7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuY2FsbFNvcnQodXNlcnNUYWJsZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdXNlcnNUYWJsZSA9IGNsb25lZFRhYmxlO1xyXG4gICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcCh1c2Vyc1RhYmxlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1c2Vyc1RhYmxlO1xyXG4gIH1cclxuXHJcbiAgY2FsbFNvcnQodXNlcnNUYWJsZTogYW55KTogYW55IHtcclxuICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpIHtcclxuICAgICAgaWYgKHZhbHVlID09IFwiQVNDXCIpIHtcclxuICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHVzZXJzVGFibGUsIGtleSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodmFsdWUgPT0gXCJERVNDXCIpIHtcclxuICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGZhbHNlLCB1c2Vyc1RhYmxlLCBrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXNlcnNUYWJsZTtcclxuICB9XHJcblxyXG4gIGlzU29ydGluZ0FwcGxpZWRUb1RhYmxlKCl7XHJcbiAgICAgIGxldCBpc1NvcnRpbmdBcHBsaWVkID0gZmFsc2U7XHJcbiAgICAgIGZvcihsZXQgdmFsIG9mIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZS52YWx1ZXMoKSl7XHJcbiAgICAgICAgICBpZih2YWwgPT0gXCJBU0NcIiB8fCB2YWwgPT0gXCJERVNDXCIpe1xyXG4gICAgICAgICAgICAgIGlzU29ydGluZ0FwcGxpZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gaXNTb3J0aW5nQXBwbGllZDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVF1ZXJ5UGFyYW1zRmlsdGVyKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBvcGVyYXRpb246IFwiQUREXCIgfCBcIkRFTEVURVwiLCBxdWVyeVBhcmFtT2JqOiBhbnkpIHtcclxuICAgICAgaWYgKG9wZXJhdGlvbiA9PSBcIkFERFwiKSB7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtT2JqW2tleV0gPSB2YWx1ZTtcclxuICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT0gXCJERUxFVEVcIikge1xyXG4gICAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1PYmpba2V5XTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHF1ZXJ5UGFyYW1PYmo7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDFDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNckMsQ0FBQztJQUVELHdDQUF3QyxDQUFDLFlBQW1CO1FBQzFELElBQUksdUJBQXVCLEdBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM5QixJQUFJLE1B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QjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuXHJcbi8vc3ViLWVudHJpZXMgb2YgYW5uYSBsaWIgaW1wb3J0IHN0YXRlbWVudFxyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1zb3J0LnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFHdEhlbHBlclNlcnZpY2Uge1xyXG5cclxuICB2aXJ0dWFsU2Nyb2xsU3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFubmFGaWx0ZXJTZXJ2aWNlOiBBbm5hRmlsdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGNhbGN1bGF0ZU51bWJlck9mU2tlbGV0b25Db2x1bW5zRm9yVGFibGUodGFibGVIZWFkZXJzOiBhbnlbXSk6IG51bWJlcltdW10ge1xyXG4gICAgbGV0IG51bWJlck9mU2tlbGV0b25Db2x1bW5zOiBhbnlbXVtdID0gW107XHJcbiAgICB2YXIgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICB0YWJsZUhlYWRlcnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XHJcbiAgICAgIGlmIChjb2x1bW4udmlzaWJsZSkge1xyXG4gICAgICAgIGhlYWRlcnNJbkVhY2hDb2x1bW4gPSAwO1xyXG4gICAgICAgIGNvbHVtbi5oZWFkZXJJbmZvLmZvckVhY2goKCkgPT4ge1xyXG4gICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbisrO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnMucHVzaChBcnJheShoZWFkZXJzSW5FYWNoQ29sdW1uKS5maWxsKDApKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBudW1iZXJPZlNrZWxldG9uQ29sdW1ucztcclxuICB9XHJcblxyXG4gIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgfVxyXG5cclxuXHJcbiAgZW5hYmxlT3JEaXNhYmxlQ2xlYXJBbGxCdG4oKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNGaWx0ZXJBcHBsaWVkID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5Lmxlbmd0aCA+IDA7XHJcbiAgICBsZXQgaXNTb3J0QXBwbGllZCA9IHRoaXMuaXNTb3J0aW5nQXBwbGllZFRvVGFibGUoKTtcclxuXHJcbiAgICByZXR1cm4gaXNGaWx0ZXJBcHBsaWVkIHx8IGlzU29ydEFwcGxpZWQgPyBmYWxzZSA6IHRydWU7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVGaWx0ZXJzSW5VUkwoKSB7XHJcbiAgICBsZXQgbGF0ZXN0UXVlcnlQYXJhbXMgPSB0aGlzLnByZXBhcmVRdWVyeVBhcmFtc09uRmlsdGVyKCk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBmaWx0ZXJzOiBKU09OLnN0cmluZ2lmeShsYXRlc3RRdWVyeVBhcmFtcykgfSxcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZS5wYXJlbnQsXHJcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVF1ZXJ5UGFyYW1zT25GaWx0ZXIoKSB7XHJcbiAgICBpZiAoIXRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggJiZcclxuICAgICAgIXRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwLnNpemUgJiZcclxuICAgICAgIXRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZS5zaXplKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBxdWVyeSA9IHtcclxuICAgICAgYXBwbGllZEZpbHRlcnM6IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSxcclxuICAgICAgc2VsZWN0ZWRGaWx0ZXJEYXRhOiBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwKSksXHJcbiAgICAgIHNvcnRTdGF0ZTogSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHF1ZXJ5O1xyXG4gIH1cclxuXHJcbiAgaW5pdFRhYmxlRmlsdGVycyhjbG9uZWRUYWJsZURhdGE6IGFueSkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcblxyXG4gICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcCgpO1xyXG5cclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKGNsb25lZFRhYmxlRGF0YSk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBpbml0RmlsdGVycygpIHtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgfVxyXG5cclxuICBzZXREYXRhQXNQZXJQZXJzaXN0aW5nRmlsdGVyKGlzUGVyc2lzdGluZ0ZpbHRlcjogYm9vbGVhbiwgY2xvbmVkVGFibGU6IGFueSwgZmlsdGVyczogYW55KTogYW55IHtcclxuICAgIGxldCB1c2Vyc1RhYmxlO1xyXG4gICAgaWYgKGlzUGVyc2lzdGluZ0ZpbHRlcikge1xyXG4gICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5maWx0ZXJEYXRhKGNsb25lZFRhYmxlLCBcIlwiKTtcclxuICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAodXNlcnNUYWJsZSk7XHJcblxyXG4gICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUgPSBuZXcgTWFwKEpTT04ucGFyc2UoZmlsdGVycy5zb3J0U3RhdGUpKTtcclxuICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mQWxsVGhlS2V5cyh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gICAgICB1c2Vyc1RhYmxlID0gdGhpcy5jYWxsU29ydCh1c2Vyc1RhYmxlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB1c2Vyc1RhYmxlID0gY2xvbmVkVGFibGU7XHJcbiAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHVzZXJzVGFibGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVzZXJzVGFibGU7XHJcbiAgfVxyXG5cclxuICBjYWxsU29ydCh1c2Vyc1RhYmxlOiBhbnkpOiBhbnkge1xyXG4gICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSkge1xyXG4gICAgICBpZiAodmFsdWUgPT0gXCJBU0NcIikge1xyXG4gICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFTb3J0U2VydmljZS5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdXNlcnNUYWJsZSwga2V5KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZSA9PSBcIkRFU0NcIikge1xyXG4gICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFTb3J0U2VydmljZS5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoZmFsc2UsIHVzZXJzVGFibGUsIGtleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB1c2Vyc1RhYmxlO1xyXG4gIH1cclxuXHJcbiAgaXNTb3J0aW5nQXBwbGllZFRvVGFibGUoKXtcclxuICAgICAgbGV0IGlzU29ydGluZ0FwcGxpZWQgPSBmYWxzZTtcclxuICAgICAgZm9yKGxldCB2YWwgb2YgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlLnZhbHVlcygpKXtcclxuICAgICAgICAgIGlmKHZhbCA9PSBcIkFTQ1wiIHx8IHZhbCA9PSBcIkRFU0NcIil7XHJcbiAgICAgICAgICAgICAgaXNTb3J0aW5nQXBwbGllZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBpc1NvcnRpbmdBcHBsaWVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUXVlcnlQYXJhbXNGaWx0ZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIG9wZXJhdGlvbjogXCJBRERcIiB8IFwiREVMRVRFXCIsIHF1ZXJ5UGFyYW1PYmo6IGFueSkge1xyXG4gICAgICBpZiAob3BlcmF0aW9uID09IFwiQUREXCIpIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1PYmpba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PSBcIkRFTEVURVwiKSB7XHJcbiAgICAgICAgICBkZWxldGUgcXVlcnlQYXJhbU9ialtrZXldO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gcXVlcnlQYXJhbU9iajtcclxuICB9XHJcbn1cclxuIl19