tnx-shared 5.3.342 → 5.3.344
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/tnx-shared.umd.js +76 -5
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/classes/base/list-component-base.d.ts +1 -0
- package/classes/base/list-component-base.d.ts.map +1 -1
- package/classes/constants.d.ts +2 -0
- package/classes/constants.d.ts.map +1 -1
- package/esm2015/classes/base/list-component-base.js +43 -2
- package/esm2015/classes/constants.js +3 -1
- package/esm2015/components/crud/crud-list/crud-list.component.js +2 -2
- package/esm2015/services/base.service.js +12 -1
- package/esm2015/services/workflow-permission-detail.service.js +7 -5
- package/fesm2015/tnx-shared.js +62 -6
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/services/base.service.d.ts +1 -0
- package/services/base.service.d.ts.map +1 -1
- package/services/workflow-permission-detail.service.d.ts +1 -0
- package/services/workflow-permission-detail.service.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
|
@@ -17,6 +17,7 @@ export class WorkflowPermissionDetailService extends BaseService {
|
|
|
17
17
|
this.serviceManagers = {};
|
|
18
18
|
this.entityName = 'WorkflowPermissionDetail';
|
|
19
19
|
this.tableName = '';
|
|
20
|
+
this.guidEmpty = '00000000-0000-0000-0000-000000000000';
|
|
20
21
|
this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.workflowEndpoint;
|
|
21
22
|
this._moduleConfig = _moduleConfigService.getConfig();
|
|
22
23
|
}
|
|
@@ -55,9 +56,9 @@ export class WorkflowPermissionDetailService extends BaseService {
|
|
|
55
56
|
filters.push(this.newFilter('userId', Operator.equal, userIdCurrent));
|
|
56
57
|
}
|
|
57
58
|
else {
|
|
58
|
-
sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }));
|
|
59
|
+
sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }), new Sort({ field: 'isCOEdit', dir: -1 }));
|
|
59
60
|
}
|
|
60
|
-
const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission', sorts, 'ForCrudList')).data;
|
|
61
|
+
const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission,isCOEdit', sorts, 'ForCrudList')).data;
|
|
61
62
|
if (dataStatus == null) {
|
|
62
63
|
const notifierService = this._injector.get(NotifierService);
|
|
63
64
|
return notifierService.showWarning('Không lấy được thông tin trạng thái hiện tại của bản ghi');
|
|
@@ -89,6 +90,7 @@ export class WorkflowPermissionDetailService extends BaseService {
|
|
|
89
90
|
if (!itemStatus.trangThai) {
|
|
90
91
|
callBackWhenNotHaveStatus(itemStatus, data);
|
|
91
92
|
}
|
|
93
|
+
data.__isCoEdit = dataStatus.some(x => x.itemId === itemId && x.userId != this.guidEmpty && x.isCOEdit);
|
|
92
94
|
data.__trangThai = itemStatus.trangThai;
|
|
93
95
|
data.__textTrangThai = itemStatus.textTrangThai;
|
|
94
96
|
if (itemStatus.workflowCode == DummyWorkflowCode) {
|
|
@@ -142,8 +144,8 @@ export class WorkflowPermissionDetailService extends BaseService {
|
|
|
142
144
|
// if (!ignoreWorkflow) {
|
|
143
145
|
// filters.push(this.newFilter('userId', Operator.equal, userIdCurrent));
|
|
144
146
|
// }
|
|
145
|
-
sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }));
|
|
146
|
-
const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission', sorts, 'ForCrudList')).data;
|
|
147
|
+
sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }), new Sort({ field: 'isCOEdit', dir: -1 }));
|
|
148
|
+
const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission,isCOEdit', sorts, 'ForCrudList')).data;
|
|
147
149
|
if (dataStatus == null) {
|
|
148
150
|
const notifierService = this._injector.get(NotifierService);
|
|
149
151
|
return notifierService.showWarning('Không lấy được thông tin trạng thái hiện tại của bản ghi');
|
|
@@ -166,4 +168,4 @@ WorkflowPermissionDetailService.ctorParameters = () => [
|
|
|
166
168
|
{ type: Injector },
|
|
167
169
|
{ type: ModuleConfigService }
|
|
168
170
|
];
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcGVybWlzc2lvbi1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy93b3JrZmxvdy1wZXJtaXNzaW9uLWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUtyRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsV0FBVztJQU81RCxZQUNJLElBQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLG9CQUF5QztRQUV6QyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsMkJBQTJCLENBQUMsQ0FBQztRQVZwTCxvQkFBZSxHQUVuQixFQUFFLENBQUM7UUFDUCxlQUFVLEdBQUcsMEJBQTBCLENBQUM7UUFDeEMsY0FB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VSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzNDLENBQUM7WUFFRixNQUFNLFVBQVUsR0FBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FDeEMsT0FBTyxFQUNQLCtEQUErRCxFQUMvRCxLQUFLLEVBQ0wsYUFBYSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO2dCQUNwQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDNUQsT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7YUFDbEc7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsd0JBQXdCLENBQ3pCLE9BQU8sRUFDUCxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQ2pCLGFBQWEsRUFDYixjQUFjLEVBQ2QsVUFBVSxFQUNWLHlCQUF5QixDQUM1QixDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQUE7Ozs7WUF4TkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFiUSxVQUFVO1lBQ0UsUUFBUTtZQU9wQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER1bW15V29ya2Zsb3dDb2RlIH0gZnJvbSAnLi4vY2xhc3Nlcy9jb25zdGFudHMnO1xuaW1wb3J0IHsgT3BlcmF0b3IgfSBmcm9tICcuLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZ3MvbW9kdWxlLWNvbmZpZyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uQmFzZSB9IGZyb20gJy4uL2VudW1zL2NvbW1vbic7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtaW5mbyc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtmbG93UGVybWlzc2lvbkRldGFpbFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gICAgcmVhZG9ubHkgX21vZHVsZUNvbmZpZzogTW9kdWxlQ29uZmlnO1xuICAgIHByaXZhdGUgc2VydmljZU1hbmFnZXJzOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IEJhc2VTZXJ2aWNlXG4gICAgfSA9IHt9O1xuICAgIGVudGl0eU5hbWUgPSAnV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsJztcbiAgICB0YWJsZU5hbWUgPSAnJztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihodHRwLCBpbmplY3RvciwgYCR7X21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpRG9tYWluLndvcmtmbG93RW5kcG9pbnR9LyR7X21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpVmVyc2lvbn0vV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsYCk7XG4gICAgICAgIHRoaXMuZW5kUG9pbnQgPSBfbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5lbnZpcm9ubWVudC5hcGlEb21haW4ud29ya2Zsb3dFbmRwb2ludDtcblxuICAgICAgICB0aGlzLl9tb2R1bGVDb25maWcgPSBfbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlclNlcnZpY2Uoc2V0dGluZ0tleTogc3RyaW5nLCBzZXJ2aWNlOiBCYXNlU2VydmljZSkge1xuICAgICAgICB0aGlzLnNlcnZpY2VNYW5hZ2Vyc1tzZXR0aW5nS2V5XSA9IHNlcnZpY2U7XG4gICAgfVxuXG4gICAgZ2V0RW5kcG9pbnRCeVNlcnZpY2Uoc2VydmljZTogQmFzZVNlcnZpY2UpIHtcbiAgICAgICAgcmV0dXJuIGAke3NlcnZpY2UuZW5kUG9pbnR9LyR7dGhpcy5fbW9kdWxlQ29uZmlnLmVudmlyb25tZW50LmFwaVZlcnNpb259YDtcbiAgICB9XG5cbiAgICBjaGFuZ2VFbmRwb2ludChiYXNlU2VydmljZTogQmFzZVNlcnZpY2UpOiBXb3JrZmxvd1Blcm1pc3Npb25EZXRhaWxTZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlVXJpID0gYCR7dGhpcy5nZXRFbmRwb2ludEJ5U2VydmljZShiYXNlU2VydmljZSl9L1dvcmtmbG93UGVybWlzc2lvbkRldGFpbGA7XG4gICAgICAgIHRoaXMudGFibGVOYW1lID0gYmFzZVNlcnZpY2UuZW50aXR5TmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG5cbiAgICBhc3luYyBhcHBlbmRJbmZvRm9yV29ya2Zsb3dTaW5nbGUoXG4gICAgICAgIHVzZXJJZEN1cnJlbnQ6IHN0cmluZyxcbiAgICAgICAgZGF0YTogYW55LFxuICAgICAgICBmaWVsZEtleTogc3RyaW5nID0gJ2lkJyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1czogKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHZvaWQgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmIChjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMgPSAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3dJdGVtW2ZpZWxkS2V5XVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLndvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpID0gJ8SQw6MgYuG6r3QgxJHhuqd1IHF1eSB0csOsbmgnO1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzLnRyYW5nVGhhaSA9IHJvd0l0ZW0uY3VycmVudFN0YXRlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPSByb3dJdGVtLndvcmtmbG93Q29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy5wZXJtaXNzaW9uID0gUGVybWlzc2lvbkJhc2UuUkVBRFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXRlbUlkID0gZGF0YVtmaWVsZEtleV07XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSBbXG4gICAgICAgICAgICB0aGlzLm5ld0ZpbHRlcignaXRlbUlkJywgT3BlcmF0b3IuZXF1YWwsIGl0ZW1JZCksXG4gICAgICAgICAgICB0aGlzLm5ld0ZpbHRlcignbm90SW5Xb3JrZmxvdycsIE9wZXJhdG9yLmVxdWFsLCBmYWxzZSksXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IHNvcnRzID0gW107XG4gICAgICAgIGlmICghaWdub3JlV29ya2Zsb3cpIHtcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcigndXNlcklkJywgT3BlcmF0b3IuZXF1YWwsIHVzZXJJZEN1cnJlbnQpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNvcnRzLnB1c2goXG4gICAgICAgICAgICAgICAgbmV3IFNvcnQoeyBmaWVsZDogJ3Blcm1pc3Npb24nLCBkaXI6IC0xIH0pLFxuICAgICAgICAgICAgICAgIG5ldyBTb3J0KHsgZmllbGQ6ICdpbkNvbWluZycsIGRpcjogLTEgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGFTdGF0dXM6IGFueVtdID0gKGF3YWl0IHRoaXMuZ2V0QWxsKFxuICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICdpdGVtSWQsdXNlcklkLHRyYW5nVGhhaSx0ZXh0VHJhbmdUaGFpLHdvcmtmbG93Q29kZSxwZXJtaXNzaW9uJyxcbiAgICAgICAgICAgIHNvcnRzLFxuICAgICAgICAgICAgJ0ZvckNydWRMaXN0J1xuICAgICAgICApKS5kYXRhO1xuICAgICAgICBpZiAoZGF0YVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgIHJldHVybiBub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0tow7RuZyBs4bqleSDEkcaw4bujYyB0aMO0bmcgdGluIHRy4bqhbmcgdGjDoWkgaGnhu4duIHThuqFpIGPhu6dhIGLhuqNuIGdoaScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgaXRlbUlkLFxuICAgICAgICAgICAgdXNlcklkQ3VycmVudCxcbiAgICAgICAgICAgIGlnbm9yZVdvcmtmbG93LFxuICAgICAgICAgICAgZGF0YVN0YXR1cyxcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXNcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgIGRhdGE6IGFueSxcbiAgICAgICAgaXRlbUlkOiBhbnksXG4gICAgICAgIHVzZXJJZEN1cnJlbnQ6IHN0cmluZyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4sXG4gICAgICAgIGRhdGFTdGF0dXM6IGFueVtdLFxuICAgICAgICBjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzOiAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4gdm9pZCA9IG51bGxcbiAgICApIHtcbiAgICAgICAgbGV0IGl0ZW1TdGF0dXM6IGFueSA9IHtcbiAgICAgICAgICAgIHRleHRUcmFuZ1RoYWk6ICdDaMawYSBjaOG6oXkgcXV5IHRyw6xuaCdcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXRlbUlkKSB7XG4gICAgICAgICAgICAvLyBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PSBpdGVtSWQgJiYgcS51c2VySWQgPT0gdXNlcklkQ3VycmVudCk7XG4gICAgICAgICAgICAvLyBpZiAoaWdub3JlV29ya2Zsb3cgPT09IHRydWUgJiYgbHN0SXRlbVN0YXR1cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vICAgICBsc3RJdGVtU3RhdHVzLnB1c2goLi4uZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKTtcbiAgICAgICAgICAgIC8vIGxldCBpdGVtU3RhdHVzID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChsc3RJdGVtU3RhdHVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMgPSBsc3RJdGVtU3RhdHVzLmZpbmQocSA9PiAocS5wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVCkgPT0gUGVybWlzc2lvbkJhc2UuRURJVCk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1TdGF0dXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzID0gbHN0SXRlbVN0YXR1c1swXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBO4bq/dSBraMO0bmcgY8OzIGLhuqNuIGdoaSB0cuG6oW5nIHRow6FpXG4gICAgICAgIC8vIE5oxrBuZyDEkcOjIHThuqFvIHRhc2sgcuG7k2kgdGjDrCBoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSBcIsSRw6MgdOG6oW8gY8O0bmcgdmnhu4djXCIgxJHhu4MgdHLDoW5oIHRyxrDhu51uZyBo4bujcCBoaeG7g24gdGjhu4sgbsO6dCBi4bqvdCDEkeG6p3UgdGjhu6thIHRyw6puIGdpYW8gZGnhu4duXG4gICAgICAgIGlmICghaXRlbVN0YXR1cy50cmFuZ1RoYWkpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMoaXRlbVN0YXR1cywgZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhLl9fdHJhbmdUaGFpID0gaXRlbVN0YXR1cy50cmFuZ1RoYWk7XG4gICAgICAgIGRhdGEuX190ZXh0VHJhbmdUaGFpID0gaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpO1xuICAgICAgICBpZiAoaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPT0gRHVtbXlXb3JrZmxvd0NvZGUpIHtcbiAgICAgICAgICAgIGRhdGEuaGlkZGVuV29ya2Zsb3dBY3Rpb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEuX193b3JrZmxvd0NvZGUgPSBpdGVtU3RhdHVzLndvcmtmbG93Q29kZTtcbiAgICAgICAgZGF0YS5fX3Blcm1pc3Npb24gPSBpdGVtU3RhdHVzLnBlcm1pc3Npb247XG5cbiAgICAgICAgZGF0YS5fX2Rpc2FibGVFZGl0ID0gdHJ1ZTtcbiAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSB0cnVlO1xuICAgICAgICBpZiAoZGF0YS5iYXNlUGVybWlzc2lvbiAmIFBlcm1pc3Npb25CYXNlLkVESVRcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlRWRpdCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVQZXJtaXNzaW9uRWRpdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEuYmFzZVBlcm1pc3Npb24gJiBQZXJtaXNzaW9uQmFzZS5ERUxFVEVcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuREVMRVRFXG4gICAgICAgICkge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlUGVybWlzc2lvbkRlbGV0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEzhuqV5IHRow6ptIGPDoWMgdGjDtG5nIHRpbiBj4bqnbiBjaG8gcXV5IHRyw6xuaCBuZ2hp4buHcCB24bulIGNobyBjw6FjIGLhuqNuIGdoaSB0cm9uZyBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgYXBwZW5kSW5mb0ZvcldvcmtmbG93KFxuICAgICAgICB1c2VySWRDdXJyZW50OiBzdHJpbmcsIGRhdGE6IGFueVtdLFxuICAgICAgICBmaWVsZEtleTogc3RyaW5nID0gJ2lkJyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1czogKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHZvaWQgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmIChjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMgPSAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3dJdGVtW2ZpZWxkS2V5XVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLndvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpID0gJ8SQw6MgYuG6r3QgxJHhuqd1IHF1eSB0csOsbmgnO1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzLnRyYW5nVGhhaSA9IHJvd0l0ZW0uY3VycmVudFN0YXRlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPSByb3dJdGVtLndvcmtmbG93Q29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy5wZXJtaXNzaW9uID0gUGVybWlzc2lvbkJhc2UuUkVBRFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbHN0SXRlbUlkID0gZGF0YS5maWx0ZXIocSA9PiBxW2ZpZWxkS2V5XSkubWFwKHEgPT4gcVtmaWVsZEtleV0pO1xuICAgICAgICBsZXQgZmlsdGVycyA9IFtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdpdGVtSWQnLCBPcGVyYXRvci5pbiwgbHN0SXRlbUlkKSxcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdub3RJbldvcmtmbG93JywgT3BlcmF0b3IuZXF1YWwsIGZhbHNlKSxcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKHRoaXMudGFibGVOYW1lKSB7XG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIoJ3RhYmxlTmFtZScsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnRhYmxlTmFtZSkpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc29ydHMgPSBbXTtcbiAgICAgICAgLy8gaWYgKCFpZ25vcmVXb3JrZmxvdykge1xuICAgICAgICAvLyAgICAgZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKCd1c2VySWQnLCBPcGVyYXRvci5lcXVhbCwgdXNlcklkQ3VycmVudCkpO1xuICAgICAgICAvLyB9XG4gICAgICAgIHNvcnRzLnB1c2goXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAncGVybWlzc2lvbicsIGRpcjogLTEgfSksXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAnaW5Db21pbmcnLCBkaXI6IC0xIH0pLFxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgZGF0YVN0YXR1czogYW55W10gPSAoYXdhaXQgdGhpcy5nZXRBbGwoXG4gICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgJ2l0ZW1JZCx1c2VySWQsdHJhbmdUaGFpLHRleHRUcmFuZ1RoYWksd29ya2Zsb3dDb2RlLHBlcm1pc3Npb24nLFxuICAgICAgICAgICAgc29ydHMsXG4gICAgICAgICAgICAnRm9yQ3J1ZExpc3QnXG4gICAgICAgICkpLmRhdGE7XG4gICAgICAgIGlmIChkYXRhU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdGlmaWVyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChOb3RpZmllclNlcnZpY2UpO1xuICAgICAgICAgICAgcmV0dXJuIG5vdGlmaWVyU2VydmljZS5zaG93V2FybmluZygnS2jDtG5nIGzhuqV5IMSRxrDhu6NjIHRow7RuZyB0aW4gdHLhuqFuZyB0aMOhaSBoaeG7h24gdOG6oWkgY+G7p2EgYuG6o24gZ2hpJyk7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YS5mb3JFYWNoKHJvd0l0ZW0gPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgICAgICAgICAgcm93SXRlbSxcbiAgICAgICAgICAgICAgICByb3dJdGVtW2ZpZWxkS2V5XSxcbiAgICAgICAgICAgICAgICB1c2VySWRDdXJyZW50LFxuICAgICAgICAgICAgICAgIGlnbm9yZVdvcmtmbG93LFxuICAgICAgICAgICAgICAgIGRhdGFTdGF0dXMsXG4gICAgICAgICAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1c1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcGVybWlzc2lvbi1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy93b3JrZmxvdy1wZXJtaXNzaW9uLWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUtyRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsV0FBVztJQVE1RCxZQUNJLElBQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLG9CQUF5QztRQUV6QyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsMkJBQTJCLENBQUMsQ0FBQztRQVhwTCxvQkFBZSxHQUVuQixFQUFFLENBQUM7UUFDUCxlQUFVLEdBQUcsMEJBQTBCLENBQUM7UUFDeEMsY0FB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LE1BQU07YUFDckI7OztZQWJRLFVBQVU7WUFDRSxRQUFRO1lBT3BCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHVtbXlXb3JrZmxvd0NvZGUgfSBmcm9tICcuLi9jbGFzc2VzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPcGVyYXRvciB9IGZyb20gJy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcbmltcG9ydCB7IFBlcm1pc3Npb25CYXNlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uJztcbmltcG9ydCB7IFNvcnQgfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1pbmZvJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4vbm90aWZpZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcbiAgICByZWFkb25seSBfbW9kdWxlQ29uZmlnOiBNb2R1bGVDb25maWc7XG4gICAgcHJpdmF0ZSBzZXJ2aWNlTWFuYWdlcnM6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogQmFzZVNlcnZpY2VcbiAgICB9ID0ge307XG4gICAgZW50aXR5TmFtZSA9ICdXb3JrZmxvd1Blcm1pc3Npb25EZXRhaWwnO1xuICAgIHRhYmxlTmFtZSA9ICcnO1xuICAgIHByaXZhdGUgZ3VpZEVtcHR5ID0gJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgX21vZHVsZUNvbmZpZ1NlcnZpY2U6IE1vZHVsZUNvbmZpZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaHR0cCwgaW5qZWN0b3IsIGAke19tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaURvbWFpbi53b3JrZmxvd0VuZHBvaW50fS8ke19tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaVZlcnNpb259L1dvcmtmbG93UGVybWlzc2lvbkRldGFpbGApO1xuICAgICAgICB0aGlzLmVuZFBvaW50ID0gX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpRG9tYWluLndvcmtmbG93RW5kcG9pbnQ7XG5cbiAgICAgICAgdGhpcy5fbW9kdWxlQ29uZmlnID0gX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJTZXJ2aWNlKHNldHRpbmdLZXk6IHN0cmluZywgc2VydmljZTogQmFzZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlTWFuYWdlcnNbc2V0dGluZ0tleV0gPSBzZXJ2aWNlO1xuICAgIH1cblxuICAgIGdldEVuZHBvaW50QnlTZXJ2aWNlKHNlcnZpY2U6IEJhc2VTZXJ2aWNlKSB7XG4gICAgICAgIHJldHVybiBgJHtzZXJ2aWNlLmVuZFBvaW50fS8ke3RoaXMuX21vZHVsZUNvbmZpZy5lbnZpcm9ubWVudC5hcGlWZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgY2hhbmdlRW5kcG9pbnQoYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlKTogV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsU2VydmljZSB7XG4gICAgICAgIHRoaXMuc2VydmljZVVyaSA9IGAke3RoaXMuZ2V0RW5kcG9pbnRCeVNlcnZpY2UoYmFzZVNlcnZpY2UpfS9Xb3JrZmxvd1Blcm1pc3Npb25EZXRhaWxgO1xuICAgICAgICB0aGlzLnRhYmxlTmFtZSA9IGJhc2VTZXJ2aWNlLmVudGl0eU5hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuXG4gICAgYXN5bmMgYXBwZW5kSW5mb0ZvcldvcmtmbG93U2luZ2xlKFxuICAgICAgICB1c2VySWRDdXJyZW50OiBzdHJpbmcsXG4gICAgICAgIGRhdGE6IGFueSxcbiAgICAgICAgZmllbGRLZXk6IHN0cmluZyA9ICdpZCcsXG4gICAgICAgIGlnbm9yZVdvcmtmbG93OiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXM6IChpdGVtU3RhdHVzLCByb3dJdGVtKSA9PiB2b2lkID0gbnVsbFxuICAgICkge1xuICAgICAgICBpZiAoY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID0gKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocm93SXRlbVtmaWVsZEtleV1cbiAgICAgICAgICAgICAgICAgICAgJiYgcm93SXRlbS53b3JrZmxvd0NvZGVcbiAgICAgICAgICAgICAgICAgICAgJiYgcm93SXRlbS5jdXJyZW50U3RhdGVDb2RlXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMudGV4dFRyYW5nVGhhaSA9ICfEkMOjIGLhuq90IMSR4bqndSBxdXkgdHLDrG5oJztcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50cmFuZ1RoYWkgPSByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMud29ya2Zsb3dDb2RlID0gcm93SXRlbS53b3JrZmxvd0NvZGU7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMucGVybWlzc2lvbiA9IFBlcm1pc3Npb25CYXNlLlJFQURcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1JZCA9IGRhdGFbZmllbGRLZXldO1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gW1xuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ2l0ZW1JZCcsIE9wZXJhdG9yLmVxdWFsLCBpdGVtSWQpLFxuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ25vdEluV29ya2Zsb3cnLCBPcGVyYXRvci5lcXVhbCwgZmFsc2UpLFxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBzb3J0cyA9IFtdO1xuICAgICAgICBpZiAoIWlnbm9yZVdvcmtmbG93KSB7XG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIoJ3VzZXJJZCcsIE9wZXJhdG9yLmVxdWFsLCB1c2VySWRDdXJyZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzb3J0cy5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBTb3J0KHsgZmllbGQ6ICdwZXJtaXNzaW9uJywgZGlyOiAtMSB9KSxcbiAgICAgICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAnaW5Db21pbmcnLCBkaXI6IC0xIH0pLFxuICAgICAgICAgICAgICAgIG5ldyBTb3J0KHsgZmllbGQ6ICdpc0NPRWRpdCcsZGlyOiAtMX0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGFTdGF0dXM6IGFueVtdID0gKGF3YWl0IHRoaXMuZ2V0QWxsKFxuICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICdpdGVtSWQsdXNlcklkLHRyYW5nVGhhaSx0ZXh0VHJhbmdUaGFpLHdvcmtmbG93Q29kZSxwZXJtaXNzaW9uLGlzQ09FZGl0JyxcbiAgICAgICAgICAgIHNvcnRzLFxuICAgICAgICAgICAgJ0ZvckNydWRMaXN0J1xuICAgICAgICApKS5kYXRhO1xuICAgICAgICBpZiAoZGF0YVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgIHJldHVybiBub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0tow7RuZyBs4bqleSDEkcaw4bujYyB0aMO0bmcgdGluIHRy4bqhbmcgdGjDoWkgaGnhu4duIHThuqFpIGPhu6dhIGLhuqNuIGdoaScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgaXRlbUlkLFxuICAgICAgICAgICAgdXNlcklkQ3VycmVudCxcbiAgICAgICAgICAgIGlnbm9yZVdvcmtmbG93LFxuICAgICAgICAgICAgZGF0YVN0YXR1cyxcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXNcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgIGRhdGE6IGFueSxcbiAgICAgICAgaXRlbUlkOiBhbnksXG4gICAgICAgIHVzZXJJZEN1cnJlbnQ6IHN0cmluZyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4sXG4gICAgICAgIGRhdGFTdGF0dXM6IGFueVtdLFxuICAgICAgICBjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzOiAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4gdm9pZCA9IG51bGxcbiAgICApIHtcbiAgICAgICAgbGV0IGl0ZW1TdGF0dXM6IGFueSA9IHtcbiAgICAgICAgICAgIHRleHRUcmFuZ1RoYWk6ICdDaMawYSBjaOG6oXkgcXV5IHRyw6xuaCdcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXRlbUlkKSB7XG4gICAgICAgICAgICAvLyBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PSBpdGVtSWQgJiYgcS51c2VySWQgPT0gdXNlcklkQ3VycmVudCk7XG4gICAgICAgICAgICAvLyBpZiAoaWdub3JlV29ya2Zsb3cgPT09IHRydWUgJiYgbHN0SXRlbVN0YXR1cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vICAgICBsc3RJdGVtU3RhdHVzLnB1c2goLi4uZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKTtcbiAgICAgICAgICAgIC8vIGxldCBpdGVtU3RhdHVzID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChsc3RJdGVtU3RhdHVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMgPSBsc3RJdGVtU3RhdHVzLmZpbmQocSA9PiAocS5wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVCkgPT0gUGVybWlzc2lvbkJhc2UuRURJVCk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1TdGF0dXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzID0gbHN0SXRlbVN0YXR1c1swXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBO4bq/dSBraMO0bmcgY8OzIGLhuqNuIGdoaSB0cuG6oW5nIHRow6FpXG4gICAgICAgIC8vIE5oxrBuZyDEkcOjIHThuqFvIHRhc2sgcuG7k2kgdGjDrCBoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSBcIsSRw6MgdOG6oW8gY8O0bmcgdmnhu4djXCIgxJHhu4MgdHLDoW5oIHRyxrDhu51uZyBo4bujcCBoaeG7g24gdGjhu4sgbsO6dCBi4bqvdCDEkeG6p3UgdGjhu6thIHRyw6puIGdpYW8gZGnhu4duXG4gICAgICAgIGlmICghaXRlbVN0YXR1cy50cmFuZ1RoYWkpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMoaXRlbVN0YXR1cywgZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YS5fX2lzQ29FZGl0ID0gZGF0YVN0YXR1cy5zb21lKHg9PnguaXRlbUlkID09PSBpdGVtSWQgJiYgeC51c2VySWQgIT0gdGhpcy5ndWlkRW1wdHkgICYmIHguaXNDT0VkaXQpO1xuICAgICAgICBkYXRhLl9fdHJhbmdUaGFpID0gaXRlbVN0YXR1cy50cmFuZ1RoYWk7XG4gICAgICAgIGRhdGEuX190ZXh0VHJhbmdUaGFpID0gaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpO1xuICAgICAgICBpZiAoaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPT0gRHVtbXlXb3JrZmxvd0NvZGUpIHtcbiAgICAgICAgICAgIGRhdGEuaGlkZGVuV29ya2Zsb3dBY3Rpb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEuX193b3JrZmxvd0NvZGUgPSBpdGVtU3RhdHVzLndvcmtmbG93Q29kZTtcbiAgICAgICAgZGF0YS5fX3Blcm1pc3Npb24gPSBpdGVtU3RhdHVzLnBlcm1pc3Npb247XG5cbiAgICAgICAgZGF0YS5fX2Rpc2FibGVFZGl0ID0gdHJ1ZTtcbiAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSB0cnVlO1xuICAgICAgICBpZiAoZGF0YS5iYXNlUGVybWlzc2lvbiAmIFBlcm1pc3Npb25CYXNlLkVESVRcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlRWRpdCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVQZXJtaXNzaW9uRWRpdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEuYmFzZVBlcm1pc3Npb24gJiBQZXJtaXNzaW9uQmFzZS5ERUxFVEVcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuREVMRVRFXG4gICAgICAgICkge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlUGVybWlzc2lvbkRlbGV0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEzhuqV5IHRow6ptIGPDoWMgdGjDtG5nIHRpbiBj4bqnbiBjaG8gcXV5IHRyw6xuaCBuZ2hp4buHcCB24bulIGNobyBjw6FjIGLhuqNuIGdoaSB0cm9uZyBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgYXBwZW5kSW5mb0ZvcldvcmtmbG93KFxuICAgICAgICB1c2VySWRDdXJyZW50OiBzdHJpbmcsIGRhdGE6IGFueVtdLFxuICAgICAgICBmaWVsZEtleTogc3RyaW5nID0gJ2lkJyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1czogKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHZvaWQgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmIChjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMgPSAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3dJdGVtW2ZpZWxkS2V5XVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLndvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpID0gJ8SQw6MgYuG6r3QgxJHhuqd1IHF1eSB0csOsbmgnO1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzLnRyYW5nVGhhaSA9IHJvd0l0ZW0uY3VycmVudFN0YXRlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPSByb3dJdGVtLndvcmtmbG93Q29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy5wZXJtaXNzaW9uID0gUGVybWlzc2lvbkJhc2UuUkVBRFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbHN0SXRlbUlkID0gZGF0YS5maWx0ZXIocSA9PiBxW2ZpZWxkS2V5XSkubWFwKHEgPT4gcVtmaWVsZEtleV0pO1xuICAgICAgICBsZXQgZmlsdGVycyA9IFtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdpdGVtSWQnLCBPcGVyYXRvci5pbiwgbHN0SXRlbUlkKSxcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdub3RJbldvcmtmbG93JywgT3BlcmF0b3IuZXF1YWwsIGZhbHNlKSxcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKHRoaXMudGFibGVOYW1lKSB7XG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIoJ3RhYmxlTmFtZScsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnRhYmxlTmFtZSkpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc29ydHMgPSBbXTtcbiAgICAgICAgLy8gaWYgKCFpZ25vcmVXb3JrZmxvdykge1xuICAgICAgICAvLyAgICAgZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKCd1c2VySWQnLCBPcGVyYXRvci5lcXVhbCwgdXNlcklkQ3VycmVudCkpO1xuICAgICAgICAvLyB9XG4gICAgICAgIHNvcnRzLnB1c2goXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAncGVybWlzc2lvbicsIGRpcjogLTEgfSksXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAnaW5Db21pbmcnLCBkaXI6IC0xIH0pLFxuICAgICAgICAgICAgbmV3IFNvcnQoeyBmaWVsZDogJ2lzQ09FZGl0JyxkaXI6IC0xfSlcbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGRhdGFTdGF0dXM6IGFueVtdID0gKGF3YWl0IHRoaXMuZ2V0QWxsKFxuICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICdpdGVtSWQsdXNlcklkLHRyYW5nVGhhaSx0ZXh0VHJhbmdUaGFpLHdvcmtmbG93Q29kZSxwZXJtaXNzaW9uLGlzQ09FZGl0JyxcbiAgICAgICAgICAgIHNvcnRzLFxuICAgICAgICAgICAgJ0ZvckNydWRMaXN0J1xuICAgICAgICApKS5kYXRhO1xuICAgICAgICBpZiAoZGF0YVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgIHJldHVybiBub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0tow7RuZyBs4bqleSDEkcaw4bujYyB0aMO0bmcgdGluIHRy4bqhbmcgdGjDoWkgaGnhu4duIHThuqFpIGPhu6dhIGLhuqNuIGdoaScpO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEuZm9yRWFjaChyb3dJdGVtID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwZW5kV29ya2Zsb3dJbmZvVG9JdGVtKFxuICAgICAgICAgICAgICAgIHJvd0l0ZW0sXG4gICAgICAgICAgICAgICAgcm93SXRlbVtmaWVsZEtleV0sXG4gICAgICAgICAgICAgICAgdXNlcklkQ3VycmVudCxcbiAgICAgICAgICAgICAgICBpZ25vcmVXb3JrZmxvdyxcbiAgICAgICAgICAgICAgICBkYXRhU3RhdHVzLFxuICAgICAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiJdfQ==
|