@hmcts/ccd-case-ui-toolkit 6.19.5-case-file-view-document-upload-date → 6.19.5-restricted-case-access
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/bundles/hmcts-ccd-case-ui-toolkit.umd.js +103 -377
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +10 -6
- package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +3 -6
- package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +20 -30
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +2 -2
- package/esm2015/lib/shared/components/palette/complex/sort-order.js +7 -0
- package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +1 -1
- package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +13 -39
- package/esm2015/lib/shared/domain/case-file-view/index.js +2 -3
- package/esm2015/lib/shared/domain/index.js +10 -10
- package/esm2015/lib/shared/domain/search/sorting/sort-order.js +7 -0
- package/esm2015/lib/shared/domain/search/sorting/sort-parameters.js +1 -1
- package/esm2015/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.js +2 -2
- package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +1 -12
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +81 -353
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +2 -2
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +2 -2
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
- package/lib/shared/{domain/sort-order.enum.d.ts → components/palette/complex/sort-order.d.ts} +1 -1
- package/lib/shared/components/palette/complex/sort-order.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -1
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +2 -4
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -1
- package/lib/shared/domain/case-file-view/index.d.ts +1 -2
- package/lib/shared/domain/case-file-view/index.d.ts.map +1 -1
- package/lib/shared/domain/index.d.ts +9 -9
- package/lib/shared/domain/index.d.ts.map +1 -1
- package/lib/shared/domain/search/sorting/sort-order.d.ts +6 -0
- package/lib/shared/domain/search/sorting/sort-order.d.ts.map +1 -0
- package/lib/shared/domain/search/sorting/sort-parameters.d.ts +1 -1
- package/lib/shared/domain/search/sorting/sort-parameters.d.ts.map +1 -1
- package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/esm2015/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.js +0 -233
- package/esm2015/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.js +0 -6
- package/esm2015/lib/shared/domain/sort-order.enum.js +0 -7
- package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts +0 -3
- package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts.map +0 -1
- package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts +0 -5
- package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts.map +0 -1
- package/lib/shared/domain/sort-order.enum.d.ts.map +0 -1
|
@@ -63,7 +63,7 @@ export class CaseResolver {
|
|
|
63
63
|
else {
|
|
64
64
|
console.info('getAndCacheCaseView - Path B.');
|
|
65
65
|
return this.caseNotifier.fetchAndRefresh(cid)
|
|
66
|
-
.pipe(catchError(error => this.processErrorInCaseFetch(error)))
|
|
66
|
+
.pipe(catchError(error => this.processErrorInCaseFetch(error, cid)))
|
|
67
67
|
.toPromise();
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -75,9 +75,9 @@ export class CaseResolver {
|
|
|
75
75
|
this.caseNotifier.cachedCaseView = plainToClassFromExist(new CaseView(), caseView);
|
|
76
76
|
this.caseNotifier.announceCase(this.caseNotifier.cachedCaseView);
|
|
77
77
|
return this.caseNotifier.cachedCaseView;
|
|
78
|
-
}), catchError(error => this.processErrorInCaseFetch(error))).toPromise();
|
|
78
|
+
}), catchError(error => this.processErrorInCaseFetch(error, cid))).toPromise();
|
|
79
79
|
}
|
|
80
|
-
processErrorInCaseFetch(error) {
|
|
80
|
+
processErrorInCaseFetch(error, caseReference) {
|
|
81
81
|
console.error('!!! processErrorInCaseFetch !!!');
|
|
82
82
|
console.error(error);
|
|
83
83
|
// TODO Should be logged to remote logging infrastructure
|
|
@@ -85,12 +85,16 @@ export class CaseResolver {
|
|
|
85
85
|
this.router.navigate(['/search/noresults']);
|
|
86
86
|
return of(null);
|
|
87
87
|
}
|
|
88
|
-
console.error(error);
|
|
89
88
|
if (CaseResolver.EVENT_REGEX.test(this.previousUrl) && error.status === 404) {
|
|
90
89
|
this.router.navigate(['/list/case']);
|
|
91
90
|
return of(null);
|
|
92
91
|
}
|
|
93
|
-
|
|
92
|
+
// Error 403, navigate to restricted case access page
|
|
93
|
+
if (error.status === 403) {
|
|
94
|
+
this.router.navigate([`/cases/restricted-case-access/${caseReference}`]);
|
|
95
|
+
return of(null);
|
|
96
|
+
}
|
|
97
|
+
if (error.status !== 401) {
|
|
94
98
|
this.router.navigate(['/error']);
|
|
95
99
|
}
|
|
96
100
|
this.goToDefaultPage();
|
|
@@ -121,4 +125,4 @@ CaseResolver.ɵprov = i0.ɵɵdefineInjectable({ token: CaseResolver, factory: Ca
|
|
|
121
125
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseResolver, [{
|
|
122
126
|
type: Injectable
|
|
123
127
|
}], function () { return [{ type: i1.CaseNotifier }, { type: i2.DraftService }, { type: i3.NavigationNotifierService }, { type: i4.Router }, { type: i2.SessionStorageService }]; }, null); })();
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9zZXJ2aWNlcy9jYXNlLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQVcsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFHakQsTUFBTSxPQUFPLFlBQVk7SUFXdkIsWUFBb0IsWUFBMEIsRUFDMUIsWUFBMEIsRUFDMUIseUJBQW9ELEVBQ3BELE1BQWMsRUFDZCxjQUFxQztRQUpyQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7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LENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDOztBQWxIc0Isd0JBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3BELDBCQUFhLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLDZCQUFnQixHQUFHLHdDQUF3QyxDQUFDO0FBRXJFLDBCQUFhLEdBQUcsb0JBQW9CLENBQUM7QUFDckMsd0JBQVcsR0FBRyxRQUFRLENBQUM7d0VBTjFCLFlBQVk7b0RBQVosWUFBWSxXQUFaLFlBQVk7dUZBQVosWUFBWTtjQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUmVzb2x2ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ2FzZVZpZXcsIERyYWZ0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IERyYWZ0U2VydmljZSwgTmF2aWdhdGlvbk9yaWdpbiwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1ub3RpZmllci5zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VOb3RpZmllciB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhc2VSZXNvbHZlciBpbXBsZW1lbnRzIFJlc29sdmU8Q2FzZVZpZXc+IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFVkVOVF9SRUdFWCA9IG5ldyBSZWdFeHAoJ1xcL3RyaWdnZXJcXC8uKj9cXC9zdWJtaXQkJyk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9JRCA9ICdjaWQnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENBU0VfQ1JFQVRFRF9NU0cgPSAnVGhlIGNhc2UgaGFzIGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHknO1xuXG4gIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFdBUGFnZSA9ICcvd29yay9teS13b3JrL2xpc3QnO1xuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQYWdlID0gJy9jYXNlcyc7XG4gIC8vIHdlIG5lZWQgdG8gcnVuIHRoZSBDYXNlUmVzb2x2ZXIgb24gZXZlcnkgY2hpbGQgcm91dGUgb2YgJ2Nhc2UvOmppZC86Y3RpZC86Y2lkJ1xuICAvLyB0aGlzIGlzIGFjaGlldmVkIHdpdGggcnVuR3VhcmRzQW5kUmVzb2x2ZXJzOiAnYWx3YXlzJyBjb25maWd1cmF0aW9uXG4gIC8vIHdlIGNhY2hlIHRoZSBjYXNlIHZpZXcgdG8gYXZvaWQgcmV0cmlldmluZyBpdCBmb3IgZWFjaCBjaGlsZCByb3V0ZVxuICBwdWJsaWMgcHJldmlvdXNVcmw6IHN0cmluZztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkcmFmdFNlcnZpY2U6IERyYWZ0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlOiBOYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UpIHtcbiAgICByb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgICB0aGlzLnByZXZpb3VzVXJsID0gZXZlbnQudXJsO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFByb21pc2U8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCBjaWQgPSByb3V0ZS5wYXJhbU1hcC5nZXQoQ2FzZVJlc29sdmVyLlBBUkFNX0NBU0VfSUQpO1xuXG4gICAgaWYgKCFjaWQpIHtcbiAgICAgIGNvbnNvbGUuaW5mbygnTm8gY2FzZSBJRCBhdmFpbGFibGUgaW4gdGhlIHJvdXRlLiBXaWxsIG5hdmlnYXRlIHRvIGNhc2UgbGlzdC4nKTtcbiAgICAgIC8vIHdoZW4gcmVkaXJlY3RlZCB0byBjYXNlIHZpZXcgYWZ0ZXIgYSBjYXNlIGNyZWF0ZWQsIGFuZCB0aGUgdXNlciBoYXMgbm8gUkVBRCBhY2Nlc3MsXG4gICAgICAvLyB0aGUgcG9zdCByZXR1cm5zIG5vIGlkXG4gICAgICB0aGlzLm5hdmlnYXRlVG9DYXNlTGlzdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1Jvb3RDYXNlVmlld1JvdXRlKHJvdXRlKSA/IHRoaXMuZ2V0QW5kQ2FjaGVDYXNlVmlldyhjaWQpXG4gICAgICAgIDogdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcgPyBQcm9taXNlLnJlc29sdmUodGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcpXG4gICAgICAgIDogdGhpcy5nZXRBbmRDYWNoZUNhc2VWaWV3KGNpZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvQ2FzZUxpc3QoKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlLmFubm91bmNlTmF2aWdhdGlvbih7YWN0aW9uOiBOYXZpZ2F0aW9uT3JpZ2luLk5PX1JFQURfQUNDRVNTX1JFRElSRUNUSU9OfSk7XG4gIH1cblxuICBwcml2YXRlIGlzUm9vdENhc2VWaWV3Um91dGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcbiAgICAvLyBpcyByb3V0ZSBjYXNlLzpqaWQvOmN0aWQvOmNpZFxuICAgIHJldHVybiAoKCFyb3V0ZS5maXJzdENoaWxkIHx8ICFyb3V0ZS5maXJzdENoaWxkLnVybC5sZW5ndGgpICYmICF0aGlzLmlzVGFiVmlld1JvdXRlKHJvdXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGlzVGFiVmlld1JvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XG4gICAgLy8gaXMgcm91dGUgY2FzZS86amlkLzpjdGlkLzpjaWQjZnJhZ21lbnRcbiAgICByZXR1cm4gcm91dGUuZmlyc3RDaGlsZCAmJiByb3V0ZS5maXJzdENoaWxkLmZyYWdtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbmRDYWNoZUNhc2VWaWV3KGNpZCk6IFByb21pc2U8Q2FzZVZpZXc+IHtcbiAgICBjb25zb2xlLmluZm8oJ2dldEFuZENhY2hlQ2FzZVZpZXcgc3RhcnRlZC4nKTtcbiAgICBpZiAodGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcgJiYgdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcuY2FzZV9pZCAmJiB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldy5jYXNlX2lkID09PSBjaWQpIHtcbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyLmFubm91bmNlQ2FzZSh0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldyk7XG4gICAgICBjb25zb2xlLmluZm8oJ2dldEFuZENhY2hlQ2FzZVZpZXcgLSBQYXRoIEEuJyk7XG4gICAgICByZXR1cm4gb2YodGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcpLnRvUHJvbWlzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoRHJhZnQuaXNEcmFmdChjaWQpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFuZENhY2hlRHJhZnQoY2lkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmluZm8oJ2dldEFuZENhY2hlQ2FzZVZpZXcgLSBQYXRoIEIuJyk7XG4gICAgICAgIHJldHVybiB0aGlzLmNhc2VOb3RpZmllci5mZXRjaEFuZFJlZnJlc2goY2lkKVxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyb3IgPT4gdGhpcy5wcm9jZXNzRXJyb3JJbkNhc2VGZXRjaChlcnJvcikpKVxuICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEFuZENhY2hlRHJhZnQoY2lkKTogUHJvbWlzZTxDYXNlVmlldz4ge1xuICAgICAgcmV0dXJuIHRoaXMuZHJhZnRTZXJ2aWNlXG4gICAgICAuZ2V0RHJhZnQoY2lkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjYXNlVmlldyA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VWaWV3KCksIGNhc2VWaWV3KTtcbiAgICAgICAgICB0aGlzLmNhc2VOb3RpZmllci5hbm5vdW5jZUNhc2UodGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldztcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4gdGhpcy5wcm9jZXNzRXJyb3JJbkNhc2VGZXRjaChlcnJvcikpXG4gICAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRXJyb3JJbkNhc2VGZXRjaChlcnJvcjogYW55KSB7XG4gICAgY29uc29sZS5lcnJvcignISEhIHByb2Nlc3NFcnJvckluQ2FzZUZldGNoICEhIScpO1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIC8vIFRPRE8gU2hvdWxkIGJlIGxvZ2dlZCB0byByZW1vdGUgbG9nZ2luZyBpbmZyYXN0cnVjdHVyZVxuICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvc2VhcmNoL25vcmVzdWx0cyddKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgaWYgKENhc2VSZXNvbHZlci5FVkVOVF9SRUdFWC50ZXN0KHRoaXMucHJldmlvdXNVcmwpICYmIGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9saXN0L2Nhc2UnXSk7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuICAgIGlmIChlcnJvci5zdGF0dXMgIT09IDQwMSAmJiBlcnJvci5zdGF0dXMgIT09IDQwMykge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZXJyb3InXSk7XG4gICAgfVxuICAgIHRoaXMuZ29Ub0RlZmF1bHRQYWdlKCk7XG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICB9XG5cbiAgLy8gYXMgZGlzY3Vzc2VkIGZvciBFVUktNTQ1NiwgbmVlZCBmdW5jdGlvbmFsaXR5IHRvIGdvIHRvIGRlZmF1bHQgcGFnZVxuICBwcml2YXRlIGdvVG9EZWZhdWx0UGFnZSgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmluZm8oJ0dvaW5nIHRvIGRlZmF1bHQgcGFnZSEnKTtcbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpKTtcbiAgICB1c2VyRGV0YWlscyAmJiB1c2VyRGV0YWlscy5yb2xlc1xuICAgICAgICAmJiAhdXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ3B1aS1jYXNlLW1hbmFnZXInKVxuICAgICAgICAmJlxuICAgICAgICAodXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ2Nhc2V3b3JrZXItaWEtaWFjanVkZ2UnKVxuICAgICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdjYXNld29ya2VyLWlhLWNhc2VvZmZpY2VyJylcbiAgICAgICAgICB8fCB1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygnY2FzZXdvcmtlci1pYS1hZG1vZmZpY2VyJylcbiAgICAgICAgICB8fCB1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygnY2FzZXdvcmtlci1jaXZpbCcpXG4gICAgICAgICAgfHwgdXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ2Nhc2V3b3JrZXItcHJpdmF0ZWxhdycpKVxuICAgICAgICA/IHRoaXMucm91dGVyLm5hdmlnYXRlKFtDYXNlUmVzb2x2ZXIuZGVmYXVsdFdBUGFnZV0pIDogdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0Nhc2VSZXNvbHZlci5kZWZhdWx0UGFnZV0pO1xuICB9XG59XG4iXX0=
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9zZXJ2aWNlcy9jYXNlLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQVcsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFHakQsTUFBTSxPQUFPLFlBQVk7SUFXdkIsWUFBb0IsWUFBMEIsRUFDMUIsWUFBMEIsRUFDMUIseUJBQW9ELEVBQ3BELE1BQWMsRUFDZCxjQUFxQztRQUpyQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDdkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDO2FBQ2hFLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQTZCO1FBQzFDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1lBQy9FLHNGQUFzRjtZQUN0Rix5QkFBeUI7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO2dCQUNwRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7b0JBQ3RGLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQywwQkFBMEIsRUFBQyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQTZCO1FBQ3ZELGdDQUFnQztRQUNoQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQTZCO1FBQ2xELHlDQUF5QztRQUN6QyxPQUFPLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDdkQsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEdBQUc7UUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUU7WUFDcEksSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRSxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDOUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN6RDthQUFNO1lBQ0wsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNuQztpQkFBTTtnQkFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO3FCQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO3FCQUNuRSxTQUFTLEVBQUUsQ0FBQzthQUNoQjtTQUNGO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEdBQUc7UUFDeEIsT0FBTyxJQUFJLENBQUMsWUFBWTthQUN2QixRQUFRLENBQUMsR0FBRyxDQUFDO2FBQ2IsSUFBSSxDQUNILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDOUQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBVSxFQUFFLGFBQXFCO1FBQy9ELE9BQU8sQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLHlEQUF5RDtRQUN6RCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QscURBQXFEO1FBQ3JELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxpQ0FBaUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELHNFQUFzRTtJQUM5RCxlQUFlO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDM0UsV0FBVyxJQUFJLFdBQVcsQ0FBQyxLQUFLO2VBQ3pCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7O2dCQUVsRCxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDO3VCQUNoRCxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQzt1QkFDdkQsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUM7dUJBQ3RELFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO3VCQUM5QyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7O0FBdEhzQix3QkFBVyxHQUFHLElBQUksTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDcEQsMEJBQWEsR0FBRyxLQUFLLENBQUM7QUFDdEIsNkJBQWdCLEdBQUcsd0NBQXdDLENBQUM7QUFFckUsMEJBQWEsR0FBRyxvQkFBb0IsQ0FBQztBQUNyQyx3QkFBVyxHQUFHLFFBQVEsQ0FBQzt3RUFOMUIsWUFBWTtvREFBWixZQUFZLFdBQVosWUFBWTt1RkFBWixZQUFZO2NBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBOYXZpZ2F0aW9uRW5kLCBSZXNvbHZlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzRnJvbUV4aXN0IH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDYXNlVmlldywgRHJhZnQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRHJhZnRTZXJ2aWNlLCBOYXZpZ2F0aW9uT3JpZ2luLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLW5vdGlmaWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FzZVJlc29sdmVyIGltcGxlbWVudHMgUmVzb2x2ZTxDYXNlVmlldz4ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVWRU5UX1JFR0VYID0gbmV3IFJlZ0V4cCgnXFwvdHJpZ2dlclxcLy4qP1xcL3N1Ym1pdCQnKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX0lEID0gJ2NpZCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DUkVBVEVEX01TRyA9ICdUaGUgY2FzZSBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseSc7XG5cbiAgcHVibGljIHN0YXRpYyBkZWZhdWx0V0FQYWdlID0gJy93b3JrL215LXdvcmsvbGlzdCc7XG4gIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFBhZ2UgPSAnL2Nhc2VzJztcbiAgLy8gd2UgbmVlZCB0byBydW4gdGhlIENhc2VSZXNvbHZlciBvbiBldmVyeSBjaGlsZCByb3V0ZSBvZiAnY2FzZS86amlkLzpjdGlkLzpjaWQnXG4gIC8vIHRoaXMgaXMgYWNoaWV2ZWQgd2l0aCBydW5HdWFyZHNBbmRSZXNvbHZlcnM6ICdhbHdheXMnIGNvbmZpZ3VyYXRpb25cbiAgLy8gd2UgY2FjaGUgdGhlIGNhc2UgdmlldyB0byBhdm9pZCByZXRyaWV2aW5nIGl0IGZvciBlYWNoIGNoaWxkIHJvdXRlXG4gIHB1YmxpYyBwcmV2aW91c1VybDogc3RyaW5nO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGRyYWZ0U2VydmljZTogRHJhZnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2U6IE5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgc2Vzc2lvblN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSkge1xuICAgIHJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICAgIHRoaXMucHJldmlvdXNVcmwgPSBldmVudC51cmw7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUHJvbWlzZTxDYXNlVmlldz4ge1xuICAgIGNvbnN0IGNpZCA9IHJvdXRlLnBhcmFtTWFwLmdldChDYXNlUmVzb2x2ZXIuUEFSQU1fQ0FTRV9JRCk7XG5cbiAgICBpZiAoIWNpZCkge1xuICAgICAgY29uc29sZS5pbmZvKCdObyBjYXNlIElEIGF2YWlsYWJsZSBpbiB0aGUgcm91dGUuIFdpbGwgbmF2aWdhdGUgdG8gY2FzZSBsaXN0LicpO1xuICAgICAgLy8gd2hlbiByZWRpcmVjdGVkIHRvIGNhc2UgdmlldyBhZnRlciBhIGNhc2UgY3JlYXRlZCwgYW5kIHRoZSB1c2VyIGhhcyBubyBSRUFEIGFjY2VzcyxcbiAgICAgIC8vIHRoZSBwb3N0IHJldHVybnMgbm8gaWRcbiAgICAgIHRoaXMubmF2aWdhdGVUb0Nhc2VMaXN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmlzUm9vdENhc2VWaWV3Um91dGUocm91dGUpID8gdGhpcy5nZXRBbmRDYWNoZUNhc2VWaWV3KGNpZClcbiAgICAgICAgOiB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldyA/IFByb21pc2UucmVzb2x2ZSh0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldylcbiAgICAgICAgOiB0aGlzLmdldEFuZENhY2hlQ2FzZVZpZXcoY2lkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9DYXNlTGlzdCgpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UuYW5ub3VuY2VOYXZpZ2F0aW9uKHthY3Rpb246IE5hdmlnYXRpb25PcmlnaW4uTk9fUkVBRF9BQ0NFU1NfUkVESVJFQ1RJT059KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNSb290Q2FzZVZpZXdSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xuICAgIC8vIGlzIHJvdXRlIGNhc2UvOmppZC86Y3RpZC86Y2lkXG4gICAgcmV0dXJuICgoIXJvdXRlLmZpcnN0Q2hpbGQgfHwgIXJvdXRlLmZpcnN0Q2hpbGQudXJsLmxlbmd0aCkgJiYgIXRoaXMuaXNUYWJWaWV3Um91dGUocm91dGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNUYWJWaWV3Um91dGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcbiAgICAvLyBpcyByb3V0ZSBjYXNlLzpqaWQvOmN0aWQvOmNpZCNmcmFnbWVudFxuICAgIHJldHVybiByb3V0ZS5maXJzdENoaWxkICYmIHJvdXRlLmZpcnN0Q2hpbGQuZnJhZ21lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldEFuZENhY2hlQ2FzZVZpZXcoY2lkKTogUHJvbWlzZTxDYXNlVmlldz4ge1xuICAgIGNvbnNvbGUuaW5mbygnZ2V0QW5kQ2FjaGVDYXNlVmlldyBzdGFydGVkLicpO1xuICAgIGlmICh0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldyAmJiB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldy5jYXNlX2lkICYmIHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3LmNhc2VfaWQgPT09IGNpZCkge1xuICAgICAgdGhpcy5jYXNlTm90aWZpZXIuYW5ub3VuY2VDYXNlKHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3KTtcbiAgICAgIGNvbnNvbGUuaW5mbygnZ2V0QW5kQ2FjaGVDYXNlVmlldyAtIFBhdGggQS4nKTtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldykudG9Qcm9taXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChEcmFmdC5pc0RyYWZ0KGNpZCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QW5kQ2FjaGVEcmFmdChjaWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuaW5mbygnZ2V0QW5kQ2FjaGVDYXNlVmlldyAtIFBhdGggQi4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjaWQpXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlcnJvciA9PiB0aGlzLnByb2Nlc3NFcnJvckluQ2FzZUZldGNoKGVycm9yLCBjaWQpKSlcbiAgICAgICAgICAudG9Qcm9taXNlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbmRDYWNoZURyYWZ0KGNpZCk6IFByb21pc2U8Q2FzZVZpZXc+IHtcbiAgICAgIHJldHVybiB0aGlzLmRyYWZ0U2VydmljZVxuICAgICAgLmdldERyYWZ0KGNpZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoY2FzZVZpZXcgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3ID0gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlVmlldygpLCBjYXNlVmlldyk7XG4gICAgICAgICAgdGhpcy5jYXNlTm90aWZpZXIuYW5ub3VuY2VDYXNlKHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXc7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHRoaXMucHJvY2Vzc0Vycm9ySW5DYXNlRmV0Y2goZXJyb3IsIGNpZCkpXG4gICAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRXJyb3JJbkNhc2VGZXRjaChlcnJvcjogYW55LCBjYXNlUmVmZXJlbmNlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmVycm9yKCchISEgcHJvY2Vzc0Vycm9ySW5DYXNlRmV0Y2ggISEhJyk7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgLy8gVE9ETyBTaG91bGQgYmUgbG9nZ2VkIHRvIHJlbW90ZSBsb2dnaW5nIGluZnJhc3RydWN0dXJlXG4gICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zZWFyY2gvbm9yZXN1bHRzJ10pO1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBpZiAoQ2FzZVJlc29sdmVyLkVWRU5UX1JFR0VYLnRlc3QodGhpcy5wcmV2aW91c1VybCkgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xpc3QvY2FzZSddKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgLy8gRXJyb3IgNDAzLCBuYXZpZ2F0ZSB0byByZXN0cmljdGVkIGNhc2UgYWNjZXNzIHBhZ2VcbiAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL3Jlc3RyaWN0ZWQtY2FzZS1hY2Nlc3MvJHtjYXNlUmVmZXJlbmNlfWBdKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgaWYgKGVycm9yLnN0YXR1cyAhPT0gNDAxKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lcnJvciddKTtcbiAgICB9XG4gICAgdGhpcy5nb1RvRGVmYXVsdFBhZ2UoKTtcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gIH1cblxuICAvLyBhcyBkaXNjdXNzZWQgZm9yIEVVSS01NDU2LCBuZWVkIGZ1bmN0aW9uYWxpdHkgdG8gZ28gdG8gZGVmYXVsdCBwYWdlXG4gIHByaXZhdGUgZ29Ub0RlZmF1bHRQYWdlKCk6IHZvaWQge1xuICAgIGNvbnNvbGUuaW5mbygnR29pbmcgdG8gZGVmYXVsdCBwYWdlIScpO1xuICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykpO1xuICAgIHVzZXJEZXRhaWxzICYmIHVzZXJEZXRhaWxzLnJvbGVzXG4gICAgICAgICYmICF1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygncHVpLWNhc2UtbWFuYWdlcicpXG4gICAgICAgICYmXG4gICAgICAgICh1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygnY2FzZXdvcmtlci1pYS1pYWNqdWRnZScpXG4gICAgICAgICAgfHwgdXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ2Nhc2V3b3JrZXItaWEtY2FzZW9mZmljZXInKVxuICAgICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdjYXNld29ya2VyLWlhLWFkbW9mZmljZXInKVxuICAgICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdjYXNld29ya2VyLWNpdmlsJylcbiAgICAgICAgICB8fCB1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygnY2FzZXdvcmtlci1wcml2YXRlbGF3JykpXG4gICAgICAgID8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0Nhc2VSZXNvbHZlci5kZWZhdWx0V0FQYWdlXSkgOiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQ2FzZVJlc29sdmVyLmRlZmF1bHRQYWdlXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { CaseFileViewSortColumns } from '../../../../../../domain/case-file-view/case-file-view-sort-columns.enum';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../../shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component";
|
|
5
4
|
export class CaseFileViewFolderSortComponent {
|
|
@@ -8,10 +7,8 @@ export class CaseFileViewFolderSortComponent {
|
|
|
8
7
|
this.sortAscending = new EventEmitter();
|
|
9
8
|
this.sortDescending = new EventEmitter();
|
|
10
9
|
this.overlayMenuItems = [
|
|
11
|
-
{ actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit(
|
|
12
|
-
{ actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit(
|
|
13
|
-
{ actionText: 'Recent first', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) },
|
|
14
|
-
{ actionText: 'Oldest first', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) },
|
|
10
|
+
{ actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit() },
|
|
11
|
+
{ actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit() },
|
|
15
12
|
];
|
|
16
13
|
}
|
|
17
14
|
}
|
|
@@ -38,4 +35,4 @@ CaseFileViewFolderSortComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileV
|
|
|
38
35
|
}], sortDescending: [{
|
|
39
36
|
type: Output
|
|
40
37
|
}] }); })();
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRaEUsTUFBTSxPQUFPLCtCQUErQjtJQVUxQztRQVRPLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFTCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXBELHFCQUFnQixHQUFrQztZQUN2RCxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDOUgsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFO1NBQy9ILENBQUM7SUFDYyxDQUFDOzs4R0FWTiwrQkFBK0I7b0VBQS9CLCtCQUErQjtRQ1I1QywwREFJQztRQURDLGdMQUFtQjtRQUVuQixnQ0FBc0I7UUFDcEIseUJBQXVGO1FBQ3pGLDBCQUFlO1FBQ2pCLGlCQUFrQzs7UUFQaEMsZ0RBQWtDLG1DQUFBLHNCQUFBOzt1RkRPdkIsK0JBQStCO2NBTDNDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQyxXQUFXLEVBQUUsNkNBQTZDO2dCQUMxRCxTQUFTLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQzthQUMzRDtzQ0FJa0IsYUFBYTtrQkFBN0IsTUFBTTtZQUNVLGNBQWM7a0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUl0ZW0gfSBmcm9tICcuLi8uLi9zaGFyZWQvY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51L2Nhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudS1pdGVtLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGb2xkZXJTb3J0Q29tcG9uZW50IHtcbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgb3ZlcmxheU1lbnVJdGVtczogQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVJdGVtW10gPSBbXG4gICAgeyBhY3Rpb25UZXh0OiAnQSB0byBaIGFzY2VuZGluZycsIGljb25TcmM6ICcvYXNzZXRzL2ltZy9zb3J0L3NvcnQtZG93bi1hcnJvdy5zdmcnLCBhY3Rpb25GbjogKCkgPT4gdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoKSB9LFxuICAgIHsgYWN0aW9uVGV4dDogJ1ogdG8gQSBkZXNjZW5kaW5nJywgaWNvblNyYzogJy9hc3NldHMvaW1nL3NvcnQvc29ydC11cC1hcnJvdy5zdmcnLCBhY3Rpb25GbjogKCkgPT4gdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KCkgfSxcbiAgXTtcbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiIsIjxjY2QtY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51XG4gIFt0aXRsZV09XCInU29ydCBkb2N1bWVudHMgYnkgbmFtZSdcIlxuICBbbWVudUl0ZW1zXT1cIm92ZXJsYXlNZW51SXRlbXNcIlxuICBbKGlzT3BlbildPVwiaXNPcGVuXCJcbj5cbiAgPG5nLWNvbnRhaW5lciB0cmlnZ2VyPlxuICAgIDxpbWcgY2xhc3M9XCJzb3J0LWJ1dHRvbi1pY29uXCIgc3JjPVwiL2Fzc2V0cy9pbWcvc29ydC9zb3J0LWFycm93cy5zdmdcIiBhbHQ9XCJTb3J0IEFycm93c1wiPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvY2NkLWNhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudT5cbiJdfQ==
|
|
@@ -3,11 +3,9 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
3
3
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
4
4
|
import { MatDialog } from '@angular/material/dialog';
|
|
5
5
|
import { Router } from '@angular/router';
|
|
6
|
-
import * as moment from 'moment';
|
|
7
6
|
import { Observable, of } from 'rxjs';
|
|
8
7
|
import { switchMap, tap } from 'rxjs/operators';
|
|
9
8
|
import { DocumentTreeNode, DocumentTreeNodeType } from '../../../../../domain/case-file-view';
|
|
10
|
-
import { SortOrder } from '../../../../../domain/sort-order.enum';
|
|
11
9
|
import { DocumentManagementService, WindowService } from '../../../../../services';
|
|
12
10
|
import { CaseFileViewFolderSelectorComponent } from '../case-file-view-folder-selector/case-file-view-folder-selector.component';
|
|
13
11
|
import * as i0 from "@angular/core";
|
|
@@ -34,14 +32,10 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
34
32
|
i0.ɵɵelementEnd();
|
|
35
33
|
i0.ɵɵelementStart(4, "span", 16);
|
|
36
34
|
i0.ɵɵtext(5);
|
|
37
|
-
i0.ɵɵelement(6, "br");
|
|
38
|
-
i0.ɵɵelementStart(7, "span", 17);
|
|
39
|
-
i0.ɵɵtext(8);
|
|
40
35
|
i0.ɵɵelementEnd();
|
|
41
|
-
i0.ɵɵ
|
|
42
|
-
i0.ɵɵelementStart(
|
|
43
|
-
i0.ɵɵ
|
|
44
|
-
i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.triggerDocumentAction("changeFolder", node_r4); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.triggerDocumentAction("openInANewTab", node_r4); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.triggerDocumentAction("download", node_r4); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.triggerDocumentAction("print", node_r4); });
|
|
36
|
+
i0.ɵɵelementStart(6, "div", 17);
|
|
37
|
+
i0.ɵɵelementStart(7, "ccd-case-file-view-folder-document-actions", 18);
|
|
38
|
+
i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.triggerDocumentAction("changeFolder", node_r4); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.triggerDocumentAction("openInANewTab", node_r4); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.triggerDocumentAction("download", node_r4); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.triggerDocumentAction("print", node_r4); });
|
|
45
39
|
i0.ɵɵelementEnd();
|
|
46
40
|
i0.ɵɵelementEnd();
|
|
47
41
|
i0.ɵɵelementEnd();
|
|
@@ -52,27 +46,25 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
52
46
|
i0.ɵɵadvance(1);
|
|
53
47
|
i0.ɵɵclassProp("node--selected", (ctx_r2.selectedNodeItem == null ? null : ctx_r2.selectedNodeItem.name) === node_r4.name);
|
|
54
48
|
i0.ɵɵadvance(4);
|
|
55
|
-
i0.ɵɵ
|
|
56
|
-
i0.ɵɵadvance(3);
|
|
57
|
-
i0.ɵɵtextInterpolate(node_r4.upload_timestamp);
|
|
49
|
+
i0.ɵɵtextInterpolate(node_r4.name);
|
|
58
50
|
i0.ɵɵadvance(2);
|
|
59
51
|
i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
|
|
60
52
|
} }
|
|
61
53
|
function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
-
i0.ɵɵelementStart(0, "cdk-nested-tree-node",
|
|
63
|
-
i0.ɵɵelementStart(1, "button",
|
|
64
|
-
i0.ɵɵelementStart(2, "div",
|
|
65
|
-
i0.ɵɵelement(3, "img",
|
|
66
|
-
i0.ɵɵelementStart(4, "span",
|
|
54
|
+
i0.ɵɵelementStart(0, "cdk-nested-tree-node", 19);
|
|
55
|
+
i0.ɵɵelementStart(1, "button", 20);
|
|
56
|
+
i0.ɵɵelementStart(2, "div", 21);
|
|
57
|
+
i0.ɵɵelement(3, "img", 22);
|
|
58
|
+
i0.ɵɵelementStart(4, "span", 23);
|
|
67
59
|
i0.ɵɵtext(5);
|
|
68
60
|
i0.ɵɵelementEnd();
|
|
69
61
|
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵelementStart(6, "span",
|
|
62
|
+
i0.ɵɵelementStart(6, "span", 24);
|
|
71
63
|
i0.ɵɵtext(7);
|
|
72
64
|
i0.ɵɵelementEnd();
|
|
73
65
|
i0.ɵɵelementEnd();
|
|
74
66
|
i0.ɵɵelementStart(8, "div");
|
|
75
|
-
i0.ɵɵelementContainer(9,
|
|
67
|
+
i0.ɵɵelementContainer(9, 25);
|
|
76
68
|
i0.ɵɵelementEnd();
|
|
77
69
|
i0.ɵɵelementEnd();
|
|
78
70
|
} if (rf & 2) {
|
|
@@ -94,7 +86,7 @@ function CaseFileViewFolderComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
94
86
|
i0.ɵɵtemplate(1, CaseFileViewFolderComponent_div_8_div_1_Template, 2, 0, "div", 8);
|
|
95
87
|
i0.ɵɵelementStart(2, "div");
|
|
96
88
|
i0.ɵɵelementStart(3, "cdk-tree", 9);
|
|
97
|
-
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template,
|
|
89
|
+
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 8, 4, "cdk-nested-tree-node", 10);
|
|
98
90
|
i0.ɵɵtemplate(5, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template, 10, 6, "cdk-nested-tree-node", 11);
|
|
99
91
|
i0.ɵɵelementEnd();
|
|
100
92
|
i0.ɵɵelementEnd();
|
|
@@ -182,7 +174,6 @@ export class CaseFileViewFolderComponent {
|
|
|
182
174
|
documentTreeNode.document_filename = document.document_filename;
|
|
183
175
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
184
176
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
185
|
-
documentTreeNode.upload_timestamp = document.upload_timestamp ? moment(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
186
177
|
documentsToReturn.push(documentTreeNode);
|
|
187
178
|
});
|
|
188
179
|
return documentsToReturn;
|
|
@@ -196,7 +187,6 @@ export class CaseFileViewFolderComponent {
|
|
|
196
187
|
documentTreeNode.document_filename = document.document_filename;
|
|
197
188
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
198
189
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
199
|
-
documentTreeNode.upload_timestamp = document.upload_timestamp ? moment(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
200
190
|
documents.push(documentTreeNode);
|
|
201
191
|
});
|
|
202
192
|
const uncategorisedNode = new DocumentTreeNode();
|
|
@@ -251,16 +241,16 @@ export class CaseFileViewFolderComponent {
|
|
|
251
241
|
return;
|
|
252
242
|
}
|
|
253
243
|
}
|
|
254
|
-
|
|
244
|
+
sortDataSourceAscAlphabetically() {
|
|
255
245
|
const sortedData = this.nestedDataSource.map(item => {
|
|
256
|
-
item.sortChildrenAscending(
|
|
246
|
+
item.sortChildrenAscending();
|
|
257
247
|
return item;
|
|
258
248
|
});
|
|
259
249
|
this.updateNodeData(sortedData);
|
|
260
250
|
}
|
|
261
|
-
|
|
251
|
+
sortDataSourceDescAlphabetically() {
|
|
262
252
|
const sortedData = this.nestedDataSource.map(item => {
|
|
263
|
-
item.sortChildrenDescending(
|
|
253
|
+
item.sortChildrenDescending();
|
|
264
254
|
return item;
|
|
265
255
|
});
|
|
266
256
|
this.updateNodeData(sortedData);
|
|
@@ -318,7 +308,7 @@ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised docum
|
|
|
318
308
|
CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
|
|
319
309
|
CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 1;
|
|
320
310
|
CaseFileViewFolderComponent.ɵfac = function CaseFileViewFolderComponent_Factory(t) { return new (t || CaseFileViewFolderComponent)(i0.ɵɵdirectiveInject(i1.WindowService), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i1.DocumentManagementService), i0.ɵɵdirectiveInject(i3.MatDialog)); };
|
|
321
|
-
CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-
|
|
311
|
+
CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
322
312
|
i0.ɵɵelementStart(0, "div", 0);
|
|
323
313
|
i0.ɵɵelementStart(1, "div", 1);
|
|
324
314
|
i0.ɵɵelement(2, "input", 2);
|
|
@@ -330,7 +320,7 @@ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewF
|
|
|
330
320
|
i0.ɵɵelementEnd();
|
|
331
321
|
i0.ɵɵelementStart(6, "div");
|
|
332
322
|
i0.ɵɵelementStart(7, "ccd-case-file-view-folder-sort", 5);
|
|
333
|
-
i0.ɵɵlistener("sortAscending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortAscending_7_listener(
|
|
323
|
+
i0.ɵɵlistener("sortAscending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortAscending_7_listener() { return ctx.sortDataSourceAscAlphabetically(); })("sortDescending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortDescending_7_listener() { return ctx.sortDataSourceDescAlphabetically(); });
|
|
334
324
|
i0.ɵɵelementEnd();
|
|
335
325
|
i0.ɵɵelementEnd();
|
|
336
326
|
i0.ɵɵelementEnd();
|
|
@@ -342,7 +332,7 @@ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewF
|
|
|
342
332
|
i0.ɵɵtextInterpolate1("Documents (", ctx.documentCount, ")");
|
|
343
333
|
i0.ɵɵadvance(3);
|
|
344
334
|
i0.ɵɵproperty("ngIf", ctx.documentTreeData);
|
|
345
|
-
} }, directives: [i4.NgControlStatusGroup, i4.FormGroupDirective, i4.DefaultValueAccessor, i4.NgControlStatus, i4.FormControlName, i5.CaseFileViewFolderSortComponent, i6.NgIf, i7.CdkTree, i7.CdkTreeNodeDef, i7.CdkNestedTreeNode, i8.CaseFileViewFolderDocumentActionsComponent, i7.CdkTreeNodeToggle, i7.CdkTreeNodeOutlet], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #c9c9c9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat 100% #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c9c9c9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:
|
|
335
|
+
} }, directives: [i4.NgControlStatusGroup, i4.FormGroupDirective, i4.DefaultValueAccessor, i4.NgControlStatus, i4.FormControlName, i5.CaseFileViewFolderSortComponent, i6.NgIf, i7.CdkTree, i7.CdkTreeNodeDef, i7.CdkNestedTreeNode, i8.CaseFileViewFolderDocumentActionsComponent, i7.CdkTreeNodeToggle, i7.CdkTreeNodeOutlet], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #c9c9c9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat 100% #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c9c9c9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:6px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}"] });
|
|
346
336
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
347
337
|
type: Component,
|
|
348
338
|
args: [{
|
|
@@ -359,4 +349,4 @@ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewF
|
|
|
359
349
|
}], moveDocument: [{
|
|
360
350
|
type: Output
|
|
361
351
|
}] }); })();
|
|
362
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVB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QU07WUFDVSxZQUFZO2tCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdDYXRlZ29yeSxcbiAgQ2FzZUZpbGVWaWV3RG9jdW1lbnQsXG4gIENhdGVnb3JpZXNBbmREb2N1bWVudHMsXG4gIERvY3VtZW50VHJlZU5vZGUsXG4gIERvY3VtZW50VHJlZU5vZGVUeXBlXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vc29ydC1vcmRlci5lbnVtJztcbmltcG9ydCB7IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsIFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCBjb25zdCBNRURJQV9WSUVXRVJfTE9DQUxTVE9SQUdFX0tFWSA9ICdtZWRpYS12aWV3ZXItaW5mbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEUgPSAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudHMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUgPSAnZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgPSAxO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzOiBPYnNlcnZhYmxlPENhdGVnb3JpZXNBbmREb2N1bWVudHM+O1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dNb3Zpbmc6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2tlZERvY3VtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxEb2N1bWVudFRyZWVOb2RlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIG1vdmVEb2N1bWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e25ld0NhdGVnb3J5OiBzdHJpbmcsIGRvY3VtZW50OiBEb2N1bWVudFRyZWVOb2RlfT4oKTtcblxuICBwdWJsaWMgbmVzdGVkVHJlZUNvbnRyb2w6IE5lc3RlZFRyZWVDb250cm9sPERvY3VtZW50VHJlZU5vZGU+O1xuICBwdWJsaWMgbmVzdGVkRGF0YVNvdXJjZTogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSA9IFtdO1xuICBwdWJsaWMgY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgc2VsZWN0ZWROb2RlSXRlbTogRG9jdW1lbnRUcmVlTm9kZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZG9jdW1lbnRGaWx0ZXJGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgZG9jdW1lbnRUcmVlRGF0YTogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHNlYXJjaFRlcm1MZW5ndGg6IG51bWJlcjtcblxuICBwcml2YXRlIGdldENoaWxkcmVuID0gKG5vZGU6IERvY3VtZW50VHJlZU5vZGUpID0+IG9mKG5vZGUuY2hpbGRyZW4pO1xuICBwdWJsaWMgbmVzdGVkQ2hpbGRyZW4gPSAoXzogbnVtYmVyLCBub2RlRGF0YTogRG9jdW1lbnRUcmVlTm9kZSkgPT4gbm9kZURhdGEuY2hpbGRyZW47XG4gIHB1YmxpYyBnZXQgZG9jdW1lbnRDb3VudCgpIHtcbiAgICBpZiAodGhpcy5uZXN0ZWREYXRhU291cmNlPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLm5lc3RlZERhdGFTb3VyY2UucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGFjYyArIGl0ZW0uY2hpbGREb2N1bWVudENvdW50O1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZTogRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nXG4gICkge1xuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT4odGhpcy5nZXRDaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5ET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUsIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gc2VhcmNoIGlucHV0IGFuZCBpbml0aWF0ZSBmaWx0ZXIgZG9jdW1lbnRzIGlmIGF0IGxlYXN0IHRocmVlIGNoYXJhY3RlcnMgZW50ZXJlZFxuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5zZWFyY2hUZXJtTGVuZ3RoID0gc2VhcmNoVGVybS5sZW5ndGgpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHRoaXMuZmlsdGVyKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkucGlwZSgpKVxuICAgICkuc3Vic2NyaWJlKGRvY3VtZW50VHJlZURhdGEgPT4ge1xuICAgICAgdGhpcy5uZXN0ZWREYXRhU291cmNlID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUxlbmd0aCA+PSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSU1xuICAgICAgICA/IHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZXhwYW5kQWxsKClcbiAgICAgICAgOiB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmNvbGxhcHNlQWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGlucHV0IGNhdGVnb3JpZXMgYW5kIGRvY3VtZW50cywgYW5kIGdlbmVyYXRlIHRyZWUgZGF0YSBhbmQgaW5pdGlhbGlzZSBjZGsgdHJlZVxuICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50cy5zdWJzY3JpYmUoY2F0ZWdvcmllc0FuZERvY3VtZW50cyA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcmllc0FuZERvY3VtZW50cy5jYXRlZ29yaWVzO1xuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcztcbiAgICAgIC8vIEdlbmVyYXRlIGRvY3VtZW50IHRyZWUgZGF0YSBmcm9tIGNhdGVnb3JpZXNcbiAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YSA9IHRoaXMuZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzKTtcbiAgICAgIC8vIEFwcGVuZCB1bmNhdGVnb3Jpc2VkIGRvY3VtZW50c1xuICAgICAgaWYgKGNhdGVnb3JpZXNBbmREb2N1bWVudHMudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMgJiYgY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHVuY2F0ZWdvcmlzZWREb2N1bWVudHMgPSB0aGlzLmdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHMoY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YS5wdXNoKHVuY2F0ZWdvcmlzZWREb2N1bWVudHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbml0aWFsaXNlIGNkayB0cmVlIHdpdGggZ2VuZXJhdGVkIGRhdGFcbiAgICAgIHRoaXMubmVzdGVkRGF0YVNvdXJjZSA9IHRoaXMuZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlVHJlZURhdGEoY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSk6IERvY3VtZW50VHJlZU5vZGVbXSB7XG4gICAgcmV0dXJuIGNhdGVnb3JpZXMucmVkdWNlKCh0cmVlLCBub2RlKSA9PiB7XG4gICAgICBjb25zdCBuZXdEb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUubmFtZSA9IG5vZGUuY2F0ZWdvcnlfbmFtZTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUudHlwZSA9ICBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVI7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNoaWxkcmVuID0gWy4uLnRoaXMuZ2VuZXJhdGVUcmVlRGF0YShub2RlLnN1Yl9jYXRlZ29yaWVzKSwgLi4udGhpcy5nZXREb2N1bWVudHMobm9kZS5kb2N1bWVudHMpXTtcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4udHJlZSxcbiAgICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZSxcbiAgICAgIF07XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIGdldERvY3VtZW50cyhkb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlW10ge1xuICAgIGNvbnN0IGRvY3VtZW50c1RvUmV0dXJuOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICBkb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS51cGxvYWRfdGltZXN0YW1wID0gZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA/IG1vbWVudChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKS5mb3JtYXQoJ0REIE1NTSBZWVlZJykgOiAnJztcblxuICAgICAgZG9jdW1lbnRzVG9SZXR1cm4ucHVzaChkb2N1bWVudFRyZWVOb2RlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkb2N1bWVudHNUb1JldHVybjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVbmNhdGVnb3Jpc2VkRG9jdW1lbnRzKHVuY2F0ZWdvcmlzZWREb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlIHtcbiAgICBjb25zdCBkb2N1bWVudHM6IERvY3VtZW50VHJlZU5vZGVbXSA9IFtdO1xuICAgIHVuY2F0ZWdvcmlzZWREb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS51cGxvYWRfdGltZXN0YW1wID0gZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA/IG1vbWVudChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKS5mb3JtYXQoJ0REIE1NTSBZWVlZJykgOiAnJztcblxuICAgICAgZG9jdW1lbnRzLnB1c2goZG9jdW1lbnRUcmVlTm9kZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmNhdGVnb3Jpc2VkTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgdW5jYXRlZ29yaXNlZE5vZGUubmFtZSA9IENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5VTkNBVEVHT1JJU0VEX0RPQ1VNRU5UU19USVRMRTtcbiAgICB1bmNhdGVnb3Jpc2VkTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSO1xuICAgIHVuY2F0ZWdvcmlzZWROb2RlLmNoaWxkcmVuID0gZG9jdW1lbnRzO1xuXG4gICAgcmV0dXJuIHVuY2F0ZWdvcmlzZWROb2RlO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihzZWFyY2hUZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERvY3VtZW50VHJlZU5vZGVbXT4ge1xuICAgIC8vIE1ha2UgYSBjb3B5IG9mIHRoZSBkYXRhIHNvIHdlIGRvIG5vdCBtdXRhdGUgdGhlIG9yaWdpbmFsXG4gICAgZnVuY3Rpb24gY29weShub2RlOiBEb2N1bWVudFRyZWVOb2RlKSB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGRvY3VtZW50VHJlZU5vZGUsIG5vZGUpO1xuICAgIH1cblxuICAgIGxldCBmaWx0ZXJlZERhdGEgPSB0aGlzLmRvY3VtZW50VHJlZURhdGE7XG4gICAgaWYgKHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPj0gQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50Lk1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgJiYgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5jb250cm9sc1tDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuRE9DVU1FTlRfU0VBUkNIX0ZPUk1fQ09OVFJPTF9OQU1FXS52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmRvY3VtZW50VHJlZURhdGEubWFwKGNvcHkpLmZpbHRlcihmdW5jdGlvbiBmaWx0ZXJUcmVlRGF0YShub2RlOiBEb2N1bWVudFRyZWVOb2RlKSB7XG4gICAgICAgIGlmIChub2RlLm5hbWUgJiYgbm9kZS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgJiYgbm9kZS50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5ET0NVTUVOVCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIENhbGwgcmVjdXJzaXZlbHkgaWYgbm9kZSBoYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICByZXR1cm4gKG5vZGUuY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuLm1hcChjb3B5KS5maWx0ZXIoZmlsdGVyVHJlZURhdGEpKS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb2YoZmlsdGVyZWREYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oXG4gICAgYWN0aW9uVHlwZTogJ2NoYW5nZUZvbGRlcicgfCAnb3BlbkluQU5ld1RhYicgfCAnZG93bmxvYWQnIHwgJ3ByaW50JyxcbiAgICBkb2N1bWVudFRyZWVOb2RlOiBEb2N1bWVudFRyZWVOb2RlXG4gICk6IHZvaWQge1xuICAgIHN3aXRjaChhY3Rpb25UeXBlKSB7XG4gICAgICBjYXNlKCdjaGFuZ2VGb2xkZXInKTpcbiAgICAgICAgdGhpcy5vcGVuTW92ZURpYWxvZyhkb2N1bWVudFRyZWVOb2RlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlKCdvcGVuSW5BTmV3VGFiJyk6XG4gICAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoTUVESUFfVklFV0VSX0xPQ0FMU1RPUkFHRV9LRVksXG4gICAgICAgICAgdGhpcy5kb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLmdldE1lZGlhVmlld2VySW5mbyh7XG4gICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwsXG4gICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9maWxlbmFtZVxuICAgICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLndpbmRvd1NlcnZpY2Uub3Blbk9uTmV3VGFiKFxuICAgICAgICAgIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycvbWVkaWEtdmlld2VyJ10pPy50b1N0cmluZygpXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSgnZG93bmxvYWQnKTpcbiAgICAgICAgLy8gQ3JlYXRlIGEgVVJMIGZyb20gdGhlIGRvY3VtZW50X2JpbmFyeV91cmwgcHJvcGVydHkgKGFic29sdXRlIFVSTCkgYW5kIHVzZSB0aGUgcGF0aCBwb3J0aW9uIChyZWxhdGl2ZSBVUkwpLlxuICAgICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBNYW5hZ2UgQ2FzZXMgYXBwbGljYXRpb24gd2lsbCBhdXRvbWF0aWNhbGx5IGFwcGx5IGEgcHJveHkgdG8gdGhlIHJlcXVlc3QsIHdpdGhcbiAgICAgICAgLy8gdGhlIGNvcnJlY3QgcmVtb3RlIGVuZHBvaW50XG4gICAgICAgIHRoaXMuZG93bmxvYWRGaWxlKG5ldyBVUkwoZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9iaW5hcnlfdXJsKS5wYXRobmFtZSwgZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9maWxlbmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSgncHJpbnQnKTpcbiAgICAgICAgdGhpcy5wcmludERvY3VtZW50KG5ldyBVUkwoZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9iaW5hcnlfdXJsKS5wYXRobmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0RGF0YVNvdXJjZUFzY2VuZGluZyhjb2x1bW46IG51bWJlcikge1xuICAgIGNvbnN0IHNvcnRlZERhdGEgPSB0aGlzLm5lc3RlZERhdGFTb3VyY2UubWFwKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5zb3J0Q2hpbGRyZW5Bc2NlbmRpbmcoY29sdW1uLCBTb3J0T3JkZXIuQVNDRU5ESU5HKTtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVOb2RlRGF0YShzb3J0ZWREYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0RGF0YVNvdXJjZURlc2NlbmRpbmcoY29sdW1uOiBudW1iZXIpIHtcbiAgICBjb25zdCBzb3J0ZWREYXRhID0gdGhpcy5uZXN0ZWREYXRhU291cmNlLm1hcChpdGVtID0+IHtcbiAgICAgIGl0ZW0uc29ydENoaWxkcmVuRGVzY2VuZGluZyhjb2x1bW4sIFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVOb2RlRGF0YShzb3J0ZWREYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVOb2RlRGF0YShkYXRhOiBEb2N1bWVudFRyZWVOb2RlW10pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2U2VsZWN0ZWQgPSB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmV4cGFuc2lvbk1vZGVsLnNlbGVjdGVkLm1hcChcbiAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLm5hbWU7XG4gICAgICB9KTtcblxuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuY29sbGFwc2VBbGwoKTtcbiAgICB0aGlzLm5lc3RlZERhdGFTb3VyY2UgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbmV3RG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLm5hbWUgPSBpdGVtLm5hbWU7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLnR5cGUgPSBpdGVtLnR5cGU7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbjtcblxuICAgICAgcmV0dXJuIG5ld0RvY3VtZW50VHJlZU5vZGU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRBcnJheSA9IHRoaXMubmVzdGVkRGF0YVNvdXJjZS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBpdGVtLmZsYXR0ZW5lZEFsbDtcbiAgICB9KS5mbGF0KCk7XG4gICAgY29uc3QgbmV3T2JqZWN0cyA9IGZsYXR0ZW5lZEFycmF5LmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHByZXZTZWxlY3RlZC5pbmNsdWRlcyhpdGVtLm5hbWUpO1xuICAgIH0pO1xuICAgIG5ld09iamVjdHMuZm9yRWFjaChvYmplY3QgPT4gdGhpcy5uZXN0ZWRUcmVlQ29udHJvbC5leHBhbmQob2JqZWN0KSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Nb3ZlRGlhbG9nKG5vZGU6IERvY3VtZW50VHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7IGNhdGVnb3JpZXM6IHRoaXMuY2F0ZWdvcmllcywgZG9jdW1lbnQ6IG5vZGUgfVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKG5ld0NhdElkID0+IHtcbiAgICAgIGlmIChuZXdDYXRJZCkge1xuICAgICAgICB0aGlzLm1vdmVEb2N1bWVudC5lbWl0KHtuZXdDYXRlZ29yeTogbmV3Q2F0SWQsIGRvY3VtZW50OiBub2RlfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcHJpbnREb2N1bWVudCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHByaW50V2luZG93ID0gd2luZG93Lm9wZW4odXJsKTtcbiAgICBwcmludFdpbmRvdy5wcmludCgpO1xuICB9XG5cbiAgcHVibGljIGRvd25sb2FkRmlsZSh1cmw6IHN0cmluZywgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgYS5ocmVmID0gdXJsO1xuICAgIGEuZG93bmxvYWQgPSBkb3dubG9hZEZpbGVOYW1lO1xuICAgIGEuY2xpY2soKTtcbiAgICBhLnJlbW92ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZmlsdGVyLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBkb2N1bWVudC1maWx0ZXJcIiBbZm9ybUdyb3VwXT1cImRvY3VtZW50RmlsdGVyRm9ybUdyb3VwXCI+XG4gICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGRvY3VtZW50LXNlYXJjaFwiXG4gICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgIGlkPVwiZG9jdW1lbnQtc2VhcmNoXCJcbiAgICAgIG5hbWU9XCJkb2N1bWVudFNlYXJjaEZvcm1Db250cm9sXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2xcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgZG9jdW1lbnQgbmFtZVwiPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZm9sZGVycy1oZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50LWZvbGRlcnMtaGVhZGVyX190aXRsZVwiPkRvY3VtZW50cyAoe3sgZG9jdW1lbnRDb3VudCB9fSk8L2Rpdj5cbiAgPGRpdj5cbiAgICA8Y2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0XG4gICAgICAoc29ydEFzY2VuZGluZyk9XCJzb3J0RGF0YVNvdXJjZUFzY2VuZGluZygkZXZlbnQpXCJcbiAgICAgIChzb3J0RGVzY2VuZGluZyk9XCJzb3J0RGF0YVNvdXJjZURlc2NlbmRpbmcoJGV2ZW50KVwiXG4gICAgPjwvY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1jb250YWluZXJcIiAqbmdJZj1cImRvY3VtZW50VHJlZURhdGFcIj5cbiAgPGRpdiAqbmdJZj1cIiFuZXN0ZWREYXRhU291cmNlIHx8IG5lc3RlZERhdGFTb3VyY2UubGVuZ3RoID09PSAwXCI+XG4gICAgTm8gcmVzdWx0cyBmb3VuZFxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8Y2RrLXRyZWUgW2RhdGFTb3VyY2VdPVwibmVzdGVkRGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJuZXN0ZWRUcmVlQ29udHJvbFwiPlxuICAgICAgPCEtLSBkb2N1bWVudCAtLT5cbiAgICAgIDxjZGstbmVzdGVkLXRyZWUtbm9kZSBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyX19ub2RlIGRvY3VtZW50LXRyZWUtY29udGFpbmVyX19ub2RlLS1kb2N1bWVudFwiICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJub2RlXCIgKGNsaWNrKT1cInNlbGVjdGVkTm9kZUl0ZW0gPSBub2RlOyBjbGlja2VkRG9jdW1lbnQuZW1pdChub2RlKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm5vZGUtLXNlbGVjdGVkXT1cInNlbGVjdGVkTm9kZUl0ZW0/Lm5hbWUgPT09IG5vZGUubmFtZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlX19pY29uXCIgZGlzYWJsZWQ+XG4gICAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvaW1nL2Nhc2UtZmlsZS12aWV3L2Nhc2UtZmlsZS12aWV3LWRvY3VtZW50LnN2Z1wiIGNsYXNzPVwibm9kZV9faWNvbkltZ1wiIGFsdD1cIkRvY3VtZW50IGljb25cIj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGVfX25hbWUgbm9kZS1uYW1lLWRvY3VtZW50XCI+XG4gICAgICAgICAgICB7e25vZGUubmFtZX19XG4gICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGVfX2RvY3VtZW50LXVwbG9hZC10aW1lc3RhbXBcIj57e25vZGUudXBsb2FkX3RpbWVzdGFtcH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZV9fZG9jdW1lbnQtb3B0aW9uc1wiPlxuICAgICAgICAgICAgPGNjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9uc1xuICAgICAgICAgICAgICAoY2hhbmdlRm9sZGVyQWN0aW9uKT1cInRyaWdnZXJEb2N1bWVudEFjdGlvbignY2hhbmdlRm9sZGVyJywgbm9kZSlcIlxuICAgICAgICAgICAgICAob3BlbkluQU5ld1RhYkFjdGlvbik9XCJ0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oJ29wZW5JbkFOZXdUYWInLCBub2RlKVwiXG4gICAgICAgICAgICAgIChkb3dubG9hZEFjdGlvbik9XCJ0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oJ2Rvd25sb2FkJywgbm9kZSlcIlxuICAgICAgICAgICAgICAocHJpbnRBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdwcmludCcsIG5vZGUpXCJcbiAgICAgICAgICAgICAgW2FsbG93TW92aW5nXT1cImFsbG93TW92aW5nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1kb2N1bWVudC1hY3Rpb25zPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG4gICAgICA8IS0tIGZvbGRlci0tPlxuICAgICAgPGNkay1uZXN0ZWQtdHJlZS1ub2RlIGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX25vZGUgZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX2ZvbGRlclwiICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBuZXN0ZWRDaGlsZHJlblwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibm9kZVwiIGNka1RyZWVOb2RlVG9nZ2xlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlX19pY29uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIndG9nZ2xlICcgKyBub2RlLm5hbWVcIiA+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwibm9kZV9faWNvbkltZ1wiXG4gICAgICAgICAgICAgICAgIFtzcmNdPVwibmVzdGVkVHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKSA/ICcvYXNzZXRzL2ltYWdlcy9mb2xkZXItb3Blbi5wbmcnIDogJy9hc3NldHMvaW1hZ2VzL2ZvbGRlci5wbmcnXCIgYWx0PVwiRm9sZGVyIGljb25cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fY291bnRcIj57e25vZGUuY2hpbGREb2N1bWVudENvdW50fX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJub2RlX19uYW1lIG5vZGVfX25hbWUtLWZvbGRlclwiPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgW2NsYXNzLmRvY3VtZW50LXRyZWUtaW52aXNpYmxlXT1cIiFuZXN0ZWRUcmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBjZGtUcmVlTm9kZU91dGxldD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Nkay1uZXN0ZWQtdHJlZS1ub2RlPlxuICAgIDwvY2RrLXRyZWU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
352
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3JCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFF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aUJBQU07UUFDakYsMkJBQUs7UUFDSCx5REFHQztRQUZDLGdKQUFpQixxQ0FBaUMsSUFBQyxxSUFDakMsc0NBQWtDLElBREQ7UUFFcEQsaUJBQWlDO1FBQ3BDLGlCQUFNO1FBQ1IsaUJBQU07UUFFTiw0RUEyQ007O1FBL0RvQyxlQUFxQztRQUFyQyx1REFBcUM7UUFXakMsZUFBK0I7UUFBL0IsNERBQStCO1FBU3ZDLGVBQXNCO1FBQXRCLDJDQUFzQjs7dUZERS9DLDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsV0FBVyxFQUFFLHdDQUF3QztnQkFDckQsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7YUFDdEQ7cUpBTWlCLHNCQUFzQjtrQkFBckMsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVyxlQUFlO2tCQUEvQixNQUFNO1lBQ1UsWUFBWTtrQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5lc3RlZFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0NhdGVnb3J5LFxuICBDYXNlRmlsZVZpZXdEb2N1bWVudCxcbiAgQ2F0ZWdvcmllc0FuZERvY3VtZW50cyxcbiAgRG9jdW1lbnRUcmVlTm9kZSxcbiAgRG9jdW1lbnRUcmVlTm9kZVR5cGVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsIFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCBjb25zdCBNRURJQV9WSUVXRVJfTE9DQUxTVE9SQUdFX0tFWSA9ICdtZWRpYS12aWV3ZXItaW5mbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEUgPSAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudHMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUgPSAnZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgPSAxO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzOiBPYnNlcnZhYmxlPENhdGVnb3JpZXNBbmREb2N1bWVudHM+O1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dNb3Zpbmc6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2tlZERvY3VtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxEb2N1bWVudFRyZWVOb2RlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIG1vdmVEb2N1bWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e25ld0NhdGVnb3J5OiBzdHJpbmcsIGRvY3VtZW50OiBEb2N1bWVudFRyZWVOb2RlfT4oKTtcblxuICBwdWJsaWMgbmVzdGVkVHJlZUNvbnRyb2w6IE5lc3RlZFRyZWVDb250cm9sPERvY3VtZW50VHJlZU5vZGU+O1xuICBwdWJsaWMgbmVzdGVkRGF0YVNvdXJjZTogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSA9IFtdO1xuICBwdWJsaWMgY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgc2VsZWN0ZWROb2RlSXRlbTogRG9jdW1lbnRUcmVlTm9kZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZG9jdW1lbnRGaWx0ZXJGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgZG9jdW1lbnRUcmVlRGF0YTogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHNlYXJjaFRlcm1MZW5ndGg6IG51bWJlcjtcblxuICBwcml2YXRlIGdldENoaWxkcmVuID0gKG5vZGU6IERvY3VtZW50VHJlZU5vZGUpID0+IG9mKG5vZGUuY2hpbGRyZW4pO1xuICBwdWJsaWMgbmVzdGVkQ2hpbGRyZW4gPSAoXzogbnVtYmVyLCBub2RlRGF0YTogRG9jdW1lbnRUcmVlTm9kZSkgPT4gbm9kZURhdGEuY2hpbGRyZW47XG4gIHB1YmxpYyBnZXQgZG9jdW1lbnRDb3VudCgpIHtcbiAgICBpZiAodGhpcy5uZXN0ZWREYXRhU291cmNlPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLm5lc3RlZERhdGFTb3VyY2UucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGFjYyArIGl0ZW0uY2hpbGREb2N1bWVudENvdW50O1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZTogRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nXG4gICkge1xuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT4odGhpcy5nZXRDaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5ET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUsIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gc2VhcmNoIGlucHV0IGFuZCBpbml0aWF0ZSBmaWx0ZXIgZG9jdW1lbnRzIGlmIGF0IGxlYXN0IHRocmVlIGNoYXJhY3RlcnMgZW50ZXJlZFxuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5zZWFyY2hUZXJtTGVuZ3RoID0gc2VhcmNoVGVybS5sZW5ndGgpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHRoaXMuZmlsdGVyKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkucGlwZSgpKVxuICAgICkuc3Vic2NyaWJlKGRvY3VtZW50VHJlZURhdGEgPT4ge1xuICAgICAgdGhpcy5uZXN0ZWREYXRhU291cmNlID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUxlbmd0aCA+PSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSU1xuICAgICAgICA/IHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZXhwYW5kQWxsKClcbiAgICAgICAgOiB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmNvbGxhcHNlQWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGlucHV0IGNhdGVnb3JpZXMgYW5kIGRvY3VtZW50cywgYW5kIGdlbmVyYXRlIHRyZWUgZGF0YSBhbmQgaW5pdGlhbGlzZSBjZGsgdHJlZVxuICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50cy5zdWJzY3JpYmUoY2F0ZWdvcmllc0FuZERvY3VtZW50cyA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcmllc0FuZERvY3VtZW50cy5jYXRlZ29yaWVzO1xuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcztcbiAgICAgIC8vIEdlbmVyYXRlIGRvY3VtZW50IHRyZWUgZGF0YSBmcm9tIGNhdGVnb3JpZXNcbiAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YSA9IHRoaXMuZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzKTtcbiAgICAgIC8vIEFwcGVuZCB1bmNhdGVnb3Jpc2VkIGRvY3VtZW50c1xuICAgICAgaWYgKGNhdGVnb3JpZXNBbmREb2N1bWVudHMudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMgJiYgY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHVuY2F0ZWdvcmlzZWREb2N1bWVudHMgPSB0aGlzLmdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHMoY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YS5wdXNoKHVuY2F0ZWdvcmlzZWREb2N1bWVudHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbml0aWFsaXNlIGNkayB0cmVlIHdpdGggZ2VuZXJhdGVkIGRhdGFcbiAgICAgIHRoaXMubmVzdGVkRGF0YVNvdXJjZSA9IHRoaXMuZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlVHJlZURhdGEoY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSk6IERvY3VtZW50VHJlZU5vZGVbXSB7XG4gICAgcmV0dXJuIGNhdGVnb3JpZXMucmVkdWNlKCh0cmVlLCBub2RlKSA9PiB7XG4gICAgICBjb25zdCBuZXdEb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUubmFtZSA9IG5vZGUuY2F0ZWdvcnlfbmFtZTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUudHlwZSA9ICBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVI7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNoaWxkcmVuID0gWy4uLnRoaXMuZ2VuZXJhdGVUcmVlRGF0YShub2RlLnN1Yl9jYXRlZ29yaWVzKSwgLi4udGhpcy5nZXREb2N1bWVudHMobm9kZS5kb2N1bWVudHMpXTtcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4udHJlZSxcbiAgICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZSxcbiAgICAgIF07XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIGdldERvY3VtZW50cyhkb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlW10ge1xuICAgIGNvbnN0IGRvY3VtZW50c1RvUmV0dXJuOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICBkb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuXG4gICAgICBkb2N1bWVudHNUb1JldHVybi5wdXNoKGRvY3VtZW50VHJlZU5vZGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRvY3VtZW50c1RvUmV0dXJuO1xuICB9XG5cbiAgcHVibGljIGdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHModW5jYXRlZ29yaXNlZERvY3VtZW50czogQ2FzZUZpbGVWaWV3RG9jdW1lbnRbXSk6IERvY3VtZW50VHJlZU5vZGUge1xuICAgIGNvbnN0IGRvY3VtZW50czogRG9jdW1lbnRUcmVlTm9kZVtdID0gW107XG4gICAgdW5jYXRlZ29yaXNlZERvY3VtZW50cy5mb3JFYWNoKGRvY3VtZW50ID0+IHtcbiAgICAgIGNvbnN0IGRvY3VtZW50VHJlZU5vZGUgPSBuZXcgRG9jdW1lbnRUcmVlTm9kZSgpO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5uYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLnR5cGUgPSBEb2N1bWVudFRyZWVOb2RlVHlwZS5ET0NVTUVOVDtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWUgPSBkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCA9IGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmw7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmF0dHJpYnV0ZV9wYXRoID0gZG9jdW1lbnQuYXR0cmlidXRlX3BhdGg7XG5cbiAgICAgIGRvY3VtZW50cy5wdXNoKGRvY3VtZW50VHJlZU5vZGUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdW5jYXRlZ29yaXNlZE5vZGUgPSBuZXcgRG9jdW1lbnRUcmVlTm9kZSgpO1xuICAgIHVuY2F0ZWdvcmlzZWROb2RlLm5hbWUgPSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEU7XG4gICAgdW5jYXRlZ29yaXNlZE5vZGUudHlwZSA9IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUjtcbiAgICB1bmNhdGVnb3Jpc2VkTm9kZS5jaGlsZHJlbiA9IGRvY3VtZW50cztcblxuICAgIHJldHVybiB1bmNhdGVnb3Jpc2VkTm9kZTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxEb2N1bWVudFRyZWVOb2RlW10+IHtcbiAgICAvLyBNYWtlIGEgY29weSBvZiB0aGUgZGF0YSBzbyB3ZSBkbyBub3QgbXV0YXRlIHRoZSBvcmlnaW5hbFxuICAgIGZ1bmN0aW9uIGNvcHkobm9kZTogRG9jdW1lbnRUcmVlTm9kZSkge1xuICAgICAgY29uc3QgZG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihkb2N1bWVudFRyZWVOb2RlLCBub2RlKTtcbiAgICB9XG5cbiAgICBsZXQgZmlsdGVyZWREYXRhID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhO1xuICAgIGlmIChzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID49IENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5NSU5JTVVNX1NFQVJDSF9DSEFSQUNURVJTICYmIHRoaXMuZG9jdW1lbnRGaWx0ZXJGb3JtR3JvdXAuY29udHJvbHNbQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LkRPQ1VNRU5UX1NFQVJDSF9GT1JNX0NPTlRST0xfTkFNRV0udmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhLm1hcChjb3B5KS5maWx0ZXIoZnVuY3Rpb24gZmlsdGVyVHJlZURhdGEobm9kZTogRG9jdW1lbnRUcmVlTm9kZSkge1xuICAgICAgICBpZiAobm9kZS5uYW1lICYmIG5vZGUubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pICYmIG5vZGUudHlwZSA9PT0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDYWxsIHJlY3Vyc2l2ZWx5IGlmIG5vZGUgaGFzIGNoaWxkcmVuXG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgcmV0dXJuIChub2RlLmNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbi5tYXAoY29weSkuZmlsdGVyKGZpbHRlclRyZWVEYXRhKSkubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGZpbHRlcmVkRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlckRvY3VtZW50QWN0aW9uKFxuICAgIGFjdGlvblR5cGU6ICdjaGFuZ2VGb2xkZXInIHwgJ29wZW5JbkFOZXdUYWInIHwgJ2Rvd25sb2FkJyB8ICdwcmludCcsXG4gICAgZG9jdW1lbnRUcmVlTm9kZTogRG9jdW1lbnRUcmVlTm9kZVxuICApOiB2b2lkIHtcbiAgICBzd2l0Y2goYWN0aW9uVHlwZSkge1xuICAgICAgY2FzZSgnY2hhbmdlRm9sZGVyJyk6XG4gICAgICAgIHRoaXMub3Blbk1vdmVEaWFsb2coZG9jdW1lbnRUcmVlTm9kZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSgnb3BlbkluQU5ld1RhYicpOlxuICAgICAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKE1FRElBX1ZJRVdFUl9MT0NBTFNUT1JBR0VfS0VZLFxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5nZXRNZWRpYVZpZXdlckluZm8oe1xuICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9iaW5hcnlfdXJsLFxuICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6IGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWVcbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLm9wZW5Pbk5ld1RhYihcbiAgICAgICAgICB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnL21lZGlhLXZpZXdlciddKT8udG9TdHJpbmcoKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UoJ2Rvd25sb2FkJyk6XG4gICAgICAgIC8vIENyZWF0ZSBhIFVSTCBmcm9tIHRoZSBkb2N1bWVudF9iaW5hcnlfdXJsIHByb3BlcnR5IChhYnNvbHV0ZSBVUkwpIGFuZCB1c2UgdGhlIHBhdGggcG9ydGlvbiAocmVsYXRpdmUgVVJMKS5cbiAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgTWFuYWdlIENhc2VzIGFwcGxpY2F0aW9uIHdpbGwgYXV0b21hdGljYWxseSBhcHBseSBhIHByb3h5IHRvIHRoZSByZXF1ZXN0LCB3aXRoXG4gICAgICAgIC8vIHRoZSBjb3JyZWN0IHJlbW90ZSBlbmRwb2ludFxuICAgICAgICB0aGlzLmRvd25sb2FkRmlsZShuZXcgVVJMKGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCkucGF0aG5hbWUsIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UoJ3ByaW50Jyk6XG4gICAgICAgIHRoaXMucHJpbnREb2N1bWVudChuZXcgVVJMKGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCkucGF0aG5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydERhdGFTb3VyY2VBc2NBbHBoYWJldGljYWxseSgpIHtcbiAgICBjb25zdCBzb3J0ZWREYXRhID0gdGhpcy5uZXN0ZWREYXRhU291cmNlLm1hcChpdGVtID0+IHtcbiAgICAgIGl0ZW0uc29ydENoaWxkcmVuQXNjZW5kaW5nKCk7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlTm9kZURhdGEoc29ydGVkRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgc29ydERhdGFTb3VyY2VEZXNjQWxwaGFiZXRpY2FsbHkoKSB7XG4gICAgY29uc3Qgc29ydGVkRGF0YSA9IHRoaXMubmVzdGVkRGF0YVNvdXJjZS5tYXAoaXRlbSA9PiB7XG4gICAgICBpdGVtLnNvcnRDaGlsZHJlbkRlc2NlbmRpbmcoKTtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVOb2RlRGF0YShzb3J0ZWREYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVOb2RlRGF0YShkYXRhOiBEb2N1bWVudFRyZWVOb2RlW10pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2U2VsZWN0ZWQgPSB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmV4cGFuc2lvbk1vZGVsLnNlbGVjdGVkLm1hcChcbiAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLm5hbWU7XG4gICAgICB9KTtcblxuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuY29sbGFwc2VBbGwoKTtcbiAgICB0aGlzLm5lc3RlZERhdGFTb3VyY2UgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbmV3RG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLm5hbWUgPSBpdGVtLm5hbWU7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLnR5cGUgPSBpdGVtLnR5cGU7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbjtcblxuICAgICAgcmV0dXJuIG5ld0RvY3VtZW50VHJlZU5vZGU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRBcnJheSA9IHRoaXMubmVzdGVkRGF0YVNvdXJjZS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBpdGVtLmZsYXR0ZW5lZEFsbDtcbiAgICB9KS5mbGF0KCk7XG4gICAgY29uc3QgbmV3T2JqZWN0cyA9IGZsYXR0ZW5lZEFycmF5LmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHByZXZTZWxlY3RlZC5pbmNsdWRlcyhpdGVtLm5hbWUpO1xuICAgIH0pO1xuICAgIG5ld09iamVjdHMuZm9yRWFjaChvYmplY3QgPT4gdGhpcy5uZXN0ZWRUcmVlQ29udHJvbC5leHBhbmQob2JqZWN0KSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Nb3ZlRGlhbG9nKG5vZGU6IERvY3VtZW50VHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7IGNhdGVnb3JpZXM6IHRoaXMuY2F0ZWdvcmllcywgZG9jdW1lbnQ6IG5vZGUgfVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKG5ld0NhdElkID0+IHtcbiAgICAgIGlmIChuZXdDYXRJZCkge1xuICAgICAgICB0aGlzLm1vdmVEb2N1bWVudC5lbWl0KHtuZXdDYXRlZ29yeTogbmV3Q2F0SWQsIGRvY3VtZW50OiBub2RlfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcHJpbnREb2N1bWVudCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHByaW50V2luZG93ID0gd2luZG93Lm9wZW4odXJsKTtcbiAgICBwcmludFdpbmRvdy5wcmludCgpO1xuICB9XG5cbiAgcHVibGljIGRvd25sb2FkRmlsZSh1cmw6IHN0cmluZywgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgYS5ocmVmID0gdXJsO1xuICAgIGEuZG93bmxvYWQgPSBkb3dubG9hZEZpbGVOYW1lO1xuICAgIGEuY2xpY2soKTtcbiAgICBhLnJlbW92ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZmlsdGVyLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBkb2N1bWVudC1maWx0ZXJcIiBbZm9ybUdyb3VwXT1cImRvY3VtZW50RmlsdGVyRm9ybUdyb3VwXCI+XG4gICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGRvY3VtZW50LXNlYXJjaFwiXG4gICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgIGlkPVwiZG9jdW1lbnQtc2VhcmNoXCJcbiAgICAgIG5hbWU9XCJkb2N1bWVudFNlYXJjaEZvcm1Db250cm9sXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2xcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgZG9jdW1lbnQgbmFtZVwiPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZm9sZGVycy1oZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50LWZvbGRlcnMtaGVhZGVyX190aXRsZVwiPkRvY3VtZW50cyAoe3sgZG9jdW1lbnRDb3VudCB9fSk8L2Rpdj5cbiAgPGRpdj5cbiAgICA8Y2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0XG4gICAgICAoc29ydEFzY2VuZGluZyk9XCJzb3J0RGF0YVNvdXJjZUFzY0FscGhhYmV0aWNhbGx5KClcIlxuICAgICAgKHNvcnREZXNjZW5kaW5nKT1cInNvcnREYXRhU291cmNlRGVzY0FscGhhYmV0aWNhbGx5KClcIlxuICAgID48L2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyXCIgKm5nSWY9XCJkb2N1bWVudFRyZWVEYXRhXCI+XG4gIDxkaXYgKm5nSWY9XCIhbmVzdGVkRGF0YVNvdXJjZSB8fCBuZXN0ZWREYXRhU291cmNlLmxlbmd0aCA9PT0gMFwiPlxuICAgIE5vIHJlc3VsdHMgZm91bmRcbiAgPC9kaXY+XG4gIDxkaXY+XG4gICAgPGNkay10cmVlIFtkYXRhU291cmNlXT1cIm5lc3RlZERhdGFTb3VyY2VcIiBbdHJlZUNvbnRyb2xdPVwibmVzdGVkVHJlZUNvbnRyb2xcIj5cbiAgICAgIDwhLS0gZG9jdW1lbnQgLS0+XG4gICAgICA8Y2RrLW5lc3RlZC10cmVlLW5vZGUgY2xhc3M9XCJkb2N1bWVudC10cmVlLWNvbnRhaW5lcl9fbm9kZSBkb2N1bWVudC10cmVlLWNvbnRhaW5lcl9fbm9kZS0tZG9jdW1lbnRcIiAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibm9kZVwiIChjbGljayk9XCJzZWxlY3RlZE5vZGVJdGVtID0gbm9kZTsgY2xpY2tlZERvY3VtZW50LmVtaXQobm9kZSlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ub2RlLS1zZWxlY3RlZF09XCJzZWxlY3RlZE5vZGVJdGVtPy5uYW1lID09PSBub2RlLm5hbWVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZV9faWNvblwiIGRpc2FibGVkPlxuICAgICAgICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2ltZy9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5zdmdcIiBjbGFzcz1cIm5vZGVfX2ljb25JbWdcIiBhbHQ9XCJEb2N1bWVudCBpY29uXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJub2RlX19uYW1lIG5vZGUtbmFtZS1kb2N1bWVudFwiPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVfX2RvY3VtZW50LW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnNcbiAgICAgICAgICAgICAgKGNoYW5nZUZvbGRlckFjdGlvbik9XCJ0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oJ2NoYW5nZUZvbGRlcicsIG5vZGUpXCJcbiAgICAgICAgICAgICAgKG9wZW5JbkFOZXdUYWJBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdvcGVuSW5BTmV3VGFiJywgbm9kZSlcIlxuICAgICAgICAgICAgICAoZG93bmxvYWRBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdkb3dubG9hZCcsIG5vZGUpXCJcbiAgICAgICAgICAgICAgKHByaW50QWN0aW9uKT1cInRyaWdnZXJEb2N1bWVudEFjdGlvbigncHJpbnQnLCBub2RlKVwiXG4gICAgICAgICAgICAgIFthbGxvd01vdmluZ109XCJhbGxvd01vdmluZ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Nkay1uZXN0ZWQtdHJlZS1ub2RlPlxuICAgICAgPCEtLSBmb2xkZXItLT5cbiAgICAgIDxjZGstbmVzdGVkLXRyZWUtbm9kZSBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyX19ub2RlIGRvY3VtZW50LXRyZWUtY29udGFpbmVyX19mb2xkZXJcIiAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZTsgd2hlbjogbmVzdGVkQ2hpbGRyZW5cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5vZGVcIiBjZGtUcmVlTm9kZVRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZV9faWNvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3RvZ2dsZSAnICsgbm9kZS5uYW1lXCIgPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm5vZGVfX2ljb25JbWdcIlxuICAgICAgICAgICAgICAgICBbc3JjXT1cIm5lc3RlZFRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgPyAnL2Fzc2V0cy9pbWFnZXMvZm9sZGVyLW9wZW4ucG5nJyA6ICcvYXNzZXRzL2ltYWdlcy9mb2xkZXIucG5nJ1wiIGFsdD1cIkZvbGRlciBpY29uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGVfX2NvdW50XCI+e3tub2RlLmNoaWxkRG9jdW1lbnRDb3VudH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fbmFtZSBub2RlX19uYW1lLS1mb2xkZXJcIj57e25vZGUubmFtZX19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IFtjbGFzcy5kb2N1bWVudC10cmVlLWludmlzaWJsZV09XCIhbmVzdGVkVHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgY2RrVHJlZU5vZGVPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jZGstbmVzdGVkLXRyZWUtbm9kZT5cbiAgICA8L2Nkay10cmVlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|