vcomply-workflow-engine 6.0.77 → 6.0.78

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 (96) hide show
  1. package/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +1 -10
  2. package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +1 -10
  3. package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +1 -10
  4. package/esm2022/lib/constants/api.constants.mjs +5 -3
  5. package/esm2022/lib/constants/mock.mjs +152 -0
  6. package/esm2022/lib/interfaces/frequency.interface.mjs +2 -0
  7. package/esm2022/lib/interfaces/iframe-type.mjs +7 -0
  8. package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
  9. package/esm2022/lib/more-option/more-option.component.mjs +17 -183
  10. package/esm2022/lib/report-a-case/services/report-a-case.service.mjs +3 -2
  11. package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +5 -5
  12. package/esm2022/lib/services/common.service.mjs +40 -1
  13. package/esm2022/lib/services/iframe.service.mjs +14 -1
  14. package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +5 -1
  15. package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +5 -1
  16. package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +5 -5
  17. package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +2 -1
  18. package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +6 -2
  19. package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +3 -2
  20. package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +3 -1
  21. package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +5 -1
  22. package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +9 -2
  23. package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +4 -2
  24. package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +247 -1
  25. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +1 -3
  26. package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +52 -0
  27. package/esm2022/lib/sharedComponents/program-list/constant.mjs +16 -0
  28. package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +2 -0
  29. package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +2 -0
  30. package/esm2022/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.mjs +23 -0
  31. package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +182 -0
  32. package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +47 -0
  33. package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +27 -0
  34. package/esm2022/lib/sharedComponents/program-list/services/program-list-api.service.mjs +32 -0
  35. package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -0
  36. package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +19 -0
  37. package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +45 -17
  38. package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +13 -10
  39. package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +62 -35
  40. package/esm2022/lib/workflow/shared/services/grc.service.mjs +15 -2
  41. package/esm2022/lib/workflow/shared/workflow-pipes/get-user-details.pipe.mjs +26 -0
  42. package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +8 -3
  43. package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +1 -10
  44. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +284 -413
  45. package/esm2022/lib/workflow-engine-container/api-constants.mjs +3 -2
  46. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +32 -53
  47. package/esm2022/lib/workflow-engine.module.mjs +13 -6
  48. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +55 -35
  49. package/esm2022/lib/workflow-program/constants.mjs +3 -3
  50. package/esm2022/lib/workflow-program/workflow-program.component.mjs +122 -338
  51. package/esm2022/lib/workflow-services/policy.service.mjs +8 -4
  52. package/esm2022/lib/workflow-services/programs.service.mjs +26 -113
  53. package/esm2022/lib/workflow-services/responsibility.service.mjs +60 -56
  54. package/fesm2022/vcomply-workflow-engine.mjs +4701 -4517
  55. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  56. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +0 -2
  57. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +0 -2
  58. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +0 -2
  59. package/lib/constants/api.constants.d.ts +4 -2
  60. package/lib/constants/mock.d.ts +15 -0
  61. package/lib/interfaces/frequency.interface.d.ts +37 -0
  62. package/lib/interfaces/iframe-type.d.ts +5 -0
  63. package/lib/interfaces/responsibilty.interface.d.ts +12 -12
  64. package/lib/services/common.service.d.ts +28 -0
  65. package/lib/services/iframe.service.d.ts +6 -0
  66. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -0
  67. package/lib/sharedComponents/frequency/frequency.service.d.ts +87 -0
  68. package/lib/sharedComponents/list-container/list-container.component.d.ts +9 -0
  69. package/lib/sharedComponents/program-list/constant.d.ts +9 -0
  70. package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +4 -0
  71. package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +5 -0
  72. package/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.d.ts +7 -0
  73. package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +45 -0
  74. package/lib/sharedComponents/program-list/program-list.module.d.ts +14 -0
  75. package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +7 -0
  76. package/lib/sharedComponents/program-list/services/program-list-api.service.d.ts +14 -0
  77. package/lib/ui-kit/loaders/loaders.module.d.ts +8 -0
  78. package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -0
  79. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +5 -1
  80. package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +3 -1
  81. package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +6 -2
  82. package/lib/workflow/shared/services/grc.service.d.ts +1 -0
  83. package/lib/workflow/shared/workflow-pipes/get-user-details.pipe.d.ts +7 -0
  84. package/lib/workflow/shared/workflow-pipes/workflow-pipes.module.d.ts +3 -2
  85. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +0 -2
  86. package/lib/workflow-compliance/workflow-compliance.component.d.ts +32 -6
  87. package/lib/workflow-engine-container/api-constants.d.ts +1 -0
  88. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +5 -2
  89. package/lib/workflow-engine.module.d.ts +42 -40
  90. package/lib/workflow-policy/workflow-policy.component.d.ts +9 -0
  91. package/lib/workflow-program/workflow-program.component.d.ts +8 -4
  92. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  93. package/lib/workflow-services/policy.service.d.ts +1 -0
  94. package/lib/workflow-services/programs.service.d.ts +13 -53
  95. package/lib/workflow-services/responsibility.service.d.ts +17 -4
  96. package/package.json +1 -1
@@ -109,8 +109,6 @@ export class LinkResponsibilityListComponent {
109
109
  .subscribe((res) => {
110
110
  this.responsibilitiesData = res[0];
111
111
  this.responsibilityLoader = false;
112
- }, (error) => {
113
- this.responsibilityLoader = false;
114
112
  });
115
113
  }
116
114
  responsibilityPageChange(pageNumber) {
@@ -218,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
218
216
  }], selectedResponsibility: [{
219
217
  type: Output
220
218
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7O0FBUTlGLE1BQU0sT0FBTywrQkFBK0I7SUEwRTFDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdkU3QyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGlDQUE0QixHQUFRLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUUvQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0RCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVsQyx5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFDL0Is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QUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5L2ZyZXF1ZW5jeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxpbmstcmVzcG9uc2liaWxpdHktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rUmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eTogYW55O1xuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIHJlc3BJZEtleTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM6IGFueSA9IFtdO1xuICBASW5wdXQoKSByYWRpb1NlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBhbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVzcG9uc2liaWxpdHlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNWYWxpZE9iajogYm9vbGVhbiA9IGZhbHNlO1xuICBpc09uQ29tcGxldGlvblJjOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVzcG9uc2liaWxpdGllc0RhdGE6IGFueSA9IHt9O1xuICByZXNwb25zaWJpbGl0eVRhYkNvdW50OiBhbnkgPSB7XG4gICAgcmVndWxhdGlvbkNvdW50OiAwLFxuICAgIHN0YW5kYXJkQ291bnQ6IDAsXG4gICAgaW50ZXJuYWxDb3VudDogMCxcbiAgICBvdGhlcnNDb3VudDogMCxcbiAgfTtcbiAgdHlwZVRvQ291bnRQcm9wZXJ0eTogYW55ID0ge1xuICAgIDA6ICdvdGhlcnNDb3VudCcsXG4gICAgMTogJ3JlZ3VsYXRpb25Db3VudCcsXG4gICAgMjogJ3N0YW5kYXJkQ291bnQnLFxuICAgIDM6ICdpbnRlcm5hbENvdW50JyxcbiAgfTtcbiAgcmVzcG9uc2liaWxpdHlQYXlsb2FkID0ge1xuICAgIHR5cGU6ICdhbGwnLFxuICAgIHBhZ2luYXRpb25UeXBlOiAnbGFyZ2UnLFxuICAgIGE6ICcnLFxuICAgIHNlYXJjaFRleHQ6ICcnLFxuICAgIGZpbHRlckRhdGE6IHtcbiAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgcmlza0lkczogW10sXG4gICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBbXSxcbiAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgY29tcGxpYW5jZVR5cGU6IFsxXSxcbiAgICB9LFxuICAgIHBhZ2VObzogMSxcbiAgICBzb3J0T2JqOiB7XG4gICAgICBzb3J0Qnk6ICcnLFxuICAgICAgdHlwZTogJycsXG4gICAgfSxcbiAgICBwYWdlTmFtZTogJ292ZXJ2aWV3JyxcbiAgfTtcblxuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ6IGFueVtdID0gW107XG4gIHJlc3BvbnNpYmlsaXR5VGFiczogYW55W10gPSBbXG4gICAgeyBuYW1lOiAnUkVHVUxBVElPTlMnLCB0eXBlOiAxIH0sXG4gICAgeyBuYW1lOiAnU1RBTkRBUkRTJywgdHlwZTogMiB9LFxuICAgIHsgbmFtZTogJ0lOVEVSTkFMIENPTlRST0xTJywgdHlwZTogMyB9LFxuICAgIHsgbmFtZTogJ09USEVSUycsIHR5cGU6IDAgfSxcbiAgXTtcblxuICBjdXJyZW50VGFiOm51bWJlciA9IDE7XG4gIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIHJlZ3VsYXRpb25Db3VudDogbnVtYmVyID0gMDtcbiAgc3RhbmRhcmRzQ291bnQ6IG51bWJlciA9IDA7XG4gIGludGVybmFsc0NvdW50OiBudW1iZXIgPSAwO1xuICBvdGhlcnNDb3VudDogbnVtYmVyID0gMDtcblxuICByZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xuICBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUy5OT19EQVRBX01FU1NBR0UuTk9fREFUQTtcbiAgbm9EYXRhSW1hZ2VQYXRoOiBzdHJpbmcgPSBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUy5OT19EQVRBLklNQUdFO1xuXG4gIHJlc3BvbnNpYmlsaXR5TGlzdDogYW55O1xuICBmZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mOiBhbnk7XG4gIGNsb3NlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlWYWx1ZXMoKTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICAgIHRoaXMuc2V0UmVzcG9uc2liaWxpdGllc0NvdW50KCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b24uZW1pdCgpO1xuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcykge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMubWFwKFxuICAgICAgICAoZWxlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoZWxlW3RoaXMucmVzcElkS2V5XSkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZVt0aGlzLnJlc3BJZEtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gT2JqZWN0LmtleXMoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlc1xuICAgICAgKT8ubGVuZ3RoXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXG4gICAgICAgIDoge307XG4gICAgICB0aGlzLmlzVmFsaWRPYmogPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpPy5sZW5ndGggPiAwXG4gICAgICAgIDogZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIGdldFJlc3BvbnNpYmlsaXR5TGlzdCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcbiAgICAgID8uZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YSA9IHJlc1swXTtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmVzcG9uc2liaWxpdHlQYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IHBhZ2VOdW1iZXI7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnNlYXJjaFRleHQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICB9XG5cbiAgZGVsZXRlSXRlbShpdGVtOiBhbnkpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLmZpbmRJbmRleChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gaXRlbVt0aGlzLnJlc3BJZEtleV1cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzLmZpbHRlcihcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlW3RoaXMucmVzcElkS2V5XSAhPT0gaXRlbVt0aGlzLnJlc3BJZEtleV1cbiAgICApO1xuICAgIHRoaXMuaXNWYWxpZE9iaiA9IGZhbHNlO1xuICAgIHRoaXMuc2V0TGlzdCgpO1xuICB9XG5cbiAgc2F2ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5jbG9zZUJ1dHRvbi5lbWl0KCk7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5LmVtaXQodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKTtcbiAgfVxuXG4gIG9uQ2xpY2tUYWJDaGFuZ2UodGFiOiBhbnkpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI/LnR5cGU7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuZmlsdGVyRGF0YS5jb21wbGlhbmNlVHlwZSA9IFt0aGlzLmN1cnJlbnRUYWJdO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnNlYXJjaFRleHQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgICB0aGlzLnNldFJlc3BvbnNpYmlsaXRpZXNDb3VudCgpO1xuICB9XG5cbiAgc2V0UmVzcG9uc2liaWxpdGllc0NvdW50KCkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKSk7XG4gICAgcGF5bG9hZC5maWx0ZXJEYXRhLmNvbXBsaWFuY2VUeXBlID0gWzAsIDEsIDIsIDNdO1xuICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxuICAgICAgPy5nZXRSZXNwb25zaWJpbGl0aWVzQ291bnQocGF5bG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5yZWd1bGF0aW9uQ291bnQgPSByZXM/LnJlZ3VsYXRpb25fY291bnQ7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5zdGFuZGFyZENvdW50ID0gcmVzPy5zdGFuZGFyZF9jb3VudDtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVRhYkNvdW50LmludGVybmFsQ291bnQgPSByZXM/LmludGVybmFsX2NvdW50O1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQub3RoZXJzQ291bnQgPSByZXM/Lm90aGVyc19jb3VudDtcbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluaXRpYWxpemUgYWxsIHRoZSBGZWF0dXJlIGZsYWcgYmFzZWQgdmFyaWFibGVzXG4gIGZlYXR1cmVGbGFnSW5pdGlhbGl6YXRpb24oKSB7XG4gICAgdGhpcy5mZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXG4gICAgICAnZmZfZnJlcXVlbmN5X29uX2NvbXBsZXRpb25fb2YnXG4gICAgKTtcbiAgICB0aGlzLmlzT25Db21wbGV0aW9uUmMgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZChcbiAgICAgICdmZl9vbl9jb21wbGV0aW9uX3JjJ1xuICAgICk7XG4gIH1cblxuICBzZWxlY3RSZXNwKHJlc3A6IGFueSwgbW9kZTogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5maW5kSW5kZXgoXG4gICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IHJlc3BcbiAgICApO1xuICAgIGlmIChpbmRleCA9PT0gLTEgJiYgbW9kZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQucHVzaChyZXNwKTtcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzLmZpbHRlcihcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGVbdGhpcy5yZXNwSWRLZXldICE9PSByZXNwXG4gICAgICApO1xuICAgICAgdGhpcy5zZXRMaXN0KCk7XG4gICAgfVxuICB9XG5cbiAgc2V0TGlzdCgpIHtcbiAgICBjb25zdCBkYXRhOiBhbnlbXSA9IFtdO1xuICAgIGNvbnN0IHJlc3BWYWx1ZXMgPSBjbG9uZURlZXAodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKTtcbiAgICBjb25zdCByZXNwTGlzdCA9IGNsb25lRGVlcCh0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhLmRhdGEpO1xuICAgIGNvbnN0IHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZCA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZCk7XG4gICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgY29uc3QgZm91bmRSZXNwb25zaWJpbGl0eSA9IHJlc3BMaXN0LmZpbmQoKGVsZTogYW55KSA9PiBlbGVbdGhpcy5yZXNwSWRLZXldID09PSBlbGVtZW50KTtcbiAgICAgIGlmIChmb3VuZFJlc3BvbnNpYmlsaXR5KSB7XG4gICAgICAgIGRhdGEucHVzaChmb3VuZFJlc3BvbnNpYmlsaXR5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZih0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM/Lmxlbmd0aCA+IDApe1xuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEuZmlsdGVyKGVsZW1lbnQgPT5cbiAgICAgICAgIXJlc3BWYWx1ZXMuc29tZSgodmFsdWU6IGFueSkgPT4gdmFsdWVbdGhpcy5yZXNwSWRLZXldID09PSBlbGVtZW50W3RoaXMucmVzcElkS2V5XSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSBbLi4ucmVzcFZhbHVlcywgLi4ubmV3RGF0YV07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gZGF0YTtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmFsaWRPYmogPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKT8ubGVuZ3RoID4gMFxuICAgICAgOiBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0XCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LWhlYWQgdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtYm9keVwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LmFsbFJlc3BvbnNpYmlsaXR5Q291bnQgPiAwXCJcbiAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItMlwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHJlc3BvbnNpYmlsaXR5VGFiczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSBpICsgMSB8fCAoY3VycmVudFRhYiA9PT0gMCAmJiBpID09PSAzKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tUYWJDaGFuZ2UodGFiKVwiXG4gICAgICAgICAgW2NsYXNzLnBvaW50ZXItbm9uZV09XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPnt7IHRhYi5uYW1lIH19PC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eVRhYkNvdW50W3R5cGVUb0NvdW50UHJvcGVydHlbdGFiLnR5cGVdXSB8fCAwXG4gICAgICAgICAgICAgIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3Qtc2VhcmNoIHZ4LW1iLTJcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTJcIj4mI3hlOTBiOzwvaT5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwicmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0XCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cInNlYXJjaCgpXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdGllc1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtcGFnaW5hdGlvblxuICAgICAgKm5nSWY9XCIhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVwiXG4gICAgICBbc3RhcnRdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbVwiXG4gICAgICBbZW5kXT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX3RvXCJcbiAgICAgIFt0b3RhbF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcmVzcG9uc2liaWxpdGllc1wiXG4gICAgICBbcGFnZUNvdW50XT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9wYWdlc1wiXG4gICAgICBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZVwiXG4gICAgICAoc2VsZWN0ZWRQYWdlKT1cInJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1taWQgdngtbWItNFwiXG4gICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cIlxuICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICFyZXNwb25zaWJpbGl0eUxvYWRlclxuICAgICAgICBcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwibm9EYXRhSW1hZ2VQYXRoXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwibm9EYXRhTWVzc2FnZVwiXG4gICAgICA+PC9hcHAtbm8tZGF0YT5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YT8ubGVuZ3RoID4gMCAmJiAhcmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgI1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eVwiXG4gICAgICAgICAgICAgIFtjbGFzcy53aXRoLXJjXT1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUSUVTXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNPbkNvbXBsZXRpb25SY1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRZIENFTlRFUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBwcm9ncmFtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUFJPR1JBTVNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIlxuICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ/LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5SZXBvcnRJZClcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IHJlc3BvbnNpYmlsaXR5IG9mIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5kYXRhO1xuICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3Itbm9cIlxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb20gKyBpXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb20gKyBpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25nVmFsdWVdPVwiXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ/LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5SZXBvcnRJZClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdFJlc3AocmVzcG9uc2liaWxpdHk/LlJlcG9ydElkLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eVwiXG4gICAgICAgICAgICAgIFtjbGFzcy53aXRoLXJjXT1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMiB2eC1sYWJlbC10eHQgdngtcHItNVwiXG4gICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmVzcG9uc2liaWxpdHk/LlJlcG9ydE5hbWVcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyByZXNwb25zaWJpbGl0eT8uQ29udHJvbElkIH19IHt7IHJlc3BvbnNpYmlsaXR5Py5SZXBvcnROYW1lIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXVxuICAgICAgICAgICAgICAgICAgPy5jYXRlZ29yeV9uYW1lIGFzIGNhdGVnb3J5TmFtZVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBwcm9ncmFtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0taW5uZXIgdngtZC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3JhbS12YWx1ZSB2eC1mcy0xMSB2eC1sYWJlbC10eHQgdngtcHItNVwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF0/LmNhdGVnb3J5X25hbWUgPz9cbiAgICAgICAgICAgICAgICAgICAgJy0tJ1xuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgY2F0ZWdvcnlOYW1lID8/IFwiLS1cIiB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdXG4gICAgICAgICAgICAgICAgICAgICAgPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8ucGFyZW50X2NhdGVnb3J5X25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbignIDwgJykgYXMgcGFyZW50X2NhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJwYXJlbnRfY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBwYXJlbnRfY2F0ZWdvcnkgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXk/Lmxlbmd0aCA+PSAyXCJcbiAgICAgICAgICAgICAgICBhcHBQb3BvdmVyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInByb2dyYW1Qb3B1cC5wb3BvdmVyKClcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyYW0tY291bnQgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1wLTAgdngtcGwtMSB2eC1wci0xIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICt7eyByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheT8ubGVuZ3RoIC0gMSB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNwcm9ncmFtUG9wdXA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdWJDYXRlZ29yeSBvZiByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVxuICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNsaWNlIDogMVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwic3ViQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHN1YkNhdGVnb3J5Py5jYXRlZ29yeV9uYW1lIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnBhcmVudF9jYXRlZ29yeV9uYW1lPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF0/LnBhcmVudF9jYXRlZ29yeV9uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA8ICcpIGFzIHBhcmVudF9jYXRlZ29yeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicGFyZW50X2NhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcGFyZW50X2NhdGVnb3J5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyXCJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwiaXNWYWxpZE9iaiA/IHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgOiBbXVwiXG4gICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ1JlcG9ydE5hbWUnXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiYmFjaygpXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoJGV2ZW50KVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIiFpc1ZhbGlkT2JqXCJcbiAgICA+PC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7O0FBUTlGLE1BQU0sT0FBTywrQkFBK0I7SUEwRTFDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdkU3QyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGlDQUE0QixHQUFRLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUUvQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0RCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVsQyx5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFDL0Is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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IExJTktfUkVTUE9OU0lCSUxJVFlfQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2xpbmstcmVzcG9uc2liaWxpdHkuY29uc3RhbnRzJztcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kvZnJlcXVlbmN5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbGluay1yZXNwb25zaWJpbGl0eS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstcmVzcG9uc2liaWxpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpbmtSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvbkNvbXBsZXRpb25PZlJlc3BvbnNpYmlsaXR5OiBhbnk7XG4gIEBJbnB1dCgpIGZlYXR1cmU6IGFueTtcbiAgQElucHV0KCkgcmVzcElkS2V5OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlczogYW55ID0gW107XG4gIEBJbnB1dCgpIHJhZGlvU2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICBAT3V0cHV0KCkgY2xvc2VCdXR0b24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICByZXNwb25zaWJpbGl0eUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1ZhbGlkT2JqOiBib29sZWFuID0gZmFsc2U7XG4gIGlzT25Db21wbGV0aW9uUmM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByZXNwb25zaWJpbGl0aWVzRGF0YTogYW55ID0ge307XG4gIHJlc3BvbnNpYmlsaXR5VGFiQ291bnQ6IGFueSA9IHtcbiAgICByZWd1bGF0aW9uQ291bnQ6IDAsXG4gICAgc3RhbmRhcmRDb3VudDogMCxcbiAgICBpbnRlcm5hbENvdW50OiAwLFxuICAgIG90aGVyc0NvdW50OiAwLFxuICB9O1xuICB0eXBlVG9Db3VudFByb3BlcnR5OiBhbnkgPSB7XG4gICAgMDogJ290aGVyc0NvdW50JyxcbiAgICAxOiAncmVndWxhdGlvbkNvdW50JyxcbiAgICAyOiAnc3RhbmRhcmRDb3VudCcsXG4gICAgMzogJ2ludGVybmFsQ291bnQnLFxuICB9O1xuICByZXNwb25zaWJpbGl0eVBheWxvYWQgPSB7XG4gICAgdHlwZTogJ2FsbCcsXG4gICAgcGFnaW5hdGlvblR5cGU6ICdsYXJnZScsXG4gICAgYTogJycsXG4gICAgc2VhcmNoVGV4dDogJycsXG4gICAgZmlsdGVyRGF0YToge1xuICAgICAgYXBwTGlzdDogW10sXG4gICAgICByaXNrSWRzOiBbXSxcbiAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IFtdLFxuICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXG4gICAgICBjb21wbGlhbmNlVHlwZTogWzFdLFxuICAgIH0sXG4gICAgcGFnZU5vOiAxLFxuICAgIHNvcnRPYmo6IHtcbiAgICAgIHNvcnRCeTogJycsXG4gICAgICB0eXBlOiAnJyxcbiAgICB9LFxuICAgIHBhZ2VOYW1lOiAnb3ZlcnZpZXcnLFxuICB9O1xuXG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZDogYW55W10gPSBbXTtcbiAgcmVzcG9uc2liaWxpdHlUYWJzOiBhbnlbXSA9IFtcbiAgICB7IG5hbWU6ICdSRUdVTEFUSU9OUycsIHR5cGU6IDEgfSxcbiAgICB7IG5hbWU6ICdTVEFOREFSRFMnLCB0eXBlOiAyIH0sXG4gICAgeyBuYW1lOiAnSU5URVJOQUwgQ09OVFJPTFMnLCB0eXBlOiAzIH0sXG4gICAgeyBuYW1lOiAnT1RIRVJTJywgdHlwZTogMCB9LFxuICBdO1xuXG4gIGN1cnJlbnRUYWI6bnVtYmVyID0gMTtcbiAgcmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgcmVndWxhdGlvbkNvdW50OiBudW1iZXIgPSAwO1xuICBzdGFuZGFyZHNDb3VudDogbnVtYmVyID0gMDtcbiAgaW50ZXJuYWxzQ291bnQ6IG51bWJlciA9IDA7XG4gIG90aGVyc0NvdW50OiBudW1iZXIgPSAwO1xuXG4gIHJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XG4gIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IExJTktfUkVTUE9OU0lCSUxJVFlfQ09OU1RBTlRTLk5PX0RBVEFfTUVTU0FHRS5OT19EQVRBO1xuICBub0RhdGFJbWFnZVBhdGg6IHN0cmluZyA9IExJTktfUkVTUE9OU0lCSUxJVFlfQ09OU1RBTlRTLk5PX0RBVEEuSU1BR0U7XG5cbiAgcmVzcG9uc2liaWxpdHlMaXN0OiBhbnk7XG4gIGZlYXR1cmVGbGFnX29uX2NvbXBsZXRpb25fb2Y6IGFueTtcbiAgY2xvc2U6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eVZhbHVlcygpO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gICAgdGhpcy5zZXRSZXNwb25zaWJpbGl0aWVzQ291bnQoKTtcbiAgfVxuXG4gIGJhY2soKSB7XG4gICAgdGhpcy5jbG9zZUJ1dHRvbi5lbWl0KCk7XG4gIH1cblxuICBnZXRSZXNwb25zaWJpbGl0eVZhbHVlcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZCA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcy5tYXAoXG4gICAgICAgIChlbGU6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChlbGVbdGhpcy5yZXNwSWRLZXldKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlW3RoaXMucmVzcElkS2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSBPYmplY3Qua2V5cyhcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXG4gICAgICApPy5sZW5ndGhcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgICAgOiB7fTtcbiAgICAgIHRoaXMuaXNWYWxpZE9iaiA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlc1xuICAgICAgICA/IE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk/Lmxlbmd0aCA+IDBcbiAgICAgICAgOiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCkge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxuICAgICAgPy5nZXRSZXNwb25zaWJpbGl0eUxpc3QodGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhID0gcmVzWzBdO1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSBwYWdlTnVtYmVyO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnBhZ2VObyA9IHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG4gIGRlbGV0ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5maW5kSW5kZXgoXG4gICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGl0ZW1bdGhpcy5yZXNwSWRLZXldXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcy5maWx0ZXIoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZVt0aGlzLnJlc3BJZEtleV0gIT09IGl0ZW1bdGhpcy5yZXNwSWRLZXldXG4gICAgKTtcbiAgICB0aGlzLmlzVmFsaWRPYmogPSBmYWxzZTtcbiAgICB0aGlzLnNldExpc3QoKTtcbiAgfVxuXG4gIHNhdmUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuY2xvc2VCdXR0b24uZW1pdCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eS5lbWl0KHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk7XG4gIH1cblxuICBvbkNsaWNrVGFiQ2hhbmdlKHRhYjogYW55KSB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiPy50eXBlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLmZpbHRlckRhdGEuY29tcGxpYW5jZVR5cGUgPSBbdGhpcy5jdXJyZW50VGFiXTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnBhZ2VObyA9IHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gIH1cblxuICBzZWFyY2goKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuc2VhcmNoVGV4dCA9IHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0O1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gICAgdGhpcy5zZXRSZXNwb25zaWJpbGl0aWVzQ291bnQoKTtcbiAgfVxuXG4gIHNldFJlc3BvbnNpYmlsaXRpZXNDb3VudCgpIHtcbiAgICBjb25zdCBwYXlsb2FkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZCkpO1xuICAgIHBheWxvYWQuZmlsdGVyRGF0YS5jb21wbGlhbmNlVHlwZSA9IFswLCAxLCAyLCAzXTtcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcbiAgICAgID8uZ2V0UmVzcG9uc2liaWxpdGllc0NvdW50KHBheWxvYWQpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQucmVndWxhdGlvbkNvdW50ID0gcmVzPy5yZWd1bGF0aW9uX2NvdW50O1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQuc3RhbmRhcmRDb3VudCA9IHJlcz8uc3RhbmRhcmRfY291bnQ7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5pbnRlcm5hbENvdW50ID0gcmVzPy5pbnRlcm5hbF9jb3VudDtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVRhYkNvdW50Lm90aGVyc0NvdW50ID0gcmVzPy5vdGhlcnNfY291bnQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbml0aWFsaXplIGFsbCB0aGUgRmVhdHVyZSBmbGFnIGJhc2VkIHZhcmlhYmxlc1xuICBmZWF0dXJlRmxhZ0luaXRpYWxpemF0aW9uKCkge1xuICAgIHRoaXMuZmVhdHVyZUZsYWdfb25fY29tcGxldGlvbl9vZiA9IHRoaXMuZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKFxuICAgICAgJ2ZmX2ZyZXF1ZW5jeV9vbl9jb21wbGV0aW9uX29mJ1xuICAgICk7XG4gICAgdGhpcy5pc09uQ29tcGxldGlvblJjID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXG4gICAgICAnZmZfb25fY29tcGxldGlvbl9yYydcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0UmVzcChyZXNwOiBhbnksIG1vZGU6IGFueSkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQuZmluZEluZGV4KFxuICAgICAgKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSByZXNwXG4gICAgKTtcbiAgICBpZiAoaW5kZXggPT09IC0xICYmIG1vZGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLnB1c2gocmVzcCk7XG4gICAgICB0aGlzLnNldExpc3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcy5maWx0ZXIoXG4gICAgICAgIChlbGU6IGFueSkgPT4gZWxlW3RoaXMucmVzcElkS2V5XSAhPT0gcmVzcFxuICAgICAgKTtcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xuICAgIH1cbiAgfVxuXG4gIHNldExpc3QoKSB7XG4gICAgY29uc3QgZGF0YTogYW55W10gPSBbXTtcbiAgICBjb25zdCByZXNwVmFsdWVzID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk7XG4gICAgY29uc3QgcmVzcExpc3QgPSBjbG9uZURlZXAodGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YS5kYXRhKTtcbiAgICBjb25zdCBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQgPSBjbG9uZURlZXAodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQpO1xuICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGZvdW5kUmVzcG9uc2liaWxpdHkgPSByZXNwTGlzdC5maW5kKChlbGU6IGFueSkgPT4gZWxlW3RoaXMucmVzcElkS2V5XSA9PT0gZWxlbWVudCk7XG4gICAgICBpZiAoZm91bmRSZXNwb25zaWJpbGl0eSkge1xuICAgICAgICBkYXRhLnB1c2goZm91bmRSZXNwb25zaWJpbGl0eSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5sZW5ndGggPiAwKXtcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhLmZpbHRlcihlbGVtZW50ID0+XG4gICAgICAgICFyZXNwVmFsdWVzLnNvbWUoKHZhbHVlOiBhbnkpID0+IHZhbHVlW3RoaXMucmVzcElkS2V5XSA9PT0gZWxlbWVudFt0aGlzLnJlc3BJZEtleV0pXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gWy4uLnJlc3BWYWx1ZXMsIC4uLm5ld0RhdGFdO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IGRhdGE7XG4gICAgfVxuXG4gICAgdGhpcy5pc1ZhbGlkT2JqID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXG4gICAgICA/IE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk/Lmxlbmd0aCA+IDBcbiAgICAgIDogZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1oZWFkIHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlblwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgYSBSZXNwb25zaWJpbGl0eTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LWJvZHlcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5hbGxSZXNwb25zaWJpbGl0eUNvdW50ID4gMFwiXG4gICAgICBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LW1iLTJcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiByZXNwb25zaWJpbGl0eVRhYnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFRhYiA9PT0gaSArIDEgfHwgKGN1cnJlbnRUYWIgPT09IDAgJiYgaSA9PT0gMylcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrVGFiQ2hhbmdlKHRhYilcIlxuICAgICAgICAgIFtjbGFzcy5wb2ludGVyLW5vbmVdPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgID57eyB0YWIubmFtZSB9fTwvbGFiZWxcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCJcbiAgICAgICAgICAgICAgPnt7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHlUYWJDb3VudFt0eXBlVG9Db3VudFByb3BlcnR5W3RhYi50eXBlXV0gfHwgMFxuICAgICAgICAgICAgICB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LXNlYXJjaCB2eC1tYi0yXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dFwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlc3BvbnNpYmlsaXRpZXNcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLXBhZ2luYXRpb25cbiAgICAgICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9wYWdlcyA+IDFcIlxuICAgICAgW3N0YXJ0XT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb21cIlxuICAgICAgW2VuZF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllc190b1wiXG4gICAgICBbdG90YWxdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3Jlc3BvbnNpYmlsaXRpZXNcIlxuICAgICAgW3BhZ2VDb3VudF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcGFnZXNcIlxuICAgICAgW2N1cnJlbnRQYWdlXT1cInJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2VcIlxuICAgICAgKHNlbGVjdGVkUGFnZSk9XCJyZXNwb25zaWJpbGl0eVBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvYXBwLXBhZ2luYXRpb24+XG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtbWlkIHZ4LW1iLTRcIlxuICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJcbiAgICAgICAgIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9wYWdlcyA+IDFcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgcmVzcG9uc2liaWxpdGllc0RhdGE/LmRhdGE/Lmxlbmd0aCA9PT0gMCAmJiAhcmVzcG9uc2liaWxpdHlMb2FkZXJcbiAgICAgICAgXCJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIm5vRGF0YUltYWdlUGF0aFwiXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIm5vRGF0YU1lc3NhZ2VcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LmRhdGE/Lmxlbmd0aCA+IDAgJiYgIXJlc3BvbnNpYmlsaXR5TG9hZGVyXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHlcIlxuICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1yY109XCJpc09uQ29tcGxldGlvblJjXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUkVTUE9OU0lCSUxJVElFU1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxuICAgICAgICAgICAgICAqbmdJZj1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUWSBDRU5URVJcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcHJvZ3JhbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFBST0dSQU1TXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3dcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkPy5pbmNsdWRlcyhyZXNwb25zaWJpbGl0eT8uUmVwb3J0SWQpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCByZXNwb25zaWJpbGl0eSBvZiByZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YTtcbiAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllc19mcm9tICsgaVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyByZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllc19mcm9tICsgaSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cIlxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkPy5pbmNsdWRlcyhyZXNwb25zaWJpbGl0eT8uUmVwb3J0SWQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RSZXNwKHJlc3BvbnNpYmlsaXR5Py5SZXBvcnRJZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHlcIlxuICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1yY109XCJpc09uQ29tcGxldGlvblJjXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0IHZ4LXByLTVcIlxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJlc3BvbnNpYmlsaXR5Py5SZXBvcnROYW1lXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcmVzcG9uc2liaWxpdHk/LkNvbnRyb2xJZCB9fSB7eyByZXNwb25zaWJpbGl0eT8uUmVwb3J0TmFtZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF1cbiAgICAgICAgICAgICAgICAgID8uY2F0ZWdvcnlfbmFtZSBhcyBjYXRlZ29yeU5hbWVcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcHJvZ3JhbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLWlubmVyIHZ4LWQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyYW0tdmFsdWUgdngtZnMtMTEgdngtbGFiZWwtdHh0IHZ4LXByLTVcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5jYXRlZ29yeV9uYW1lID8/XG4gICAgICAgICAgICAgICAgICAgICctLSdcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGNhdGVnb3J5TmFtZSA/PyBcIi0tXCIgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXVxuICAgICAgICAgICAgICAgICAgICAgID8ucGFyZW50X2NhdGVnb3J5X25hbWU/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIFdpdGhpblxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF0/LnBhcmVudF9jYXRlZ29yeV9uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA8ICcpIGFzIHBhcmVudF9jYXRlZ29yeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcbiAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicGFyZW50X2NhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgcGFyZW50X2NhdGVnb3J5IH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5Py5sZW5ndGggPj0gMlwiXG4gICAgICAgICAgICAgICAgYXBwUG9wb3ZlclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwcm9ncmFtUG9wdXAucG9wb3ZlcigpXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLWNvdW50IHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAre3sgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXk/Lmxlbmd0aCAtIDEgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcHJvZ3JhbVBvcHVwPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3ViQ2F0ZWdvcnkgb2YgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzbGljZSA6IDFcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInN1YkNhdGVnb3J5Py5jYXRlZ29yeV9uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBzdWJDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTMgdngtdHh0LWJsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPCAnKSBhcyBwYXJlbnRfY2F0ZWdvcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInBhcmVudF9jYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBhcmVudF9jYXRlZ29yeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtZmxvYXRpbmctYmFyXG4gICAgICAqbmdJZj1cIiFyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICBbc2VsZWN0ZWREYXRhXT1cImlzVmFsaWRPYmogPyBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzIDogW11cIlxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIidSZXBvcnROYW1lJ1wiXG4gICAgICAoY2xvc2VMaXN0KT1cImJhY2soKVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKCRldmVudClcIlxuICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUl0ZW0oJGV2ZW50KVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCIhaXNWYWxpZE9ialwiXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ListContainerComponent {
4
+ constructor() {
5
+ this.heading = 'Select Programs & Program Categories';
6
+ this.close = new EventEmitter();
7
+ }
8
+ onClose() {
9
+ this.close.emit();
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListContainerComponent, selector: "app-list-container", inputs: { heading: "heading" }, outputs: { close: "close" }, ngImport: i0, template: `
13
+ <div class="wfe-list-container">
14
+ <div
15
+ class="wfe-list-container-heading vx-d-flex vx-align-center vx-pl-4 vx-pr-4"
16
+ >
17
+ <i class="icons arrow-back vx-mr-2" (click)="onClose()">&#xe91d;</i>
18
+ <div class="vx-fs-14 vx-fw-500 vx-gray-70">{{ heading }}</div>
19
+ </div>
20
+ <div class="wfe-list-container-body">
21
+ <ng-content select="[body]"></ng-content>
22
+ <div class="wfe-list-container-footer">
23
+ <ng-content select="[footer]"></ng-content>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .wfe-list-container{position:fixed;inset:0 500px 0 0}::ng-deep .wfe-list-container:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .wfe-list-container-heading{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .wfe-list-container-heading .arrow-back{cursor:pointer}::ng-deep .wfe-list-container-body{width:100%;padding:2rem;height:calc(100% - 2.75rem)}::ng-deep .wfe-list-container-footer{background:#fff;border-radius:.25rem;box-shadow:0 6px 12px #4681ef26;border:1px solid #f8f8f8;padding:.5rem .75rem;display:flex;justify-content:space-between;position:relative;align-items:center;height:3rem}\n"] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListContainerComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'app-list-container', template: `
32
+ <div class="wfe-list-container">
33
+ <div
34
+ class="wfe-list-container-heading vx-d-flex vx-align-center vx-pl-4 vx-pr-4"
35
+ >
36
+ <i class="icons arrow-back vx-mr-2" (click)="onClose()">&#xe91d;</i>
37
+ <div class="vx-fs-14 vx-fw-500 vx-gray-70">{{ heading }}</div>
38
+ </div>
39
+ <div class="wfe-list-container-body">
40
+ <ng-content select="[body]"></ng-content>
41
+ <div class="wfe-list-container-footer">
42
+ <ng-content select="[footer]"></ng-content>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .wfe-list-container{position:fixed;inset:0 500px 0 0}::ng-deep .wfe-list-container:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .wfe-list-container-heading{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .wfe-list-container-heading .arrow-back{cursor:pointer}::ng-deep .wfe-list-container-body{width:100%;padding:2rem;height:calc(100% - 2.75rem)}::ng-deep .wfe-list-container-footer{background:#fff;border-radius:.25rem;box-shadow:0 6px 12px #4681ef26;border:1px solid #f8f8f8;padding:.5rem .75rem;display:flex;justify-content:space-between;position:relative;align-items:center;height:3rem}\n"] }]
47
+ }], propDecorators: { heading: [{
48
+ type: Input
49
+ }], close: [{
50
+ type: Output
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9saXN0LWNvbnRhaW5lci9saXN0LWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQnZFLE1BQU0sT0FBTyxzQkFBc0I7SUFwQm5DO1FBcUJXLFlBQU8sR0FBVyxzQ0FBc0MsQ0FBQztRQUN4RCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQUs1QztJQUhDLE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBTlUsc0JBQXNCO21HQUF0QixzQkFBc0IsdUhBbEJ2Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7OzRGQUdVLHNCQUFzQjtrQkFwQmxDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDs4QkFJUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxpc3QtY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyLWhlYWRpbmcgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC00IHZ4LXByLTRcIlxuICAgICAgPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zIGFycm93LWJhY2sgdngtbXItMlwiIChjbGljayk9XCJvbkNsb3NlKClcIj4mI3hlOTFkOzwvaT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1ncmF5LTcwXCI+e3sgaGVhZGluZyB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvZHldXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2ZlLWxpc3QtY29udGFpbmVyLWZvb3RlclwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29udGFpbmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGluZzogc3RyaW5nID0gJ1NlbGVjdCBQcm9ncmFtcyAmIFByb2dyYW0gQ2F0ZWdvcmllcyc7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ // constants.ts
2
+ export const PROGRAM_TABLE_HEADERS = [
3
+ 'Program Name',
4
+ 'Program Categories'
5
+ ];
6
+ export const PAGINATION_OPTIONS = {
7
+ PAGE_SIZE: 30,
8
+ DEFAULT_CURRENT_PAGE: 1
9
+ };
10
+ export const PROGRAM_TYPE_LIST = [
11
+ { name: 'Regulations', id: 'regulations' },
12
+ { name: 'Standards', id: 'standards' },
13
+ { name: 'Internal Controls', id: 'internal_controls' },
14
+ { name: 'Others', id: 'others' },
15
+ ];
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3Byb2dyYW0tbGlzdC9jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0FBQ2YsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsY0FBYztJQUNkLG9CQUFvQjtDQUNyQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsU0FBUyxFQUFFLEVBQUU7SUFDYixvQkFBb0IsRUFBRSxDQUFDO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBQztJQUN4QyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBQztJQUNwQyxFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLEVBQUM7SUFDcEQsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUM7Q0FDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbnN0YW50cy50c1xuZXhwb3J0IGNvbnN0IFBST0dSQU1fVEFCTEVfSEVBREVSUyA9IFtcbiAgICAnUHJvZ3JhbSBOYW1lJyxcbiAgICAnUHJvZ3JhbSBDYXRlZ29yaWVzJ1xuICBdO1xuICBcbiAgZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fT1BUSU9OUyA9IHtcbiAgICBQQUdFX1NJWkU6IDMwLFxuICAgIERFRkFVTFRfQ1VSUkVOVF9QQUdFOiAxXG4gIH07XG5cbiAgZXhwb3J0IGNvbnN0IFBST0dSQU1fVFlQRV9MSVNUID0gW1xuICAgIHtuYW1lOiAnUmVndWxhdGlvbnMnLCBpZDogJ3JlZ3VsYXRpb25zJ30sXG4gICAge25hbWU6ICdTdGFuZGFyZHMnLCBpZDogJ3N0YW5kYXJkcyd9LFxuICAgIHtuYW1lOiAnSW50ZXJuYWwgQ29udHJvbHMnLCBpZDogJ2ludGVybmFsX2NvbnRyb2xzJ30sXG4gICAge25hbWU6ICdPdGhlcnMnLCBpZDogJ290aGVycyd9LFxuICBdO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wcm9ncmFtLWxpc3QvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGRhdGEtc291cmNlLmludGVyZmFjZS50c1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2U8VD4ge1xuICBsb2FkKHNlYXJjaFRlcm0/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRbXT47XG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcHJvZ3JhbS1saXN0L2ludGVyZmFjZXMvbGlzdC1pdGVtLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbGlzdC1pdGVtLmludGVyZmFjZS50c1xuZXhwb3J0IGludGVyZmFjZSBMaXN0SXRlbSB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgdHlwZTogXCJyZWd1bGF0aW9uc1wiIHwgXCJzdGFuZGFyZHNcIiB8IFwiaW50ZXJuYWxfY29udHJvbHNcIiB8IFwib3RoZXJzXCI7XG4gICAgICBcbiAgfVxuICAiXX0=
@@ -0,0 +1,23 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class CheckSelectedItemsPipe {
4
+ transform(id, selectedItems) {
5
+ if (selectedItems) {
6
+ const selectedItem = selectedItems?.find((item) => item?.id === id);
7
+ if (selectedItem) {
8
+ return true;
9
+ }
10
+ return false;
11
+ }
12
+ return false;
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckSelectedItemsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CheckSelectedItemsPipe, name: "checkSelectedItems" }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckSelectedItemsPipe, decorators: [{
18
+ type: Pipe,
19
+ args: [{
20
+ name: 'checkSelectedItems'
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc2VsZWN0ZWQtaXRlbXMucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3Byb2dyYW0tbGlzdC9waXBlcy9jaGVjay1zZWxlY3RlZC1pdGVtcy5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixTQUFTLENBQUMsRUFBVSxFQUFFLGFBQWtCO1FBQ3BDLElBQUcsYUFBYSxFQUFFO1lBQ2QsTUFBTSxZQUFZLEdBQUcsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN6RSxJQUFHLFlBQVksRUFBRTtnQkFDYixPQUFPLElBQUksQ0FBQzthQUNmO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOytHQVZRLHNCQUFzQjs2R0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUhsQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxvQkFBb0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnY2hlY2tTZWxlY3RlZEl0ZW1zJ1xufSlcbmV4cG9ydCBjbGFzcyBDaGVja1NlbGVjdGVkSXRlbXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGlkOiBzdHJpbmcsIHNlbGVjdGVkSXRlbXM6IGFueSkge1xuICAgICAgICBpZihzZWxlY3RlZEl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBzZWxlY3RlZEl0ZW1zPy5maW5kKChpdGVtOiBhbnkpID0+IGl0ZW0/LmlkID09PSBpZCk7XG4gICAgICAgICAgICBpZihzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufSJdfQ==