@lowcodeunit/applications-flow-common 1.36.5-lets-get-social-ish → 1.36.6-lets-get-social-ish

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.
@@ -49,7 +49,7 @@ export class ProjectService {
49
49
  resolve(response.Status);
50
50
  var results = await Promise.all([
51
51
  this.LoadEnterpriseAsCode(state),
52
- this.LoadUserFeed(1, 25, false, state),
52
+ this.LoadUserFeed(1, 10, false, state),
53
53
  ]);
54
54
  }
55
55
  else {
@@ -235,7 +235,7 @@ export class ProjectService {
235
235
  resolve(response.Status);
236
236
  var results = await Promise.all([
237
237
  this.LoadEnterpriseAsCode(state),
238
- this.LoadUserFeed(1, 25, false, state),
238
+ this.LoadUserFeed(1, 10, false, state),
239
239
  ]);
240
240
  }
241
241
  else {
@@ -258,7 +258,7 @@ export class ProjectService {
258
258
  resolve(response.Status);
259
259
  var results = await Promise.all([
260
260
  this.LoadEnterpriseAsCode(state),
261
- this.LoadUserFeed(1, 25, false, state),
261
+ this.LoadUserFeed(1, 10, false, state),
262
262
  ]);
263
263
  }
264
264
  else {
@@ -305,7 +305,7 @@ export class ProjectService {
305
305
  resolve(response.Status);
306
306
  var results = await Promise.all([
307
307
  this.LoadEnterpriseAsCode(state),
308
- this.LoadUserFeed(1, 25, false, state),
308
+ this.LoadUserFeed(1, 10, false, state),
309
309
  ]);
310
310
  }
311
311
  else {
@@ -331,7 +331,7 @@ export class ProjectService {
331
331
  resolve(response.Status);
332
332
  var results = await Promise.all([
333
333
  this.LoadEnterpriseAsCode(state),
334
- this.LoadUserFeed(1, 25, false, state),
334
+ this.LoadUserFeed(1, 10, false, state),
335
335
  ]);
336
336
  }
337
337
  else {
@@ -380,4 +380,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
380
380
  providedIn: 'root',
381
381
  }]
382
382
  }], ctorParameters: function () { return [{ type: i1.ApplicationsFlowService }, { type: i2.ActivatedRoute }]; } });
383
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUF3QjNDLE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQ1ksV0FBb0MsRUFDcEMsY0FBOEI7UUFEOUIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUN2QyxDQUFDO0lBRUosK0ZBQStGO0lBQy9GLGlDQUFpQztJQUVqQyxxQkFBcUI7SUFDckIsdUNBQXVDO0lBQ3ZDLCtDQUErQztJQUMvQywwQ0FBMEM7SUFDMUMsMkNBQTJDO0lBRTNDLG1EQUFtRDtJQUNuRCxpQkFBaUI7SUFDakIsNkRBQTZEO0lBRTdELHdDQUF3QztJQUN4QyxVQUFVO0lBQ1YsVUFBVTtJQUNWLElBQUk7SUFFRyxvQkFBb0IsQ0FDekIsS0FBNEI7UUFFNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVyQixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLENBQUMsU0FBUyxDQUMvQyxLQUFLLEVBQUUsUUFBc0IsRUFBRSxFQUFFO2dCQUMvQixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDOUIsc0RBQXNEO29CQUV0RCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ25CO3FCQUFNO29CQUNMLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUV0QixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUV4QixPQUFPLENBQUMsR0FB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Q0FBQztRQUVsRCxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJDLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUMsSUFBSSxZQUFZLEdBQWEsRUFBRSxDQUFDO1FBRWhDLElBQUksV0FBVyxFQUFFO1lBQ2YsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoQzthQUFNLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUMzQixNQUFNLElBQUksR0FBK0MsRUFBRSxDQUFDO1lBRTVELEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDcEQsQ0FBQyxTQUFpQixFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQ0YsQ0FBQztZQUVGLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFOUQsSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXBDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMvQztRQUVELE9BQU87WUFDTCxZQUFZLEVBQUUsWUFBWTtZQUMxQixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDO1FBQ0YsTUFBTTtJQUNSLENBQUM7OzJHQWxrQlUsY0FBYzsrR0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VNb2RlbGVkUmVzcG9uc2UsIEJhc2VSZXNwb25zZSwgU3RhdHVzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgZGVidWcgfSBmcm9tICdjb25zb2xlJztcbmltcG9ydCB7XG4gIEVhQ0FwcGxpY2F0aW9uQXNDb2RlLFxuICBFYUNQcm9qZWN0QXNDb2RlLFxuICBFbnRlcnByaXNlQXNDb2RlLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBHaXRIdWJXb3JrZmxvd1J1bixcbiAgVW5wYWNrTG93Q29kZVVuaXRSZXF1ZXN0LFxufSBmcm9tICcuLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb25zLWZsb3cuc2VydmljZSc7XG5pbXBvcnQge1xuICBGZWVkRW50cnksXG4gIEZlZWRJdGVtLFxuICBVc2VyRmVlZFJlc3BvbnNlLFxufSBmcm9tICcuLi9tb2RlbHMvdXNlci1mZWVkLm1vZGVsJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2plY3RTZXJ2aWNlIHtcbiAgcHVibGljIENyZWF0aW5nUHJvamVjdDogYm9vbGVhbjtcblxuICBwdWJsaWMgRWRpdGluZ1Byb2plY3RMb29rdXA6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgYXBwc0Zsb3dTdmM6IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIC8vIHB1YmxpYyBDcmVhdGVSZXBvc2l0b3J5KHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsIG9yZzogc3RyaW5nLCByZXBvTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIC8vICAgc3RhdGUuR2l0SHViLkxvYWRpbmcgPSB0cnVlO1xuXG4gIC8vICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAvLyAgICAgLkNyZWF0ZVJlcG9zaXRvcnkob3JnLCByZXBvTmFtZSlcbiAgLy8gICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgLy8gICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gIC8vICAgICAgICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKHJlcG9OYW1lKTtcblxuICAvLyAgICAgICAgIHN0YXRlLkdpdEh1Yi5DcmVhdGluZ1JlcG9zaXRvcnkgPSBmYWxzZTtcbiAgLy8gICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAvLyAgVE9ETzogIE5lZWQgdG8gc3VyZmFjZSBhbiBlcnJvciB0byB0aGUgdXNlci4uLlxuXG4gIC8vICAgICAgICAgc3RhdGUuR2l0SHViLkxvYWRpbmcgPSBmYWxzZTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSk7XG4gIC8vIH1cblxuICBwdWJsaWMgRW5zdXJlVXNlckVudGVycHJpc2UoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiBQcm9taXNlPEJhc2VSZXNwb25zZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5FbnN1cmVVc2VyRW50ZXJwcmlzZSgpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIC8vIGNvbnN0IGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBFbnRlcnByaXNlQXNDb2RlUmVtb3ZhbHMoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBlYWM6IEVudGVycHJpc2VBc0NvZGVcbiAgKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuRW50ZXJwcmlzZUFzQ29kZVJlbW92YWxzKGVhYykuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8c3RyaW5nPikgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICB2YXIgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkRW50ZXJwcmlzZUFzQ29kZShzdGF0ZSksXG4gICAgICAgICAgICAgIHRoaXMuTG9hZFVzZXJGZWVkKDEsIDI1LCBmYWxzZSwgc3RhdGUpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgR2VuZXJhdGVSb3V0ZWRBcHBsaWNhdGlvbnMoXG4gICAgYXBwbGljYXRpb25zOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0sXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiB7XG4gICAgW3JvdXRlOiBzdHJpbmddOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH07XG4gIH0ge1xuICAgIGNvbnN0IGFwcExvb2t1cHMgPSBPYmplY3Qua2V5cyhhcHBsaWNhdGlvbnMpO1xuXG4gICAgY29uc3QgYXBwcyA9IGFwcExvb2t1cHMubWFwKChhcHBMb29rdXApID0+IGFwcGxpY2F0aW9uc1thcHBMb29rdXBdKTtcblxuICAgIGxldCBhcHBSb3V0ZXMgPVxuICAgICAgYXBwcy5tYXAoKGFwcCkgPT4ge1xuICAgICAgICByZXR1cm4gYXBwPy5Mb29rdXBDb25maWc/LlBhdGhSZWdleC5yZXBsYWNlKCcuKicsICcnKTtcbiAgICAgIH0pIHx8IFtdO1xuXG4gICAgYXBwUm91dGVzID0gYXBwUm91dGVzLmZpbHRlcigoYXIpID0+IGFyICE9IG51bGwpO1xuXG4gICAgbGV0IHJvdXRlQmFzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBhcHBSb3V0ZXMuZm9yRWFjaCgoYXBwUm91dGUpID0+IHtcbiAgICAgIGNvbnN0IGFwcFJvdXRlUGFydHMgPSBhcHBSb3V0ZS5zcGxpdCgnLycpO1xuXG4gICAgICBjb25zdCBhcHBSb3V0ZUJhc2UgPSBgLyR7YXBwUm91dGVQYXJ0c1sxXX1gO1xuXG4gICAgICBpZiAocm91dGVCYXNlcy5pbmRleE9mKGFwcFJvdXRlQmFzZSkgPCAwKSB7XG4gICAgICAgIHJvdXRlQmFzZXMucHVzaChhcHBSb3V0ZUJhc2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbGV0IHdvcmtpbmdBcHBMb29rdXBzID0gWy4uLihhcHBMb29rdXBzIHx8IFtdKV07XG5cbiAgICByb3V0ZUJhc2VzID0gcm91dGVCYXNlcy5zb3J0KChhLCBiKSA9PiBiLmxvY2FsZUNvbXBhcmUoYSkpO1xuXG4gICAgY29uc3Qgcm91dGVTZXQgPVxuICAgICAgcm91dGVCYXNlcy5yZWR1Y2UoKHByZXZSb3V0ZU1hcCwgY3VycmVudFJvdXRlQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCByb3V0ZU1hcCA9IHtcbiAgICAgICAgICAuLi5wcmV2Um91dGVNYXAsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZmlsdGVyZWRBcHBMb29rdXBzID0gd29ya2luZ0FwcExvb2t1cHMuZmlsdGVyKCh3YWwpID0+IHtcbiAgICAgICAgICBjb25zdCB3YSA9IGFwcGxpY2F0aW9uc1t3YWxdO1xuXG4gICAgICAgICAgcmV0dXJuIHdhPy5Mb29rdXBDb25maWc/LlBhdGhSZWdleC5zdGFydHNXaXRoKGN1cnJlbnRSb3V0ZUJhc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICByb3V0ZU1hcFtjdXJyZW50Um91dGVCYXNlXSA9XG4gICAgICAgICAgZmlsdGVyZWRBcHBMb29rdXBzLnJlZHVjZSgocHJldkFwcE1hcCwgYXBwTG9va3VwKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhcHBNYXAgPSB7XG4gICAgICAgICAgICAgIC4uLnByZXZBcHBNYXAsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBhcHBNYXBbYXBwTG9va3VwXSA9IGFwcGxpY2F0aW9uc1thcHBMb29rdXBdO1xuXG4gICAgICAgICAgICByZXR1cm4gYXBwTWFwO1xuICAgICAgICAgIH0sIHt9KSB8fCB7fTtcblxuICAgICAgICB3b3JraW5nQXBwTG9va3VwcyA9IHdvcmtpbmdBcHBMb29rdXBzLmZpbHRlcigod2EpID0+IHtcbiAgICAgICAgICByZXR1cm4gZmlsdGVyZWRBcHBMb29rdXBzLmluZGV4T2Yod2EpIDwgMDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJvdXRlTWFwO1xuICAgICAgfSwge30pIHx8IHt9O1xuXG4gICAgbGV0IHJvdXRlU2V0S2V5cyA9IE9iamVjdC5rZXlzKHJvdXRlU2V0KTtcblxuICAgIHJvdXRlU2V0S2V5cyA9IHJvdXRlU2V0S2V5cy5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xuXG4gICAgY29uc3Qgcm91dGVTZXRSZXN1bHQgPSB7fTtcblxuICAgIHJvdXRlU2V0S2V5cy5mb3JFYWNoKChyc2spID0+IChyb3V0ZVNldFJlc3VsdFtyc2tdID0gcm91dGVTZXRbcnNrXSkpO1xuXG4gICAgcmV0dXJuIHJvdXRlU2V0UmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIEdldEFjdGl2ZUVudGVycHJpc2UoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZ0FjdGl2ZUVudGVycHJpc2UgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkdldEFjdGl2ZUVudGVycHJpc2UoKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChcbiAgICAgICAgICByZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTx7IE5hbWU6IHN0cmluZzsgTG9va3VwOiBzdHJpbmcgfT5cbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZ0FjdGl2ZUVudGVycHJpc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgc3RhdGUuQWN0aXZlRW50ZXJwcmlzZUxvb2t1cCA9IHJlc3BvbnNlLk1vZGVsPy5Mb29rdXA7XG5cbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nQWN0aXZlRW50ZXJwcmlzZSA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIEhhc1ZhbGlkQ29ubmVjdGlvbihcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGZvcmNlRW5zdXJlVXNlcjogYm9vbGVhbiA9IGZhbHNlXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5IYXNWYWxpZENvbm5lY3Rpb24oKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgc3RhdGUuR2l0SHViLkhhc0Nvbm5lY3Rpb24gPSByZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMDtcblxuICAgICAgICAgIGlmIChzdGF0ZS5HaXRIdWIuSGFzQ29ubmVjdGlvbiB8fCBmb3JjZUVuc3VyZVVzZXIpIHtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIExpc3RFbnRlcnByaXNlcyhzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nRW50ZXJwcmlzZXMgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkxpc3RFbnRlcnByaXNlcygpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEFycmF5PGFueT4+KSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZ0VudGVycHJpc2VzID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHN0YXRlLkVudGVycHJpc2VzID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuTW9kZWwpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmdFbnRlcnByaXNlcyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIExvYWRFbnRlcnByaXNlQXNDb2RlKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGVcbiAgKTogUHJvbWlzZTxFbnRlcnByaXNlQXNDb2RlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkxvYWRFbnRlcnByaXNlQXNDb2RlKCkuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8RW50ZXJwcmlzZUFzQ29kZT4pID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHN0YXRlLkVhQyA9IHJlc3BvbnNlLk1vZGVsIHx8IHt9O1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDMpIHtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdGF0ZS5FYUMgPSBzdGF0ZS5FYUMgfHwge307XG5cbiAgICAgICAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhzdGF0ZT8uRWFDPy5Qcm9qZWN0cyB8fCB7fSkubGVuZ3RoIDw9IDA7XG5cbiAgICAgICAgICByZXNvbHZlKHN0YXRlLkVhQyk7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhzdGF0ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgTG9hZFVzZXJGZWVkKFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICAgIGZvckNoZWNrOiBib29sZWFuID0gZmFsc2UsXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiBQcm9taXNlPEFycmF5PEZlZWRJdGVtPj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nRmVlZCA9ICFmb3JDaGVjaztcblxuICAgICAgbGV0IHBhcmFtTWFwID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5jaGlsZHJlblswXS5wYXJhbU1hcDtcblxuICAgICAgbGV0IHJlc3VsdCA9IHRoaXMubG9hZEFwcGxpY2F0aW9uc0ZvckZlZWQoc3RhdGUsIHBhcmFtTWFwKTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAuTG9hZFVzZXJGZWVkKHBhZ2UsIHBhZ2VTaXplLCByZXN1bHQuUHJvamVjdCwgcmVzdWx0LkFwcGxpY2F0aW9ucylcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICBhc3luYyAocmVzcG9uc2U6IFVzZXJGZWVkUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmdGZWVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgICBpZiAoIWZvckNoZWNrKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuRmVlZCA9IHJlc3BvbnNlLkl0ZW1zO1xuXG4gICAgICAgICAgICAgICAgc3RhdGUuRmVlZFNvdXJjZUNvbnRyb2xMb29rdXBzID0gcmVzcG9uc2UuU291cmNlQ29udHJvbExvb2t1cHM7XG5cbiAgICAgICAgICAgICAgICBzdGF0ZS5GZWVkQWN0aW9ucyA9IHJlc3BvbnNlLkFjdGlvbnM7XG5cbiAgICAgICAgICAgICAgICBzdGF0ZS5GZWVkQ2hlY2sgPSBudWxsO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBpdGVtcyA9IHJlc3BvbnNlLkl0ZW1zPy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAoaSkgPT4gIXN0YXRlLkZlZWQ/LmZpbmQoKGYpID0+IGYuSUQgPT0gaS5JRClcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBzdGF0ZS5GZWVkQ2hlY2sgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJJVEVNWjogXCIsIHJlc3BvbnNlLkl0ZW1zKVxuXG4gICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuSXRlbXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nRmVlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2V0QWN0aXZlRW50ZXJwcmlzZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGFjdGl2ZUVudExvb2t1cDogc3RyaW5nXG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuICAgICAgc3RhdGUuTG9hZGluZ0ZlZWQgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLlNldEFjdGl2ZUVudGVycHJpc2UoYWN0aXZlRW50TG9va3VwKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gbnVsbDtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3Byb2plY3Qgc2VydmljZSBhY3RpdmUgZW50OiAnLCBhY3RpdmVFbnRMb29rdXApO1xuXG4gICAgICAgICAgICBzdGF0ZS5BY3RpdmVFbnRlcnByaXNlTG9va3VwID0gYWN0aXZlRW50TG9va3VwO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgJ3Byb2plY3Qgc2VydmljZSBTdGF0ZSBhY3RpdmUgZW50OiAnLFxuICAgICAgICAgICAgICBzdGF0ZS5BY3RpdmVFbnRlcnByaXNlTG9va3VwXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIHZhciByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKSxcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkVXNlckZlZWQoMSwgMjUsIGZhbHNlLCBzdGF0ZSksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTYXZlRW50ZXJwcmlzZUFzQ29kZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGVhYzogRW50ZXJwcmlzZUFzQ29kZVxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5TYXZlRW50ZXJwcmlzZUFzQ29kZShlYWMpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPHN0cmluZz4pID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgIHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpLFxuICAgICAgICAgICAgICB0aGlzLkxvYWRVc2VyRmVlZCgxLCAyNSwgZmFsc2UsIHN0YXRlKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIFNldENyZWF0aW5nUHJvamVjdChjcmVhdGluZ1Byb2plY3Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9IGNyZWF0aW5nUHJvamVjdDtcblxuICAgIHRoaXMuRWRpdGluZ1Byb2plY3RMb29rdXAgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIFNldEVkaXRQcm9qZWN0U2V0dGluZ3MoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBwcm9qZWN0TG9va3VwOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHByb2plY3RMb29rdXAgIT0gbnVsbCkge1xuICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IG51bGw7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IHByb2plY3RMb29rdXA7XG5cbiAgICAgICAgICByZXNvbHZlKHt9KTtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgdGhpcy5DcmVhdGluZ1Byb2plY3QgPSBmYWxzZTtcblxuICAgICAgICBjb25zb2xlLmxvZyhzdGF0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IHByb2plY3RMb29rdXA7XG5cbiAgICAgICAgdGhpcy5DcmVhdGluZ1Byb2plY3QgPSBmYWxzZTtcblxuICAgICAgICByZXNvbHZlKHt9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTdWJtaXRGZWVkRW50cnkoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBlbnRyeTogRmVlZEVudHJ5XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLlN1Ym1pdEZlZWRFbnRyeShlbnRyeSkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8c3RyaW5nPikgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICB2YXIgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkRW50ZXJwcmlzZUFzQ29kZShzdGF0ZSksXG4gICAgICAgICAgICAgIHRoaXMuTG9hZFVzZXJGZWVkKDEsIDI1LCBmYWxzZSwgc3RhdGUpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgVG9nZ2xlQ3JlYXRlUHJvamVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLlNldENyZWF0aW5nUHJvamVjdCghdGhpcy5DcmVhdGluZ1Byb2plY3QpO1xuICB9XG5cbiAgcHVibGljIFVucGFja0xvd0NvZGVVbml0KFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gICAgcmVxOiBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3RcbiAgKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuVW5wYWNrTG93Q29kZVVuaXQocmVxKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIHZhciByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKSxcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkVXNlckZlZWQoMSwgMjUsIGZhbHNlLCBzdGF0ZSksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vICBIZWxwZXJzXG4gIHByb3RlY3RlZCBsb2FkQXBwbGljYXRpb25zRm9yRmVlZChcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIHBhcmFtTWFwOiBhbnlcbiAgKSB7XG4gICAgLy8gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcC5zdWJzY3JpYmUoYXN5bmMgKHBhcmFtTWFwKSA9PiB7XG4gICAgdmFyIHByb2plY3QgPSBwYXJhbU1hcC5nZXQoJ3Byb2plY3RMb29rdXAnKSB8fCAnJztcblxuICAgIHZhciByb3V0ZSA9IHBhcmFtTWFwLmdldCgnYXBwUm91dGUnKTtcblxuICAgIHZhciBhcHBsaWNhdGlvbiA9IHBhcmFtTWFwLmdldCgnYXBwTG9va3VwJyk7XG5cbiAgICB2YXIgYXBwbGljYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKGFwcGxpY2F0aW9uKSB7XG4gICAgICBhcHBsaWNhdGlvbnMucHVzaChhcHBsaWNhdGlvbik7XG4gICAgfSBlbHNlIGlmIChyb3V0ZSAmJiBwcm9qZWN0KSB7XG4gICAgICBjb25zdCBhcHBzOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0gPSB7fTtcblxuICAgICAgc3RhdGUuRWFDLlByb2plY3RzW3Byb2plY3RdLkFwcGxpY2F0aW9uTG9va3Vwcy5mb3JFYWNoKFxuICAgICAgICAoYXBwTG9va3VwOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBhcHBzW2FwcExvb2t1cF0gPSBzdGF0ZS5FYUMuQXBwbGljYXRpb25zW2FwcExvb2t1cF07XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHZhciByb3V0ZWRBcHBzID0gdGhpcy5HZW5lcmF0ZVJvdXRlZEFwcGxpY2F0aW9ucyhhcHBzLCBzdGF0ZSk7XG5cbiAgICAgIHZhciBjdXJyZW50QXBwcyA9IHJvdXRlZEFwcHNbcm91dGVdO1xuXG4gICAgICBhcHBsaWNhdGlvbnMgPSBPYmplY3Qua2V5cyhjdXJyZW50QXBwcykgfHwgW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIEFwcGxpY2F0aW9uczogYXBwbGljYXRpb25zLFxuICAgICAgUHJvamVjdDogcHJvamVjdCxcbiAgICB9O1xuICAgIC8vIH0pO1xuICB9XG59XG4iXX0=
383
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUF3QjNDLE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQ1ksV0FBb0MsRUFDcEMsY0FBOEI7UUFEOUIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUN2QyxDQUFDO0lBRUosK0ZBQStGO0lBQy9GLGlDQUFpQztJQUVqQyxxQkFBcUI7SUFDckIsdUNBQXVDO0lBQ3ZDLCtDQUErQztJQUMvQywwQ0FBMEM7SUFDMUMsMkNBQTJDO0lBRTNDLG1EQUFtRDtJQUNuRCxpQkFBaUI7SUFDakIsNkRBQTZEO0lBRTdELHdDQUF3QztJQUN4QyxVQUFVO0lBQ1YsVUFBVTtJQUNWLElBQUk7SUFFRyxvQkFBb0IsQ0FDekIsS0FBNEI7UUFFNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVyQixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLENBQUMsU0FBUyxDQUMvQyxLQUFLLEVBQUUsUUFBc0IsRUFBRSxFQUFFO2dCQUMvQixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDOUIsc0RBQXNEO29CQUV0RCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ25CO3FCQUFNO29CQUNMLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUV0QixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUV4QixPQUFPLENBQUMsR0FB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Q0FBQztRQUVsRCxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJDLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUMsSUFBSSxZQUFZLEdBQWEsRUFBRSxDQUFDO1FBRWhDLElBQUksV0FBVyxFQUFFO1lBQ2YsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoQzthQUFNLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUMzQixNQUFNLElBQUksR0FBK0MsRUFBRSxDQUFDO1lBRTVELEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDcEQsQ0FBQyxTQUFpQixFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQ0YsQ0FBQztZQUVGLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFOUQsSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXBDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMvQztRQUVELE9BQU87WUFDTCxZQUFZLEVBQUUsWUFBWTtZQUMxQixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDO1FBQ0YsTUFBTTtJQUNSLENBQUM7OzJHQWxrQlUsY0FBYzsrR0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VNb2RlbGVkUmVzcG9uc2UsIEJhc2VSZXNwb25zZSwgU3RhdHVzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgZGVidWcgfSBmcm9tICdjb25zb2xlJztcbmltcG9ydCB7XG4gIEVhQ0FwcGxpY2F0aW9uQXNDb2RlLFxuICBFYUNQcm9qZWN0QXNDb2RlLFxuICBFbnRlcnByaXNlQXNDb2RlLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBHaXRIdWJXb3JrZmxvd1J1bixcbiAgVW5wYWNrTG93Q29kZVVuaXRSZXF1ZXN0LFxufSBmcm9tICcuLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb25zLWZsb3cuc2VydmljZSc7XG5pbXBvcnQge1xuICBGZWVkRW50cnksXG4gIEZlZWRJdGVtLFxuICBVc2VyRmVlZFJlc3BvbnNlLFxufSBmcm9tICcuLi9tb2RlbHMvdXNlci1mZWVkLm1vZGVsJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2plY3RTZXJ2aWNlIHtcbiAgcHVibGljIENyZWF0aW5nUHJvamVjdDogYm9vbGVhbjtcblxuICBwdWJsaWMgRWRpdGluZ1Byb2plY3RMb29rdXA6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgYXBwc0Zsb3dTdmM6IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIC8vIHB1YmxpYyBDcmVhdGVSZXBvc2l0b3J5KHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsIG9yZzogc3RyaW5nLCByZXBvTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIC8vICAgc3RhdGUuR2l0SHViLkxvYWRpbmcgPSB0cnVlO1xuXG4gIC8vICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAvLyAgICAgLkNyZWF0ZVJlcG9zaXRvcnkob3JnLCByZXBvTmFtZSlcbiAgLy8gICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgLy8gICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gIC8vICAgICAgICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKHJlcG9OYW1lKTtcblxuICAvLyAgICAgICAgIHN0YXRlLkdpdEh1Yi5DcmVhdGluZ1JlcG9zaXRvcnkgPSBmYWxzZTtcbiAgLy8gICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAvLyAgVE9ETzogIE5lZWQgdG8gc3VyZmFjZSBhbiBlcnJvciB0byB0aGUgdXNlci4uLlxuXG4gIC8vICAgICAgICAgc3RhdGUuR2l0SHViLkxvYWRpbmcgPSBmYWxzZTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSk7XG4gIC8vIH1cblxuICBwdWJsaWMgRW5zdXJlVXNlckVudGVycHJpc2UoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiBQcm9taXNlPEJhc2VSZXNwb25zZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5FbnN1cmVVc2VyRW50ZXJwcmlzZSgpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIC8vIGNvbnN0IGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBFbnRlcnByaXNlQXNDb2RlUmVtb3ZhbHMoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBlYWM6IEVudGVycHJpc2VBc0NvZGVcbiAgKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuRW50ZXJwcmlzZUFzQ29kZVJlbW92YWxzKGVhYykuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8c3RyaW5nPikgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICB2YXIgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkRW50ZXJwcmlzZUFzQ29kZShzdGF0ZSksXG4gICAgICAgICAgICAgIHRoaXMuTG9hZFVzZXJGZWVkKDEsIDEwLCBmYWxzZSwgc3RhdGUpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgR2VuZXJhdGVSb3V0ZWRBcHBsaWNhdGlvbnMoXG4gICAgYXBwbGljYXRpb25zOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0sXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiB7XG4gICAgW3JvdXRlOiBzdHJpbmddOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH07XG4gIH0ge1xuICAgIGNvbnN0IGFwcExvb2t1cHMgPSBPYmplY3Qua2V5cyhhcHBsaWNhdGlvbnMpO1xuXG4gICAgY29uc3QgYXBwcyA9IGFwcExvb2t1cHMubWFwKChhcHBMb29rdXApID0+IGFwcGxpY2F0aW9uc1thcHBMb29rdXBdKTtcblxuICAgIGxldCBhcHBSb3V0ZXMgPVxuICAgICAgYXBwcy5tYXAoKGFwcCkgPT4ge1xuICAgICAgICByZXR1cm4gYXBwPy5Mb29rdXBDb25maWc/LlBhdGhSZWdleC5yZXBsYWNlKCcuKicsICcnKTtcbiAgICAgIH0pIHx8IFtdO1xuXG4gICAgYXBwUm91dGVzID0gYXBwUm91dGVzLmZpbHRlcigoYXIpID0+IGFyICE9IG51bGwpO1xuXG4gICAgbGV0IHJvdXRlQmFzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBhcHBSb3V0ZXMuZm9yRWFjaCgoYXBwUm91dGUpID0+IHtcbiAgICAgIGNvbnN0IGFwcFJvdXRlUGFydHMgPSBhcHBSb3V0ZS5zcGxpdCgnLycpO1xuXG4gICAgICBjb25zdCBhcHBSb3V0ZUJhc2UgPSBgLyR7YXBwUm91dGVQYXJ0c1sxXX1gO1xuXG4gICAgICBpZiAocm91dGVCYXNlcy5pbmRleE9mKGFwcFJvdXRlQmFzZSkgPCAwKSB7XG4gICAgICAgIHJvdXRlQmFzZXMucHVzaChhcHBSb3V0ZUJhc2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbGV0IHdvcmtpbmdBcHBMb29rdXBzID0gWy4uLihhcHBMb29rdXBzIHx8IFtdKV07XG5cbiAgICByb3V0ZUJhc2VzID0gcm91dGVCYXNlcy5zb3J0KChhLCBiKSA9PiBiLmxvY2FsZUNvbXBhcmUoYSkpO1xuXG4gICAgY29uc3Qgcm91dGVTZXQgPVxuICAgICAgcm91dGVCYXNlcy5yZWR1Y2UoKHByZXZSb3V0ZU1hcCwgY3VycmVudFJvdXRlQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCByb3V0ZU1hcCA9IHtcbiAgICAgICAgICAuLi5wcmV2Um91dGVNYXAsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZmlsdGVyZWRBcHBMb29rdXBzID0gd29ya2luZ0FwcExvb2t1cHMuZmlsdGVyKCh3YWwpID0+IHtcbiAgICAgICAgICBjb25zdCB3YSA9IGFwcGxpY2F0aW9uc1t3YWxdO1xuXG4gICAgICAgICAgcmV0dXJuIHdhPy5Mb29rdXBDb25maWc/LlBhdGhSZWdleC5zdGFydHNXaXRoKGN1cnJlbnRSb3V0ZUJhc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICByb3V0ZU1hcFtjdXJyZW50Um91dGVCYXNlXSA9XG4gICAgICAgICAgZmlsdGVyZWRBcHBMb29rdXBzLnJlZHVjZSgocHJldkFwcE1hcCwgYXBwTG9va3VwKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhcHBNYXAgPSB7XG4gICAgICAgICAgICAgIC4uLnByZXZBcHBNYXAsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBhcHBNYXBbYXBwTG9va3VwXSA9IGFwcGxpY2F0aW9uc1thcHBMb29rdXBdO1xuXG4gICAgICAgICAgICByZXR1cm4gYXBwTWFwO1xuICAgICAgICAgIH0sIHt9KSB8fCB7fTtcblxuICAgICAgICB3b3JraW5nQXBwTG9va3VwcyA9IHdvcmtpbmdBcHBMb29rdXBzLmZpbHRlcigod2EpID0+IHtcbiAgICAgICAgICByZXR1cm4gZmlsdGVyZWRBcHBMb29rdXBzLmluZGV4T2Yod2EpIDwgMDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJvdXRlTWFwO1xuICAgICAgfSwge30pIHx8IHt9O1xuXG4gICAgbGV0IHJvdXRlU2V0S2V5cyA9IE9iamVjdC5rZXlzKHJvdXRlU2V0KTtcblxuICAgIHJvdXRlU2V0S2V5cyA9IHJvdXRlU2V0S2V5cy5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xuXG4gICAgY29uc3Qgcm91dGVTZXRSZXN1bHQgPSB7fTtcblxuICAgIHJvdXRlU2V0S2V5cy5mb3JFYWNoKChyc2spID0+IChyb3V0ZVNldFJlc3VsdFtyc2tdID0gcm91dGVTZXRbcnNrXSkpO1xuXG4gICAgcmV0dXJuIHJvdXRlU2V0UmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIEdldEFjdGl2ZUVudGVycHJpc2UoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZ0FjdGl2ZUVudGVycHJpc2UgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkdldEFjdGl2ZUVudGVycHJpc2UoKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChcbiAgICAgICAgICByZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTx7IE5hbWU6IHN0cmluZzsgTG9va3VwOiBzdHJpbmcgfT5cbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZ0FjdGl2ZUVudGVycHJpc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgc3RhdGUuQWN0aXZlRW50ZXJwcmlzZUxvb2t1cCA9IHJlc3BvbnNlLk1vZGVsPy5Mb29rdXA7XG5cbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nQWN0aXZlRW50ZXJwcmlzZSA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIEhhc1ZhbGlkQ29ubmVjdGlvbihcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGZvcmNlRW5zdXJlVXNlcjogYm9vbGVhbiA9IGZhbHNlXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5IYXNWYWxpZENvbm5lY3Rpb24oKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgc3RhdGUuR2l0SHViLkhhc0Nvbm5lY3Rpb24gPSByZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMDtcblxuICAgICAgICAgIGlmIChzdGF0ZS5HaXRIdWIuSGFzQ29ubmVjdGlvbiB8fCBmb3JjZUVuc3VyZVVzZXIpIHtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIExpc3RFbnRlcnByaXNlcyhzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nRW50ZXJwcmlzZXMgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkxpc3RFbnRlcnByaXNlcygpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEFycmF5PGFueT4+KSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZ0VudGVycHJpc2VzID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHN0YXRlLkVudGVycHJpc2VzID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuTW9kZWwpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmdFbnRlcnByaXNlcyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIExvYWRFbnRlcnByaXNlQXNDb2RlKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGVcbiAgKTogUHJvbWlzZTxFbnRlcnByaXNlQXNDb2RlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkxvYWRFbnRlcnByaXNlQXNDb2RlKCkuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8RW50ZXJwcmlzZUFzQ29kZT4pID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHN0YXRlLkVhQyA9IHJlc3BvbnNlLk1vZGVsIHx8IHt9O1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDMpIHtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdGF0ZS5FYUMgPSBzdGF0ZS5FYUMgfHwge307XG5cbiAgICAgICAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhzdGF0ZT8uRWFDPy5Qcm9qZWN0cyB8fCB7fSkubGVuZ3RoIDw9IDA7XG5cbiAgICAgICAgICByZXNvbHZlKHN0YXRlLkVhQyk7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhzdGF0ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgTG9hZFVzZXJGZWVkKFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICAgIGZvckNoZWNrOiBib29sZWFuID0gZmFsc2UsXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZVxuICApOiBQcm9taXNlPEFycmF5PEZlZWRJdGVtPj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nRmVlZCA9ICFmb3JDaGVjaztcblxuICAgICAgbGV0IHBhcmFtTWFwID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5jaGlsZHJlblswXS5wYXJhbU1hcDtcblxuICAgICAgbGV0IHJlc3VsdCA9IHRoaXMubG9hZEFwcGxpY2F0aW9uc0ZvckZlZWQoc3RhdGUsIHBhcmFtTWFwKTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAuTG9hZFVzZXJGZWVkKHBhZ2UsIHBhZ2VTaXplLCByZXN1bHQuUHJvamVjdCwgcmVzdWx0LkFwcGxpY2F0aW9ucylcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICBhc3luYyAocmVzcG9uc2U6IFVzZXJGZWVkUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmdGZWVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgICBpZiAoIWZvckNoZWNrKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuRmVlZCA9IHJlc3BvbnNlLkl0ZW1zO1xuXG4gICAgICAgICAgICAgICAgc3RhdGUuRmVlZFNvdXJjZUNvbnRyb2xMb29rdXBzID0gcmVzcG9uc2UuU291cmNlQ29udHJvbExvb2t1cHM7XG5cbiAgICAgICAgICAgICAgICBzdGF0ZS5GZWVkQWN0aW9ucyA9IHJlc3BvbnNlLkFjdGlvbnM7XG5cbiAgICAgICAgICAgICAgICBzdGF0ZS5GZWVkQ2hlY2sgPSBudWxsO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBpdGVtcyA9IHJlc3BvbnNlLkl0ZW1zPy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAoaSkgPT4gIXN0YXRlLkZlZWQ/LmZpbmQoKGYpID0+IGYuSUQgPT0gaS5JRClcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBzdGF0ZS5GZWVkQ2hlY2sgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJJVEVNWjogXCIsIHJlc3BvbnNlLkl0ZW1zKVxuXG4gICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuSXRlbXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nRmVlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2V0QWN0aXZlRW50ZXJwcmlzZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGFjdGl2ZUVudExvb2t1cDogc3RyaW5nXG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuICAgICAgc3RhdGUuTG9hZGluZ0ZlZWQgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLlNldEFjdGl2ZUVudGVycHJpc2UoYWN0aXZlRW50TG9va3VwKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gbnVsbDtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3Byb2plY3Qgc2VydmljZSBhY3RpdmUgZW50OiAnLCBhY3RpdmVFbnRMb29rdXApO1xuXG4gICAgICAgICAgICBzdGF0ZS5BY3RpdmVFbnRlcnByaXNlTG9va3VwID0gYWN0aXZlRW50TG9va3VwO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgJ3Byb2plY3Qgc2VydmljZSBTdGF0ZSBhY3RpdmUgZW50OiAnLFxuICAgICAgICAgICAgICBzdGF0ZS5BY3RpdmVFbnRlcnByaXNlTG9va3VwXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIHZhciByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKSxcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkVXNlckZlZWQoMSwgMTAsIGZhbHNlLCBzdGF0ZSksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTYXZlRW50ZXJwcmlzZUFzQ29kZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGVhYzogRW50ZXJwcmlzZUFzQ29kZVxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5TYXZlRW50ZXJwcmlzZUFzQ29kZShlYWMpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPHN0cmluZz4pID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgIHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpLFxuICAgICAgICAgICAgICB0aGlzLkxvYWRVc2VyRmVlZCgxLCAxMCwgZmFsc2UsIHN0YXRlKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIFNldENyZWF0aW5nUHJvamVjdChjcmVhdGluZ1Byb2plY3Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9IGNyZWF0aW5nUHJvamVjdDtcblxuICAgIHRoaXMuRWRpdGluZ1Byb2plY3RMb29rdXAgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIFNldEVkaXRQcm9qZWN0U2V0dGluZ3MoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBwcm9qZWN0TG9va3VwOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHByb2plY3RMb29rdXAgIT0gbnVsbCkge1xuICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IG51bGw7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IHByb2plY3RMb29rdXA7XG5cbiAgICAgICAgICByZXNvbHZlKHt9KTtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgdGhpcy5DcmVhdGluZ1Byb2plY3QgPSBmYWxzZTtcblxuICAgICAgICBjb25zb2xlLmxvZyhzdGF0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IHByb2plY3RMb29rdXA7XG5cbiAgICAgICAgdGhpcy5DcmVhdGluZ1Byb2plY3QgPSBmYWxzZTtcblxuICAgICAgICByZXNvbHZlKHt9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTdWJtaXRGZWVkRW50cnkoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBlbnRyeTogRmVlZEVudHJ5XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLlN1Ym1pdEZlZWRFbnRyeShlbnRyeSkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8c3RyaW5nPikgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICB2YXIgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkRW50ZXJwcmlzZUFzQ29kZShzdGF0ZSksXG4gICAgICAgICAgICAgIHRoaXMuTG9hZFVzZXJGZWVkKDEsIDEwLCBmYWxzZSwgc3RhdGUpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgVG9nZ2xlQ3JlYXRlUHJvamVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLlNldENyZWF0aW5nUHJvamVjdCghdGhpcy5DcmVhdGluZ1Byb2plY3QpO1xuICB9XG5cbiAgcHVibGljIFVucGFja0xvd0NvZGVVbml0KFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gICAgcmVxOiBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3RcbiAgKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuVW5wYWNrTG93Q29kZVVuaXQocmVxKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIHZhciByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKSxcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkVXNlckZlZWQoMSwgMTAsIGZhbHNlLCBzdGF0ZSksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vICBIZWxwZXJzXG4gIHByb3RlY3RlZCBsb2FkQXBwbGljYXRpb25zRm9yRmVlZChcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIHBhcmFtTWFwOiBhbnlcbiAgKSB7XG4gICAgLy8gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcC5zdWJzY3JpYmUoYXN5bmMgKHBhcmFtTWFwKSA9PiB7XG4gICAgdmFyIHByb2plY3QgPSBwYXJhbU1hcC5nZXQoJ3Byb2plY3RMb29rdXAnKSB8fCAnJztcblxuICAgIHZhciByb3V0ZSA9IHBhcmFtTWFwLmdldCgnYXBwUm91dGUnKTtcblxuICAgIHZhciBhcHBsaWNhdGlvbiA9IHBhcmFtTWFwLmdldCgnYXBwTG9va3VwJyk7XG5cbiAgICB2YXIgYXBwbGljYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKGFwcGxpY2F0aW9uKSB7XG4gICAgICBhcHBsaWNhdGlvbnMucHVzaChhcHBsaWNhdGlvbik7XG4gICAgfSBlbHNlIGlmIChyb3V0ZSAmJiBwcm9qZWN0KSB7XG4gICAgICBjb25zdCBhcHBzOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0gPSB7fTtcblxuICAgICAgc3RhdGUuRWFDLlByb2plY3RzW3Byb2plY3RdLkFwcGxpY2F0aW9uTG9va3Vwcy5mb3JFYWNoKFxuICAgICAgICAoYXBwTG9va3VwOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBhcHBzW2FwcExvb2t1cF0gPSBzdGF0ZS5FYUMuQXBwbGljYXRpb25zW2FwcExvb2t1cF07XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHZhciByb3V0ZWRBcHBzID0gdGhpcy5HZW5lcmF0ZVJvdXRlZEFwcGxpY2F0aW9ucyhhcHBzLCBzdGF0ZSk7XG5cbiAgICAgIHZhciBjdXJyZW50QXBwcyA9IHJvdXRlZEFwcHNbcm91dGVdO1xuXG4gICAgICBhcHBsaWNhdGlvbnMgPSBPYmplY3Qua2V5cyhjdXJyZW50QXBwcykgfHwgW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIEFwcGxpY2F0aW9uczogYXBwbGljYXRpb25zLFxuICAgICAgUHJvamVjdDogcHJvamVjdCxcbiAgICB9O1xuICAgIC8vIH0pO1xuICB9XG59XG4iXX0=
@@ -372,7 +372,7 @@ class ProjectService {
372
372
  resolve(response.Status);
373
373
  var results = yield Promise.all([
374
374
  this.LoadEnterpriseAsCode(state),
375
- this.LoadUserFeed(1, 25, false, state),
375
+ this.LoadUserFeed(1, 10, false, state),
376
376
  ]);
377
377
  }
378
378
  else {
@@ -567,7 +567,7 @@ class ProjectService {
567
567
  resolve(response.Status);
568
568
  var results = yield Promise.all([
569
569
  this.LoadEnterpriseAsCode(state),
570
- this.LoadUserFeed(1, 25, false, state),
570
+ this.LoadUserFeed(1, 10, false, state),
571
571
  ]);
572
572
  }
573
573
  else {
@@ -592,7 +592,7 @@ class ProjectService {
592
592
  resolve(response.Status);
593
593
  var results = yield Promise.all([
594
594
  this.LoadEnterpriseAsCode(state),
595
- this.LoadUserFeed(1, 25, false, state),
595
+ this.LoadUserFeed(1, 10, false, state),
596
596
  ]);
597
597
  }
598
598
  else {
@@ -641,7 +641,7 @@ class ProjectService {
641
641
  resolve(response.Status);
642
642
  var results = yield Promise.all([
643
643
  this.LoadEnterpriseAsCode(state),
644
- this.LoadUserFeed(1, 25, false, state),
644
+ this.LoadUserFeed(1, 10, false, state),
645
645
  ]);
646
646
  }
647
647
  else {
@@ -668,7 +668,7 @@ class ProjectService {
668
668
  resolve(response.Status);
669
669
  var results = yield Promise.all([
670
670
  this.LoadEnterpriseAsCode(state),
671
- this.LoadUserFeed(1, 25, false, state),
671
+ this.LoadUserFeed(1, 10, false, state),
672
672
  ]);
673
673
  }
674
674
  else {