@bizdoc/core 1.14.0-next.9 → 1.14.2

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 (86) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +78 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +1 -1
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo.min.css +1 -1
  8. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +2 -2
  9. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +122 -61
  10. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +52 -34
  11. package/esm2020/lib/admin/form/form.service.mjs +20 -3
  12. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  13. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +4 -2
  14. package/esm2020/lib/admin/positions/positions.component.mjs +19 -17
  15. package/esm2020/lib/admin/profiler/outofoffice.component.mjs +86 -0
  16. package/esm2020/lib/admin/profiler/profiler.component.mjs +65 -43
  17. package/esm2020/lib/bizdoc.module.mjs +10 -4
  18. package/esm2020/lib/browse/browse-items.component.mjs +8 -1
  19. package/esm2020/lib/chat/conversation.component.mjs +2 -2
  20. package/esm2020/lib/compose/compose.mobile.component.mjs +2 -2
  21. package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
  22. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +3 -3
  23. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  24. package/esm2020/lib/core/component-factory-resolver.mjs +1 -1
  25. package/esm2020/lib/core/configuration.mjs +6 -6
  26. package/esm2020/lib/core/controls/address.input.mjs +18 -5
  27. package/esm2020/lib/core/controls/combination-picker-body.mjs +2 -2
  28. package/esm2020/lib/core/models.mjs +1 -1
  29. package/esm2020/lib/core/slots/router.service.mjs +1 -4
  30. package/esm2020/lib/core/slots/slots.component.mjs +60 -35
  31. package/esm2020/lib/core/translate.service.mjs +5 -5
  32. package/esm2020/lib/core/translations.mjs +11 -3
  33. package/esm2020/lib/cube/accum/accum.component.mjs +1 -1
  34. package/esm2020/lib/cube/chart/chart.component.mjs +1 -1
  35. package/esm2020/lib/cube/cube.service.mjs +2 -2
  36. package/esm2020/lib/cube/explore/explore-items.component.mjs +2 -2
  37. package/esm2020/lib/cube/explore/explore.pane.component.mjs +6 -4
  38. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  39. package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
  40. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -4
  41. package/esm2020/lib/cube/pivot/pivot.component.mjs +15 -19
  42. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  43. package/esm2020/lib/dashboard/recents/recents.widget.mjs +2 -2
  44. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
  45. package/esm2020/lib/home/home.desktop.component.mjs +7 -13
  46. package/esm2020/lib/modules/chart.module.mjs +12 -10
  47. package/esm2020/lib/modules/dayjs.module.mjs +2 -2
  48. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  49. package/esm2020/lib/modules/pivot.module.mjs +3 -2
  50. package/esm2020/lib/modules/spreadsheet.module.mjs +5 -3
  51. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  52. package/esm2020/lib/notifications/types/notification-base.mjs +2 -2
  53. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +2 -3
  54. package/esm2020/lib/reports/report-viewer.component.mjs +2 -2
  55. package/esm2020/lib/routes.desktop.mjs +17 -17
  56. package/esm2020/lib/shared.module.mjs +6 -5
  57. package/esm2020/lib/system.module.mjs +4 -3
  58. package/esm2020/lib/views/cube/cube-base.mjs +2 -2
  59. package/esm2020/lib/views/cube/parallel.component.mjs +3 -2
  60. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  61. package/esm2020/public-api.mjs +1 -1
  62. package/fesm2015/bizdoc-core.mjs +555 -322
  63. package/fesm2015/bizdoc-core.mjs.map +1 -1
  64. package/fesm2020/bizdoc-core.mjs +523 -297
  65. package/fesm2020/bizdoc-core.mjs.map +1 -1
  66. package/lib/admin/document-trace/document-trace.component.d.ts +33 -18
  67. package/lib/admin/document-trace/trace-element.component.d.ts +22 -8
  68. package/lib/admin/form/form.service.d.ts +19 -2
  69. package/lib/admin/form/workflow/workflow.component.d.ts +2 -1
  70. package/lib/admin/profiler/outofoffice.component.d.ts +30 -0
  71. package/lib/admin/profiler/profiler.component.d.ts +17 -11
  72. package/lib/core/component-factory-resolver.d.ts +1 -1
  73. package/lib/core/configuration.d.ts +6 -5
  74. package/lib/core/controls/address.input.d.ts +5 -3
  75. package/lib/core/models.d.ts +1 -1
  76. package/lib/core/slots/router.service.d.ts +2 -1
  77. package/lib/core/slots/slots.component.d.ts +11 -4
  78. package/lib/core/translations.d.ts +8 -0
  79. package/lib/cube/explore/explore.pane.component.d.ts +1 -0
  80. package/lib/home/home.desktop.component.d.ts +4 -3
  81. package/lib/modules/chart.module.d.ts +1 -1
  82. package/lib/system.module.d.ts +24 -23
  83. package/lib/views/cube/cube-base.d.ts +1 -1
  84. package/lib/views/cube/sum.component.d.ts +1 -1
  85. package/package.json +1 -2
  86. package/public-api.d.ts +1 -1
@@ -29,9 +29,9 @@ export class TraceViewComponent extends TraceBase {
29
29
  this.versionSelected = new EventEmitter();
30
30
  this.data = [];
31
31
  this.CALENDAR_SPEC = {
32
- lastDay: `[${this._translate.get('Yesterday')}] HH:mm`,
32
+ lastDay: this._translate.get('YesterdayAt', 'HH:mm'),
33
33
  lastWeek: 'dddd HH:mm',
34
- sameDay: `[${this._translate.get('Today')}] HH:mm`,
34
+ sameDay: this._translate.get('TodayAt', 'HH:mm'),
35
35
  sameElse: 'MMM D HH:mm'
36
36
  };
37
37
  this._showMode = localStorage.getItem('traceMode') || 'everything';
@@ -356,4 +356,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
356
356
  }], versionSelected: [{
357
357
  type: Output
358
358
  }] } });
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL3RyYWNlL3RyYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS90cmFjZS90cmFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFNMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckUsb0NBQW9DO0FBT3BDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO0lBVy9DLFlBQW9CLFFBQXdCLEVBQ2xDLFVBQTRCLEVBQzVCLFNBQXlCLEVBQ3pCLEtBQWUsRUFDdkIsR0FBZTtRQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxPLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFaTixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUQsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUVWLGtCQUFhLEdBQWlCO1lBQ3JDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTO1lBQ3RELFFBQVEsRUFBRSxZQUFZO1lBQ3RCLE9BQU8sRUFBRSxJQUFJ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QyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2xFO2lCQUNGO3FCQUNJLElBQUksU0FBUyxDQUFDLElBQUksRUFBRTtvQkFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO3dCQUM3QyxJQUFJLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNyRCxJQUFJLE1BQU07NEJBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2pFO3lCQUNJO3dCQUNILElBQUksR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDNUMsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFOzRCQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDdEQsSUFBSSxNQUFNO2dDQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7eUJBQzNEOzZCQUNJOzRCQUNILElBQUksRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDOzRCQUMvRCxJQUFJLEVBQUUsQ0FBQyxJQUFJO2dDQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs0QkFDdEIsSUFBSSxNQUFNO2dDQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3lCQUNqRTtxQkFDRjtpQkFDRjtxQkFDSTtvQkFDSCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7d0JBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3ZDLElBQUksTUFBTTs0QkFDUixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUMzRDt5QkFDSTt3QkFDSCxJQUFJLEdBQUcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUN4QixJQUFJLEdBQUcsQ0FBQyxJQUFJOzRCQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQzt3QkFDdkIsSUFBSSxNQUFNOzRCQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUNsRTtpQkFDRjthQUNGO2lCQUNJLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDZixJQUFJLEdBQUcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDbkQ7b0JBQ0gsSUFBSSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUVqQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBRS9ELElBQUksRUFBRSxDQUFDLElBQUk7d0JBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO2lCQUN2QjthQUNGO2lCQUNJLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07Z0JBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3BDO2dCQUNILElBQUksR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksR0FBRyxDQUFDLElBQUk7b0JBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ3hCO1NBQ0Y7UUFDRCxLQUFLLElBQUksU0FBUyxJQUFJLFVBQVUsRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUFFLFNBQVM7WUFFeEQsSUFBSSxJQUFJLEdBQUc7Z0JBQ1QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxRQUFRO2dCQUN4QixHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUc7Z0JBQ2xCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtnQkFDNUIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO2dCQUMxQixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDcEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDakQsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUMxRSxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDcEQsQ0FBQztZQUVYLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1RSxJQUFJLElBQUksRUFBRTtvQkFDUixJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7d0JBQ3RCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDL0MsSUFBSSxHQUFHOzRCQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRztnQ0FDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7cUJBQzVCO2lCQUNGO2FBQ0Y7WUFFRCxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUU7Z0JBQzFCLElBQUksU0FBUyxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtvQkFDbkQsSUFBSSxHQUFHLEdBQUcsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3hGO3FCQUNJLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtvQkFDbEQsSUFBSSxZQUFZLEdBQUcsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2lCQUN4RztxQkFDSTtvQkFDSCxJQUFJLEdBQUcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQ3pDLFlBQVksR0FBRyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUN2RyxJQUFJLEdBQUcsQ0FBQyxJQUFJO3dCQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztpQkFDeEI7YUFDRjtpQkFDSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZCLElBQUksR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ25EO29CQUNILElBQUksRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMvRCxJQUFJLEVBQUUsQ0FBQyxJQUFJO3dCQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDdkI7YUFDRjtpQkFDSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUU7Z0JBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUUzRyxJQUFJLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07b0JBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQzNEO29CQUNILElBQUksR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUN4RCxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDZjthQUNGO2lCQUNJO2dCQUNILElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07b0JBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3BDO29CQUNILElBQUksR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3hCLElBQUksR0FBRyxDQUFDLElBQUk7d0JBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2lCQUN4QjthQUNGO1lBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNPLE9BQU87UUFDYixRQUFRLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEIsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNqRyxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUM5RyxNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUN2QixNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBR0QsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsS0FBZTtRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ08sU0FBUyxDQUFDLElBQUk7UUFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLENBQWE7UUFDaEIsTUFBTSxNQUFNLEdBQUksQ0FBQyxDQUFDLFVBQTBCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU07WUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEdBQVU7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OytHQTlWVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2S0NuQi9CLCt4R0F5REEsNnFERHhDYyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7MkZBRS9CLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxjQUFjLGNBR1osQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDO2lOQUdqQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2EsZUFBZTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IFVzZXJJbmZvLCBMb2dUeXBlLCBEb2N1bWVudE1vZGVsLCBBY3Rpb24sIEdlbmRlciB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhY2VCYXNlLCBZb3UgfSBmcm9tIFwiLi90cmFjZS5iYXNlXCI7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odWIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gXCIuLi8uLi9jaGF0L2NoYXQtaW5mb1wiO1xyXG5pbXBvcnQgeyBpdGVtQW5pbWF0aW9uLCBsaXN0QW5pbWF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvcmUvYW5pbWF0aW9uc1wiO1xyXG5cclxuLyoqIGNvbXBvbmVudCBzaG93aW5nIHRyYWNlIHRhYmxlICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXRyYWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJ3RyYWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsndHJhY2UuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbbGlzdEFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYWNlVmlld0NvbXBvbmVudCBleHRlbmRzIFRyYWNlQmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgbW9kZWw6IERvY3VtZW50TW9kZWw8YW55PjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmVyc2lvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIGRhdGE6IFRyYWNlW10gPSBbXTtcclxuICBwcml2YXRlIF9kYXRhOiBUcmFjZVtdO1xyXG4gIHJlYWRvbmx5IENBTEVOREFSX1NQRUM6IENhbGVuZGFyU3BlYyA9IHtcclxuICAgIGxhc3REYXk6IGBbJHt0aGlzLl90cmFuc2xhdGUuZ2V0KCdZZXN0ZXJkYXknKX1dIEhIOm1tYCxcclxuICAgIGxhc3RXZWVrOiAnZGRkZCBISDptbScsXHJcbiAgICBzYW1lRGF5OiBgWyR7dGhpcy5fdHJhbnNsYXRlLmdldCgnVG9kYXknKX1dIEhIOm1tYCxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYXQ6IENoYXRJbmZvLFxyXG4gICAgaHViOiBIdWJTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihodWIpO1xyXG4gICAgdGhpcy5fc2hvd01vZGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndHJhY2VNb2RlJykgYXMgU2hvd01vZGUgfHwgJ2V2ZXJ5dGhpbmcnO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5faW5pdGlhbGl6ZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIGFzeW5jIF9pbml0aWFsaXplKCkge1xyXG4gICAgY29uc3QgeyBpc3N1ZWQsIGxvZywgcmVjaXBpZW50cywgYXR0YWNobWVudHMgfSA9IHRoaXMubW9kZWw7XHJcblxyXG4gICAgY29uc3QgbWUgPSB0aGlzO1xyXG4gICAgLyoqXHJcbiAgICAgKiBhY2NvdW50IGluZm8gYXMgcHJvbWlzZVxyXG4gICAgICogQHBhcmFtIGlkXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIHByb2ZpbGVPZihpZCkge1xyXG4gICAgICByZXR1cm4gbWUuX2FjY291bnRzLmdldChpZCkudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIHVzZXIgbmFtZSwgY2hhdCBhbmNob3IgdGFnXHJcbiAgICAgKiBAcGFyYW0gdXNlclxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBuYW1lT2YodXNlcjogVXNlckluZm8pOiBzdHJpbmcge1xyXG4gICAgICByZXR1cm4gbWUuX2NoYXQuZm9ybWF0KHVzZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGZ1bmN0aW9uIGFjdGlvbkJ5KGFjdGlvbjogQWN0aW9uLCBnZW5kZXI6IEdlbmRlciB8ICd5b3UnLCBpZD86IG51bWJlcikge1xyXG4gICAgICBsZXQgbmFtZTogc3RyaW5nO1xyXG4gICAgICBpZiAoZ2VuZGVyID09PSBZb3UpIHtcclxuICAgICAgICBjb25zdCB7IGdlbmRlciB9ID0gbWUuX3Nlc3Npb247XHJcbiAgICAgICAgbmFtZSA9IChnZW5kZXIgPT09ICdNYWxlJyA/IChhY3Rpb24ueW91TWFsZSB8fCBhY3Rpb24ueW91KSA6XHJcbiAgICAgICAgICBnZW5kZXIgPT09ICdGZW1hbGUnID8gKGFjdGlvbi55b3VGZW1hbGUgfHwgYWN0aW9uLnlvdSkgOlxyXG4gICAgICAgICAgICBhY3Rpb24ueW91KSB8fFxyXG4gICAgICAgICAgYWN0aW9uLnBhc3QgfHxcclxuICAgICAgICAgIGFjdGlvbi50aXRsZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbmFtZSA9IChnZW5kZXIgPT09ICdNYWxlJyA/IChhY3Rpb24ucGFzdE1hbGUgfHwgYWN0aW9uLnBhc3QpIDpcclxuICAgICAgICAgIGdlbmRlciA9PT0gJ0ZlbWFsZScgPyAoYWN0aW9uLnBhc3RGZW1hbGUgfHwgYWN0aW9uLnBhc3QpIDpcclxuICAgICAgICAgICAgYWN0aW9uLnBhc3QpXHJcbiAgICAgICAgICB8fCBhY3Rpb24udGl0bGU7XHJcblxyXG4gICAgICBpZiAoaWQpIHtcclxuICAgICAgICBjb25zdCB0byA9IG1lLm1vZGVsLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5vcmlnaW5JZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmICh0by5sZW5ndGgpIHtcclxuICAgICAgICAgIGNvbnN0IHVzZXJzID0gW107XHJcbiAgICAgICAgICBmb3IgKGxldCB3aG8gb2YgdG8pIHtcclxuICAgICAgICAgICAgbGV0IHByb2ZpbGUgPSBhd2FpdCBwcm9maWxlT2Yod2hvLnN1YnN0aXR1dGVJZCB8fCB3aG8udXNlcklkKTtcclxuICAgICAgICAgICAgdXNlcnMucHVzaChuYW1lT2YocHJvZmlsZSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG1lLl90cmFuc2xhdGUuZ2V0KCdBY3Rpb25UbycsIG5hbWUsIG1lLl90cmFuc2xhdGUuam9pbih1c2VycykpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmFtZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRyYWNlOiBUcmFjZVtdID0gW107XHJcblxyXG4gICAgZm9yIChsZXQgbCBvZiBsb2cpIHtcclxuICAgICAgbGV0IGFjdGlvbjogQWN0aW9uO1xyXG5cclxuICAgICAgc3dpdGNoIChsLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdBY3Rpb25UYWtlbic6XHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGFjdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbmQoYSA9PiBhLm5hbWUgPT09IGwuYWN0aW9uKTtcclxuICAgICAgICAgICAgaWYgKGFjdGlvbi5sb2dnYWJsZSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ0NoZWNrSW4nOlxyXG4gICAgICAgIGNhc2UgJ0NoZWNrT3V0JzpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ01vZGVsQ2hhbmdlJzpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ1N1Ym1pdCc6XHJcbiAgICAgICAgICBpZiAobC5lc3RpbWF0ZSkgY29udGludWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBzdGVwID0ge1xyXG4gICAgICAgIGVzdGltYXRlOiBsLmVzdGltYXRlLFxyXG4gICAgICAgIHRpbWU6IGwudGltZSxcclxuICAgICAgICB0eXBlOiBsLnR5cGUsXHJcbiAgICAgICAgZHVyYXRpb246IGwuZHVyYXRpb24sXHJcbiAgICAgICAgbm90ZTogbC5ub3RlLFxyXG4gICAgICAgIHN0YXRlOiBsLnN0YXRlXHJcbiAgICAgIH0gYXMgVHJhY2U7XHJcblxyXG4gICAgICB0cmFjZS5wdXNoKHN0ZXApO1xyXG5cclxuICAgICAgc3dpdGNoIChsLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdDaGVja0luJzpcclxuICAgICAgICBjYXNlICdDaGVja091dCc6XHJcbiAgICAgICAgICBsZXQgYXR0YWNobWVudCA9IGF0dGFjaG1lbnRzLmZpbmQoZiA9PiBmLmlkID09PSBsLmZpbGVJZCk7XHJcbiAgICAgICAgICBzdGVwLmZpbGVOYW1lID0gYXR0YWNobWVudC5maWxlTmFtZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAobC5yZWNpcGllbnRJZCkge1xyXG4gICAgICAgIGxldCByZWNpcGllbnQgPSByZWNpcGllbnRzLmZpbmQociA9PiByLmlkID09PSBsLnJlY2lwaWVudElkKTtcclxuICAgICAgICBpZiAocmVjaXBpZW50LnJvbGUpXHJcbiAgICAgICAgICBzdGVwLnJvbGUgPSB0aGlzLl9yb2xlTmFtZShyZWNpcGllbnQucm9sZSk7XHJcbiAgICAgICAgc3RlcC5meWkgPSByZWNpcGllbnQuZnlpO1xyXG5cclxuICAgICAgICBpZiAocmVjaXBpZW50LnN1YnN0aXR1dGVJZCkge1xyXG4gICAgICAgICAgaWYgKHJlY2lwaWVudC5ieUlkKSB7XHJcbiAgICAgICAgICAgIGlmIChyZWNpcGllbnQuYnlJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpIHtcclxuICAgICAgICAgICAgICBsZXQgd2hvID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC51c2VySWQpO1xyXG4gICAgICAgICAgICAgIGlmIChyZWNpcGllbnQuc3Vic3RpdHV0ZUlkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZClcclxuICAgICAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5WW91JywgbmFtZU9mKHdobykpO1xyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IHN1YnN0aXR1dGluZyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKTtcclxuICAgICAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnU3Vic3RpdHV0aW5nQnlZb3UnLCB3aG8uZ2VuZGVyLCBuYW1lT2Yod2hvKSwgbmFtZU9mKHN1YnN0aXR1dGluZykpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgICAgc3RlcC5hY3Rpb24gPSBhd2FpdCBhY3Rpb25CeShhY3Rpb24sIFlvdSwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICBsZXQgYnkgPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LmJ5SWQpLFxyXG4gICAgICAgICAgICAgICAgd2hvID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC51c2VySWQpLFxyXG4gICAgICAgICAgICAgICAgc3Vic3RpdHV0aW5nID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC5zdWJzdGl0dXRlSWQpO1xyXG4gICAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N1YnN0aXR1dGluZ0J5JywgbmFtZU9mKHdobyksIG5hbWVPZihzdWJzdGl0dXRpbmcpLCBuYW1lT2YoYnkpKTtcclxuICAgICAgICAgICAgICBpZiAoYnkucm9sZSlcclxuICAgICAgICAgICAgICAgIHN0ZXAucm9sZSA9IGJ5LnJvbGU7XHJcbiAgICAgICAgICAgICAgaWYgKGFjdGlvbilcclxuICAgICAgICAgICAgICAgIHN0ZXAuYWN0aW9uID0gYXdhaXQgYWN0aW9uQnkoYWN0aW9uLCBieS5nZW5kZXIsIHJlY2lwaWVudC5pZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHJlY2lwaWVudC51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSB7XHJcbiAgICAgICAgICAgIGxldCBzdWJzdGl0dXRpbmcgPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnN1YnN0aXR1dGVJZCk7XHJcbiAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnWW91U3Vic3RpdHV0aW5nJywgdGhpcy5fc2Vzc2lvbi5nZW5kZXIsIG5hbWVPZihzdWJzdGl0dXRpbmcpKTtcclxuICAgICAgICAgICAgaWYgKGFjdGlvbilcclxuICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgdGhpcy5fc2Vzc2lvbi5nZW5kZXIsIHJlY2lwaWVudC5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmIChyZWNpcGllbnQuc3Vic3RpdHV0ZUlkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkge1xyXG4gICAgICAgICAgICBsZXQgd2hvID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC51c2VySWQpO1xyXG4gICAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ1N1YnN0aXR1dGluZ0ZvcllvdScsIHdoby5nZW5kZXIsIG5hbWVPZih3aG8pKTtcclxuICAgICAgICAgICAgaWYgKGFjdGlvbilcclxuICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgd2hvLmdlbmRlciwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgd2hvID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC51c2VySWQpLFxyXG4gICAgICAgICAgICAgIHN1YnN0aXR1dGluZyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKTtcclxuICAgICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdTdWJzdGl0dXRpbmcnLCB3aG8uZ2VuZGVyLCBuYW1lT2Yod2hvKSwgbmFtZU9mKHN1YnN0aXR1dGluZykpO1xyXG4gICAgICAgICAgICBpZiAod2hvLnJvbGUpXHJcbiAgICAgICAgICAgICAgc3RlcC5yb2xlID0gd2hvLnJvbGU7XHJcbiAgICAgICAgICAgIGlmIChhY3Rpb24pXHJcbiAgICAgICAgICAgICAgc3RlcC5hY3Rpb24gPSBhd2FpdCBhY3Rpb25CeShhY3Rpb24sIHdoby5nZW5kZXIsIHJlY2lwaWVudC5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHJlY2lwaWVudC5ieUlkKSB7XHJcbiAgICAgICAgICBpZiAocmVjaXBpZW50LnVzZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpIHtcclxuICAgICAgICAgICAgbGV0IGJ5ID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC5ieUlkKTtcclxuICAgICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91QnknLCBuYW1lT2YoYnkpKTtcclxuICAgICAgICAgICAgaWYgKGFjdGlvbilcclxuICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgYnkuZ2VuZGVyLCByZWNpcGllbnQuaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCk7XHJcbiAgICAgICAgICAgIGlmIChyZWNpcGllbnQuYnlJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpIHtcclxuICAgICAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdCeVlvdScsIG5hbWVPZih3aG8pKTtcclxuICAgICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgICAgc3RlcC5hY3Rpb24gPSBhd2FpdCBhY3Rpb25CeShhY3Rpb24sIFlvdSwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICBsZXQgYnkgPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LmJ5SWQpO1xyXG4gICAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5JywgbmFtZU9mKHdobyksIG5hbWVPZihieSkpO1xyXG4gICAgICAgICAgICAgIGlmIChieS5yb2xlKVxyXG4gICAgICAgICAgICAgICAgc3RlcC5yb2xlID0gYnkucm9sZTtcclxuICAgICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgICAgc3RlcC5hY3Rpb24gPSBhd2FpdCBhY3Rpb25CeShhY3Rpb24sIGJ5LmdlbmRlciwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChyZWNpcGllbnQudXNlcklkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkge1xyXG4gICAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3UnKTtcclxuICAgICAgICAgICAgaWYgKGFjdGlvbilcclxuICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgWW91LCByZWNpcGllbnQuaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCk7XHJcbiAgICAgICAgICAgIHN0ZXAubmFtZSA9IG5hbWVPZih3aG8pO1xyXG4gICAgICAgICAgICBpZiAod2hvLnJvbGUpXHJcbiAgICAgICAgICAgICAgc3RlcC5yb2xlID0gd2hvLnJvbGU7XHJcbiAgICAgICAgICAgIGlmIChhY3Rpb24pXHJcbiAgICAgICAgICAgICAgc3RlcC5hY3Rpb24gPSBhd2FpdCBhY3Rpb25CeShhY3Rpb24sIHdoby5nZW5kZXIsIHJlY2lwaWVudC5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGwuYnlJZCkge1xyXG4gICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YobC51c2VySWQpO1xyXG4gICAgICAgIGlmIChsLmJ5SWQgPT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5ieUlkKVxyXG4gICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnlZb3UnLCBuYW1lT2Yod2hvKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBsZXQgYnkgPSBhd2FpdCBwcm9maWxlT2YobC5ieUlkKTtcclxuXHJcbiAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdCeScsIG5hbWVPZih3aG8pLCBuYW1lT2YoYnkpKTtcclxuXHJcbiAgICAgICAgICBpZiAoYnkucm9sZSlcclxuICAgICAgICAgICAgc3RlcC5yb2xlID0gYnkucm9sZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobC51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKVxyXG4gICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdScpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgd2hvID0gYXdhaXQgcHJvZmlsZU9mKGwudXNlcklkKTtcclxuICAgICAgICBzdGVwLm5hbWUgPSBuYW1lT2Yod2hvKTtcclxuICAgICAgICBpZiAod2hvLnJvbGUpXHJcbiAgICAgICAgICBzdGVwLnJvbGUgPSB3aG8ucm9sZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgcmVjaXBpZW50IG9mIHJlY2lwaWVudHMpIHtcclxuICAgICAgaWYgKCFyZWNpcGllbnQucGVuZGluZyAmJiAhcmVjaXBpZW50LmVzdGltYXRlKSBjb250aW51ZTtcclxuXHJcbiAgICAgIGxldCBzdGVwID0ge1xyXG4gICAgICAgIHRpbWU6IHJlY2lwaWVudC5yZWNlaXZlZCxcclxuICAgICAgICBmeWk6IHJlY2lwaWVudC5meWksXHJcbiAgICAgICAgZXN0aW1hdGU6IHJlY2lwaWVudC5lc3RpbWF0ZSxcclxuICAgICAgICBwZW5kaW5nOiByZWNpcGllbnQucGVuZGluZyxcclxuICAgICAgICBhY3Rpb246IHJlY2lwaWVudC5hY3Rpb24sXHJcbiAgICAgICAgbm90ZTogcmVjaXBpZW50Lm5vdGUsXHJcbiAgICAgICAgdHlwZTogcmVjaXBpZW50LmVzdGltYXRlID8gJ0VzdGltYXRlJyA6ICdQZW5kaW5nJyxcclxuICAgICAgICBkdXJhdGlvbjogcmVjaXBpZW50LnBlbmRpbmcgPyBkYXlqcygpLmRpZmYocmVjaXBpZW50LnJlY2VpdmVkLCAncycpIDogbnVsbCxcclxuICAgICAgICByb2xlOiByZWNpcGllbnQucm9sZSA/IHRoaXMuX3JvbGVOYW1lKHJlY2lwaWVudC5yb2xlKSA6IG51bGxcclxuICAgICAgfSBhcyBUcmFjZTtcclxuXHJcbiAgICAgIGlmIChyZWNpcGllbnQubm9kZUlkKSB7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMubW9kZWwud29ya2Zsb3cubm9kZXMuZmluZChuID0+IG4uaWQgPT09IHJlY2lwaWVudC5ub2RlSWQpO1xyXG4gICAgICAgIGlmIChub2RlKSB7XHJcbiAgICAgICAgICBpZiAocmVjaXBpZW50LmVzdGltYXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgbWluLCBtYXggfSA9IHN1cGVyLl9lc3RpbWF0ZVRpbWUobm9kZSk7XHJcbiAgICAgICAgICAgIGlmIChtYXgpXHJcbiAgICAgICAgICAgICAgc3RlcC5kdXJhdGlvbk1pbiA9IG1pbixcclxuICAgICAgICAgICAgICAgIHN0ZXAuZHVyYXRpb25NYXggPSBtYXg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocmVjaXBpZW50LnN1YnN0aXR1dGVJZCkge1xyXG4gICAgICAgIGlmIChyZWNpcGllbnQuc3Vic3RpdHV0ZUlkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkge1xyXG4gICAgICAgICAgbGV0IHdobyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQudXNlcklkKTtcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnU3Vic3RpdHV0aW5nRm9yWW91Jywgd2hvLmdlbmRlciwgbmFtZU9mKHdobykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZWNpcGllbnQudXNlcklkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkge1xyXG4gICAgICAgICAgbGV0IHN1YnN0aXR1dGluZyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKTtcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnWW91U3Vic3RpdHV0aW5nJywgdGhpcy5fc2Vzc2lvbi5nZW5kZXIsIG5hbWVPZihzdWJzdGl0dXRpbmcpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBsZXQgd2hvID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC51c2VySWQpLFxyXG4gICAgICAgICAgICBzdWJzdGl0dXRpbmcgPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnN1YnN0aXR1dGVJZCk7XHJcbiAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ1N1YnN0aXR1dGluZycsIHdoby5nZW5kZXIsIG5hbWVPZih3aG8pLCBuYW1lT2Yoc3Vic3RpdHV0aW5nKSk7XHJcbiAgICAgICAgICBpZiAod2hvLnJvbGUpXHJcbiAgICAgICAgICAgIHN0ZXAucm9sZSA9IHdoby5yb2xlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChyZWNpcGllbnQuYnlJZCkge1xyXG4gICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCk7XHJcbiAgICAgICAgaWYgKHJlY2lwaWVudC5ieUlkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZClcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5WW91JywgbmFtZU9mKHdobykpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgbGV0IGJ5ID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC5ieUlkKTtcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5JywgbmFtZU9mKHdobyksIG5hbWVPZihieSkpO1xyXG4gICAgICAgICAgaWYgKGJ5LnJvbGUpXHJcbiAgICAgICAgICAgIHN0ZXAucm9sZSA9IGJ5LnJvbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHJlY2lwaWVudC5lc2NhbGF0ZWQpIHtcclxuICAgICAgICBsZXQgZXNjYWxhdGlvbiA9IHRoaXMubW9kZWwubG9nLmZpbmQobCA9PiBsLnR5cGUgPT09ICdFc2NhbGF0aW9uJyAmJiBsLnJlY2lwaWVudElkID09PSByZWNpcGllbnQub3JpZ2luSWQpO1xyXG5cclxuICAgICAgICBsZXQgdG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCk7XHJcbiAgICAgICAgaWYgKGVzY2FsYXRpb24udXNlcklkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZClcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0VzY2FsYXRlZEJ5WW91JywgbmFtZU9mKHRvKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBsZXQgd2hvID0gYXdhaXQgcHJvZmlsZU9mKGVzY2FsYXRpb24udXNlcklkKTtcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0VzY2FsYXRlZEJ5JywgbmFtZU9mKHdobyksXHJcbiAgICAgICAgICAgIG5hbWVPZih0bykpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAocmVjaXBpZW50LnVzZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpXHJcbiAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3UnKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCk7XHJcbiAgICAgICAgICBzdGVwLm5hbWUgPSBuYW1lT2Yod2hvKTtcclxuICAgICAgICAgIGlmICh3aG8ucm9sZSlcclxuICAgICAgICAgICAgc3RlcC5yb2xlID0gd2hvLnJvbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRyYWNlLnB1c2goc3RlcCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZGF0YSA9IHRyYWNlLnNvcnQoKGEsIGIpID0+IGEudGltZSA+IGIudGltZSA/IDEgOiBhLnRpbWUgPT09IGIudGltZSA/IDAgOiAtMSk7XHJcblxyXG4gICAgdGhpcy5fZmlsdGVyKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbHRlcigpIHtcclxuICAgIHN3aXRjaCAodGhpcy5fc2hvd01vZGUpIHtcclxuICAgICAgY2FzZSAnYWN0aXZlJzpcclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLm1vZGVsLmlzc3VlZCA/IHRoaXMuX2RhdGEuZmlsdGVyKGwgPT4gbC50aW1lID49IHRoaXMubW9kZWwuaXNzdWVkKSA6IHRoaXMuX2RhdGE7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JvdXRlJzpcclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLl9kYXRhLmZpbHRlcihsID0+IGwudHlwZSA9PT0gJ0FjdGlvblRha2VuJyB8fCBsLnR5cGUgPT09ICdFc3RpbWF0ZScgfHwgbC50eXBlID09PSAnUGVuZGluZycpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX2RhdGE7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Nob3dNb2RlOiBTaG93TW9kZTtcclxuXHJcbiAgcHVibGljIGdldCBzaG93TW9kZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zaG93TW9kZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzaG93TW9kZSh2YWx1ZTogU2hvd01vZGUpIHtcclxuICAgIHRoaXMuX3Nob3dNb2RlID0gdmFsdWU7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndHJhY2VNb2RlJywgdmFsdWUpO1xyXG4gICAgdGhpcy5fZGF0YSAmJiB0aGlzLl9maWx0ZXIoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcm9sZU5hbWUobmFtZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByb2xlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnJvbGVzLmZpbmQociA9PiByLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgcmV0dXJuIHJvbGUgPyByb2xlLnRpdGxlIDogbmFtZTtcclxuICB9XHJcbiAgY2hhdChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCB1c2VySWQgPSAoZS5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5mbycpO1xyXG4gICAgdXNlcklkICYmXHJcbiAgICAgIHRoaXMuX2NoYXQub3Blbih1c2VySWQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBtb2RlbCB2ZXJzaW9uIGNvbXBhcmVcclxuICAgKiBAcGFyYW0gbG9nXHJcbiAgICovXHJcbiAgY29tcGFyZShsb2c6IFRyYWNlKSB7XHJcbiAgICB0aGlzLnZlcnNpb25TZWxlY3RlZC5lbWl0KGxvZy50aW1lKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIFRyYWNlIHtcclxuICBmeWk/OiBib29sZWFuO1xyXG4gIHR5cGU6IExvZ1R5cGUgfCAnUGVuZGluZycgfCAnRXN0aW1hdGUnO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgZXN0aW1hdGU/OiBib29sZWFuO1xyXG4gIHBlbmRpbmc/OiBib29sZWFuO1xyXG4gIGFjdGlvbj86IHN0cmluZztcclxuICByb2xlPzogc3RyaW5nO1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgZHVyYXRpb25NaW4/OiBudW1iZXI7XHJcbiAgZHVyYXRpb25NYXg/OiBudW1iZXI7XHJcbiAgZmlsZU5hbWU/OiBzdHJpbmc7XHJcbiAgdGltZT86IERhdGU7XHJcbn1cclxuXHJcbmRlY2xhcmUgdHlwZSBTaG93TW9kZSA9ICdldmVyeXRoaW5nJyB8ICdhY3RpdmUnIHwgJ3JvdXRlJztcclxuIiwiPGRpdiBjbGFzcz1cIm5hdi10b29sYmFyIHJvd1wiPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIFtiaXpkb2NUb29sdGlwXT1cIidTaG93QWxsJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjbWVudT4gXHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNob3dNb2RlPSdyb3V0ZSdcIj5cclxuICAgICAgPG1hdC1pY29uPnt7IHNob3dNb2RlID09PSAncm91dGUnID8gJ2NoZWNrJzonJyB9fTwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuPnt7J1JvdXRlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzaG93TW9kZT0nYWN0aXZlJ1wiPlxyXG4gICAgICA8bWF0LWljb24+e3sgc2hvd01vZGUgPT09ICdhY3RpdmUnID8gJ2NoZWNrJzonJyB9fTwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuPnt7J0FjdGl2ZVJvdXRlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzaG93TW9kZT0nZXZlcnl0aGluZydcIj5cclxuICAgICAgPG1hdC1pY29uPnt7IHNob3dNb2RlID09PSAnZXZlcnl0aGluZycgPyAnY2hlY2snOicnIH19PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4+e3snRXZlcnl0aGluZycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG48L2Rpdj5cclxuPHRhYmxlIGNsYXNzPVwibWF0LXRhYmxlXCIgQGxpc3Q+XHJcbiAgPHRib2R5IHJvbGU9XCJyb3dncm91cFwiPlxyXG4gICAgPHRyIGNsYXNzPVwibWF0LXJvd1wiICpuZ0Zvcj1cImxldCBsIG9mIGRhdGFcIiBAaXRlbT5cclxuICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImwubmFtZSB8IHNhbml0aXplSHRtbFwiIChjbGljayk9XCJjaGF0KCRldmVudClcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9bC5yb2xlPnt7J0pvaW5Db21tYSd8dHJhbnNsYXRlfX17e2wucm9sZX19PC9zcGFuPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImwudHlwZVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0FjdGlvblRha2VuJ1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImwuYWN0aW9uIHwgc2FuaXRpemVIdG1sXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiIGNsYXNzPVwidG9cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInU3VibWl0J1wiPnt7J0lzc3VlZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInUGVuZGluZydcIj57eydJc1BlbmRpbmcnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ0NoZWNrT3V0J1wiPnt7J0NoZWNrZWRJbicgfCB0cmFuc2xhdGUgOiBsLmZpbGVOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ0NoZWNrSW4nXCI+e3snQ2hlY2tlZE91dCcgfCB0cmFuc2xhdGUgOiBsLmZpbGVOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ0VzdGltYXRlJ1wiPnt7J0VzdGltYXRlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidNb2RlbENoYW5nZSdcIj57eydDaGFuZ2VkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwibC5meWlcIj4mbmJzcDt7eydGWUknfHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiIFtuZ1N3aXRjaF09XCJsLmVzdGltYXRlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJsLmR1cmF0aW9uTWF4ICYmIGwuZHVyYXRpb25NYXggPT09IGwuZHVyYXRpb25NaW5cIiBbYml6ZG9jVG9vbHRpcF09XCJsLmR1cmF0aW9uTWF4fGFtRHVyYXRpb25Gb3JtYXRcIj57eydFc3RpbWF0ZVRpbWUnfCB0cmFuc2xhdGUgOiAobC5kdXJhdGlvbk1heCB8IGFtRHVyYXRpb246J3MnKX19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJsLmR1cmF0aW9uTWF4ICYmIGwuZHVyYXRpb25NYXggIT09IGwuZHVyYXRpb25NaW5cIlxyXG4gICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwibC5kdXJhdGlvbk1heHxhbUR1cmF0aW9uRm9ybWF0XCI+e3snRXN0aW1hdGVUaW1lUmFuZ2UnfCB0cmFuc2xhdGUgOiAobC5kdXJhdGlvbk1pbiB8IGFtRHVyYXRpb246J3MnKSA6IChsLmR1cmF0aW9uTWF4IHwgYW1EdXJhdGlvbjoncycpfX08L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgPHNwYW4+e3tsLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUMgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImwuZHVyYXRpb25cIiBbYml6ZG9jVG9vbHRpcF09XCJsLmR1cmF0aW9ufGFtRHVyYXRpb25Gb3JtYXRcIiBjbGFzcz1cImR1cmF0aW9uXCI+Jm5ic3A7KHt7bC5kdXJhdGlvbiB8IGFtRHVyYXRpb246J3MnfX0pPC9zcGFuPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwibC5ub3RlXCI+e3tsLm5vdGV9fTwvc3Bhbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImwudHlwZT09PSdNb2RlbENoYW5nZSdcIiAoY2xpY2spPVwiY29tcGFyZShsKVwiIFtiaXpkb2NUb29sdGlwXT1cIidDb21wYXJlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJzdGFydFwiPjxtYXQtaWNvbj5tb3JlX2hvcml6PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90Ym9keT5cclxuPC90YWJsZT5cclxuIl19
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL3RyYWNlL3RyYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS90cmFjZS90cmFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFNMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckUsb0NBQW9DO0FBT3BDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO0lBVy9DLFlBQW9CLFFBQXdCLEVBQ2xDLFVBQTRCLEVBQzVCLFNBQXlCLEVBQ3pCLEtBQWUsRUFDdkIsR0FBZTtRQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxPLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFaTixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUQsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUVWLGtCQUFhLEdBQWlCO1lBQ3JDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO1lBQ3BELFFBQVEsRUFBRSxZQUFZO1lBQ3RCLE9BQU8sRUFBRSxJQUFJ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QyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2xFO2lCQUNGO3FCQUNJLElBQUksU0FBUyxDQUFDLElBQUksRUFBRTtvQkFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO3dCQUM3QyxJQUFJLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNyRCxJQUFJLE1BQU07NEJBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2pFO3lCQUNJO3dCQUNILElBQUksR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDNUMsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFOzRCQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDdEQsSUFBSSxNQUFNO2dDQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7eUJBQzNEOzZCQUNJOzRCQUNILElBQUksRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FB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LENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLENBQWE7UUFDaEIsTUFBTSxNQUFNLEdBQUksQ0FBQyxDQUFDLFVBQTBCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU07WUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEdBQVU7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OytHQTlWVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2S0NuQi9CLCt4R0F5REEsNnFERHhDYyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7MkZBRS9CLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxjQUFjLGNBR1osQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDO2lOQUdqQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2EsZUFBZTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IFVzZXJJbmZvLCBMb2dUeXBlLCBEb2N1bWVudE1vZGVsLCBBY3Rpb24sIEdlbmRlciB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhY2VCYXNlLCBZb3UgfSBmcm9tIFwiLi90cmFjZS5iYXNlXCI7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odWIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gXCIuLi8uLi9jaGF0L2NoYXQtaW5mb1wiO1xyXG5pbXBvcnQgeyBpdGVtQW5pbWF0aW9uLCBsaXN0QW5pbWF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvcmUvYW5pbWF0aW9uc1wiO1xyXG5cclxuLyoqIGNvbXBvbmVudCBzaG93aW5nIHRyYWNlIHRhYmxlICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXRyYWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJ3RyYWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsndHJhY2UuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbbGlzdEFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYWNlVmlld0NvbXBvbmVudCBleHRlbmRzIFRyYWNlQmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgbW9kZWw6IERvY3VtZW50TW9kZWw8YW55PjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmVyc2lvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIGRhdGE6IFRyYWNlW10gPSBbXTtcclxuICBwcml2YXRlIF9kYXRhOiBUcmFjZVtdO1xyXG4gIHJlYWRvbmx5IENBTEVOREFSX1NQRUM6IENhbGVuZGFyU3BlYyA9IHtcclxuICAgIGxhc3REYXk6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1llc3RlcmRheUF0JywgJ0hIOm1tJyksXHJcbiAgICBsYXN0V2VlazogJ2RkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogdGhpcy5fdHJhbnNsYXRlLmdldCgnVG9kYXlBdCcsICdISDptbScpLFxyXG4gICAgc2FtZUVsc2U6ICdNTU0gRCBISDptbSdcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhdDogQ2hhdEluZm8sXHJcbiAgICBodWI6IEh1YlNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGh1Yik7XHJcbiAgICB0aGlzLl9zaG93TW9kZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0cmFjZU1vZGUnKSBhcyBTaG93TW9kZSB8fCAnZXZlcnl0aGluZyc7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgYXN5bmMgX2luaXRpYWxpemUoKSB7XHJcbiAgICBjb25zdCB7IGlzc3VlZCwgbG9nLCByZWNpcGllbnRzLCBhdHRhY2htZW50cyB9ID0gdGhpcy5tb2RlbDtcclxuXHJcbiAgICBjb25zdCBtZSA9IHRoaXM7XHJcbiAgICAvKipcclxuICAgICAqIGFjY291bnQgaW5mbyBhcyBwcm9taXNlXHJcbiAgICAgKiBAcGFyYW0gaWRcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gcHJvZmlsZU9mKGlkKSB7XHJcbiAgICAgIHJldHVybiBtZS5fYWNjb3VudHMuZ2V0KGlkKS50b1Byb21pc2UoKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogdXNlciBuYW1lLCBjaGF0IGFuY2hvciB0YWdcclxuICAgICAqIEBwYXJhbSB1c2VyXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIG5hbWVPZih1c2VyOiBVc2VySW5mbyk6IHN0cmluZyB7XHJcbiAgICAgIHJldHVybiBtZS5fY2hhdC5mb3JtYXQodXNlcik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZnVuY3Rpb24gYWN0aW9uQnkoYWN0aW9uOiBBY3Rpb24sIGdlbmRlcjogR2VuZGVyIHwgJ3lvdScsIGlkPzogbnVtYmVyKSB7XHJcbiAgICAgIGxldCBuYW1lOiBzdHJpbmc7XHJcbiAgICAgIGlmIChnZW5kZXIgPT09IFlvdSkge1xyXG4gICAgICAgIGNvbnN0IHsgZ2VuZGVyIH0gPSBtZS5fc2Vzc2lvbjtcclxuICAgICAgICBuYW1lID0gKGdlbmRlciA9PT0gJ01hbGUnID8gKGFjdGlvbi55b3VNYWxlIHx8IGFjdGlvbi55b3UpIDpcclxuICAgICAgICAgIGdlbmRlciA9PT0gJ0ZlbWFsZScgPyAoYWN0aW9uLnlvdUZlbWFsZSB8fCBhY3Rpb24ueW91KSA6XHJcbiAgICAgICAgICAgIGFjdGlvbi55b3UpIHx8XHJcbiAgICAgICAgICBhY3Rpb24ucGFzdCB8fFxyXG4gICAgICAgICAgYWN0aW9uLnRpdGxlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBuYW1lID0gKGdlbmRlciA9PT0gJ01hbGUnID8gKGFjdGlvbi5wYXN0TWFsZSB8fCBhY3Rpb24ucGFzdCkgOlxyXG4gICAgICAgICAgZ2VuZGVyID09PSAnRmVtYWxlJyA/IChhY3Rpb24ucGFzdEZlbWFsZSB8fCBhY3Rpb24ucGFzdCkgOlxyXG4gICAgICAgICAgICBhY3Rpb24ucGFzdClcclxuICAgICAgICAgIHx8IGFjdGlvbi50aXRsZTtcclxuXHJcbiAgICAgIGlmIChpZCkge1xyXG4gICAgICAgIGNvbnN0IHRvID0gbWUubW9kZWwucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm9yaWdpbklkID09PSBpZCk7XHJcbiAgICAgICAgaWYgKHRvLmxlbmd0aCkge1xyXG4gICAgICAgICAgY29uc3QgdXNlcnMgPSBbXTtcclxuICAgICAgICAgIGZvciAobGV0IHdobyBvZiB0bykge1xyXG4gICAgICAgICAgICBsZXQgcHJvZmlsZSA9IGF3YWl0IHByb2ZpbGVPZih3aG8uc3Vic3RpdHV0ZUlkIHx8IHdoby51c2VySWQpO1xyXG4gICAgICAgICAgICB1c2Vycy5wdXNoKG5hbWVPZihwcm9maWxlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gbWUuX3RyYW5zbGF0ZS5nZXQoJ0FjdGlvblRvJywgbmFtZSwgbWUuX3RyYW5zbGF0ZS5qb2luKHVzZXJzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuYW1lO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdHJhY2U6IFRyYWNlW10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGxldCBsIG9mIGxvZykge1xyXG4gICAgICBsZXQgYWN0aW9uOiBBY3Rpb247XHJcblxyXG4gICAgICBzd2l0Y2ggKGwudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0FjdGlvblRha2VuJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbC5hY3Rpb24pO1xyXG4gICAgICAgICAgICBpZiAoYWN0aW9uLmxvZ2dhYmxlID09PSBmYWxzZSlcclxuICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSAnQ2hlY2tJbic6XHJcbiAgICAgICAgY2FzZSAnQ2hlY2tPdXQnOlxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnTW9kZWxDaGFuZ2UnOlxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnU3VibWl0JzpcclxuICAgICAgICAgIGlmIChsLmVzdGltYXRlKSBjb250aW51ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IHN0ZXAgPSB7XHJcbiAgICAgICAgZXN0aW1hdGU6IGwuZXN0aW1hdGUsXHJcbiAgICAgICAgdGltZTogbC50aW1lLFxyXG4gICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICBkdXJhdGlvbjogbC5kdXJhdGlvbixcclxuICAgICAgICBub3RlOiBsLm5vdGUsXHJcbiAgICAgICAgc3RhdGU6IGwuc3RhdGVcclxuICAgICAgfSBhcyBUcmFjZTtcclxuXHJcbiAgICAgIHRyYWNlLnB1c2goc3RlcCk7XHJcblxyXG4gICAgICBzd2l0Y2ggKGwudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0NoZWNrSW4nOlxyXG4gICAgICAgIGNhc2UgJ0NoZWNrT3V0JzpcclxuICAgICAgICAgIGxldCBhdHRhY2htZW50ID0gYXR0YWNobWVudHMuZmluZChmID0+IGYuaWQgPT09IGwuZmlsZUlkKTtcclxuICAgICAgICAgIHN0ZXAuZmlsZU5hbWUgPSBhdHRhY2htZW50LmZpbGVOYW1lO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChsLnJlY2lwaWVudElkKSB7XHJcbiAgICAgICAgbGV0IHJlY2lwaWVudCA9IHJlY2lwaWVudHMuZmluZChyID0+IHIuaWQgPT09IGwucmVjaXBpZW50SWQpO1xyXG4gICAgICAgIGlmIChyZWNpcGllbnQucm9sZSlcclxuICAgICAgICAgIHN0ZXAucm9sZSA9IHRoaXMuX3JvbGVOYW1lKHJlY2lwaWVudC5yb2xlKTtcclxuICAgICAgICBzdGVwLmZ5aSA9IHJlY2lwaWVudC5meWk7XHJcblxyXG4gICAgICAgIGlmIChyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKSB7XHJcbiAgICAgICAgICBpZiAocmVjaXBpZW50LmJ5SWQpIHtcclxuICAgICAgICAgICAgaWYgKHJlY2lwaWVudC5ieUlkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkge1xyXG4gICAgICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCk7XHJcbiAgICAgICAgICAgICAgaWYgKHJlY2lwaWVudC5zdWJzdGl0dXRlSWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKVxyXG4gICAgICAgICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnlZb3UnLCBuYW1lT2Yod2hvKSk7XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3Vic3RpdHV0aW5nID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC5zdWJzdGl0dXRlSWQpO1xyXG4gICAgICAgICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdTdWJzdGl0dXRpbmdCeVlvdScsIHdoby5nZW5kZXIsIG5hbWVPZih3aG8pLCBuYW1lT2Yoc3Vic3RpdHV0aW5nKSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmIChhY3Rpb24pXHJcbiAgICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgWW91LCByZWNpcGllbnQuaWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxldCBieSA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQuYnlJZCksXHJcbiAgICAgICAgICAgICAgICB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCksXHJcbiAgICAgICAgICAgICAgICBzdWJzdGl0dXRpbmcgPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnN1YnN0aXR1dGVJZCk7XHJcbiAgICAgICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnU3Vic3RpdHV0aW5nQnknLCBuYW1lT2Yod2hvKSwgbmFtZU9mKHN1YnN0aXR1dGluZyksIG5hbWVPZihieSkpO1xyXG4gICAgICAgICAgICAgIGlmIChieS5yb2xlKVxyXG4gICAgICAgICAgICAgICAgc3RlcC5yb2xlID0gYnkucm9sZTtcclxuICAgICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgICAgc3RlcC5hY3Rpb24gPSBhd2FpdCBhY3Rpb25CeShhY3Rpb24sIGJ5LmdlbmRlciwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAocmVjaXBpZW50LnVzZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpIHtcclxuICAgICAgICAgICAgbGV0IHN1YnN0aXR1dGluZyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKTtcclxuICAgICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdZb3VTdWJzdGl0dXRpbmcnLCB0aGlzLl9zZXNzaW9uLmdlbmRlciwgbmFtZU9mKHN1YnN0aXR1dGluZykpO1xyXG4gICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgIHN0ZXAuYWN0aW9uID0gYXdhaXQgYWN0aW9uQnkoYWN0aW9uLCB0aGlzLl9zZXNzaW9uLmdlbmRlciwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHJlY2lwaWVudC5zdWJzdGl0dXRlSWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSB7XHJcbiAgICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCk7XHJcbiAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnU3Vic3RpdHV0aW5nRm9yWW91Jywgd2hvLmdlbmRlciwgbmFtZU9mKHdobykpO1xyXG4gICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgIHN0ZXAuYWN0aW9uID0gYXdhaXQgYWN0aW9uQnkoYWN0aW9uLCB3aG8uZ2VuZGVyLCByZWNpcGllbnQuaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCksXHJcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW5nID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC5zdWJzdGl0dXRlSWQpO1xyXG4gICAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ1N1YnN0aXR1dGluZycsIHdoby5nZW5kZXIsIG5hbWVPZih3aG8pLCBuYW1lT2Yoc3Vic3RpdHV0aW5nKSk7XHJcbiAgICAgICAgICAgIGlmICh3aG8ucm9sZSlcclxuICAgICAgICAgICAgICBzdGVwLnJvbGUgPSB3aG8ucm9sZTtcclxuICAgICAgICAgICAgaWYgKGFjdGlvbilcclxuICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgd2hvLmdlbmRlciwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocmVjaXBpZW50LmJ5SWQpIHtcclxuICAgICAgICAgIGlmIChyZWNpcGllbnQudXNlcklkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkge1xyXG4gICAgICAgICAgICBsZXQgYnkgPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LmJ5SWQpO1xyXG4gICAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3VCeScsIG5hbWVPZihieSkpO1xyXG4gICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgIHN0ZXAuYWN0aW9uID0gYXdhaXQgYWN0aW9uQnkoYWN0aW9uLCBieS5nZW5kZXIsIHJlY2lwaWVudC5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHdobyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQudXNlcklkKTtcclxuICAgICAgICAgICAgaWYgKHJlY2lwaWVudC5ieUlkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkge1xyXG4gICAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5WW91JywgbmFtZU9mKHdobykpO1xyXG4gICAgICAgICAgICAgIGlmIChhY3Rpb24pXHJcbiAgICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgWW91LCByZWNpcGllbnQuaWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxldCBieSA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQuYnlJZCk7XHJcbiAgICAgICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnknLCBuYW1lT2Yod2hvKSwgbmFtZU9mKGJ5KSk7XHJcbiAgICAgICAgICAgICAgaWYgKGJ5LnJvbGUpXHJcbiAgICAgICAgICAgICAgICBzdGVwLnJvbGUgPSBieS5yb2xlO1xyXG4gICAgICAgICAgICAgIGlmIChhY3Rpb24pXHJcbiAgICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgYnkuZ2VuZGVyLCByZWNpcGllbnQuaWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlY2lwaWVudC51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSB7XHJcbiAgICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdScpO1xyXG4gICAgICAgICAgICBpZiAoYWN0aW9uKVxyXG4gICAgICAgICAgICAgIHN0ZXAuYWN0aW9uID0gYXdhaXQgYWN0aW9uQnkoYWN0aW9uLCBZb3UsIHJlY2lwaWVudC5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHdobyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQudXNlcklkKTtcclxuICAgICAgICAgICAgc3RlcC5uYW1lID0gbmFtZU9mKHdobyk7XHJcbiAgICAgICAgICAgIGlmICh3aG8ucm9sZSlcclxuICAgICAgICAgICAgICBzdGVwLnJvbGUgPSB3aG8ucm9sZTtcclxuICAgICAgICAgICAgaWYgKGFjdGlvbilcclxuICAgICAgICAgICAgICBzdGVwLmFjdGlvbiA9IGF3YWl0IGFjdGlvbkJ5KGFjdGlvbiwgd2hvLmdlbmRlciwgcmVjaXBpZW50LmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobC5ieUlkKSB7XHJcbiAgICAgICAgbGV0IHdobyA9IGF3YWl0IHByb2ZpbGVPZihsLnVzZXJJZCk7XHJcbiAgICAgICAgaWYgKGwuYnlJZCA9PT0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmJ5SWQpXHJcbiAgICAgICAgICBzdGVwLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdCeVlvdScsIG5hbWVPZih3aG8pKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGxldCBieSA9IGF3YWl0IHByb2ZpbGVPZihsLmJ5SWQpO1xyXG5cclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5JywgbmFtZU9mKHdobyksIG5hbWVPZihieSkpO1xyXG5cclxuICAgICAgICAgIGlmIChieS5yb2xlKVxyXG4gICAgICAgICAgICBzdGVwLnJvbGUgPSBieS5yb2xlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChsLnVzZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpXHJcbiAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91Jyk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YobC51c2VySWQpO1xyXG4gICAgICAgIHN0ZXAubmFtZSA9IG5hbWVPZih3aG8pO1xyXG4gICAgICAgIGlmICh3aG8ucm9sZSlcclxuICAgICAgICAgIHN0ZXAucm9sZSA9IHdoby5yb2xlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCByZWNpcGllbnQgb2YgcmVjaXBpZW50cykge1xyXG4gICAgICBpZiAoIXJlY2lwaWVudC5wZW5kaW5nICYmICFyZWNpcGllbnQuZXN0aW1hdGUpIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbGV0IHN0ZXAgPSB7XHJcbiAgICAgICAgdGltZTogcmVjaXBpZW50LnJlY2VpdmVkLFxyXG4gICAgICAgIGZ5aTogcmVjaXBpZW50LmZ5aSxcclxuICAgICAgICBlc3RpbWF0ZTogcmVjaXBpZW50LmVzdGltYXRlLFxyXG4gICAgICAgIHBlbmRpbmc6IHJlY2lwaWVudC5wZW5kaW5nLFxyXG4gICAgICAgIGFjdGlvbjogcmVjaXBpZW50LmFjdGlvbixcclxuICAgICAgICBub3RlOiByZWNpcGllbnQubm90ZSxcclxuICAgICAgICB0eXBlOiByZWNpcGllbnQuZXN0aW1hdGUgPyAnRXN0aW1hdGUnIDogJ1BlbmRpbmcnLFxyXG4gICAgICAgIGR1cmF0aW9uOiByZWNpcGllbnQucGVuZGluZyA/IGRheWpzKCkuZGlmZihyZWNpcGllbnQucmVjZWl2ZWQsICdzJykgOiBudWxsLFxyXG4gICAgICAgIHJvbGU6IHJlY2lwaWVudC5yb2xlID8gdGhpcy5fcm9sZU5hbWUocmVjaXBpZW50LnJvbGUpIDogbnVsbFxyXG4gICAgICB9IGFzIFRyYWNlO1xyXG5cclxuICAgICAgaWYgKHJlY2lwaWVudC5ub2RlSWQpIHtcclxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5tb2RlbC53b3JrZmxvdy5ub2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gcmVjaXBpZW50Lm5vZGVJZCk7XHJcbiAgICAgICAgaWYgKG5vZGUpIHtcclxuICAgICAgICAgIGlmIChyZWNpcGllbnQuZXN0aW1hdGUpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBtaW4sIG1heCB9ID0gc3VwZXIuX2VzdGltYXRlVGltZShub2RlKTtcclxuICAgICAgICAgICAgaWYgKG1heClcclxuICAgICAgICAgICAgICBzdGVwLmR1cmF0aW9uTWluID0gbWluLFxyXG4gICAgICAgICAgICAgICAgc3RlcC5kdXJhdGlvbk1heCA9IG1heDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKSB7XHJcbiAgICAgICAgaWYgKHJlY2lwaWVudC5zdWJzdGl0dXRlSWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSB7XHJcbiAgICAgICAgICBsZXQgd2hvID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC51c2VySWQpO1xyXG4gICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdTdWJzdGl0dXRpbmdGb3JZb3UnLCB3aG8uZ2VuZGVyLCBuYW1lT2Yod2hvKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHJlY2lwaWVudC51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSB7XHJcbiAgICAgICAgICBsZXQgc3Vic3RpdHV0aW5nID0gYXdhaXQgcHJvZmlsZU9mKHJlY2lwaWVudC5zdWJzdGl0dXRlSWQpO1xyXG4gICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdZb3VTdWJzdGl0dXRpbmcnLCB0aGlzLl9zZXNzaW9uLmdlbmRlciwgbmFtZU9mKHN1YnN0aXR1dGluZykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LnVzZXJJZCksXHJcbiAgICAgICAgICAgIHN1YnN0aXR1dGluZyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKTtcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnU3Vic3RpdHV0aW5nJywgd2hvLmdlbmRlciwgbmFtZU9mKHdobyksIG5hbWVPZihzdWJzdGl0dXRpbmcpKTtcclxuICAgICAgICAgIGlmICh3aG8ucm9sZSlcclxuICAgICAgICAgICAgc3RlcC5yb2xlID0gd2hvLnJvbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHJlY2lwaWVudC5ieUlkKSB7XHJcbiAgICAgICAgbGV0IHdobyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQudXNlcklkKTtcclxuICAgICAgICBpZiAocmVjaXBpZW50LmJ5SWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKVxyXG4gICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnlZb3UnLCBuYW1lT2Yod2hvKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBsZXQgYnkgPSBhd2FpdCBwcm9maWxlT2YocmVjaXBpZW50LmJ5SWQpO1xyXG4gICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnknLCBuYW1lT2Yod2hvKSwgbmFtZU9mKGJ5KSk7XHJcbiAgICAgICAgICBpZiAoYnkucm9sZSlcclxuICAgICAgICAgICAgc3RlcC5yb2xlID0gYnkucm9sZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAocmVjaXBpZW50LmVzY2FsYXRlZCkge1xyXG4gICAgICAgIGxldCBlc2NhbGF0aW9uID0gdGhpcy5tb2RlbC5sb2cuZmluZChsID0+IGwudHlwZSA9PT0gJ0VzY2FsYXRpb24nICYmIGwucmVjaXBpZW50SWQgPT09IHJlY2lwaWVudC5vcmlnaW5JZCk7XHJcblxyXG4gICAgICAgIGxldCB0byA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQudXNlcklkKTtcclxuICAgICAgICBpZiAoZXNjYWxhdGlvbi51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKVxyXG4gICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnRXNjYWxhdGVkQnlZb3UnLCBuYW1lT2YodG8pKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGxldCB3aG8gPSBhd2FpdCBwcm9maWxlT2YoZXNjYWxhdGlvbi51c2VySWQpO1xyXG4gICAgICAgICAgc3RlcC5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnRXNjYWxhdGVkQnknLCBuYW1lT2Yod2hvKSxcclxuICAgICAgICAgICAgbmFtZU9mKHRvKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChyZWNpcGllbnQudXNlcklkID09PSB0aGlzLl9zZXNzaW9uLnVzZXJJZClcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdScpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgbGV0IHdobyA9IGF3YWl0IHByb2ZpbGVPZihyZWNpcGllbnQudXNlcklkKTtcclxuICAgICAgICAgIHN0ZXAubmFtZSA9IG5hbWVPZih3aG8pO1xyXG4gICAgICAgICAgaWYgKHdoby5yb2xlKVxyXG4gICAgICAgICAgICBzdGVwLnJvbGUgPSB3aG8ucm9sZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdHJhY2UucHVzaChzdGVwKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9kYXRhID0gdHJhY2Uuc29ydCgoYSwgYikgPT4gYS50aW1lID4gYi50aW1lID8gMSA6IGEudGltZSA9PT0gYi50aW1lID8gMCA6IC0xKTtcclxuXHJcbiAgICB0aGlzLl9maWx0ZXIoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmlsdGVyKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLl9zaG93TW9kZSkge1xyXG4gICAgICBjYXNlICdhY3RpdmUnOlxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMubW9kZWwuaXNzdWVkID8gdGhpcy5fZGF0YS5maWx0ZXIobCA9PiBsLnRpbWUgPj0gdGhpcy5tb2RlbC5pc3N1ZWQpIDogdGhpcy5fZGF0YTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncm91dGUnOlxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX2RhdGEuZmlsdGVyKGwgPT4gbC50eXBlID09PSAnQWN0aW9uVGFrZW4nIHx8IGwudHlwZSA9PT0gJ0VzdGltYXRlJyB8fCBsLnR5cGUgPT09ICdQZW5kaW5nJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5fZGF0YTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfc2hvd01vZGU6IFNob3dNb2RlO1xyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dNb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3dNb2RlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHNob3dNb2RlKHZhbHVlOiBTaG93TW9kZSkge1xyXG4gICAgdGhpcy5fc2hvd01vZGUgPSB2YWx1ZTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0cmFjZU1vZGUnLCB2YWx1ZSk7XHJcbiAgICB0aGlzLl9kYXRhICYmIHRoaXMuX2ZpbHRlcigpO1xyXG4gIH1cclxuICBwcml2YXRlIF9yb2xlTmFtZShuYW1lKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChyID0+IHIubmFtZSA9PT0gbmFtZSk7XHJcbiAgICByZXR1cm4gcm9sZSA/IHJvbGUudGl0bGUgOiBuYW1lO1xyXG4gIH1cclxuICBjaGF0KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHVzZXJJZCA9IChlLnNyY0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnZGF0YS1pbmZvJyk7XHJcbiAgICB1c2VySWQgJiZcclxuICAgICAgdGhpcy5fY2hhdC5vcGVuKHVzZXJJZCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIG1vZGVsIHZlcnNpb24gY29tcGFyZVxyXG4gICAqIEBwYXJhbSBsb2dcclxuICAgKi9cclxuICBjb21wYXJlKGxvZzogVHJhY2UpIHtcclxuICAgIHRoaXMudmVyc2lvblNlbGVjdGVkLmVtaXQobG9nLnRpbWUpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgVHJhY2Uge1xyXG4gIGZ5aT86IGJvb2xlYW47XHJcbiAgdHlwZTogTG9nVHlwZSB8ICdQZW5kaW5nJyB8ICdFc3RpbWF0ZSc7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBlc3RpbWF0ZT86IGJvb2xlYW47XHJcbiAgcGVuZGluZz86IGJvb2xlYW47XHJcbiAgYWN0aW9uPzogc3RyaW5nO1xyXG4gIHJvbGU/OiBzdHJpbmc7XHJcbiAgbm90ZT86IHN0cmluZztcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBkdXJhdGlvbk1pbj86IG51bWJlcjtcclxuICBkdXJhdGlvbk1heD86IG51bWJlcjtcclxuICBmaWxlTmFtZT86IHN0cmluZztcclxuICB0aW1lPzogRGF0ZTtcclxufVxyXG5cclxuZGVjbGFyZSB0eXBlIFNob3dNb2RlID0gJ2V2ZXJ5dGhpbmcnIHwgJ2FjdGl2ZScgfCAncm91dGUnO1xyXG4iLCI8ZGl2IGNsYXNzPVwibmF2LXRvb2xiYXIgcm93XCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1Nob3dBbGwnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNtZW51PiBcclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2hvd01vZGU9J3JvdXRlJ1wiPlxyXG4gICAgICA8bWF0LWljb24+e3sgc2hvd01vZGUgPT09ICdyb3V0ZScgPyAnY2hlY2snOicnIH19PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4+e3snUm91dGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNob3dNb2RlPSdhY3RpdmUnXCI+XHJcbiAgICAgIDxtYXQtaWNvbj57eyBzaG93TW9kZSA9PT0gJ2FjdGl2ZScgPyAnY2hlY2snOicnIH19PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4+e3snQWN0aXZlUm91dGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNob3dNb2RlPSdldmVyeXRoaW5nJ1wiPlxyXG4gICAgICA8bWF0LWljb24+e3sgc2hvd01vZGUgPT09ICdldmVyeXRoaW5nJyA/ICdjaGVjayc6JycgfX08L21hdC1pY29uPlxyXG4gICAgICA8c3Bhbj57eydFdmVyeXRoaW5nJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG48dGFibGUgY2xhc3M9XCJtYXQtdGFibGVcIiBAbGlzdD5cclxuICA8dGJvZHkgcm9sZT1cInJvd2dyb3VwXCI+XHJcbiAgICA8dHIgY2xhc3M9XCJtYXQtcm93XCIgKm5nRm9yPVwibGV0IGwgb2YgZGF0YVwiIEBpdGVtPlxyXG4gICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibC5uYW1lIHwgc2FuaXRpemVIdG1sXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1sLnJvbGU+e3snSm9pbkNvbW1hJ3x0cmFuc2xhdGV9fXt7bC5yb2xlfX08L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibC50eXBlXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQWN0aW9uVGFrZW4nXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibC5hY3Rpb24gfCBzYW5pdGl6ZUh0bWxcIiAoY2xpY2spPVwiY2hhdCgkZXZlbnQpXCIgY2xhc3M9XCJ0b1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidTdWJtaXQnXCI+e3snSXNzdWVkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidQZW5kaW5nJ1wiPnt7J0lzUGVuZGluZycgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInQ2hlY2tPdXQnXCI+e3snQ2hlY2tlZEluJyB8IHRyYW5zbGF0ZSA6IGwuZmlsZU5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInQ2hlY2tJbidcIj57eydDaGVja2VkT3V0JyB8IHRyYW5zbGF0ZSA6IGwuZmlsZU5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInRXN0aW1hdGUnXCI+e3snRXN0aW1hdGUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ01vZGVsQ2hhbmdlJ1wiPnt7J0NoYW5nZWQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJsLmZ5aVwiPiZuYnNwO3t7J0ZZSSd8dHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCIgW25nU3dpdGNoXT1cImwuZXN0aW1hdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImwuZHVyYXRpb25NYXggJiYgbC5kdXJhdGlvbk1heCA9PT0gbC5kdXJhdGlvbk1pblwiIFtiaXpkb2NUb29sdGlwXT1cImwuZHVyYXRpb25NYXh8YW1EdXJhdGlvbkZvcm1hdFwiPnt7J0VzdGltYXRlVGltZSd8IHRyYW5zbGF0ZSA6IChsLmR1cmF0aW9uTWF4IHwgYW1EdXJhdGlvbjoncycpfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImwuZHVyYXRpb25NYXggJiYgbC5kdXJhdGlvbk1heCAhPT0gbC5kdXJhdGlvbk1pblwiXHJcbiAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCJsLmR1cmF0aW9uTWF4fGFtRHVyYXRpb25Gb3JtYXRcIj57eydFc3RpbWF0ZVRpbWVSYW5nZSd8IHRyYW5zbGF0ZSA6IChsLmR1cmF0aW9uTWluIHwgYW1EdXJhdGlvbjoncycpIDogKGwuZHVyYXRpb25NYXggfCBhbUR1cmF0aW9uOidzJyl9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICA8c3Bhbj57e2wudGltZSB8IGFtQ2FsZW5kYXIgOiBudWxsIDogQ0FMRU5EQVJfU1BFQyB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwibC5kdXJhdGlvblwiIFtiaXpkb2NUb29sdGlwXT1cImwuZHVyYXRpb258YW1EdXJhdGlvbkZvcm1hdFwiIGNsYXNzPVwiZHVyYXRpb25cIj4mbmJzcDsoe3tsLmR1cmF0aW9uIHwgYW1EdXJhdGlvbjoncyd9fSk8L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJsLm5vdGVcIj57e2wubm90ZX19PC9zcGFuPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwibC50eXBlPT09J01vZGVsQ2hhbmdlJ1wiIChjbGljayk9XCJjb21wYXJlKGwpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NvbXBhcmUnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cInN0YXJ0XCI+PG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICA8L3Rib2R5PlxyXG48L3RhYmxlPlxyXG4iXX0=
@@ -119,6 +119,8 @@ export class CompareNameDirective extends CompareDirectiveBase {
119
119
  this._structure = this._group.structure.fields.find(e => e.name === this._name[0]);
120
120
  this._base = this._group.base;
121
121
  this._version = this._group.version;
122
+ if (!this._structure)
123
+ throw `No form field with name ${this._name[0]}`;
122
124
  }
123
125
  else {
124
126
  this._structure = this._comparision.form.structure.find(e => e.name === this._name[0]);
@@ -126,8 +128,6 @@ export class CompareNameDirective extends CompareDirectiveBase {
126
128
  this._base = baseVersion;
127
129
  this._version = currentVersion;
128
130
  }
129
- if (!this._structure)
130
- throw `No form field with name ${this._name[0]}`;
131
131
  }
132
132
  ngAfterViewInit() {
133
133
  if (!this._comparision)
@@ -341,4 +341,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
341
341
  type: Input,
342
342
  args: ['bizdocCompareDecorate']
343
343
  }] } });
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBc0IsUUFBUSxFQUFFLElBQUksRUFBb0MsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUVoSyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBS2hELElBQUssWUFLSjtBQUxELFdBQUssWUFBWTtJQUNmLHNEQUFZLENBQUE7SUFDWix5REFBYSxDQUFBO0lBQ2IsaURBQVMsQ0FBQTtJQUNULHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBTEksWUFBWSxLQUFaLFlBQVksUUFLaEI7QUFFRCxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQUNELE1BQU07QUFFTixNQUFNLE9BQ0UscUJBQXNCLFNBQVEsb0JBQW9CO0lBVXhELFlBQ3NCLFlBQXFDLEVBQzdCLFFBQWlDLEVBQ3JCLE9BQThCO1FBQ3RFLEtBQUssRUFBRSxDQUFDO1FBSFksaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBRXhFLENBQUM7SUFURCxJQUFXLFNBQVMsS0FBZ0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFXLElBQUksS0FBVSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLElBQVcsT0FBTyxLQUFVLE9BQU8s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cHRpb25hbCwgSG9zdCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFNraXBTZWxmLCBWaWV3Q29udGFpbmVyUmVmLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSBcIi4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7IEZpZWxkSW5mbyB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVmVyc2lvbkNvbXBhcmVDb21wb25lbnQgfSBmcm9tIFwiLi92ZXJzaW9uLWNvbXBhcmUuY29tcG9uZW50XCI7XHJcblxyXG5lbnVtIENvbXBhcmVTdGF0ZSB7XHJcbiAgUmVtb3ZlZCA9IC0xLFxyXG4gIFVuY2hhbmdlZCA9IDAsXHJcbiAgQWRkZWQgPSAxLFxyXG4gIE1vZGlmaWVkID0gMlxyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tcGFyZURpcmVjdGl2ZUJhc2Uge1xyXG4gIGFic3RyYWN0IGdldCBiYXNlKCk6IGFueTtcclxuICBhYnN0cmFjdCBnZXQgdmVyc2lvbigpOiBhbnk7XHJcbiAgYWJzdHJhY3QgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm87XHJcbn1cclxuLyoqICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tiaXpkb2NDb21wYXJlR3JvdXBdLFtiaXpkb2NDb21wYXJlQXJyYXldJyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb21wYXJlR3JvdXBEaXJlY3RpdmUgZXh0ZW5kcyBDb21wYXJlRGlyZWN0aXZlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCdiaXpkb2NDb21wYXJlR3JvdXAnKSBuYW1lOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfa2V5czogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfc3RydWN0dXJlOiBGaWVsZEluZm87XHJcbiAgcHJpdmF0ZSBfYmFzZTogYW55O1xyXG4gIHByaXZhdGUgX3ZlcnNpb246IGFueTtcclxuICBwdWJsaWMgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm8geyByZXR1cm4gdGhpcy5fc3RydWN0dXJlOyB9XHJcbiAgcHVibGljIGdldCBiYXNlKCk6IGFueSB7IHJldHVybiB0aGlzLl9iYXNlID8gdGhpcy5fYmFzZVt0aGlzLm5hbWVdIDogbnVsbDsgfVxyXG4gIHB1YmxpYyBnZXQgdmVyc2lvbigpOiBhbnkgeyByZXR1cm4gdGhpcy5fdmVyc2lvblt0aGlzLm5hbWVdOyB9XHJcbiAgcHVibGljIGdldCBrZXlzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuX2tleXM7IH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbXBhcmlzaW9uOiBWZXJzaW9uQ29tcGFyZUNvbXBvbmVudCxcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfY29udGV4dDogQ29tcGFyZUNvbnRleHREaXJlY3RpdmUsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIEBTa2lwU2VsZigpIHByaXZhdGUgX3BhcmVudDogQ29tcGFyZUdyb3VwRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIGlmICh0aGlzLl9jb250ZXh0KSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbnRleHQuc3RydWN0dXJlLmZpZWxkcy5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fY29udGV4dC5iYXNlO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gdGhpcy5fY29udGV4dC52ZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5fcGFyZW50KSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX3BhcmVudC5zdHJ1Y3R1cmUuZmllbGRzLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMubmFtZSk7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSB0aGlzLl9wYXJlbnQuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX3BhcmVudC52ZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbXBhcmlzaW9uLmZvcm0uc3RydWN0dXJlLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMubmFtZSk7XHJcbiAgICAgIGNvbnN0IHsgY3VycmVudFZlcnNpb24sIGJhc2VWZXJzaW9uIH0gPSB0aGlzLl9jb21wYXJpc2lvbjtcclxuICAgICAgdGhpcy5fYmFzZSA9IGJhc2VWZXJzaW9uO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gY3VycmVudFZlcnNpb247XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZSkgdGhyb3cgYE5vIGZvcm0gZmllbGQgd2l0aCBuYW1lICR7dGhpcy5uYW1lfWA7XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZS5pc09iamVjdCkgdGhyb3cgYGJpemRvY0NvbXBhcmVHcm91cCAke3RoaXMubmFtZX1gO1xyXG4gICAgdGhpcy5zdHJ1Y3R1cmUuaXNBcnJheSAmJiB0aGlzLl9ub3JtYWxpemUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbm9ybWFsaXplKCkge1xyXG4gICAgdGhpcy5fa2V5cyA9IHRoaXMuc3RydWN0dXJlLmZpZWxkcy5maWx0ZXIoZiA9PiBmLmtleSkubWFwKGsgPT4gay5uYW1lKTtcclxuICAgIHRoaXMuYmFzZS5mb3JFYWNoKChiLCBpKSA9PiAhdGhpcy52ZXJzaW9uLmZpbmQodiA9PiB0aGlzLl9rZXlzLmV2ZXJ5KGsgPT4gdltrXSA9PT0gYltrXSkpIC8qIGRvZXNuJ3QgaGF2ZSBhIHZlcnNpb24gKi8gJiZcclxuICAgICAgdGhpcy52ZXJzaW9uLnNwbGljZShpLCAwLCBPYmplY3QuYXNzaWduKHsgX2NvbXBhcmU6IENvbXBhcmVTdGF0ZS5SZW1vdmVkIH0sIGIpKSk7XHJcbiAgICB0aGlzLnZlcnNpb24uZm9yRWFjaCh2ID0+IHtcclxuICAgICAgaWYgKHZbJ19jb21wYXJlJ10gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IGJhc2UgPSB0aGlzLmJhc2UuZmluZChiID0+IHRoaXMuX2tleXMuZXZlcnkoayA9PiBiW2tdID09PSB2W2tdKSk7XHJcbiAgICAgICAgaWYgKCFiYXNlKVxyXG4gICAgICAgICAgdlsnX2NvbXBhcmUnXSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgICBlbHNlIGlmIChKU09OLnN0cmluZ2lmeSh2KSAhPT0gSlNPTi5zdHJpbmdpZnkoYmFzZSkpXHJcbiAgICAgICAgICB2WydfY29tcGFyZSddID0gQ29tcGFyZVN0YXRlLk1vZGlmaWVkO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuLyoqICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tiaXpkb2NDb21wYXJlTmFtZV0nIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbXBhcmVOYW1lRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX25hbWU6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZU5hbWUnKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fbmFtZSA9IHZhbC5zcGxpdCgnLCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdHJ1Y3R1cmU6IEZpZWxkSW5mbztcclxuICBwcml2YXRlIF9iYXNlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfdmVyc2lvbjogYW55O1xyXG4gIHByaXZhdGUgX3N0YXRlOiBDb21wYXJlU3RhdGUgPSBDb21wYXJlU3RhdGUuVW5jaGFuZ2VkO1xyXG4gIHB1YmxpYyBnZXQgc3RydWN0dXJlKCk6IEZpZWxkSW5mbyB7IHJldHVybiB0aGlzLl9zdHJ1Y3R1cmU7IH1cclxuICBwdWJsaWMgZ2V0IGJhc2UoKTogYW55IHsgcmV0dXJuIHRoaXMuX2Jhc2UgPyB0aGlzLl9iYXNlW3RoaXMuX25hbWVbMF1dIDogbnVsbDsgfVxyXG4gIHB1YmxpYyBnZXQgdmVyc2lvbigpOiBhbnkgeyByZXR1cm4gdGhpcy5fdmVyc2lvblt0aGlzLl9uYW1lWzBdXTsgfVxyXG4gIGdldCBzdGF0ZSgpOiBDb21wYXJlU3RhdGUgeyByZXR1cm4gdGhpcy5fc3RhdGUgfTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbXBhcmlzaW9uOiBWZXJzaW9uQ29tcGFyZUNvbXBvbmVudCxcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfY29udGV4dDogQ29tcGFyZUNvbnRleHREaXJlY3RpdmUsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2dyb3VwOiBDb21wYXJlR3JvdXBEaXJlY3RpdmUsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kb206IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIGlmICh0aGlzLl9jb250ZXh0KSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbnRleHQuc3RydWN0dXJlLmZpZWxkcy5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLl9uYW1lWzBdKTtcclxuICAgICAgdGhpcy5fYmFzZSA9IHRoaXMuX2NvbnRleHQuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX2NvbnRleHQudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuX2dyb3VwKSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2dyb3VwLnN0cnVjdHVyZS5maWVsZHMuZmluZChlID0+IGUubmFtZSA9PT0gdGhpcy5fbmFtZVswXSk7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSB0aGlzLl9ncm91cC5iYXNlO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gdGhpcy5fZ3JvdXAudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb21wYXJpc2lvbi5mb3JtLnN0cnVjdHVyZS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLl9uYW1lWzBdKTtcclxuICAgICAgY29uc3QgeyBjdXJyZW50VmVyc2lvbiwgYmFzZVZlcnNpb24gfSA9IHRoaXMuX2NvbXBhcmlzaW9uO1xyXG4gICAgICB0aGlzLl9iYXNlID0gYmFzZVZlcnNpb247XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSBjdXJyZW50VmVyc2lvbjtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5fc3RydWN0dXJlKSB0aHJvdyBgTm8gZm9ybSBmaWVsZCB3aXRoIG5hbWUgJHt0aGlzLl9uYW1lWzBdfWA7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIC8vIGlmIG9iamVjdCBoYXMgc3RhdGVcclxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fdmVyc2lvblsnX2NvbXBhcmUnXTtcclxuICAgIGlmIChzdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5SZW1vdmVkOlxyXG4gICAgICAgICAgdGhpcy5fZGVjb3JhdGUoJ3JlbW92ZWQnLCAnRGVsZXRlZCcpO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5BZGRlZDpcclxuICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdhZGRlZCcsICdBZGRlZCcpO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgdmVyc2lvbkRhdGE6IHsgW2ZpZWxkOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gICAgLy8gaXRlcmF0ZSBuYW1lc1xyXG4gICAgbGV0IG5hbWU6IHN0cmluZywgaSA9IDA7XHJcbiAgICB3aGlsZSAoaSA8IHRoaXMuX25hbWUubGVuZ3RoKSB7XHJcbiAgICAgIG5hbWUgPSB0aGlzLl9uYW1lW2ldO1xyXG4gICAgICBpZiAoIXRoaXMuX2Jhc2UpIHtcclxuICAgICAgICBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuQWRkZWQ7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSAhPT0gdGhpcy5fYmFzZVtuYW1lXSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92ZXJzaW9uW25hbWVdID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuX3ZlcnNpb25bbmFtZV0gPSB0aGlzLl9iYXNlW25hbWVdO1xyXG4gICAgICAgICAgdmVyc2lvbkRhdGFbbmFtZV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5SZW1vdmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLl9iYXNlW25hbWVdID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgICBlbHNlIGlmIChKU09OLnN0cmluZ2lmeSh0aGlzLl92ZXJzaW9uW25hbWVdKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5fYmFzZVtuYW1lXSkpIHtcclxuICAgICAgICAgIC8vIHN0b3JlIHZlcnNpb24gZGF0YVxyXG4gICAgICAgICAgdmVyc2lvbkRhdGFbbmFtZV0gPSB0aGlzLl92ZXJzaW9uW25hbWVdO1xyXG4gICAgICAgICAgdGhpcy5fdmVyc2lvbltuYW1lXSA9IHRoaXMuX2Jhc2VbbmFtZV07XHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5Nb2RpZmllZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSBDb21wYXJlU3RhdGUuVW5jaGFuZ2VkKVxyXG4gICAgICBzd2l0Y2ggKHRoaXMuX3N0YXRlKSB7XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuUmVtb3ZlZDpcclxuICAgICAgICAgIC8vIGRldGVjdCB3aXRoIGJhc2UgdmFsdWUocylcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdyZW1vdmVkJywgJ0RlbGV0ZWQnKTtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl92ZXJzaW9uLCB2ZXJzaW9uRGF0YSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLkFkZGVkOlxyXG4gICAgICAgICAgdGhpcy5fZGVjb3JhdGUoJ2FkZGVkJywgJ0FkZGVkJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5Nb2RpZmllZDpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgdmVyc2lvbkhUTUwgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xyXG4vLyAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAvLyBkZXRlY3QgYWdhaW4gd2l0aCBiYXNlIHZhbHVlKHMpXHJcbiAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsSFRNTCA9IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XHJcbiAgICAgICAgICAgICAgLy8gcmVzdG9yZSB2ZXJzaW9uIGh0bWxcclxuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdmVyc2lvbkhUTUw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWxFbCA9IHRoaXMuX2RlY29yYXRlKCdtb2RpZmllZCcsICdNb2RpZmllZCcpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICdvcmlnaW5hbCc7XHJcbiAgICAgICAgICAgICAgZWwuaW5uZXJIVE1MID0gb3JpZ2luYWxIVE1MOyAvL3RoaXMuX2RvbS5zYW5pdGl6ZSgpO1xyXG4gICAgICAgICAgICAgIGxhYmVsRWwuYXBwZW5kKGVsKTtcclxuICAgICAgICAgICAgICAvLyByZXN0b3JlIHZlcnNpb24gdmFsdWUocylcclxuICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3ZlcnNpb24sIHZlcnNpb25EYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RlY29yYXRlKGNsYXNzTmFtZTogc3RyaW5nLCBsYWJlbDogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NvbXBhcmUnLCBjbGFzc05hbWUpO1xyXG4gICAgY29uc3QgbGFiZWxDb250YWluZXJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgbGFiZWxDb250YWluZXJFbC5jbGFzc05hbWUgPSAnbGFiZWwnO1xyXG4gICAgY29uc3QgbGFiZWxFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgIGxhYmVsRWwuaW5uZXJUZXh0ID0gdGhpcy5fdHJhbnNsYXRlLmdldChsYWJlbCk7XHJcbiAgICBsYWJlbENvbnRhaW5lckVsLmFwcGVuZChsYWJlbEVsKTtcclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbENvbnRhaW5lckVsKTtcclxuICAgIHJldHVybiBsYWJlbEVsO1xyXG4gIH1cclxufVxyXG4vKiogKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2JpemRvY0NvbXBhcmVDb250ZXh0XSxbYml6ZG9jQ29tcGFyZV0nLCBleHBvcnRBczogJ2JpemRvY0NvbXBhcmUnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbXBhcmVDb250ZXh0RGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX3ZlcnNpb246IHt9O1xyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZU9mJykgc2V0IGNvbXBhcmVPZih2YWw6IHt9KSB7IHRoaXMuX3ZlcnNpb24gPSB2YWw7IH1cclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVDb250ZXh0Jykgc2V0IGNvbnRleHQodmFsOiB7fSkgeyB0aGlzLl92ZXJzaW9uID0gdmFsOyB9XHJcbiAgZ2V0IHZlcnNpb24oKToge30geyByZXR1cm4gdGhpcy5fdmVyc2lvbjsgfVxyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZURlY29yYXRlJykgZGVjb3JhdGU6ICdncm91cCcgfCAnc2luZ2xlJyB8ICd0YWJsZSc7XHJcbiAgcHJpdmF0ZSBfYmFzZToge307XHJcbiAgcHVibGljIGdldCBiYXNlKCk6IHt9IHsgcmV0dXJuIHRoaXMuX2Jhc2U7IH1cclxuICBwdWJsaWMgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm8geyByZXR1cm4gdGhpcy5fZ3JvdXAuc3RydWN0dXJlOyB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb21wYXJpc2lvbjogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2dyb3VwOiBDb21wYXJlR3JvdXBEaXJlY3RpdmUsXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmRlY29yYXRlID0gX2VsZW1lbnQubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnVFInID8gJ3RhYmxlJyA6ICdncm91cCc7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2NvbXBhcmlzaW9uKSB7XHJcbiAgICAgIGlmICghdGhpcy5fZ3JvdXApIHRocm93IGBNaXNzaW5nIGVuY2xvc2luZyBiaXpkb2NDb21wYXJlR3JvdXAgZGlyZWN0aXZlYDtcclxuICAgICAgaWYgKCFpc09iamVjdCh0aGlzLnZlcnNpb24pKSB0aHJvdyBgW2JpemRvY0NvbXBhcmVDb250ZXh0XSBzeW50YXhgO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fZ3JvdXAuYmFzZS5maW5kKGIgPT4gdGhpcy5fZ3JvdXAua2V5cy5ldmVyeShrID0+IGJba10gPT09IHRoaXMudmVyc2lvbltrXSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX3RlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuX3ZjLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZSwge1xyXG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5fYmFzZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9jb21wYXJpc2lvbikgcmV0dXJuO1xyXG4gICAgc3dpdGNoICh0aGlzLmRlY29yYXRlKSB7XHJcbiAgICAgIGNhc2UgJ3RhYmxlJzpcclxuICAgICAgICB0aGlzLl90YWJsZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdncm91cCc6XHJcbiAgICAgICAgdGhpcy5fY29sbGFwc2UoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfdGFibGUoKSB7XHJcbiAgICBsZXQgY2xhc3NOYW1lOiBzdHJpbmc7XHJcbiAgICBzd2l0Y2ggKHRoaXMuX3ZlcnNpb25bJ19jb21wYXJlJ10gYXMgQ29tcGFyZVN0YXRlKSB7XHJcbiAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLkFkZGVkOlxyXG4gICAgICAgIGNsYXNzTmFtZSA9ICdhZGRlZCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLlJlbW92ZWQ6XHJcbiAgICAgICAgY2xhc3NOYW1lID0gJ3JlbW92ZWQnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbXBhcmVTdGF0ZS5Nb2RpZmllZDpcclxuICAgICAgICBjbGFzc05hbWUgPSAnbW9kaWZpZWQnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NvbXBhcmUnLCBjbGFzc05hbWUpO1xyXG4gIH1cclxuICAvKiogcmVtb3ZlcyByZXBlYXRlZCBhZGRlZCBhbmQgcmVtb3ZlZCB0YWdzICovXHJcbiAgcHJpdmF0ZSBfY29sbGFwc2UoKSB7XHJcbiAgICBjb25zdCBlbHMgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY29tcGFyZScpO1xyXG4gICAgbGV0IHByZXZTdGF0ZTogQ29tcGFyZVN0YXRlID0gQ29tcGFyZVN0YXRlLlVuY2hhbmdlZDtcclxuICAgIGZvciAobGV0IGkgPSBlbHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgY29uc3QgZWwgPSBlbHNbaV07XHJcbiAgICAgIGxldCBzdGF0ZTogQ29tcGFyZVN0YXRlO1xyXG4gICAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdhZGRlZCcpKVxyXG4gICAgICAgIHN0YXRlID0gQ29tcGFyZVN0YXRlLkFkZGVkO1xyXG4gICAgICBlbHNlIGlmIChlbC5jbGFzc0xpc3QuY29udGFpbnMoJ3JlbW92ZWQnKSlcclxuICAgICAgICBzdGF0ZSA9IENvbXBhcmVTdGF0ZS5SZW1vdmVkO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBzdGF0ZSA9IENvbXBhcmVTdGF0ZS5VbmNoYW5nZWQ7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHByZXZTdGF0ZSA9PT0gc3RhdGUpIHtcclxuICAgICAgICBjb25zdCBsYWJlbEVsID0gZWwucXVlcnlTZWxlY3RvcignLmxhYmVsJyk7XHJcbiAgICAgICAgbGFiZWxFbCAmJiBsYWJlbEVsLnJlbW92ZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHByZXZTdGF0ZSA9IHN0YXRlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBc0IsUUFBUSxFQUFFLElBQUksRUFBb0MsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUVoSyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBS2hELElBQUssWUFLSjtBQUxELFdBQUssWUFBWTtJQUNmLHNEQUFZLENBQUE7SUFDWix5REFBYSxDQUFBO0lBQ2IsaURBQVMsQ0FBQTtJQUNULHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBTEksWUFBWSxLQUFaLFlBQVksUUFLaEI7QUFFRCxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQUNELE1BQU07QUFFTixNQUFNLE9BQ0UscUJBQXNCLFNBQVEsb0JBQW9CO0lBVXhELFlBQ3NCLFlBQXFDLEVBQzdCLFFBQWlDLEVBQ3JCLE9BQThCO1FBQ3RFLEtBQUssRUFBRSxDQUFDO1FBSFksaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBRXhFLENBQUM7SUFURCxJQUFXLFNBQVMsS0FBZ0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFXLElBQUksS0FBVSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLElBQVcsT0FBTyxLQUFVLE9BQU8s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T3B0aW9uYWwsIEhvc3QsIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBTa2lwU2VsZiwgVmlld0NvbnRhaW5lclJlZiwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8gfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFZlcnNpb25Db21wYXJlQ29tcG9uZW50IH0gZnJvbSBcIi4vdmVyc2lvbi1jb21wYXJlLmNvbXBvbmVudFwiO1xyXG5cclxuZW51bSBDb21wYXJlU3RhdGUge1xyXG4gIFJlbW92ZWQgPSAtMSxcclxuICBVbmNoYW5nZWQgPSAwLFxyXG4gIEFkZGVkID0gMSxcclxuICBNb2RpZmllZCA9IDJcclxufVxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbXBhcmVEaXJlY3RpdmVCYXNlIHtcclxuICBhYnN0cmFjdCBnZXQgYmFzZSgpOiBhbnk7XHJcbiAgYWJzdHJhY3QgZ2V0IHZlcnNpb24oKTogYW55O1xyXG4gIGFic3RyYWN0IGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvO1xyXG59XHJcbi8qKiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYml6ZG9jQ29tcGFyZUdyb3VwXSxbYml6ZG9jQ29tcGFyZUFycmF5XScgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ29tcGFyZUdyb3VwRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZUdyb3VwJykgbmFtZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2tleXM6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX3N0cnVjdHVyZTogRmllbGRJbmZvO1xyXG4gIHByaXZhdGUgX2Jhc2U6IGFueTtcclxuICBwcml2YXRlIF92ZXJzaW9uOiBhbnk7XHJcbiAgcHVibGljIGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvIHsgcmV0dXJuIHRoaXMuX3N0cnVjdHVyZTsgfVxyXG4gIHB1YmxpYyBnZXQgYmFzZSgpOiBhbnkgeyByZXR1cm4gdGhpcy5fYmFzZSA/IHRoaXMuX2Jhc2VbdGhpcy5uYW1lXSA6IG51bGw7IH1cclxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogYW55IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb25bdGhpcy5uYW1lXTsgfVxyXG4gIHB1YmxpYyBnZXQga2V5cygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9rZXlzOyB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb21wYXJpc2lvbjogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2NvbnRleHQ6IENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIF9wYXJlbnQ6IENvbXBhcmVHcm91cERpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5fY29udGV4dCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb250ZXh0LnN0cnVjdHVyZS5maWVsZHMuZmluZChlID0+IGUubmFtZSA9PT0gdGhpcy5uYW1lKTtcclxuICAgICAgdGhpcy5fYmFzZSA9IHRoaXMuX2NvbnRleHQuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX2NvbnRleHQudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuX3BhcmVudCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9wYXJlbnQuc3RydWN0dXJlLmZpZWxkcy5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fcGFyZW50LmJhc2U7XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSB0aGlzLl9wYXJlbnQudmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb21wYXJpc2lvbi5mb3JtLnN0cnVjdHVyZS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpO1xyXG4gICAgICBjb25zdCB7IGN1cnJlbnRWZXJzaW9uLCBiYXNlVmVyc2lvbiB9ID0gdGhpcy5fY29tcGFyaXNpb247XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSBiYXNlVmVyc2lvbjtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IGN1cnJlbnRWZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl9zdHJ1Y3R1cmUpIHRocm93IGBObyBmb3JtIGZpZWxkIHdpdGggbmFtZSAke3RoaXMubmFtZX1gO1xyXG4gICAgaWYgKCF0aGlzLl9zdHJ1Y3R1cmUuaXNPYmplY3QpIHRocm93IGBiaXpkb2NDb21wYXJlR3JvdXAgJHt0aGlzLm5hbWV9YDtcclxuICAgIHRoaXMuc3RydWN0dXJlLmlzQXJyYXkgJiYgdGhpcy5fbm9ybWFsaXplKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25vcm1hbGl6ZSgpIHtcclxuICAgIHRoaXMuX2tleXMgPSB0aGlzLnN0cnVjdHVyZS5maWVsZHMuZmlsdGVyKGYgPT4gZi5rZXkpLm1hcChrID0+IGsubmFtZSk7XHJcbiAgICB0aGlzLmJhc2UuZm9yRWFjaCgoYiwgaSkgPT4gIXRoaXMudmVyc2lvbi5maW5kKHYgPT4gdGhpcy5fa2V5cy5ldmVyeShrID0+IHZba10gPT09IGJba10pKSAvKiBkb2Vzbid0IGhhdmUgYSB2ZXJzaW9uICovICYmXHJcbiAgICAgIHRoaXMudmVyc2lvbi5zcGxpY2UoaSwgMCwgT2JqZWN0LmFzc2lnbih7IF9jb21wYXJlOiBDb21wYXJlU3RhdGUuUmVtb3ZlZCB9LCBiKSkpO1xyXG4gICAgdGhpcy52ZXJzaW9uLmZvckVhY2godiA9PiB7XHJcbiAgICAgIGlmICh2WydfY29tcGFyZSddID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBiYXNlID0gdGhpcy5iYXNlLmZpbmQoYiA9PiB0aGlzLl9rZXlzLmV2ZXJ5KGsgPT4gYltrXSA9PT0gdltrXSkpO1xyXG4gICAgICAgIGlmICghYmFzZSlcclxuICAgICAgICAgIHZbJ19jb21wYXJlJ10gPSBDb21wYXJlU3RhdGUuQWRkZWQ7XHJcbiAgICAgICAgZWxzZSBpZiAoSlNPTi5zdHJpbmdpZnkodikgIT09IEpTT04uc3RyaW5naWZ5KGJhc2UpKVxyXG4gICAgICAgICAgdlsnX2NvbXBhcmUnXSA9IENvbXBhcmVTdGF0ZS5Nb2RpZmllZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbi8qKiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYml6ZG9jQ29tcGFyZU5hbWVdJyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb21wYXJlTmFtZURpcmVjdGl2ZSBleHRlbmRzIENvbXBhcmVEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIF9uYW1lOiBzdHJpbmdbXTtcclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVOYW1lJykgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX25hbWUgPSB2YWwuc3BsaXQoJywnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc3RydWN0dXJlOiBGaWVsZEluZm87XHJcbiAgcHJpdmF0ZSBfYmFzZTogYW55O1xyXG4gIHByaXZhdGUgX3ZlcnNpb246IGFueTtcclxuICBwcml2YXRlIF9zdGF0ZTogQ29tcGFyZVN0YXRlID0gQ29tcGFyZVN0YXRlLlVuY2hhbmdlZDtcclxuICBwdWJsaWMgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm8geyByZXR1cm4gdGhpcy5fc3RydWN0dXJlOyB9XHJcbiAgcHVibGljIGdldCBiYXNlKCk6IGFueSB7IHJldHVybiB0aGlzLl9iYXNlID8gdGhpcy5fYmFzZVt0aGlzLl9uYW1lWzBdXSA6IG51bGw7IH1cclxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogYW55IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb25bdGhpcy5fbmFtZVswXV07IH1cclxuICBnZXQgc3RhdGUoKTogQ29tcGFyZVN0YXRlIHsgcmV0dXJuIHRoaXMuX3N0YXRlIH07XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb21wYXJpc2lvbjogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2NvbnRleHQ6IENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9ncm91cDogQ29tcGFyZUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfZG9tOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5fY29udGV4dCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9jb250ZXh0LnN0cnVjdHVyZS5maWVsZHMuZmluZChlID0+IGUubmFtZSA9PT0gdGhpcy5fbmFtZVswXSk7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSB0aGlzLl9jb250ZXh0LmJhc2U7XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSB0aGlzLl9jb250ZXh0LnZlcnNpb247XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLl9ncm91cCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9ncm91cC5zdHJ1Y3R1cmUuZmllbGRzLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMuX25hbWVbMF0pO1xyXG4gICAgICB0aGlzLl9iYXNlID0gdGhpcy5fZ3JvdXAuYmFzZTtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IHRoaXMuX2dyb3VwLnZlcnNpb247XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZSkgdGhyb3cgYE5vIGZvcm0gZmllbGQgd2l0aCBuYW1lICR7dGhpcy5fbmFtZVswXX1gO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbXBhcmlzaW9uLmZvcm0uc3RydWN0dXJlLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMuX25hbWVbMF0pO1xyXG4gICAgICBjb25zdCB7IGN1cnJlbnRWZXJzaW9uLCBiYXNlVmVyc2lvbiB9ID0gdGhpcy5fY29tcGFyaXNpb247XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSBiYXNlVmVyc2lvbjtcclxuICAgICAgdGhpcy5fdmVyc2lvbiA9IGN1cnJlbnRWZXJzaW9uO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICAvLyBpZiBvYmplY3QgaGFzIHN0YXRlXHJcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3ZlcnNpb25bJ19jb21wYXJlJ107XHJcbiAgICBpZiAoc3RhdGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzd2l0Y2ggKHN0YXRlKSB7XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuUmVtb3ZlZDpcclxuICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdyZW1vdmVkJywgJ0RlbGV0ZWQnKTtcclxuICAgICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuQWRkZWQ6XHJcbiAgICAgICAgICB0aGlzLl9kZWNvcmF0ZSgnYWRkZWQnLCAnQWRkZWQnKTtcclxuICAgICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHZlcnNpb25EYXRhOiB7IFtmaWVsZDogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgIC8vIGl0ZXJhdGUgbmFtZXNcclxuICAgIGxldCBuYW1lOiBzdHJpbmcsIGkgPSAwO1xyXG4gICAgd2hpbGUgKGkgPCB0aGlzLl9uYW1lLmxlbmd0aCkge1xyXG4gICAgICBuYW1lID0gdGhpcy5fbmFtZVtpXTtcclxuICAgICAgaWYgKCF0aGlzLl9iYXNlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZlcnNpb25bbmFtZV0gIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgIHRoaXMuX3N0YXRlID0gQ29tcGFyZVN0YXRlLkFkZGVkO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX3ZlcnNpb25bbmFtZV0gIT09IHRoaXMuX2Jhc2VbbmFtZV0pIHtcclxuICAgICAgICBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLl92ZXJzaW9uW25hbWVdID0gdGhpcy5fYmFzZVtuYW1lXTtcclxuICAgICAgICAgIHZlcnNpb25EYXRhW25hbWVdID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuUmVtb3ZlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5fYmFzZVtuYW1lXSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuQWRkZWQ7XHJcbiAgICAgICAgZWxzZSBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5fdmVyc2lvbltuYW1lXSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMuX2Jhc2VbbmFtZV0pKSB7XHJcbiAgICAgICAgICAvLyBzdG9yZSB2ZXJzaW9uIGRhdGFcclxuICAgICAgICAgIHZlcnNpb25EYXRhW25hbWVdID0gdGhpcy5fdmVyc2lvbltuYW1lXTtcclxuICAgICAgICAgIHRoaXMuX3ZlcnNpb25bbmFtZV0gPSB0aGlzLl9iYXNlW25hbWVdO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuTW9kaWZpZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gQ29tcGFyZVN0YXRlLlVuY2hhbmdlZClcclxuICAgICAgc3dpdGNoICh0aGlzLl9zdGF0ZSkge1xyXG4gICAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLlJlbW92ZWQ6XHJcbiAgICAgICAgICAvLyBkZXRlY3Qgd2l0aCBiYXNlIHZhbHVlKHMpXHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB0aGlzLl9kZWNvcmF0ZSgncmVtb3ZlZCcsICdEZWxldGVkJyk7XHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fdmVyc2lvbiwgdmVyc2lvbkRhdGEpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5BZGRlZDpcclxuICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdhZGRlZCcsICdBZGRlZCcpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuTW9kaWZpZWQ6XHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZlcnNpb25IVE1MID0gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTDtcclxuLy8gICAgICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gZGV0ZWN0IGFnYWluIHdpdGggYmFzZSB2YWx1ZShzKVxyXG4gICAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbEhUTUwgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xyXG4gICAgICAgICAgICAgIC8vIHJlc3RvcmUgdmVyc2lvbiBodG1sXHJcbiAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHZlcnNpb25IVE1MO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsRWwgPSB0aGlzLl9kZWNvcmF0ZSgnbW9kaWZpZWQnLCAnTW9kaWZpZWQnKTtcclxuICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICAgICAgICBlbC5jbGFzc05hbWUgPSAnb3JpZ2luYWwnO1xyXG4gICAgICAgICAgICAgIGVsLmlubmVySFRNTCA9IG9yaWdpbmFsSFRNTDsgLy90aGlzLl9kb20uc2FuaXRpemUoKTtcclxuICAgICAgICAgICAgICBsYWJlbEVsLmFwcGVuZChlbCk7XHJcbiAgICAgICAgICAgICAgLy8gcmVzdG9yZSB2ZXJzaW9uIHZhbHVlKHMpXHJcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl92ZXJzaW9uLCB2ZXJzaW9uRGF0YSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9kZWNvcmF0ZShjbGFzc05hbWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb21wYXJlJywgY2xhc3NOYW1lKTtcclxuICAgIGNvbnN0IGxhYmVsQ29udGFpbmVyRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGxhYmVsQ29udGFpbmVyRWwuY2xhc3NOYW1lID0gJ2xhYmVsJztcclxuICAgIGNvbnN0IGxhYmVsRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICBsYWJlbEVsLmlubmVyVGV4dCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQobGFiZWwpO1xyXG4gICAgbGFiZWxDb250YWluZXJFbC5hcHBlbmQobGFiZWxFbCk7XHJcbiAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQobGFiZWxDb250YWluZXJFbCk7XHJcbiAgICByZXR1cm4gbGFiZWxFbDtcclxuICB9XHJcbn1cclxuLyoqICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tiaXpkb2NDb21wYXJlQ29udGV4dF0sW2JpemRvY0NvbXBhcmVdJywgZXhwb3J0QXM6ICdiaXpkb2NDb21wYXJlJyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb21wYXJlQ29udGV4dERpcmVjdGl2ZSBleHRlbmRzIENvbXBhcmVEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIF92ZXJzaW9uOiB7fTtcclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVPZicpIHNldCBjb21wYXJlT2YodmFsOiB7fSkgeyB0aGlzLl92ZXJzaW9uID0gdmFsOyB9XHJcbiAgQElucHV0KCdiaXpkb2NDb21wYXJlQ29udGV4dCcpIHNldCBjb250ZXh0KHZhbDoge30pIHsgdGhpcy5fdmVyc2lvbiA9IHZhbDsgfVxyXG4gIGdldCB2ZXJzaW9uKCk6IHt9IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb247IH1cclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVEZWNvcmF0ZScpIGRlY29yYXRlOiAnZ3JvdXAnIHwgJ3NpbmdsZScgfCAndGFibGUnO1xyXG4gIHByaXZhdGUgX2Jhc2U6IHt9O1xyXG4gIHB1YmxpYyBnZXQgYmFzZSgpOiB7fSB7IHJldHVybiB0aGlzLl9iYXNlOyB9XHJcbiAgcHVibGljIGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvIHsgcmV0dXJuIHRoaXMuX2dyb3VwLnN0cnVjdHVyZTsgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29tcGFyaXNpb246IFZlcnNpb25Db21wYXJlQ29tcG9uZW50LFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9ncm91cDogQ29tcGFyZUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5kZWNvcmF0ZSA9IF9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ1RSJyA/ICd0YWJsZScgOiAnZ3JvdXAnO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jb21wYXJpc2lvbikge1xyXG4gICAgICBpZiAoIXRoaXMuX2dyb3VwKSB0aHJvdyBgTWlzc2luZyBlbmNsb3NpbmcgYml6ZG9jQ29tcGFyZUdyb3VwIGRpcmVjdGl2ZWA7XHJcbiAgICAgIGlmICghaXNPYmplY3QodGhpcy52ZXJzaW9uKSkgdGhyb3cgYFtiaXpkb2NDb21wYXJlQ29udGV4dF0gc3ludGF4YDtcclxuICAgICAgdGhpcy5fYmFzZSA9IHRoaXMuX2dyb3VwLmJhc2UuZmluZChiID0+IHRoaXMuX2dyb3VwLmtleXMuZXZlcnkoayA9PiBiW2tdID09PSB0aGlzLnZlcnNpb25ba10pKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl90ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl92Yy5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGUsIHtcclxuICAgICAgICAkaW1wbGljaXQ6IHRoaXMuX2Jhc2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIHN3aXRjaCAodGhpcy5kZWNvcmF0ZSkge1xyXG4gICAgICBjYXNlICd0YWJsZSc6XHJcbiAgICAgICAgdGhpcy5fdGFibGUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZ3JvdXAnOlxyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX3RhYmxlKCkge1xyXG4gICAgbGV0IGNsYXNzTmFtZTogc3RyaW5nO1xyXG4gICAgc3dpdGNoICh0aGlzLl92ZXJzaW9uWydfY29tcGFyZSddIGFzIENvbXBhcmVTdGF0ZSkge1xyXG4gICAgICBjYXNlIENvbXBhcmVTdGF0ZS5BZGRlZDpcclxuICAgICAgICBjbGFzc05hbWUgPSAnYWRkZWQnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbXBhcmVTdGF0ZS5SZW1vdmVkOlxyXG4gICAgICAgIGNsYXNzTmFtZSA9ICdyZW1vdmVkJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb21wYXJlU3RhdGUuTW9kaWZpZWQ6XHJcbiAgICAgICAgY2xhc3NOYW1lID0gJ21vZGlmaWVkJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb21wYXJlJywgY2xhc3NOYW1lKTtcclxuICB9XHJcbiAgLyoqIHJlbW92ZXMgcmVwZWF0ZWQgYWRkZWQgYW5kIHJlbW92ZWQgdGFncyAqL1xyXG4gIHByaXZhdGUgX2NvbGxhcHNlKCkge1xyXG4gICAgY29uc3QgZWxzID0gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNvbXBhcmUnKTtcclxuICAgIGxldCBwcmV2U3RhdGU6IENvbXBhcmVTdGF0ZSA9IENvbXBhcmVTdGF0ZS5VbmNoYW5nZWQ7XHJcbiAgICBmb3IgKGxldCBpID0gZWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGNvbnN0IGVsID0gZWxzW2ldO1xyXG4gICAgICBsZXQgc3RhdGU6IENvbXBhcmVTdGF0ZTtcclxuICAgICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucygnYWRkZWQnKSlcclxuICAgICAgICBzdGF0ZSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgZWxzZSBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyZW1vdmVkJykpXHJcbiAgICAgICAgc3RhdGUgPSBDb21wYXJlU3RhdGUuUmVtb3ZlZDtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3RhdGUgPSBDb21wYXJlU3RhdGUuVW5jaGFuZ2VkO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChwcmV2U3RhdGUgPT09IHN0YXRlKSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxFbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoJy5sYWJlbCcpO1xyXG4gICAgICAgIGxhYmVsRWwgJiYgbGFiZWxFbC5yZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgICBwcmV2U3RhdGUgPSBzdGF0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -18,9 +18,9 @@ export class VersionPaneComponent {
18
18
  this._translate = _translate;
19
19
  this._router = _router;
20
20
  this.CALENDAR_SPEC = {
21
- lastDay: `[${this._translate.get('Yesterday')}] HH:mm`,
21
+ lastDay: this._translate.get('YesterdayAt', 'HH:mm'),
22
22
  lastWeek: 'dddd HH:mm',
23
- sameDay: `[${this._translate.get('Today')}] HH:mm`,
23
+ sameDay: this._translate.get('TodayAt', 'HH:mm'),
24
24
  sameElse: 'MMM D HH:mm'
25
25
  };
26
26
  _pane.title = _translate.get('Version');
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
53
53
  class: 'pane'
54
54
  }, template: "<div class=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button *ngIf=\"versions.length\" [matMenuTriggerFor]=\"menu\" [attr.aria-label]=\"'Version' | translate\">\r\n <mat-icon>filter_list</mat-icon>\r\n </button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"switch(l.time)\" *ngFor=\"let l of versions\">\r\n <bizdoc-identity-name [identity]=\"l.userId\" [by]=\"l.byId\" chating=\"none\"></bizdoc-identity-name>\r\n {{l.time | amCalendar : null : CALENDAR_SPEC}}\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<div class=\"info mat-body-1\">\r\n <bizdoc-identity-name [identity]=\"log.userId\" [by]=\"log.byId\"></bizdoc-identity-name>\r\n | <span>{{log.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n</div>\r\n<div>\r\n <bizdoc-version-compare [model]=\"model\" [version]=\"log.time\"></bizdoc-version-compare>\r\n</div>\r\n", styles: [":host{padding:0 8px;display:block;min-width:350px}\n"] }]
55
55
  }], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.TranslateService }, { type: i3.PanesRouter }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi5wYW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFNbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBVXRELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxLQUFvQyxFQUNwQyxVQUE0QixFQUM1QixPQUFvQjtRQUZwQixVQUFLLEdBQUwsS0FBSyxDQUErQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBVHJCLGtCQUFhLEdBQWlCO1lBQ3JDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTO1lBQ3RELFFBQVEsRUFBRSxZQUFZO1lBQ3RCLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQ2xELFFBQVEsRUFBRSxhQUFhO1NBQ3hCLENBQUM7UUFNQSxLQUFLLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsRUFBRTtnQkFDTCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDO2dCQUN4RyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEY7O2dCQUVDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQVU7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDOztpSEFuQ1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsNkZDaEJqQywyM0JBbUJBOzJGREhhLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxxQkFBcUIsUUFHekI7d0JBQ0osS0FBSyxFQUFFLE1BQU07cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwsIExvZyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtdmVyc2lvbi5wYW5lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmVyc2lvbi5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92ZXJzaW9uLnBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3BhbmUnXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmVyc2lvblBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgbG9nOiBMb2c7XHJcbiAgdmVyc2lvbnM6IExvZ1tdO1xyXG4gIHJlYWRvbmx5IENBTEVOREFSX1NQRUM6IENhbGVuZGFyU3BlYyA9IHtcclxuICAgIGxhc3REYXk6IGBbJHt0aGlzLl90cmFuc2xhdGUuZ2V0KCdZZXN0ZXJkYXknKX1dIEhIOm1tYCxcclxuICAgIGxhc3RXZWVrOiAnZGRkZCBISDptbScsXHJcbiAgICBzYW1lRGF5OiBgWyR7dGhpcy5fdHJhbnNsYXRlLmdldCgnVG9kYXknKX1dIEhIOm1tYCxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8VmVyc2lvblBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlclxyXG4gICkge1xyXG4gICAgX3BhbmUudGl0bGUgPSBfdHJhbnNsYXRlLmdldCgnVmVyc2lvbicpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkWydpdGVtJ107XHJcbiAgICAgIHRoaXMuX3BhbmUuZ3JvdXAgPSBgIyR7dGhpcy5tb2RlbC5udW1iZXJ9YDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5wYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICBjb25zdCB2ID0gcFsndmVyc2lvbiddO1xyXG4gICAgICBpZiAodikge1xyXG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSB2LmRlY29kZUlkKCk7XHJcbiAgICAgICAgdGhpcy5sb2cgPSB0aGlzLm1vZGVsLmxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnTW9kZWxDaGFuZ2UnICYmIG5ldyBEYXRlKGwudGltZSkudmFsdWVPZigpID09PSB2ZXJzaW9uKTtcclxuICAgICAgICB0aGlzLnZlcnNpb25zID0gdGhpcy5tb2RlbC5sb2cuZmlsdGVyKGwgPT4gbC50eXBlID09PSAnTW9kZWxDaGFuZ2UnICYmIGwgIT09IHRoaXMubG9nKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5fcGFuZS5jbG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHN3aXRjaCh0aW1lOiBEYXRlKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWycuLi8nLCAndmVyc2lvbicsIG5ldyBEYXRlKHRpbWUpLnZhbHVlT2YoKS5lbmNvZGVJZCgpXSwgeyBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwidmVyc2lvbnMubGVuZ3RoXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidWZXJzaW9uJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPG1hdC1pY29uPmZpbHRlcl9saXN0PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI21lbnU+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInN3aXRjaChsLnRpbWUpXCIgKm5nRm9yPVwibGV0IGwgb2YgdmVyc2lvbnNcIj5cclxuICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09XCJsLnVzZXJJZFwiIFtieV09XCJsLmJ5SWRcIiBjaGF0aW5nPVwibm9uZVwiPjwvYml6ZG9jLWlkZW50aXR5LW5hbWU+XHJcbiAgICAgIHt7bC50aW1lIHwgYW1DYWxlbmRhciA6IG51bGwgOiBDQUxFTkRBUl9TUEVDfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiaW5mbyBtYXQtYm9keS0xXCI+XHJcbiAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09XCJsb2cudXNlcklkXCIgW2J5XT1cImxvZy5ieUlkXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICB8IDxzcGFuPnt7bG9nLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUMgfX08L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2PlxyXG4gIDxiaXpkb2MtdmVyc2lvbi1jb21wYXJlIFttb2RlbF09XCJtb2RlbFwiIFt2ZXJzaW9uXT1cImxvZy50aW1lXCI+PC9iaXpkb2MtdmVyc2lvbi1jb21wYXJlPlxyXG48L2Rpdj5cclxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi5wYW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFNbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBVXRELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxLQUFvQyxFQUNwQyxVQUE0QixFQUM1QixPQUFvQjtRQUZwQixVQUFLLEdBQUwsS0FBSyxDQUErQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBVHJCLGtCQUFhLEdBQWlCO1lBQ3JDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO1lBQ3BELFFBQVEsRUFBRSxZQUFZO1lBQ3RCLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1lBQ2hELFFBQVEsRUFBRSxhQUFhO1NBQ3hCLENBQUM7UUFNQSxLQUFLLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsRUFBRTtnQkFDTCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDO2dCQUN4RyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEY7O2dCQUVDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQVU7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDOztpSEFuQ1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsNkZDaEJqQywyM0JBbUJBOzJGREhhLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxxQkFBcUIsUUFHekI7d0JBQ0osS0FBSyxFQUFFLE1BQU07cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwsIExvZyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtdmVyc2lvbi5wYW5lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmVyc2lvbi5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92ZXJzaW9uLnBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3BhbmUnXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmVyc2lvblBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgbG9nOiBMb2c7XHJcbiAgdmVyc2lvbnM6IExvZ1tdO1xyXG4gIHJlYWRvbmx5IENBTEVOREFSX1NQRUM6IENhbGVuZGFyU3BlYyA9IHtcclxuICAgIGxhc3REYXk6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1llc3RlcmRheUF0JywgJ0hIOm1tJyksXHJcbiAgICBsYXN0V2VlazogJ2RkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogdGhpcy5fdHJhbnNsYXRlLmdldCgnVG9kYXlBdCcsICdISDptbScpLFxyXG4gICAgc2FtZUVsc2U6ICdNTU0gRCBISDptbSdcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxWZXJzaW9uUGFuZUNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyXHJcbiAgKSB7XHJcbiAgICBfcGFuZS50aXRsZSA9IF90cmFuc2xhdGUuZ2V0KCdWZXJzaW9uJyk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRbJ2l0ZW0nXTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IGAjJHt0aGlzLm1vZGVsLm51bWJlcn1gO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLnBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IHYgPSBwWyd2ZXJzaW9uJ107XHJcbiAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IHYuZGVjb2RlSWQoKTtcclxuICAgICAgICB0aGlzLmxvZyA9IHRoaXMubW9kZWwubG9nLmZpbmQobCA9PiBsLnR5cGUgPT09ICdNb2RlbENoYW5nZScgJiYgbmV3IERhdGUobC50aW1lKS52YWx1ZU9mKCkgPT09IHZlcnNpb24pO1xyXG4gICAgICAgIHRoaXMudmVyc2lvbnMgPSB0aGlzLm1vZGVsLmxvZy5maWx0ZXIobCA9PiBsLnR5cGUgPT09ICdNb2RlbENoYW5nZScgJiYgbCAhPT0gdGhpcy5sb2cpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9wYW5lLmNsb3NlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc3dpdGNoKHRpbWU6IERhdGUpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJy4uLycsICd2ZXJzaW9uJywgbmV3IERhdGUodGltZSkudmFsdWVPZigpLmVuY29kZUlkKCldLCB7IHBvbGljeTogT3BlblBvbGljeS5UYWIgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJ2ZXJzaW9ucy5sZW5ndGhcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1ZlcnNpb24nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjbWVudT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic3dpdGNoKGwudGltZSlcIiAqbmdGb3I9XCJsZXQgbCBvZiB2ZXJzaW9uc1wiPlxyXG4gICAgICA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgW2lkZW50aXR5XT1cImwudXNlcklkXCIgW2J5XT1cImwuYnlJZFwiIGNoYXRpbmc9XCJub25lXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICAgICAge3tsLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUN9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJpbmZvIG1hdC1ib2R5LTFcIj5cclxuICA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgW2lkZW50aXR5XT1cImxvZy51c2VySWRcIiBbYnldPVwibG9nLmJ5SWRcIj48L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gIHwgPHNwYW4+e3tsb2cudGltZSB8IGFtQ2FsZW5kYXIgOiBudWxsIDogQ0FMRU5EQVJfU1BFQyB9fTwvc3Bhbj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGJpemRvYy12ZXJzaW9uLWNvbXBhcmUgW21vZGVsXT1cIm1vZGVsXCIgW3ZlcnNpb25dPVwibG9nLnRpbWVcIj48L2JpemRvYy12ZXJzaW9uLWNvbXBhcmU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -61,4 +61,4 @@ BizDocComponentFactoryResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion:
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: BizDocComponentFactoryResolver, decorators: [{
62
62
  type: Injectable
63
63
  }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBdUQsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFpQixRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXZELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFVO0lBQzNDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxlQUFlLENBQUksYUFBd0IsRUFBRSxhQUFzQjtJQUMxRSw4Q0FBOEM7SUFDOUMsT0FBTyxPQUFPLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO0lBQ3ZHLG9EQUFvRDtJQUNwRCxVQUFVLFlBQVksYUFBYSxDQUNwQyxDQUFDO0FBQ0osQ0FBQztBQUVhLE1BQU0sT0FBTyw4QkFBOEI7SUFFdkQ7SUFDRSxrQ0FBa0M7SUFDMUIseUJBQW1EO1FBQW5ELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDM0QsU0FBUztRQUNULGtDQUFrQztRQUNsQyxrREFBa0Q7UUFDbEQsa0NBQWtDO1FBQ2xDLE9BQU87UUFDSCwrRUFBK0U7SUFDbkYsQ0FBQztJQUNJLFNBQVMsQ0FBQyxpQkFBeUI7UUFDdEMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUk7WUFDUCxNQUFNLENBQUMsa0RBQWtELGlCQUFpQixNQUFNLENBQUMsQ0FBQztRQUNwRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxPQUFPLENBQUMsaUJBQXlCO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVyQyx3RUFBd0U7UUFDOUUsb0RBQW9EO1FBQ3BELHVDQUF1QztRQUN2Qyx3Q0FBd0M7UUFDeEMsWUFBWTtRQUNaLEtBQUs7UUFDTCxHQUFHO1FBRVAsb0VBQW9FO1FBRXBFLHlGQUF5RjtRQUN6RixtQ0FBbUM7UUFDbkMsMEVBQTBFO1FBRTFFLHNHQUFzRztRQUN0RyxpR0FBaUc7UUFDakcsS0FBSztRQUVMLHVEQUF1RDtRQUN2RCw4R0FBOEc7UUFDOUcsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7OzJIQTNDc0IsOEJBQThCOytIQUE5Qiw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFBeEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBUeXBlLCBOZ01vZHVsZSwgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgUkVHSVNUUlkgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29tcG9uZW50cyhjb21wb25lbnRzKSB7XHJcbiAgY29tcG9uZW50cy5mb3JFYWNoKGMgPT4gUkVHSVNUUllbY1snX19iaXpkb2MnXV0gPSBjKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIGdldHMgYSBkZWNvcmF0b3Igb2YgdGhlIHJlcXVlc3RlZCB0eXBlIG9mZiBvZiB0aGUgZ2l2ZW4gZGVjb3JhdGVkIHR5cGVcclxuICogQHBhcmFtIGRlY29yYXRlZFR5cGUgdG8gZ2V0IGRlY29yYXRvciBhbm5vdGF0aW9ucyBvZmYgb2ZcclxuICogQHBhcmFtIGRlY29yYXRvclR5cGUgdG8gc2VhcmNoIGZvciBvdXQgb2YgYWxsIHRoZSBkZWNvcmF0b3JzIG9uIGRlY29yYXRlZFR5cGVcclxuICogQHJldHVybnMgZGVjb3JhdG9yIGZyb20gdGhlIGRlY29yYXRlZFR5cGUgb2YgdGhlIGRlY29yYXRvclR5cGVcclxuICovXHJcbmZ1bmN0aW9uIGRlY29yYXRvck9mVHlwZTxUPihkZWNvcmF0ZWRUeXBlOiBUeXBlPGFueT4sIGRlY29yYXRvclR5cGU6IFR5cGU8VD4pOiBUIHtcclxuICAvLyBnZXQgYWxsIGRlY29yYXRvcnMgb2ZmIG9mIHRoZSBwcm92aWRlZCB0eXBlXHJcbiAgcmV0dXJuIFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRlY29yYXRlZFR5cGUsICdfX2Fubm90YXRpb25zX18nKS52YWx1ZS5maW5kKChhbm5vdGF0aW9uOiBhbnkpID0+XHJcbiAgICAvLyBnZXQgdGhlIGRlY29yYXRvciB0aGF0IG1hdGNoZXMgdGhlIHJlcXVlc3RlZCB0eXBlXHJcbiAgICBhbm5vdGF0aW9uIGluc3RhbmNlb2YgZGVjb3JhdG9yVHlwZVxyXG4gICk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKCkgZXhwb3J0IGNsYXNzIEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB7XHJcbiAgICBwcml2YXRlIF9mYWN0b3JpZXM6IHVua25vd25bXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vcHJpdmF0ZSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgICAvL19hcHBSZWZcclxuICAgIC8vICAuY29tcG9uZW50VHlwZXMuZm9yRWFjaCh0ID0+IHtcclxuICAgIC8vICAgIGNvbnN0IHR5cGUgPSB0WydfX2JpemRvYyddIGFzIENvbXBvbmVudFR5cGU7XHJcbiAgICAvLyAgICBSRUdJU1RSWVt0eXBlLnNlbGVjdG9yXSA9IHQ7XHJcbiAgICAvLyAgfSk7XHJcbiAgICAgICAgLy90aGlzLl9mYWN0b3JpZXMgPSBBcnJheS5mcm9tKF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJbJ19mYWN0b3JpZXMnXS5rZXlzKCkpO1xyXG4gICAgfVxyXG4gIHB1YmxpYyBjb21wb25lbnQoY29tcG9uZW50U2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgICBjb25zdCBjb21wID0gUkVHSVNUUllbY29tcG9uZW50U2VsZWN0b3JdO1xyXG4gICAgICBpZiAoIWNvbXApXHJcbiAgICAgICAgdGhyb3cgKGBObyBjb21wb25lbnQgcmVnaXN0ZXJlZCBhcyBAQml6RG9jKHtzZWxlY3RvcjogJyR7Y29tcG9uZW50U2VsZWN0b3J9J30pLmApO1xyXG4gICAgICByZXR1cm4gY29tcDtcclxuICAgIH1cclxuICAgIHB1YmxpYyByZXNvbHZlKGNvbXBvbmVudFNlbGVjdG9yOiBzdHJpbmcpIHtcclxuICAgICAgY29uc3QgY29tcCA9IHRoaXMuY29tcG9uZW50KGNvbXBvbmVudFNlbGVjdG9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvL2ZvciAobGV0IGMgb2YgKDxhbnk+dGhpcy5jb21waWxlcikuX2RlbGVnYXRlLl9jb21waWxlZFRlbXBsYXRlQ2FjaGUpIHtcclxuICAgICAgICAgIC8vICBsZXQgbTogQ29tcGlsZURpcmVjdGl2ZU1ldGFkYXRhID0gY1sxXS5jb21wTWV0YTtcclxuICAgICAgICAgIC8vICBpZiAobS5zZWxlY3RvciA9PT0gdGhpcy50ZW1wbGF0ZSkge1xyXG4gICAgICAgICAgLy8gICAgZmFjdG9yeSA9IDxhbnk+bS5jb21wb25lbnRGYWN0b3J5O1xyXG4gICAgICAgICAgLy8gICAgYnJlYWs7XHJcbiAgICAgICAgICAvLyAgfVxyXG4gICAgICAgICAgLy99XHJcblxyXG4gICAgICAvL2NvbnN0IG5nTW9kdWxlRGVjb3JhdG9yID0gZGVjb3JhdG9yT2ZUeXBlKEJpekRvY01vZHVsZSwgTmdNb2R1bGUpO1xyXG5cclxuICAgICAgLy9jb25zdCBjb21wb25lbnRUeXBlID0gbmdNb2R1bGVEZWNvcmF0b3IuZGVjbGFyYXRpb25zLmZpbmQoKGRlY2xhcmF0aW9uOiBUeXBlPGFueT4pID0+IHtcclxuICAgICAgLy8gIC8vIGdldCB0aGUgQENvbXBvbmVudCBkZWNvcmF0b3JcclxuICAgICAgLy8gIGNvbnN0IGRlY2xhcmF0aW9uQW5ub3RhdGlvbiA9IGRlY29yYXRvck9mVHlwZShkZWNsYXJhdGlvbiwgQ29tcG9uZW50KTtcclxuXHJcbiAgICAgIC8vICAvLyBmaW5kIGEgZGVjbGFyYXRpb24gd2l0aCB0aGUgQENvbXBvbmVudCBkZWNvcmF0b3IgKG5vdCBhIEBEaXJlY3RpdmUpIHdpdGggdGhlIHJlcXVlc3RlZCBzZWxlY3RvclxyXG4gICAgICAvLyAgcmV0dXJuIGRlY2xhcmF0aW9uQW5ub3RhdGlvbiAhPSBudWxsICYmIGRlY2xhcmF0aW9uQW5ub3RhdGlvbi5zZWxlY3RvciA9PT0gY29tcG9uZW50U2VsZWN0b3I7XHJcbiAgICAgIC8vfSk7XHJcblxyXG4gICAgICAvLy8vIGdldCB0aGUgY29tcG9uZW50IGZhY3RvcnkgdXNpbmcgdGhlIGNvbXBvbmVudCB0eXBlXHJcbiAgICAgIC8vY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnRUeXBlIGFzIFR5cGU8YW55Pik7XHJcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcCk7XHJcbiAgICAgIHJldHVybiBmYWN0b3J5O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBdUQsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFpQixRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXZELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFpQjtJQUNsRCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsZUFBZSxDQUFJLGFBQXdCLEVBQUUsYUFBc0I7SUFDMUUsOENBQThDO0lBQzlDLE9BQU8sT0FBTyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTtJQUN2RyxvREFBb0Q7SUFDcEQsVUFBVSxZQUFZLGFBQWEsQ0FDcEMsQ0FBQztBQUNKLENBQUM7QUFFYSxNQUFNLE9BQU8sOEJBQThCO0lBRXZEO0lBQ0Usa0NBQWtDO0lBQzFCLHlCQUFtRDtRQUFuRCw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBQzNELFNBQVM7UUFDVCxrQ0FBa0M7UUFDbEMsa0RBQWtEO1FBQ2xELGtDQUFrQztRQUNsQyxPQUFPO1FBQ0gsK0VBQStFO0lBQ25GLENBQUM7SUFDSSxTQUFTLENBQUMsaUJBQXlCO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJO1lBQ1AsTUFBTSxDQUFDLGtEQUFrRCxpQkFBaUIsTUFBTSxDQUFDLENBQUM7UUFDcEYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ00sT0FBTyxDQUFDLGlCQUF5QjtRQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFckMsd0VBQXdFO1FBQzlFLG9EQUFvRDtRQUNwRCx1Q0FBdUM7UUFDdkMsd0NBQXdDO1FBQ3hDLFlBQVk7UUFDWixLQUFLO1FBQ0wsR0FBRztRQUVQLG9FQUFvRTtRQUVwRSx5RkFBeUY7UUFDekYsbUNBQW1DO1FBQ25DLDBFQUEwRTtRQUUxRSxzR0FBc0c7UUFDdEcsaUdBQWlHO1FBQ2pHLEtBQUs7UUFFTCx1REFBdUQ7UUFDdkQsOEdBQThHO1FBQzlHLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzsySEEzQ3NCLDhCQUE4QjsrSEFBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBQXhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgVHlwZSwgTmdNb2R1bGUsIENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIFJFR0lTVFJZIH0gZnJvbSAnLi9kZWNvcmF0b3JzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbXBvbmVudHMoY29tcG9uZW50czogYW55W10pIHtcclxuICBjb21wb25lbnRzLmZvckVhY2goYyA9PiBSRUdJU1RSWVtjWydfX2JpemRvYyddXSA9IGMpO1xyXG59XHJcblxyXG4vKipcclxuICogZ2V0cyBhIGRlY29yYXRvciBvZiB0aGUgcmVxdWVzdGVkIHR5cGUgb2ZmIG9mIHRoZSBnaXZlbiBkZWNvcmF0ZWQgdHlwZVxyXG4gKiBAcGFyYW0gZGVjb3JhdGVkVHlwZSB0byBnZXQgZGVjb3JhdG9yIGFubm90YXRpb25zIG9mZiBvZlxyXG4gKiBAcGFyYW0gZGVjb3JhdG9yVHlwZSB0byBzZWFyY2ggZm9yIG91dCBvZiBhbGwgdGhlIGRlY29yYXRvcnMgb24gZGVjb3JhdGVkVHlwZVxyXG4gKiBAcmV0dXJucyBkZWNvcmF0b3IgZnJvbSB0aGUgZGVjb3JhdGVkVHlwZSBvZiB0aGUgZGVjb3JhdG9yVHlwZVxyXG4gKi9cclxuZnVuY3Rpb24gZGVjb3JhdG9yT2ZUeXBlPFQ+KGRlY29yYXRlZFR5cGU6IFR5cGU8YW55PiwgZGVjb3JhdG9yVHlwZTogVHlwZTxUPik6IFQge1xyXG4gIC8vIGdldCBhbGwgZGVjb3JhdG9ycyBvZmYgb2YgdGhlIHByb3ZpZGVkIHR5cGVcclxuICByZXR1cm4gUmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZGVjb3JhdGVkVHlwZSwgJ19fYW5ub3RhdGlvbnNfXycpLnZhbHVlLmZpbmQoKGFubm90YXRpb246IGFueSkgPT5cclxuICAgIC8vIGdldCB0aGUgZGVjb3JhdG9yIHRoYXQgbWF0Y2hlcyB0aGUgcmVxdWVzdGVkIHR5cGVcclxuICAgIGFubm90YXRpb24gaW5zdGFuY2VvZiBkZWNvcmF0b3JUeXBlXHJcbiAgKTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKSBleHBvcnQgY2xhc3MgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIHtcclxuICAgIHByaXZhdGUgX2ZhY3RvcmllczogdW5rbm93bltdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy9wcml2YXRlIF9hcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICAgIC8vX2FwcFJlZlxyXG4gICAgLy8gIC5jb21wb25lbnRUeXBlcy5mb3JFYWNoKHQgPT4ge1xyXG4gICAgLy8gICAgY29uc3QgdHlwZSA9IHRbJ19fYml6ZG9jJ10gYXMgQ29tcG9uZW50VHlwZTtcclxuICAgIC8vICAgIFJFR0lTVFJZW3R5cGUuc2VsZWN0b3JdID0gdDtcclxuICAgIC8vICB9KTtcclxuICAgICAgICAvL3RoaXMuX2ZhY3RvcmllcyA9IEFycmF5LmZyb20oX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlclsnX2ZhY3RvcmllcyddLmtleXMoKSk7XHJcbiAgICB9XHJcbiAgcHVibGljIGNvbXBvbmVudChjb21wb25lbnRTZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGNvbXAgPSBSRUdJU1RSWVtjb21wb25lbnRTZWxlY3Rvcl07XHJcbiAgICAgIGlmICghY29tcClcclxuICAgICAgICB0aHJvdyAoYE5vIGNvbXBvbmVudCByZWdpc3RlcmVkIGFzIEBCaXpEb2Moe3NlbGVjdG9yOiAnJHtjb21wb25lbnRTZWxlY3Rvcn0nfSkuYCk7XHJcbiAgICAgIHJldHVybiBjb21wO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHJlc29sdmUoY29tcG9uZW50U2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgICBjb25zdCBjb21wID0gdGhpcy5jb21wb25lbnQoY29tcG9uZW50U2VsZWN0b3IpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vZm9yIChsZXQgYyBvZiAoPGFueT50aGlzLmNvbXBpbGVyKS5fZGVsZWdhdGUuX2NvbXBpbGVkVGVtcGxhdGVDYWNoZSkge1xyXG4gICAgICAgICAgLy8gIGxldCBtOiBDb21waWxlRGlyZWN0aXZlTWV0YWRhdGEgPSBjWzFdLmNvbXBNZXRhO1xyXG4gICAgICAgICAgLy8gIGlmIChtLnNlbGVjdG9yID09PSB0aGlzLnRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAvLyAgICBmYWN0b3J5ID0gPGFueT5tLmNvbXBvbmVudEZhY3Rvcnk7XHJcbiAgICAgICAgICAvLyAgICBicmVhaztcclxuICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAvL31cclxuXHJcbiAgICAgIC8vY29uc3QgbmdNb2R1bGVEZWNvcmF0b3IgPSBkZWNvcmF0b3JPZlR5cGUoQml6RG9jTW9kdWxlLCBOZ01vZHVsZSk7XHJcblxyXG4gICAgICAvL2NvbnN0IGNvbXBvbmVudFR5cGUgPSBuZ01vZHVsZURlY29yYXRvci5kZWNsYXJhdGlvbnMuZmluZCgoZGVjbGFyYXRpb246IFR5cGU8YW55PikgPT4ge1xyXG4gICAgICAvLyAgLy8gZ2V0IHRoZSBAQ29tcG9uZW50IGRlY29yYXRvclxyXG4gICAgICAvLyAgY29uc3QgZGVjbGFyYXRpb25Bbm5vdGF0aW9uID0gZGVjb3JhdG9yT2ZUeXBlKGRlY2xhcmF0aW9uLCBDb21wb25lbnQpO1xyXG5cclxuICAgICAgLy8gIC8vIGZpbmQgYSBkZWNsYXJhdGlvbiB3aXRoIHRoZSBAQ29tcG9uZW50IGRlY29yYXRvciAobm90IGEgQERpcmVjdGl2ZSkgd2l0aCB0aGUgcmVxdWVzdGVkIHNlbGVjdG9yXHJcbiAgICAgIC8vICByZXR1cm4gZGVjbGFyYXRpb25Bbm5vdGF0aW9uICE9IG51bGwgJiYgZGVjbGFyYXRpb25Bbm5vdGF0aW9uLnNlbGVjdG9yID09PSBjb21wb25lbnRTZWxlY3RvcjtcclxuICAgICAgLy99KTtcclxuXHJcbiAgICAgIC8vLy8gZ2V0IHRoZSBjb21wb25lbnQgZmFjdG9yeSB1c2luZyB0aGUgY29tcG9uZW50IHR5cGVcclxuICAgICAgLy9jb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudFR5cGUgYXMgVHlwZTxhbnk+KTtcclxuICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wKTtcclxuICAgICAgcmV0dXJuIGZhY3Rvcnk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -6,12 +6,12 @@ export var OpenPolicy;
6
6
  OpenPolicy[OpenPolicy["Clear"] = 2] = "Clear";
7
7
  OpenPolicy[OpenPolicy["Defer"] = 4] = "Defer";
8
8
  OpenPolicy[OpenPolicy["Pinnable"] = 8] = "Pinnable";
9
- OpenPolicy[OpenPolicy["Expandable"] = 16] = "Expandable";
10
- OpenPolicy[OpenPolicy["Tab"] = 48] = "Tab";
11
- OpenPolicy[OpenPolicy["Dialog"] = 112] = "Dialog";
12
- OpenPolicy[OpenPolicy["Dismissable"] = 128] = "Dismissable";
9
+ OpenPolicy[OpenPolicy["Stretch"] = 16] = "Stretch";
10
+ OpenPolicy[OpenPolicy["Tab"] = 32] = "Tab";
11
+ OpenPolicy[OpenPolicy["Dialog"] = 96] = "Dialog";
12
+ OpenPolicy[OpenPolicy["Expandable"] = 128] = "Expandable";
13
13
  OpenPolicy[OpenPolicy["Toggle"] = 256] = "Toggle";
14
- OpenPolicy[OpenPolicy["Stretch"] = 256] = "Stretch";
14
+ OpenPolicy[OpenPolicy["Dismissable"] = 512] = "Dismissable";
15
15
  })(OpenPolicy || (OpenPolicy = {}));
16
16
  export const DEFAULT_POLICY = OpenPolicy.Pane;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLFFBQVEsQ0FBQyxDQUFDO0FBdUJ4RSxNQUFNLENBQU4sSUFBWSxVQVdYO0FBWEQsV0FBWSxVQUFVO0lBQ3BCLDJDQUFhLENBQUE7SUFDYiw2Q0FBYyxDQUFBO0lBQ2QsNkNBQWMsQ0FBQTtJQUNkLG1EQUFpQixDQUFBO0lBQ2pCLHdEQUFtQixDQUFBO0lBQ25CLDBDQUFvQyxDQUFBO0lBQ3BDLGlEQUFnQyxDQUFBO0lBQ2hDLDJEQUFvQixDQUFBO0lBQ3BCLGlEQUFlLENBQUE7SUFDZixtREFBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBWFcsVUFBVSxLQUFWLFVBQVUsUUFXckI7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9sZGVyQ29sdW1uIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEJJWkRPQ19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Qml6RG9jQ29uZmlnPignYml6ZG9jJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVSb3V0ZSB7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIGNvbXBvbmVudD86IFR5cGU8YW55PjtcclxuICByZXNvbHZlPzogeyBba2V5OiBzdHJpbmddOiBUeXBlPFBhbmVSZXNvbHZlPGFueT4+IH07XHJcbiAgY2FuRGlzbWlzcz86IFR5cGU8Q2FuRGlzbWlzczxhbnk+PjtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGhlbHA/OiBzdHJpbmc7XHJcbiAgY2hpbGRyZW4/OiBQYW5lUm91dGVbXTtcclxuICBwb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYXJhbU1hcCA9IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVSZXNvbHZlPFQ+IHtcclxuICBvblJlc29sdmUocGFyYW1zOiBQYXJhbU1hcCwgcXVlcnlQYXJhbXM/OiBQYXJhbU1hcCk6IE9ic2VydmFibGU8VD4gfCBQcm9taXNlPFQ+IHwgVDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENhbkRpc21pc3M8VD4ge1xyXG4gIG9uRGlzbWlzcyhjb21wb25lbnQ6IFQpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB8IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIE9wZW5Qb2xpY3kge1xyXG4gIFBhbmUgPSAxIDw8IDAsXHJcbiAgQ2xlYXIgPSAxIDw8IDEsXHJcbiAgRGVmZXIgPSAxIDw8IDIsXHJcbiAgUGlubmFibGUgPSAxIDw8IDMsXHJcbiAgRXhwYW5kYWJsZSA9IDEgPDwgNCxcclxuICBUYWIgPSAxIDw8IDUgfCBPcGVuUG9saWN5LkV4cGFuZGFibGUsXHJcbiAgRGlhbG9nID0gMSA8PCA2IHwgT3BlblBvbGljeS5UYWIsXHJcbiAgRGlzbWlzc2FibGUgPSAxIDw8IDcsXHJcbiAgVG9nZ2xlID0gMSA8PCA4LFxyXG4gIFN0cmV0Y2ggPSAxIDw8IDhcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUE9MSUNZID0gT3BlblBvbGljeS5QYW5lO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCaXpEb2NDaGlsZENvbmZpZyB7XHJcbiAgY29tcG9uZW50czogVHlwZTxhbnk+W107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUaGVtZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHByaW1hcnk6IHN0cmluZztcclxuICBhY2NlbnQ6IHN0cmluZztcclxuICBjb2xvcjogc3RyaW5nO1xyXG4gIGRhcms/OiBib29sZWFuXHJcbn1cclxuXHJcbi8qKiBCaXpEb2MgYXBwIG9wdGlvbnMgKi9cclxuZXhwb3J0IGludGVyZmFjZSBCaXpEb2NDb25maWcge1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICAvKiogYXZhaWxhYmxlIHVzZXIgaW50ZXJmYWNlIGxhbmd1YWdlcyAqL1xyXG4gIHRoZW1lcz86IFRoZW1lW107XHJcbiAgbGFuZ3VhZ2VzPzogc3RyaW5nW107XHJcbiAgYXBwVGl0bGU/OiBzdHJpbmc7XHJcbiAgZmlyZWJhc2U/OiBGaXJlYmFzZVNldHRpbmdzO1xyXG4gIGNoYXRpbmc/OiBDaGF0U2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGNvbW1lbnRzPzogQ29tbWVudHNTZXR0aW5ncztcclxuICBtYXBzPzogR29vZ2xlTWFwc1NldHRpbmdzIHwgYm9vbGVhbjtcclxuICBmb3JtYXRzPzogRm9ybWF0c1NldHRpbmdzO1xyXG4gIHJvdXRlcz86IFBhbmVSb3V0ZVtdO1xyXG4gIGNvbXBvbmVudHM6IFR5cGU8YW55PltdO1xyXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlclNldHRpbmdzIHwgYm9vbGVhbjtcclxuICBmb2xkZXJzPzogRm9sZGVyc1NldHRpbmdzO1xyXG4gIGFuYWx5c2lzPzogQW5hbHlzaXNTZXR0aW5ncyB8IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IHR5cGUgU2NvcGVUeXBlID0gJ3BhdHRlcm5zJyB8ICdwb3NpdGlvbnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBbmFseXNpc1NldHRpbmdzIHtcclxufVxyXG5leHBvcnRcclxuICBpbnRlcmZhY2UgU2NoZWR1bGVyU2V0dGluZ3Mge1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb2xkZXJzU2V0dGluZ3Mge1xyXG4gIGN1YmU/OiBzdHJpbmc7XHJcbiAgYXhlcz86IHN0cmluZ1tdO1xyXG4gIGNvbHVtbnM/OiBGb2xkZXJDb2x1bW5bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHNTZXR0aW5ncyB7XHJcbiAgZGF0ZT86IHN0cmluZztcclxuICBkYXRlVGltZT86IHN0cmluZztcclxuICBmcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRzU2V0dGluZ3Mge1xyXG4gIHByZXNlcnZlRHJhZnQ/OiBib29sZWFuO1xyXG4gIHZvdGluZz86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2V0dGluZ3Mge1xyXG4gIHByZXNlcnZlRHJhZnQ/OiBib29sZWFuO1xyXG4gIGFwcD86IHN0cmluZyB8IENoYXRMYXVuY2hlckZuO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDaGF0TGF1bmNoZXJGbiB7XHJcbiAgKGlkZW50aXR5OiBzdHJpbmcpOiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpcmViYXNlU2V0dGluZ3Mge1xyXG4gIGFwaUtleTogc3RyaW5nO1xyXG4gIHZhcGlkS2V5Pzogc3RyaW5nO1xyXG4gIHByb2plY3RJZDogc3RyaW5nO1xyXG4gIHNlbmRlcklkOiBzdHJpbmc7XHJcbiAgYXBwSWQ6IHN0cmluZztcclxuICAvKiogbWlsbGlzZWNvbmRlcyBiZWZvcmUgdXNlciBpcyBwcm9tcHQgdG8gYXBwcm92ZSByZWNlaXZpbmcgbWVzc2FnZXMgKi9cclxuICBncmFjZT86IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZU1hcHNTZXR0aW5ncyB7XHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgY29uZmlndXJhdGlvbiB7IH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkQ29uZmlnIHtcclxuICBtYXBzPzogR29vZ2xlTWFwc1NldHRpbmdzIHwgYm9vbGVhbjtcclxuICBmb3JtYXRzPzogRm9ybWF0c1NldHRpbmdzO1xyXG4gIHJvdXRpbmc/OiAnbmcnIHwgJ3BhbmUnXHJcbn1cclxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLFFBQVEsQ0FBQyxDQUFDO0FBdUJ4RSxNQUFNLENBQU4sSUFBWSxVQVdYO0FBWEQsV0FBWSxVQUFVO0lBQ3BCLDJDQUFhLENBQUE7SUFDYiw2Q0FBYyxDQUFBO0lBQ2QsNkNBQWMsQ0FBQTtJQUNkLG1EQUFpQixDQUFBO0lBQ2pCLGtEQUFnQixDQUFBO0lBQ2hCLDBDQUFZLENBQUE7SUFDWixnREFBZ0MsQ0FBQTtJQUNoQyx5REFBbUIsQ0FBQTtJQUNuQixpREFBZSxDQUFBO0lBQ2YsMkRBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvbGRlckNvbHVtbiB9IGZyb20gJy4vbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBCSVpET0NfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEJpekRvY0NvbmZpZz4oJ2JpemRvYycpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lUm91dGUge1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICBjb21wb25lbnQ/OiBUeXBlPGFueT47XHJcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nXTogVHlwZTxQYW5lUmVzb2x2ZTxhbnk+PiB9O1xyXG4gIGNhbkRpc21pc3M/OiBUeXBlPENhbkRpc21pc3M8YW55Pj47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogUGFuZVJvdXRlW107XHJcbiAgcG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFyYW1NYXAgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lUmVzb2x2ZTxUPiB7XHJcbiAgb25SZXNvbHZlKHBhcmFtczogUGFyYW1NYXAsIHF1ZXJ5UGFyYW1zPzogUGFyYW1NYXApOiBPYnNlcnZhYmxlPFQ+IHwgUHJvbWlzZTxUPiB8IFQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYW5EaXNtaXNzPFQ+IHtcclxuICBvbkRpc21pc3MoY29tcG9uZW50OiBUKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBPcGVuUG9saWN5IHtcclxuICBQYW5lID0gMSA8PCAwLFxyXG4gIENsZWFyID0gMSA8PCAxLFxyXG4gIERlZmVyID0gMSA8PCAyLFxyXG4gIFBpbm5hYmxlID0gMSA8PCAzLFxyXG4gIFN0cmV0Y2ggPSAxIDw8IDQsXHJcbiAgVGFiID0gMSA8PCA1LFxyXG4gIERpYWxvZyA9IDEgPDwgNiB8IE9wZW5Qb2xpY3kuVGFiLFxyXG4gIEV4cGFuZGFibGUgPSAxIDw8IDcsXHJcbiAgVG9nZ2xlID0gMSA8PCA4LFxyXG4gIERpc21pc3NhYmxlID0gMSA8PCA5LFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgREVGQVVMVF9QT0xJQ1kgPSBPcGVuUG9saWN5LlBhbmU7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJpekRvY0NoaWxkQ29uZmlnIHtcclxuICBjb21wb25lbnRzOiBUeXBlPGFueT5bXTtcclxuICByb3V0ZXM/OiBQYW5lUm91dGVbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcHJpbWFyeTogc3RyaW5nO1xyXG4gIGFjY2VudDogc3RyaW5nO1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbiAgZGFyaz86IGJvb2xlYW5cclxufVxyXG5cclxuLyoqIEJpekRvYyBhcHAgb3B0aW9ucyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEJpekRvY0NvbmZpZyB7XHJcbiAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xyXG4gIC8qKiBhdmFpbGFibGUgdXNlciBpbnRlcmZhY2UgbGFuZ3VhZ2VzICovXHJcbiAgdGhlbWVzPzogVGhlbWVbXTtcclxuICBsYW5ndWFnZXM/OiBzdHJpbmdbXTtcclxuICBhcHBUaXRsZT86IHN0cmluZztcclxuICBmaXJlYmFzZT86IEZpcmViYXNlU2V0dGluZ3M7XHJcbiAgY2hhdGluZz86IENoYXRTZXR0aW5ncyB8IGJvb2xlYW47XHJcbiAgY29tbWVudHM/OiBDb21tZW50c1NldHRpbmdzO1xyXG4gIG1hcHM/OiBHb29nbGVNYXBzU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBGb3JtYXRzU2V0dGluZ3M7XHJcbiAgcm91dGVzPzogUGFuZVJvdXRlW107XHJcbiAgY29tcG9uZW50czogVHlwZTxhbnk+W107XHJcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvbGRlcnM/OiBGb2xkZXJzU2V0dGluZ3M7XHJcbiAgYW5hbHlzaXM/OiBBbmFseXNpc1NldHRpbmdzIHwgYm9vbGVhbjtcclxufVxyXG5leHBvcnQgdHlwZSBTY29wZVR5cGUgPSAncGF0dGVybnMnIHwgJ3Bvc2l0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2lzU2V0dGluZ3Mge1xyXG59XHJcbmV4cG9ydFxyXG4gIGludGVyZmFjZSBTY2hlZHVsZXJTZXR0aW5ncyB7XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvbGRlcnNTZXR0aW5ncyB7XHJcbiAgY3ViZT86IHN0cmluZztcclxuICBheGVzPzogc3RyaW5nW107XHJcbiAgY29sdW1ucz86IEZvbGRlckNvbHVtbltdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0c1NldHRpbmdzIHtcclxuICBkYXRlPzogc3RyaW5nO1xyXG4gIGRhdGVUaW1lPzogc3RyaW5nO1xyXG4gIGZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudHNTZXR0aW5ncyB7XHJcbiAgcHJlc2VydmVEcmFmdD86IGJvb2xlYW47XHJcbiAgdm90aW5nPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZXR0aW5ncyB7XHJcbiAgcHJlc2VydmVEcmFmdD86IGJvb2xlYW47XHJcbiAgYXBwPzogc3RyaW5nIHwgQ2hhdExhdW5jaGVyRm47XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENoYXRMYXVuY2hlckZuIHtcclxuICAoaWRlbnRpdHk6IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlyZWJhc2VTZXR0aW5ncyB7XHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbiAgdmFwaWRLZXk/OiBzdHJpbmc7XHJcbiAgcHJvamVjdElkOiBzdHJpbmc7XHJcbiAgc2VuZGVySWQ6IHN0cmluZztcclxuICBhcHBJZDogc3RyaW5nO1xyXG4gIC8qKiBtaWxsaXNlY29uZGVzIGJlZm9yZSB1c2VyIGlzIHByb21wdCB0byBhcHByb3ZlIHJlY2VpdmluZyBtZXNzYWdlcyAqL1xyXG4gIGdyYWNlPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlTWFwc1NldHRpbmdzIHtcclxuICBhcGlLZXk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBjb25maWd1cmF0aW9uIHsgfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRDb25maWcge1xyXG4gIG1hcHM/OiBHb29nbGVNYXBzU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBGb3JtYXRzU2V0dGluZ3M7XHJcblxyXG4gIHJvdXRpbmc/OiAnbmcnIHwgJ3BhbmUnXHJcbn1cclxuIl19