tango-app-ui-analyse-report 3.3.1-alpha.3 → 3.3.1-alpha.4
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.
- package/esm2022/lib/components/get-download-report/get-download-report.component.mjs +61 -0
- package/esm2022/lib/components/tango-analyse-report/tango-analyse-report.component.mjs +28 -0
- package/esm2022/lib/components/user-report/user-report.component.mjs +306 -0
- package/esm2022/lib/service/analysereport.service.mjs +68 -0
- package/esm2022/lib/tango-analyse-report-routing.module.mjs +24 -0
- package/esm2022/lib/tango-analyse-report.module.mjs +43 -0
- package/esm2022/public-api.mjs +6 -0
- package/esm2022/tango-app-ui-analyse-report.mjs +5 -0
- package/fesm2022/tango-app-ui-analyse-report.mjs +520 -0
- package/fesm2022/tango-app-ui-analyse-report.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/get-download-report/get-download-report.component.d.ts +17 -0
- package/lib/components/tango-analyse-report/tango-analyse-report.component.d.ts +11 -0
- package/lib/components/user-report/user-report.component.d.ts +61 -0
- package/lib/service/analysereport.service.d.ts +24 -0
- package/lib/tango-analyse-report-routing.module.d.ts +7 -0
- package/lib/tango-analyse-report.module.d.ts +14 -0
- package/package.json +25 -12
- package/{src/public-api.ts → public-api.d.ts} +2 -6
- package/.eslintrc.json +0 -37
- package/ng-package.json +0 -7
- package/src/lib/components/get-download-report/get-download-report.component.html +0 -15
- package/src/lib/components/get-download-report/get-download-report.component.scss +0 -6
- package/src/lib/components/get-download-report/get-download-report.component.spec.ts +0 -23
- package/src/lib/components/get-download-report/get-download-report.component.ts +0 -61
- package/src/lib/components/tango-analyse-report/tango-analyse-report.component.html +0 -1
- package/src/lib/components/tango-analyse-report/tango-analyse-report.component.scss +0 -0
- package/src/lib/components/tango-analyse-report/tango-analyse-report.component.spec.ts +0 -23
- package/src/lib/components/tango-analyse-report/tango-analyse-report.component.ts +0 -26
- package/src/lib/components/user-report/user-report.component.html +0 -241
- package/src/lib/components/user-report/user-report.component.scss +0 -196
- package/src/lib/components/user-report/user-report.component.spec.ts +0 -23
- package/src/lib/components/user-report/user-report.component.ts +0 -296
- package/src/lib/service/analysereport.service.spec.ts +0 -16
- package/src/lib/service/analysereport.service.ts +0 -74
- package/src/lib/tango-analyse-report-routing.module.ts +0 -16
- package/src/lib/tango-analyse-report.module.ts +0 -28
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../service/analysereport.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class GetDownloadReportComponent {
|
|
6
|
+
service;
|
|
7
|
+
data;
|
|
8
|
+
activeData;
|
|
9
|
+
reportList;
|
|
10
|
+
noData = false;
|
|
11
|
+
constructor(service) {
|
|
12
|
+
this.service = service;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.getReportList();
|
|
16
|
+
}
|
|
17
|
+
getReportList() {
|
|
18
|
+
let payload = {
|
|
19
|
+
fileDate: this.data?.fileDate,
|
|
20
|
+
clientId: this.data?.clientId
|
|
21
|
+
};
|
|
22
|
+
this.service.getReportList(payload).subscribe({
|
|
23
|
+
next: (res) => {
|
|
24
|
+
if (res && res.code === 200) {
|
|
25
|
+
this.reportList = res?.data?.result;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.noData = true;
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
complete: () => {
|
|
32
|
+
},
|
|
33
|
+
error: (err) => {
|
|
34
|
+
this.noData = true;
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
downLoadData(type) {
|
|
39
|
+
this.service.downloadReport(type).subscribe((res) => {
|
|
40
|
+
this.saveFile(res, type.split('/').pop());
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
saveFile(buffer, filename) {
|
|
44
|
+
const blob = new Blob([buffer], { type: 'application/octet-stream' });
|
|
45
|
+
const url = window.URL.createObjectURL(blob);
|
|
46
|
+
const anchor = document.createElement('a');
|
|
47
|
+
anchor.href = url;
|
|
48
|
+
anchor.download = filename;
|
|
49
|
+
anchor.click();
|
|
50
|
+
window.URL.revokeObjectURL(url);
|
|
51
|
+
}
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetDownloadReportComponent, deps: [{ token: i1.AnalysereportService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GetDownloadReportComponent, selector: "lib-get-download-report", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"card border-0\">\r\n <div class=\"card-header\">\r\n <span class=\"card-title\">Report History</span>\r\n </div>\r\n <div *ngIf=\"!noData\" class=\"card-body\">\r\n <div *ngFor=\"let list of reportList\">\r\n <div class=\"DownloadReport mb-5 cursor-pointer\" (click)=\"downLoadData(list?.Key)\">{{list?.Key.split('/').splice(1).join('/')}}||{{list?.LastModified}}</div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"card-body border-0\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div> \r\n </div>\r\n</div> \r\n", styles: [".DownloadReport{font-size:16px;font-weight:600;text-decoration:underline;color:#00a3ff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetDownloadReportComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'lib-get-download-report', template: "<div class=\"card border-0\">\r\n <div class=\"card-header\">\r\n <span class=\"card-title\">Report History</span>\r\n </div>\r\n <div *ngIf=\"!noData\" class=\"card-body\">\r\n <div *ngFor=\"let list of reportList\">\r\n <div class=\"DownloadReport mb-5 cursor-pointer\" (click)=\"downLoadData(list?.Key)\">{{list?.Key.split('/').splice(1).join('/')}}||{{list?.LastModified}}</div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"card-body border-0\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div> \r\n </div>\r\n</div> \r\n", styles: [".DownloadReport{font-size:16px;font-weight:600;text-decoration:underline;color:#00a3ff}\n"] }]
|
|
58
|
+
}], ctorParameters: () => [{ type: i1.AnalysereportService }], propDecorators: { data: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRvd25sb2FkLXJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXJlcG9ydC9zcmMvbGliL2NvbXBvbmVudHMvZ2V0LWRvd25sb2FkLXJlcG9ydC9nZXQtZG93bmxvYWQtcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtcmVwb3J0L3NyYy9saWIvY29tcG9uZW50cy9nZXQtZG93bmxvYWQtcmVwb3J0L2dldC1kb3dubG9hZC1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFReEQsTUFBTSxPQUFPLDBCQUEwQjtJQU1uQjtJQUxULElBQUksQ0FBSztJQUNsQixVQUFVLENBQU07SUFDaEIsVUFBVSxDQUFNO0lBQ2hCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFFekIsWUFBb0IsT0FBNEI7UUFBNUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7SUFFaEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLE9BQU8sR0FBRztZQUNaLFFBQVEsRUFBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVE7WUFDOUIsUUFBUSxFQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUTtTQUMvQixDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzVDLElBQUksRUFBQyxDQUFDLEdBQU8sRUFBRSxFQUFFO2dCQUNmLElBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFDO29CQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO2lCQUNyQztxQkFBSTtvQkFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztpQkFDcEI7WUFDSCxDQUFDO1lBQ0QsUUFBUSxFQUFDLEdBQUUsRUFBRTtZQUViLENBQUM7WUFDRCxLQUFLLEVBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFRO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFQSxRQUFRLENBQUMsTUFBbUIsRUFBRSxRQUFnQjtRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7d0dBbERZLDBCQUEwQjs0RkFBMUIsMEJBQTBCLHlGQ1J2Qyw0dUJBZUE7OzRGRFBhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7eUZBSzFCLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFuYWx5c2VyZXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hbmFseXNlcmVwb3J0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZ2V0LWRvd25sb2FkLXJlcG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dldC1kb3dubG9hZC1yZXBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9nZXQtZG93bmxvYWQtcmVwb3J0LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgR2V0RG93bmxvYWRSZXBvcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRhdGE6YW55O1xyXG4gIGFjdGl2ZURhdGE6IGFueTtcclxuICByZXBvcnRMaXN0OiBhbnk7XHJcbiAgbm9EYXRhOmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbmNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTpBbmFseXNlcmVwb3J0U2VydmljZSl7XHJcblxyXG59XHJcblxyXG5uZ09uSW5pdCgpe1xyXG4gIHRoaXMuZ2V0UmVwb3J0TGlzdCgpO1xyXG59XHJcblxyXG5nZXRSZXBvcnRMaXN0KCl7XHJcbiAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICBmaWxlRGF0ZSA6IHRoaXMuZGF0YT8uZmlsZURhdGUsXHJcbiAgICBjbGllbnRJZCA6IHRoaXMuZGF0YT8uY2xpZW50SWRcclxuICB9XHJcbiAgdGhpcy5zZXJ2aWNlLmdldFJlcG9ydExpc3QocGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6KHJlczphbnkpID0+IHtcclxuICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4gICAgICAgIHRoaXMucmVwb3J0TGlzdCA9IHJlcz8uZGF0YT8ucmVzdWx0O1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTooKT0+e1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuICAgIGVycm9yOihlcnIpPT57XHJcbiAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgIH0sXHJcbiAgfSlcclxufVxyXG5cclxuZG93bkxvYWREYXRhKHR5cGU6YW55KXtcclxuICB0aGlzLnNlcnZpY2UuZG93bmxvYWRSZXBvcnQodHlwZSkuc3Vic2NyaWJlKChyZXMpPT57XHJcbiAgICB0aGlzLnNhdmVGaWxlKHJlcywgdHlwZS5zcGxpdCgnLycpLnBvcCgpKVxyXG4gIH0pXHJcbn1cclxuXHJcbiBzYXZlRmlsZShidWZmZXI6IEFycmF5QnVmZmVyLCBmaWxlbmFtZTogc3RyaW5nKSB7XHJcbiAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nIH0pO1xyXG4gIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gIGNvbnN0IGFuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICBhbmNob3IuaHJlZiA9IHVybDtcclxuICBhbmNob3IuZG93bmxvYWQgPSBmaWxlbmFtZTtcclxuICBhbmNob3IuY2xpY2soKTtcclxuICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xyXG59XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGVcIj5SZXBvcnQgSGlzdG9yeTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFub0RhdGFcIiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxpc3Qgb2YgcmVwb3J0TGlzdFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiRG93bmxvYWRSZXBvcnQgbWItNSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJkb3duTG9hZERhdGEobGlzdD8uS2V5KVwiPnt7bGlzdD8uS2V5LnNwbGl0KCcvJykuc3BsaWNlKDEpLmpvaW4oJy8nKX19fHx7e2xpc3Q/Lkxhc3RNb2RpZmllZH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cImNhcmQtYm9keSBib3JkZXItMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIHctMjVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgPC9kaXY+IFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiBcclxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "tango-app-ui-global";
|
|
4
|
+
import * as i2 from "../user-report/user-report.component";
|
|
5
|
+
export class TangoAnalyseReportComponent {
|
|
6
|
+
pageInfo;
|
|
7
|
+
constructor(pageInfo) {
|
|
8
|
+
this.pageInfo = pageInfo;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.setPageData();
|
|
12
|
+
}
|
|
13
|
+
setPageData() {
|
|
14
|
+
this.pageInfo.setTitle('Reports');
|
|
15
|
+
this.pageInfo.setDescription('Reports');
|
|
16
|
+
this.pageInfo.setBreadcrumbs([
|
|
17
|
+
{ title: 'Analyze', path: '/manage/traffic', isActive: false, isSeparator: false },
|
|
18
|
+
{ title: 'Analyze', path: '/manage/traffic', isActive: false, isSeparator: true },
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseReportComponent, deps: [{ token: i1.PageInfoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoAnalyseReportComponent, selector: "lib-tango-analyse-report", ngImport: i0, template: "<lib-user-report></lib-user-report>", styles: [""], dependencies: [{ kind: "component", type: i2.UserReportComponent, selector: "lib-user-report" }] });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseReportComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'lib-tango-analyse-report', template: "<lib-user-report></lib-user-report>" }]
|
|
27
|
+
}], ctorParameters: () => [{ type: i1.PageInfoService }] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS1yZXBvcnQvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2UtcmVwb3J0L3RhbmdvLWFuYWx5c2UtcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtcmVwb3J0L3NyYy9saWIvY29tcG9uZW50cy90YW5nby1hbmFseXNlLXJlcG9ydC90YW5nby1hbmFseXNlLXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWxELE1BQU0sT0FBTywyQkFBMkI7SUFFbkI7SUFBbkIsWUFBbUIsUUFBd0I7UUFBeEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7SUFBRyxDQUFDO0lBRS9DLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVBLFdBQVc7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUNsRixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtTQUNsRixDQUFDLENBQUE7SUFDSixDQUFDO3dHQWZVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLGdFQ1J4QyxxQ0FBbUM7OzRGRFF0QiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1hbmFseXNlLXJlcG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLWFuYWx5c2UtcmVwb3J0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYW5hbHlzZS1yZXBvcnQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb0FuYWx5c2VSZXBvcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFnZUluZm86UGFnZUluZm9TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICB9XHJcblxyXG4gICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoJ1JlcG9ydHMnKVxyXG4gICAgdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbignUmVwb3J0cycpXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogJ0FuYWx5emUnLCBwYXRoOiAnL21hbmFnZS90cmFmZmljJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogZmFsc2UgfSxcclxuICAgICAgeyB0aXRsZTogJ0FuYWx5emUnLCBwYXRoOiAnL21hbmFnZS90cmFmZmljJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSlcclxuICB9XHJcblxyXG59XHJcbiIsIjxsaWItdXNlci1yZXBvcnQ+PC9saWItdXNlci1yZXBvcnQ+Il19
|