vcomply-workflow-engine 2.6.187 → 2.6.189

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.
Files changed (98) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +12230 -10022
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +243 -98
  4. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.js +3 -2
  5. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngsummary.json +1 -1
  6. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.js +2 -2
  7. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.ngfactory.js +3 -3
  8. package/esm2015/lib/more-option/more-option.component.js +15 -3
  9. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.js +9 -7
  10. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.ngfactory.js +24 -19
  11. package/esm2015/lib/sharedComponents/frequency/frequency.service.js +12 -2
  12. package/esm2015/lib/sharedComponents/frequency/frequency.service.ngsummary.json +1 -1
  13. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.js +210 -0
  14. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ngfactory.js +39 -0
  15. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ngsummary.json +1 -0
  16. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.js +187 -0
  17. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ngfactory.js +36 -0
  18. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ngsummary.json +1 -0
  19. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.js +26 -0
  20. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ngfactory.js +25 -0
  21. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ngsummary.json +1 -0
  22. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.js +287 -0
  23. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngfactory.js +80 -0
  24. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngsummary.json +1 -0
  25. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.js +62 -0
  26. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ngfactory.js +42 -0
  27. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ngsummary.json +1 -0
  28. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.js +197 -0
  29. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ngfactory.js +36 -0
  30. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ngsummary.json +1 -0
  31. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.js +137 -0
  32. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ngfactory.js +70 -0
  33. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ngsummary.json +1 -0
  34. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.js +181 -0
  35. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ngfactory.js +36 -0
  36. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ngsummary.json +1 -0
  37. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.js +31 -0
  38. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ngfactory.js +24 -0
  39. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ngsummary.json +1 -0
  40. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.js +102 -0
  41. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ngfactory.js +90 -0
  42. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ngsummary.json +1 -0
  43. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.js +165 -0
  44. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ngfactory.js +36 -0
  45. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ngsummary.json +1 -0
  46. package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.js +2 -2
  47. package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.ngfactory.js +3 -3
  48. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +2 -2
  49. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +10 -2
  50. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +37 -36
  51. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  52. package/esm2015/lib/workflow-engine.module.js +23 -1
  53. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  54. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.js +12 -12
  55. package/esm2015/lib/workflow-risk/workflow-risk.component.js +447 -30
  56. package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +294 -117
  57. package/esm2015/lib/workflow-risk/workflow-risk.component.ngsummary.json +1 -1
  58. package/esm2015/lib/workflow-services/add-risk.service.js +19 -5
  59. package/esm2015/lib/workflow-services/add-risk.service.ngsummary.json +1 -1
  60. package/esm2015/lib/workflow-services/auth.service.js +1 -1
  61. package/esm2015/lib/workflow-services/frequency.service.js +1 -1
  62. package/esm2015/vcomply-workflow-engine.js +232 -221
  63. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  64. package/fesm2015/vcomply-workflow-engine.js +10508 -8335
  65. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  66. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +44 -1
  67. package/lib/more-option/more-option.component.d.ts +2 -2
  68. package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -0
  69. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +37 -0
  70. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ngfactory.d.ts +1 -0
  71. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +35 -0
  72. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ngfactory.d.ts +1 -0
  73. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +9 -0
  74. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ngfactory.d.ts +1 -0
  75. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +31 -0
  76. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngfactory.d.ts +1 -0
  77. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +16 -0
  78. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ngfactory.d.ts +1 -0
  79. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +33 -0
  80. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ngfactory.d.ts +1 -0
  81. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +32 -0
  82. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ngfactory.d.ts +1 -0
  83. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +32 -0
  84. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ngfactory.d.ts +1 -0
  85. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +10 -0
  86. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ngfactory.d.ts +1 -0
  87. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +22 -0
  88. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ngfactory.d.ts +1 -0
  89. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +30 -0
  90. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ngfactory.d.ts +1 -0
  91. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -0
  92. package/lib/workflow-risk/workflow-risk.component.d.ts +82 -1
  93. package/lib/workflow-services/add-risk.service.d.ts +2 -1
  94. package/lib/workflow-services/auth.service.d.ts +1 -0
  95. package/lib/workflow-services/frequency.service.d.ts +1 -1
  96. package/package.json +2 -2
  97. package/vcomply-workflow-engine.d.ts +231 -220
  98. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -12,41 +12,41 @@ export class TooltipMessagePipe {
12
12
  switch (responsibilityType) {
13
13
  case "Assignee":
14
14
  if ((reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
15
- return "This user is already selected as the reviewer for this responsibility";
15
+ return "This user is already selected as the reviewer for this responsibility.";
16
16
  }
17
17
  else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
18
- return "This user is already selected as the assignor and reviewer for this responsibility";
18
+ return "This user is already selected as the assignor and reviewer for this responsibility.";
19
19
  }
20
20
  if (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) {
21
- return "This user is already selected as the overseer for this responsibility";
21
+ return "This user is already selected as the overseer for this responsibility.";
22
22
  }
23
23
  return currentUser === null || currentUser === void 0 ? void 0 : currentUser.employee_email;
24
24
  case "Reviewer":
25
25
  if ((assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
26
- return "This user is already selected as the assignee for this responsibility";
26
+ return "This user is already selected as the assignee for this responsibility.";
27
27
  }
28
28
  else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
29
- return "This user is already selected as the assignor and assignee for this responsibility";
29
+ return "This user is already selected as the assignor and assignee for this responsibility.";
30
30
  }
31
31
  if (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) {
32
- return "This user is already selected as the overseer for this responsibility";
32
+ return "This user is already selected as the overseer for this responsibility.";
33
33
  }
34
34
  return (currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email) ? currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email : currentUser === null || currentUser === void 0 ? void 0 : currentUser.employee_email;
35
35
  case "Overseer":
36
36
  if ((assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
37
- return "This user is already selected as the assignee for this responsibility";
37
+ return "This user is already selected as the assignee for this responsibility.";
38
38
  }
39
39
  else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
40
- return "This user is already selected as the assignor and assignee for this responsibility";
40
+ return "This user is already selected as the assignor and assignee for this responsibility.";
41
41
  }
42
42
  if ((reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
43
- return "This user is already selected as the reviewer for this responsibility";
43
+ return "This user is already selected as the reviewer for this responsibility.";
44
44
  }
45
45
  else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
46
- return "This user is already selected as the assignor and reviewer for this responsibility";
46
+ return "This user is already selected as the assignor and reviewer for this responsibility.";
47
47
  }
48
48
  if (assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) {
49
- return "This user is already selected as the assignor for this responsibility";
49
+ return "This user is already selected as the assignor for this responsibility.";
50
50
  }
51
51
  return (currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email) ? currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email : currentUser === null || currentUser === void 0 ? void 0 : currentUser.employee_email;
52
52
  default:
@@ -60,4 +60,4 @@ TooltipMessagePipe.decorators = [
60
60
  name: 'tooltipMessage'
61
61
  },] }
62
62
  ];
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1tZXNzYWdlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9waXBlcy90b29sdGlwLW1lc3NhZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQ2xDLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLFdBQVcsR0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxXQUFXLEdBQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksVUFBVSxHQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxXQUFXLEdBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLFNBQVMsR0FBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JELElBQUksVUFBVSxHQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxD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QUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLGNBQWMsQ0FBQztZQUM3RjtnQkFDRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxjQUFjLENBQUM7U0FDaEg7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OztZQXRERixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjthQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAndG9vbHRpcE1lc3NhZ2UnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sdGlwTWVzc2FnZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogdW5rbm93biB7XHJcbiAgICBsZXQgcmVzcG9uc2liaWxpdHlUeXBlID0gYXJnc1swXTtcclxuICAgIGxldCBjdXJyZW50VXNlciA9IHZhbHVlO1xyXG4gICAgbGV0IHJldmlld2VySWRzOmFueSA9IGFyZ3NbMV07XHJcbiAgICBsZXQgb3ZlcnNlZXJJZHM6YW55ID0gYXJnc1syXTtcclxuICAgIGxldCBhc3NpZ25vcklkOmFueSA9IGFyZ3NbM10gPyBhcmdzWzNdIDogW107XHJcbiAgICBsZXQgYXNzaWduZWVJZHMgOmFueSA9IGFyZ3NbNF0gPyBhcmdzWzRdIDogW107XHJcbiAgICBsZXQgbWVtYmVyX2lkIDphbnkgPSBhcmdzWzVdID8gYXJnc1s1XSA6ICdtZW1iZXJfaWQnO1xyXG4gICAgbGV0IGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBhcmdzWzZdID8gYXJnc1s2XSA6IGZhbHNlO1xyXG4gICAgc3dpdGNoKHJlc3BvbnNpYmlsaXR5VHlwZSkge1xyXG4gICAgICBjYXNlIFwiQXNzaWduZWVcIjpcclxuICAgICAgICBpZihyZXZpZXdlcklkcz8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSYmICFhc3NpZ25vcklkPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSByZXZpZXdlciBmb3IgdGhpcyByZXNwb25zaWJpbGl0eVwiO1xyXG4gICAgICAgIH1lbHNlIGlmKGFzc2lnbm9ySWQ/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkgJiYgcmV2aWV3ZXJJZHM/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIGFzc2lnbm9yIGFuZCByZXZpZXdlciBmb3IgdGhpcyByZXNwb25zaWJpbGl0eVwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG92ZXJzZWVySWRzPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSBvdmVyc2VlciBmb3IgdGhpcyByZXNwb25zaWJpbGl0eVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3VycmVudFVzZXI/LmVtcGxveWVlX2VtYWlsO1xyXG4gICAgICBjYXNlIFwiUmV2aWV3ZXJcIjpcclxuICAgICAgICBpZihhc3NpZ25lZUlkcz8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSAmJiAhYXNzaWdub3JJZD8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSl7XHJcbiAgICAgICAgICByZXR1cm4gXCJUaGlzIHVzZXIgaXMgYWxyZWFkeSBzZWxlY3RlZCBhcyB0aGUgYXNzaWduZWUgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHlcIjtcclxuICAgICAgICB9IGVsc2UgaWYoYXNzaWdub3JJZD8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSAmJiBhc3NpZ25lZUlkcz8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSl7XHJcbiAgICAgICAgICByZXR1cm4gXCJUaGlzIHVzZXIgaXMgYWxyZWFkeSBzZWxlY3RlZCBhcyB0aGUgYXNzaWdub3IgYW5kIGFzc2lnbmVlIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5XCJcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYob3ZlcnNlZXJJZHM/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIG92ZXJzZWVyIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5XCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjdXJyZW50VXNlcj8ubWVtYmVyX2VtYWlsID8gY3VycmVudFVzZXI/Lm1lbWJlcl9lbWFpbCA6IGN1cnJlbnRVc2VyPy5lbXBsb3llZV9lbWFpbDtcclxuICAgICAgY2FzZSBcIk92ZXJzZWVyXCI6XHJcbiAgICAgICAgaWYoYXNzaWduZWVJZHM/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkgJiYgIWFzc2lnbm9ySWQ/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIGFzc2lnbmVlIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5XCI7XHJcbiAgICAgICAgfSBlbHNlIGlmKGFzc2lnbm9ySWQ/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkgJiYgYXNzaWduZWVJZHM/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIGFzc2lnbm9yIGFuZCBhc3NpZ25lZSBmb3IgdGhpcyByZXNwb25zaWJpbGl0eVwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHJldmlld2VySWRzPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pJiYgIWFzc2lnbm9ySWQ/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIHJldmlld2VyIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5XCI7XHJcbiAgICAgICAgfWVsc2UgaWYoYXNzaWdub3JJZD8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSAmJiByZXZpZXdlcklkcz8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSl7XHJcbiAgICAgICAgICByZXR1cm4gXCJUaGlzIHVzZXIgaXMgYWxyZWFkeSBzZWxlY3RlZCBhcyB0aGUgYXNzaWdub3IgYW5kIHJldmlld2VyIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5XCJcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoYXNzaWdub3JJZD8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSl7XHJcbiAgICAgICAgICByZXR1cm4gXCJUaGlzIHVzZXIgaXMgYWxyZWFkeSBzZWxlY3RlZCBhcyB0aGUgYXNzaWdub3IgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHlcIlxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3VycmVudFVzZXI/Lm1lbWJlcl9lbWFpbCA/IGN1cnJlbnRVc2VyPy5tZW1iZXJfZW1haWwgOiBjdXJyZW50VXNlcj8uZW1wbG95ZWVfZW1haWw7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGlzRGlzYWJsZWQgPyBcIlwiIDogY3VycmVudFVzZXI/Lm1lbWJlcl9lbWFpbCA/IGN1cnJlbnRVc2VyPy5tZW1iZXJfZW1haWwgOiBjdXJyZW50VXNlcj8uZW1wbG95ZWVfZW1haWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1tZXNzYWdlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9waXBlcy90b29sdGlwLW1lc3NhZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQ2xDLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLFdBQVcsR0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxXQUFXLEdBQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksVUFBVSxHQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxXQUFXLEdBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLFNBQVMsR0FBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JELElBQUksVUFBVSxHQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEQsUUFBTyxrQkFBa0IsRUFBRTtZQUN6QixLQUFLLFVBQVU7Z0JBQ2IsSUFBRyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLEtBQUcsQ0FBQyxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUEsRUFBQztvQkFDbkcsT0FBTyx3RUFBd0UsQ0FBQztpQkFDakY7cUJBQUssSUFBRyxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLE1BQUksV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFFBQVEsQ0FBQyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQSxFQUFDO29CQUN6RyxPQUFPLHFGQUFxRixDQUFDO2lCQUM5RjtnQkFDRCxJQUFHLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLEVBQUM7b0JBQ2pELE9BQU8sd0VBQXdFLENBQUM7aUJBQ2pGO2dCQUNELE9BQU8sV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLGNBQWMsQ0FBQztZQUNyQyxLQUFLLFVBQVU7Z0JBQ2IsSUFBRyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUEsRUFBQztvQkFDcEcsT0FBTyx3RUFBd0UsQ0FBQztpQkFDakY7cUJBQU0sSUFBRyxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLE1BQUksV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFFBQVEsQ0FBQyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQSxFQUFDO29CQUMxRyxPQUFPLHFGQUFxRixDQUFBO2lCQUM3RjtnQkFDRCxJQUFHLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLEVBQUM7b0JBQ2pELE9BQU8sd0VBQXdFLENBQUM7aUJBQ2pGO2dCQUNELE9BQU8sQ0FBQSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsY0FBYyxDQUFDO1lBQzdGLEtBQUssVUFBVTtnQkFDYixJQUFHLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFFBQVEsQ0FBQyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUcsU0FBUyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFFBQVEsQ0FBQyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQSxFQUFDO29CQUNwRyxPQUFPLHdFQUF3RSxDQUFDO2lCQUNqRjtxQkFBTSxJQUFHLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFFBQVEsQ0FBQyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUcsU0FBUyxDQUFDLENBQUMsTUFBSSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsUUFBUSxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFBLEVBQUM7b0JBQzFHLE9BQU8scUZBQXFGLENBQUM7aUJBQzlGO2dCQUNELElBQUcsQ0FBQSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsUUFBUSxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRyxTQUFTLENBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsUUFBUSxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFBLEVBQUM7b0JBQ25HLE9BQU8sd0VBQXdFLENBQUM7aUJBQ2pGO3FCQUFLLElBQUcsQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsUUFBUSxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRyxTQUFTLENBQUMsQ0FBQyxNQUFJLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUEsRUFBQztvQkFDekcsT0FBTyxxRkFBcUYsQ0FBQztpQkFDOUY7Z0JBQ0QsSUFBRyxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsUUFBUSxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRyxTQUFTLENBQUMsQ0FBQyxFQUFDO29CQUNoRCxPQUFPLHdFQUF3RSxDQUFDO2lCQUNqRjtnQkFDRCxPQUFPLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFlBQVksRUFBQyxDQUFDLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLGNBQWMsQ0FBQztZQUM3RjtnQkFDRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxjQUFjLENBQUM7U0FDaEg7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OztZQXRERixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjthQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAndG9vbHRpcE1lc3NhZ2UnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sdGlwTWVzc2FnZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogdW5rbm93biB7XHJcbiAgICBsZXQgcmVzcG9uc2liaWxpdHlUeXBlID0gYXJnc1swXTtcclxuICAgIGxldCBjdXJyZW50VXNlciA9IHZhbHVlO1xyXG4gICAgbGV0IHJldmlld2VySWRzOmFueSA9IGFyZ3NbMV07XHJcbiAgICBsZXQgb3ZlcnNlZXJJZHM6YW55ID0gYXJnc1syXTtcclxuICAgIGxldCBhc3NpZ25vcklkOmFueSA9IGFyZ3NbM10gPyBhcmdzWzNdIDogW107XHJcbiAgICBsZXQgYXNzaWduZWVJZHMgOmFueSA9IGFyZ3NbNF0gPyBhcmdzWzRdIDogW107XHJcbiAgICBsZXQgbWVtYmVyX2lkIDphbnkgPSBhcmdzWzVdID8gYXJnc1s1XSA6ICdtZW1iZXJfaWQnO1xyXG4gICAgbGV0IGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBhcmdzWzZdID8gYXJnc1s2XSA6IGZhbHNlO1xyXG4gICAgc3dpdGNoKHJlc3BvbnNpYmlsaXR5VHlwZSkge1xyXG4gICAgICBjYXNlIFwiQXNzaWduZWVcIjpcclxuICAgICAgICBpZihyZXZpZXdlcklkcz8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSYmICFhc3NpZ25vcklkPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSByZXZpZXdlciBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS5cIjtcclxuICAgICAgICB9ZWxzZSBpZihhc3NpZ25vcklkPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pICYmIHJldmlld2VySWRzPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSBhc3NpZ25vciBhbmQgcmV2aWV3ZXIgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG92ZXJzZWVySWRzPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSBvdmVyc2VlciBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS5cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRVc2VyPy5lbXBsb3llZV9lbWFpbDtcclxuICAgICAgY2FzZSBcIlJldmlld2VyXCI6XHJcbiAgICAgICAgaWYoYXNzaWduZWVJZHM/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkgJiYgIWFzc2lnbm9ySWQ/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIGFzc2lnbmVlIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LlwiO1xyXG4gICAgICAgIH0gZWxzZSBpZihhc3NpZ25vcklkPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pICYmIGFzc2lnbmVlSWRzPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSBhc3NpZ25vciBhbmQgYXNzaWduZWUgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYob3ZlcnNlZXJJZHM/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIG92ZXJzZWVyIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3VycmVudFVzZXI/Lm1lbWJlcl9lbWFpbCA/IGN1cnJlbnRVc2VyPy5tZW1iZXJfZW1haWwgOiBjdXJyZW50VXNlcj8uZW1wbG95ZWVfZW1haWw7XHJcbiAgICAgIGNhc2UgXCJPdmVyc2VlclwiOlxyXG4gICAgICAgIGlmKGFzc2lnbmVlSWRzPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pICYmICFhc3NpZ25vcklkPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSBhc3NpZ25lZSBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS5cIjtcclxuICAgICAgICB9IGVsc2UgaWYoYXNzaWdub3JJZD8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSAmJiBhc3NpZ25lZUlkcz8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSl7XHJcbiAgICAgICAgICByZXR1cm4gXCJUaGlzIHVzZXIgaXMgYWxyZWFkeSBzZWxlY3RlZCBhcyB0aGUgYXNzaWdub3IgYW5kIGFzc2lnbmVlIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihyZXZpZXdlcklkcz8uaW5jbHVkZXMoY3VycmVudFVzZXI/LlttZW1iZXJfaWRdKSYmICFhc3NpZ25vcklkPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSByZXZpZXdlciBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS5cIjtcclxuICAgICAgICB9ZWxzZSBpZihhc3NpZ25vcklkPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pICYmIHJldmlld2VySWRzPy5pbmNsdWRlcyhjdXJyZW50VXNlcj8uW21lbWJlcl9pZF0pKXtcclxuICAgICAgICAgIHJldHVybiBcIlRoaXMgdXNlciBpcyBhbHJlYWR5IHNlbGVjdGVkIGFzIHRoZSBhc3NpZ25vciBhbmQgcmV2aWV3ZXIgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGFzc2lnbm9ySWQ/LmluY2x1ZGVzKGN1cnJlbnRVc2VyPy5bbWVtYmVyX2lkXSkpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiVGhpcyB1c2VyIGlzIGFscmVhZHkgc2VsZWN0ZWQgYXMgdGhlIGFzc2lnbm9yIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3VycmVudFVzZXI/Lm1lbWJlcl9lbWFpbCA/IGN1cnJlbnRVc2VyPy5tZW1iZXJfZW1haWwgOiBjdXJyZW50VXNlcj8uZW1wbG95ZWVfZW1haWw7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGlzRGlzYWJsZWQgPyBcIlwiIDogY3VycmVudFVzZXI/Lm1lbWJlcl9lbWFpbCA/IGN1cnJlbnRVc2VyPy5tZW1iZXJfZW1haWwgOiBjdXJyZW50VXNlcj8uZW1wbG95ZWVfZW1haWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==