ngx-edu-sharing-ui 9.1.1 → 9999.0.0

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 (100) hide show
  1. package/assets/scss/variables-scss.scss +2 -0
  2. package/assets/scss/variables.scss +2 -1
  3. package/esm2022/lib/actionbar/actionbar.component.mjs +6 -6
  4. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +4 -4
  5. package/esm2022/lib/directives/border-box-observer.directive.mjs +5 -5
  6. package/esm2022/lib/directives/check-text-overflow.directive.mjs +5 -5
  7. package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +5 -5
  8. package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +5 -5
  9. package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +5 -5
  10. package/esm2022/lib/directives/focus-state.directive.mjs +5 -5
  11. package/esm2022/lib/directives/icon.directive.mjs +6 -6
  12. package/esm2022/lib/directives/infinite-scroll.directive.mjs +5 -5
  13. package/esm2022/lib/dropdown/dropdown.component.mjs +6 -6
  14. package/esm2022/lib/edu-sharing-ui-configuration.mjs +3 -3
  15. package/esm2022/lib/edu-sharing-ui.module.mjs +9 -5
  16. package/esm2022/lib/list-items/format-duration.pipe.mjs +3 -3
  17. package/esm2022/lib/list-items/list-base/list-base.component.mjs +5 -5
  18. package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +5 -5
  19. package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +4 -4
  20. package/esm2022/lib/list-items/list-items.module.mjs +4 -4
  21. package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +5 -5
  22. package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +5 -5
  23. package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +5 -5
  24. package/esm2022/lib/list-items/list-text/list-text.component.mjs +8 -10
  25. package/esm2022/lib/list-items/list-widget.mjs +5 -5
  26. package/esm2022/lib/list-items/node-row/node-row.component.mjs +5 -5
  27. package/esm2022/lib/list-items/node-source.pipe.mjs +5 -5
  28. package/esm2022/lib/mds/mds-helper.service.mjs +167 -0
  29. package/esm2022/lib/mds/mds.module.mjs +16 -0
  30. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
  31. package/esm2022/lib/node-entries/items-cap.mjs +1 -1
  32. package/esm2022/lib/node-entries/list-item-label.pipe.mjs +5 -5
  33. package/esm2022/lib/node-entries/node-cache.mjs +1 -1
  34. package/esm2022/lib/node-entries/node-data-source-remote.mjs +1 -1
  35. package/esm2022/lib/node-entries/node-data-source.mjs +1 -1
  36. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +7 -7
  37. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +6 -6
  38. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +6 -6
  39. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +10 -6
  40. package/esm2022/lib/node-entries/node-entries-global.service.mjs +5 -5
  41. package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +6 -6
  42. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +6 -6
  43. package/esm2022/lib/node-entries/node-entries-templates.service.mjs +4 -4
  44. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +5 -5
  45. package/esm2022/lib/node-entries/node-entries.component.mjs +6 -6
  46. package/esm2022/lib/node-entries/node-entries.module.mjs +4 -4
  47. package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +5 -5
  48. package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +6 -6
  49. package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +5 -5
  50. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +5 -5
  51. package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +5 -5
  52. package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +5 -5
  53. package/esm2022/lib/node-url/node-url.component.mjs +5 -5
  54. package/esm2022/lib/pipes/file-size.pipe.mjs +5 -5
  55. package/esm2022/lib/pipes/format-date.pipe.mjs +5 -5
  56. package/esm2022/lib/pipes/node-icon.pipe.mjs +4 -4
  57. package/esm2022/lib/pipes/node-image-size.pipe.mjs +4 -4
  58. package/esm2022/lib/pipes/node-image.pipe.mjs +5 -5
  59. package/esm2022/lib/pipes/node-person-name.pipe.mjs +5 -5
  60. package/esm2022/lib/pipes/node-title.pipe.mjs +4 -4
  61. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +5 -5
  62. package/esm2022/lib/pipes/property-slug.pipe.mjs +3 -3
  63. package/esm2022/lib/pipes/replace-chars.pipe.mjs +5 -5
  64. package/esm2022/lib/pipes/vcard-name.pipe.mjs +4 -4
  65. package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +3 -3
  66. package/esm2022/lib/services/accessibility.service.mjs +5 -5
  67. package/esm2022/lib/services/app-container.service.mjs +5 -5
  68. package/esm2022/lib/services/local-events.service.mjs +3 -3
  69. package/esm2022/lib/services/node-entries.service.mjs +5 -5
  70. package/esm2022/lib/services/node-helper.service.mjs +6 -6
  71. package/esm2022/lib/services/nodes-drag-drop.service.mjs +5 -5
  72. package/esm2022/lib/services/options-helper-data.service.mjs +6 -6
  73. package/esm2022/lib/services/repo-url.service.mjs +5 -5
  74. package/esm2022/lib/services/temporary-storage.service.mjs +5 -5
  75. package/esm2022/lib/services/ui.service.mjs +5 -5
  76. package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +5 -5
  77. package/esm2022/lib/spinner/spinner.component.mjs +6 -6
  78. package/esm2022/lib/translations/translation-loader.mjs +12 -9
  79. package/esm2022/lib/translations/translations.module.mjs +7 -7
  80. package/esm2022/lib/translations/translations.service.mjs +16 -8
  81. package/esm2022/lib/util/DateHelper.mjs +1 -1
  82. package/esm2022/lib/util/VCard.mjs +1 -1
  83. package/esm2022/lib/util/color-helper.mjs +1 -1
  84. package/esm2022/lib/util/duration-helper.mjs +1 -1
  85. package/esm2022/lib/util/helper.mjs +1 -1
  86. package/esm2022/lib/util/rest-helper.mjs +1 -1
  87. package/esm2022/module.mjs +3 -1
  88. package/fesm2022/ngx-edu-sharing-ui.mjs +539 -350
  89. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  90. package/lib/edu-sharing-ui.module.d.ts +7 -6
  91. package/lib/list-items/list-text/list-text.component.d.ts +1 -1
  92. package/lib/list-items/list-widget.d.ts +1 -1
  93. package/lib/mds/mds-helper.service.d.ts +37 -0
  94. package/lib/mds/mds.module.d.ts +6 -0
  95. package/lib/node-entries/node-data-source-remote.d.ts +2 -2
  96. package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +1 -0
  97. package/lib/types/option-item.d.ts +21 -21
  98. package/lib/util/ui-constants.d.ts +2 -2
  99. package/module.d.ts +2 -0
  100. package/package.json +5 -5
@@ -28,9 +28,9 @@ export class TranslationsModule {
28
28
  );*/
29
29
  }
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, deps: [{ token: TranslationsModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, imports: [i1.TranslateModule] }); }
33
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, imports: [TranslateModule.forRoot({
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, deps: [{ token: TranslationsModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, imports: [i1.TranslateModule] }); }
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, imports: [TranslateModule.forRoot({
34
34
  loader: {
35
35
  provide: TranslateLoader,
36
36
  useFactory: TranslationLoader.create,
@@ -47,7 +47,7 @@ export class TranslationsModule {
47
47
  },
48
48
  })] }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, decorators: [{
51
51
  type: NgModule,
52
52
  args: [{
53
53
  declarations: [],
@@ -70,9 +70,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
70
70
  }),
71
71
  ],
72
72
  }]
73
- }], ctorParameters: function () { return [{ type: TranslationsModule, decorators: [{
73
+ }], ctorParameters: () => [{ type: TranslationsModule, decorators: [{
74
74
  type: Optional
75
75
  }, {
76
76
  type: SkipSelf
77
- }] }]; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUV6RDs7OztHQUlHO0FBc0JILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQW9DLFlBQWlDO1FBQ2pFLElBQUksWUFBWSxFQUFFO1lBQ2QsT0FBTyxDQUFDLElBQUksQ0FDUix1RUFBdUUsRUFDdkUsWUFBWSxDQUNmLENBQUM7WUFDRjs7Z0JBRUk7U0FDUDtJQUNMLENBQUM7OEdBbEJRLGtCQUFrQjsrR0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFsQnZCLGVBQWUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3BCLE1BQU0sRUFBRTtvQkFDSixPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLGlCQUFpQixDQUFDLE1BQU07b0JBQ3BDLElBQUksRUFBRTt3QkFDRixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IseUJBQXlCO3dCQUN6QixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLENBQUM7cUJBQ3JDO2lCQUNKO2dCQUNELHlCQUF5QixFQUFFO29CQUN2QixPQUFPLEVBQUUseUJBQXlCO29CQUNsQyxRQUFRLEVBQUUsMEJBQTBCO2lCQUN2QzthQUNKLENBQUM7OzJGQUdHLGtCQUFrQjtrQkFyQjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCxlQUFlLENBQUMsT0FBTyxDQUFDOzRCQUNwQixNQUFNLEVBQUU7Z0NBQ0osT0FBTyxFQUFFLGVBQWU7Z0NBQ3hCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2dDQUNwQyxJQUFJLEVBQUU7b0NBQ0YsVUFBVTtvQ0FDVixhQUFhO29DQUNiLHlCQUF5QjtvQ0FDekIsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDO2lDQUNyQzs2QkFDSjs0QkFDRCx5QkFBeUIsRUFBRTtnQ0FDdkIsT0FBTyxFQUFFLHlCQUF5QjtnQ0FDbEMsUUFBUSxFQUFFLDBCQUEwQjs2QkFDdkM7eUJBQ0osQ0FBQztxQkFDTDtpQkFDSjs7MEJBU2dCLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9lZHUtc2hhcmluZy11aS1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEFTU0VUU19CQVNFX1BBVEggfSBmcm9tICcuLi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IEZhbGxiYWNrVHJhbnNsYXRpb25IYW5kbGVyIH0gZnJvbSAnLi9mYWxsYmFjay10cmFuc2xhdGlvbi1oYW5kbGVyJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uTG9hZGVyIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1sb2FkZXInO1xuXG4vKipcbiAqIEltcG9ydCB0aGlzIG1vZHVsZSBvbmNlIGluIHRoZSBhcHAgbW9kdWxlIHRvIHByb3ZpZGUgdGhlIGBUcmFuc2xhdGVTZXJ2aWNlYC5cbiAqXG4gKiBFeHBvcnQgYFRyYW5zbGF0ZU1vZHVsZWAgaW4gdGhlIHNoYXJlZCBtb2R1bGUgdG8gcHJvdmlkZSBkaXJlY3RpdmVzIGFuZCBwaXBlcy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgICAgICAgbG9hZGVyOiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IFRyYW5zbGF0aW9uTG9hZGVyLmNyZWF0ZSxcbiAgICAgICAgICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICAgICAgICAgIEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgICAgICAgIENvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgIEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgQVNTRVRTX0JBU0VfUEFUSF0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyOiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRmFsbGJhY2tUcmFuc2xhdGlvbkhhbmRsZXIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VHJhbnNsYXRpb25zTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogVHJhbnNsYXRpb25zTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU/OiBUcmFuc2xhdGlvbnNNb2R1bGUpIHtcbiAgICAgICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICdUcmFuc2xhdGlvbnNNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknLFxuICAgICAgICAgICAgICAgIHBhcmVudE1vZHVsZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKnRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAnVHJhbnNsYXRpb25zTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5JyxcbiAgICAgICAgICAgICk7Ki9cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
77
+ }] }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUV6RDs7OztHQUlHO0FBc0JILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQW9DLFlBQWlDO1FBQ2pFLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUNSLHVFQUF1RSxFQUN2RSxZQUFZLENBQ2YsQ0FBQztZQUNGOztnQkFFSTtRQUNSLENBQUM7SUFDTCxDQUFDOzhHQWxCUSxrQkFBa0I7K0dBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLFlBbEJ2QixlQUFlLENBQUMsT0FBTyxDQUFDO2dCQUNwQixNQUFNLEVBQUU7b0JBQ0osT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO29CQUNwQyxJQUFJLEVBQUU7d0JBQ0YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLHlCQUF5Qjt3QkFDekIsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDO3FCQUNyQztpQkFDSjtnQkFDRCx5QkFBeUIsRUFBRTtvQkFDdkIsT0FBTyxFQUFFLHlCQUF5QjtvQkFDbEMsUUFBUSxFQUFFLDBCQUEwQjtpQkFDdkM7YUFDSixDQUFDOzsyRkFHRyxrQkFBa0I7a0JBckI5QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDcEIsTUFBTSxFQUFFO2dDQUNKLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixVQUFVLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtnQ0FDcEMsSUFBSSxFQUFFO29DQUNGLFVBQVU7b0NBQ1YsYUFBYTtvQ0FDYix5QkFBeUI7b0NBQ3pCLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQztpQ0FDckM7NkJBQ0o7NEJBQ0QseUJBQXlCLEVBQUU7Z0NBQ3ZCLE9BQU8sRUFBRSx5QkFBeUI7Z0NBQ2xDLFFBQVEsRUFBRSwwQkFBMEI7NkJBQ3ZDO3lCQUNKLENBQUM7cUJBQ0w7aUJBQ0o7OzBCQVNnQixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsIFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBBU1NFVFNfQkFTRV9QQVRIIH0gZnJvbSAnLi4vdHlwZXMvaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBGYWxsYmFja1RyYW5zbGF0aW9uSGFuZGxlciB9IGZyb20gJy4vZmFsbGJhY2stdHJhbnNsYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbkxvYWRlciB9IGZyb20gJy4vdHJhbnNsYXRpb24tbG9hZGVyJztcblxuLyoqXG4gKiBJbXBvcnQgdGhpcyBtb2R1bGUgb25jZSBpbiB0aGUgYXBwIG1vZHVsZSB0byBwcm92aWRlIHRoZSBgVHJhbnNsYXRlU2VydmljZWAuXG4gKlxuICogRXhwb3J0IGBUcmFuc2xhdGVNb2R1bGVgIGluIHRoZSBzaGFyZWQgbW9kdWxlIHRvIHByb3ZpZGUgZGlyZWN0aXZlcyBhbmQgcGlwZXMuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgICAgIGxvYWRlcjoge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBUcmFuc2xhdGlvbkxvYWRlci5jcmVhdGUsXG4gICAgICAgICAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgICAgICAgICBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICAgICAgICBDb25maWdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBbbmV3IE9wdGlvbmFsKCksIEFTU0VUU19CQVNFX1BBVEhdLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlcjoge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsXG4gICAgICAgICAgICAgICAgdXNlQ2xhc3M6IEZhbGxiYWNrVHJhbnNsYXRpb25IYW5kbGVyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25zTW9kdWxlIHtcbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRyYW5zbGF0aW9uc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFRyYW5zbGF0aW9uc01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlPzogVHJhbnNsYXRpb25zTW9kdWxlKSB7XG4gICAgICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnVHJhbnNsYXRpb25zTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5JyxcbiAgICAgICAgICAgICAgICBwYXJlbnRNb2R1bGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyp0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ1RyYW5zbGF0aW9uc01vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScsXG4gICAgICAgICAgICApOyovXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -8,7 +8,15 @@ import * as i2 from "@angular/router";
8
8
  import * as i3 from "@ngx-translate/core";
9
9
  import * as i4 from "../services/abstract/app.service";
10
10
  // 'none' means that only labels should be shown (for dev)
11
- const DEFAULT_SUPPORTED_LANGUAGES = ['de', 'de-informal', 'en', 'fr', 'it', 'none'];
11
+ const DEFAULT_SUPPORTED_LANGUAGES = [
12
+ 'de',
13
+ 'de-informal',
14
+ 'de-no-binnen-i',
15
+ 'en',
16
+ 'fr',
17
+ 'it',
18
+ 'none',
19
+ ];
12
20
  export class TranslationsService {
13
21
  constructor(config, route, storage, translate, appService) {
14
22
  this.config = config;
@@ -111,7 +119,7 @@ export class TranslationsService {
111
119
  if (selectedLanguage === 'none') {
112
120
  this.translate.setDefaultLang('none');
113
121
  }
114
- else if (selectedLanguage === 'de-informal') {
122
+ else if (selectedLanguage?.startsWith('de-')) {
115
123
  this.translate.setDefaultLang('de');
116
124
  }
117
125
  else {
@@ -159,13 +167,13 @@ export class TranslationsService {
159
167
  getISOLanguage() {
160
168
  return LANGUAGES[this.language];
161
169
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, deps: [{ token: i1.ConfigService }, { token: i2.ActivatedRoute }, { token: i1.SessionStorageService }, { token: i3.TranslateService }, { token: i4.AppService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, providedIn: 'root' }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsService, deps: [{ token: i1.ConfigService }, { token: i2.ActivatedRoute }, { token: i1.SessionStorageService }, { token: i3.TranslateService }, { token: i4.AppService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
171
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsService, providedIn: 'root' }); }
164
172
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsService, decorators: [{
166
174
  type: Injectable,
167
175
  args: [{ providedIn: 'root' }]
168
- }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.ActivatedRoute }, { type: i1.SessionStorageService }, { type: i3.TranslateService }, { type: i4.AppService, decorators: [{
176
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.ActivatedRoute }, { type: i1.SessionStorageService }, { type: i3.TranslateService }, { type: i4.AppService, decorators: [{
169
177
  type: Optional
170
- }] }]; } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWlCLFNBQVMsRUFBeUIsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3RGLDBEQUEwRDtBQUMxRCxNQUFNLDJCQUEyQixHQUFHLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUdwRixNQUFNLE9BQU8sbUJBQW1CO0lBSTVCLFlBQ1ksTUFBcUIsRUFDckIsS0FBcUIsRUFDckIsT0FBOEIsRUFDOUIsU0FBMkIsRUFDZixVQUFzQjtRQUpsQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVB0QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBUWpELENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILFVBQVU7UUFDTixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JB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T0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMzQixLQUFLLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQTdLUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUROLE1BQU07OzJGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFVekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBMQU5HVUFHRVMsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Fic3RyYWN0L2FwcC5zZXJ2aWNlJztcblxuLy8gJ25vbmUnIG1lYW5zIHRoYXQgb25seSBsYWJlbHMgc2hvdWxkIGJlIHNob3duIChmb3IgZGV2KVxuY29uc3QgREVGQVVMVF9TVVBQT1JURURfTEFOR1VBR0VTID0gWydkZScsICdkZS1pbmZvcm1hbCcsICdlbicsICdmcicsICdpdCcsICdub25lJ107XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25zU2VydmljZSB7XG4gICAgcHJpdmF0ZSBsYW5ndWFnZTogc3RyaW5nO1xuICAgIHByaXZhdGUgbGFuZ3VhZ2VMb2FkZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgc3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhcHBTZXJ2aWNlOiBBcHBTZXJ2aWNlLFxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgYW5kIGNvbmZpZ3VyZXMgdGhlIGxhbmd1YWdlIHRvIHVzZSBhbmQgdHJpZ2dlcnMgbG9hZGluZyBvZiB0cmFuc2xhdGlvbnMgd2l0aFxuICAgICAqIG5neC10cmFuc2xhdGUuXG4gICAgICpcbiAgICAgKiBDYWxsIHRoaXMgb25jZSBpbiB0aGUgYXBwIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBpbml0aWFsaXplKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCBzdXBwb3J0ZWRMYW5ndWFnZXMkID0gZnJvbShcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmdldCgnc3VwcG9ydGVkTGFuZ3VhZ2VzJywgREVGQVVMVF9TVVBQT1JURURfTEFOR1VBR0VTKSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuYXBwU2VydmljZT8uaXNSdW5uaW5nQXBwKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBzdXBwb3J0ZWRMYW5ndWFnZXMkLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDb3Jkb3ZhKHN1cHBvcnRlZExhbmd1YWdlcyksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdm9pZCAwKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChzdXBwb3J0ZWRMYW5ndWFnZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdXBwb3J0ZWRMYW5ndWFnZXMuaW5jbHVkZXMoJ25vbmUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLnB1c2goJ25vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRhcCgoc3VwcG9ydGVkTGFuZ3VhZ2VzOiBzdHJpbmdbXSkgPT4gdGhpcy50cmFuc2xhdGUuYWRkTGFuZ3Moc3VwcG9ydGVkTGFuZ3VhZ2VzKSksXG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0IHF1ZXJ5UGFyYW1zLmxvY2FsZSBpZiBzZXQgbWVhbmluZ2Z1bGx5XG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRMYW5ndWFnZTogc3RyaW5nID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkTGFuZ3VhZ2VzLmluZGV4T2YocGFyYW1zLmxvY2FsZSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UgPSBwYXJhbXMubG9jYWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyYW1zLmxvY2FsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgVXJsIHJlcXVlc3RlZCBsYW5ndWFnZSAke3BhcmFtcy5sb2NhbGV9LCBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnV0IGl0IHdhcyBub3QgZm91bmQgb3IgaXMgbm90IGNvbmZpZ3VyZWQgaW4gdGhlIGFsbG93ZWQgbGFuZ3VhZ2VzOiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAvLyBTZWxlY3Qgc3RvcmFnZS5nZXQoJ2xhbmd1YWdlJykgaWYgc2V0IG1lYW5pbmdmdWxseVxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoeyBzdXBwb3J0ZWRMYW5ndWFnZXMsIHNlbGVjdGVkTGFuZ3VhZ2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRMYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVPZih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXQoJ2xhbmd1YWdlJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHN0b3JhZ2VMYW5ndWFnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdXNlU3RvcmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZihzdG9yYWdlTGFuZ3VhZ2UpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSA9IHN0b3JhZ2VMYW5ndWFnZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gVXNlIGJyb3dzZXIgbGFuZ3VhZ2UgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvIHRoZSBmaXJzdCBzdXBwb3J0ZWRcbiAgICAgICAgICAgICAgICAvLyBsYW5ndWFnZS5cbiAgICAgICAgICAgICAgICBtYXAoKHsgc3VwcG9ydGVkTGFuZ3VhZ2VzLCBzZWxlY3RlZExhbmd1YWdlLCB1c2VTdG9yZWQgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRMYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VsZWN0IGJyb3dzZXIgbGFuZ3VhZ2UgaWYgc2V0IG1lYW5pbmdmdWxseVxuICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLmluZGV4T2YodGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckxhbmcoKSkgIT09IC0xXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZTogdGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckxhbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VsZWN0IGZpcnN0IHN1cHBvcnRlZCBsYW5ndWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZTogc3VwcG9ydGVkTGFuZ3VhZ2VzWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvLyBTZXQgZmFsbGJhY2sgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICB0YXAoKHsgc3VwcG9ydGVkTGFuZ3VhZ2VzLCBzZWxlY3RlZExhbmd1YWdlLCB1c2VTdG9yZWQgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZVN0b3JlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldCgnbGFuZ3VhZ2UnLCBzZWxlY3RlZExhbmd1YWdlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRMYW5ndWFnZSA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnbm9uZScpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTGFuZ3VhZ2UgPT09ICdkZS1pbmZvcm1hbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdkZScpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoc3VwcG9ydGVkTGFuZ3VhZ2VzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8vIENvbmZpZ3VyZSBgbmd4LXRyYW5zbGF0ZWAgdG8gdXNlIHRoZSBkZXRlcm1pbmVkIGxhbmd1YWdlIGFuZCB0cmlnZ2VyIGxvYWRpbmcgb2ZcbiAgICAgICAgICAgICAgICAvLyB0cmFuc2xhdGlvbnMuXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh7IHNlbGVjdGVkTGFuZ3VhZ2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnbGFuZ3VhZ2UgdXNlZDogJyArIHNlbGVjdGVkTGFuZ3VhZ2UpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlID0gc2VsZWN0ZWRMYW5ndWFnZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLnVzZShzZWxlY3RlZExhbmd1YWdlKS5waXBlKG1hcCgoKSA9PiB2b2lkIDApKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIE5vdGlmeSBhbnlvbmUgd2FpdGluZyBmb3IgdHJhbnNsYXRpb25zIHRvIGJlIGxvYWRlZC5cbiAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMud2FpdEZvckluaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGluaXRpYWxpemVDb3Jkb3ZhKHN1cHBvcnRlZExhbmd1YWdlcyA9IERFRkFVTFRfU1VQUE9SVEVEX0xBTkdVQUdFUykge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5hZGRMYW5ncyhzdXBwb3J0ZWRMYW5ndWFnZXMpO1xuICAgICAgICBsZXQgbGFuZ3VhZ2UgPSBzdXBwb3J0ZWRMYW5ndWFnZXNbMF07XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKGxhbmd1YWdlKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmd1YWdlKTtcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5hcHBTZXJ2aWNlLmdldExhbmd1YWdlKCk7XG4gICAgICAgIGlmIChzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZihkYXRhKSAhPSAtMSkge1xuICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkYXRhO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmd1YWdlKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUxvYWRlZC5uZXh0KHRydWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhpcy50cmFuc2xhdGUuZ2V0VHJhbnNsYXRpb24obGFuZ3VhZ2UpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0Rm9ySW5pdCgpO1xuICAgIH1cblxuICAgIHdhaXRGb3JJbml0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZUxvYWRlZC5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKGxhbmd1YWdlTG9hZGVkKSA9PiBsYW5ndWFnZUxvYWRlZCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdm9pZCAwKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogU2FtZSBhcyBgdHJhbnNsYXRlLmN1cnJlbnRMYW5nYC4gKi9cbiAgICBnZXRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZTtcbiAgICB9XG5cbiAgICBnZXRJU09MYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gTEFOR1VBR0VTW3RoaXMubGFuZ3VhZ2VdO1xuICAgIH1cbn1cbiJdfQ==
178
+ }] }] });
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWlCLFNBQVMsRUFBeUIsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3RGLDBEQUEwRDtBQUMxRCxNQUFNLDJCQUEyQixHQUFHO0lBQ2hDLElBQUk7SUFDSixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLE1BQU07Q0FDVCxDQUFDO0FBR0YsTUFBTSxPQUFPLG1CQUFtQjtJQUk1QixZQUNZLE1BQXFCLEVBQ3JCLEtBQXFCLEVBQ3JCLE9BQThCLEVBQzlCLFNBQTJCLEVBQ2YsVUFBc0I7UUFKbEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVk7UUFQdEMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQVFqRCxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxVQUFVO1FBQ04sTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMs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USxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDSCw0REFBNEQ7UUFDNUQsTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDM0IsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFDekMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3BCLENBQUM7SUFDTixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0E3S1EsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBVXpCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTEFOR1VBR0VTLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC9hcHAuc2VydmljZSc7XG5cbi8vICdub25lJyBtZWFucyB0aGF0IG9ubHkgbGFiZWxzIHNob3VsZCBiZSBzaG93biAoZm9yIGRldilcbmNvbnN0IERFRkFVTFRfU1VQUE9SVEVEX0xBTkdVQUdFUyA9IFtcbiAgICAnZGUnLFxuICAgICdkZS1pbmZvcm1hbCcsXG4gICAgJ2RlLW5vLWJpbm5lbi1pJyxcbiAgICAnZW4nLFxuICAgICdmcicsXG4gICAgJ2l0JyxcbiAgICAnbm9uZScsXG5dO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgbGFuZ3VhZ2U6IHN0cmluZztcbiAgICBwcml2YXRlIGxhbmd1YWdlTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgYXBwU2VydmljZTogQXBwU2VydmljZSxcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGFuZCBjb25maWd1cmVzIHRoZSBsYW5ndWFnZSB0byB1c2UgYW5kIHRyaWdnZXJzIGxvYWRpbmcgb2YgdHJhbnNsYXRpb25zIHdpdGhcbiAgICAgKiBuZ3gtdHJhbnNsYXRlLlxuICAgICAqXG4gICAgICogQ2FsbCB0aGlzIG9uY2UgaW4gdGhlIGFwcCBjb21wb25lbnQuXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgc3VwcG9ydGVkTGFuZ3VhZ2VzJCA9IGZyb20oXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5nZXQoJ3N1cHBvcnRlZExhbmd1YWdlcycsIERFRkFVTFRfU1VQUE9SVEVEX0xBTkdVQUdFUyksXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLmFwcFNlcnZpY2U/LmlzUnVubmluZ0FwcCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkTGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoc3VwcG9ydGVkTGFuZ3VhZ2VzOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ29yZG92YShzdXBwb3J0ZWRMYW5ndWFnZXMpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHZvaWQgMCksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoc3VwcG9ydGVkTGFuZ3VhZ2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3VwcG9ydGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKCdub25lJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcy5wdXNoKCdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+IHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHN1cHBvcnRlZExhbmd1YWdlcykpLFxuICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBxdWVyeVBhcmFtcy5sb2NhbGUgaWYgc2V0IG1lYW5pbmdmdWxseVxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoc3VwcG9ydGVkTGFuZ3VhZ2VzOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkTGFuZ3VhZ2U6IHN0cmluZyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKHBhcmFtcy5sb2NhbGUpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlID0gcGFyYW1zLmxvY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5sb2NhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFVybCByZXF1ZXN0ZWQgbGFuZ3VhZ2UgJHtwYXJhbXMubG9jYWxlfSwgYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J1dCBpdCB3YXMgbm90IGZvdW5kIG9yIGlzIG5vdCBjb25maWd1cmVkIGluIHRoZSBhbGxvd2VkIGxhbmd1YWdlczogJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0IHN0b3JhZ2UuZ2V0KCdsYW5ndWFnZScpIGlmIHNldCBtZWFuaW5nZnVsbHlcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgc3VwcG9ydGVkTGFuZ3VhZ2VzLCBzZWxlY3RlZExhbmd1YWdlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlT2Yoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0KCdsYW5ndWFnZScpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChzdG9yYWdlTGFuZ3VhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVzZVN0b3JlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkTGFuZ3VhZ2VzLmluZGV4T2Yoc3RvcmFnZUxhbmd1YWdlKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UgPSBzdG9yYWdlTGFuZ3VhZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8vIFVzZSBicm93c2VyIGxhbmd1YWdlIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGZhbGwgYmFjayB0byB0aGUgZmlyc3Qgc3VwcG9ydGVkXG4gICAgICAgICAgICAgICAgLy8gbGFuZ3VhZ2UuXG4gICAgICAgICAgICAgICAgbWFwKCh7IHN1cHBvcnRlZExhbmd1YWdlcywgc2VsZWN0ZWRMYW5ndWFnZSwgdXNlU3RvcmVkIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBicm93c2VyIGxhbmd1YWdlIGlmIHNldCBtZWFuaW5nZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKHRoaXMudHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCkpICE9PSAtMVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2U6IHRoaXMudHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBmaXJzdCBzdXBwb3J0ZWQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2U6IHN1cHBvcnRlZExhbmd1YWdlc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gU2V0IGZhbGxiYWNrIGxhbmd1YWdlXG4gICAgICAgICAgICAgICAgdGFwKCh7IHN1cHBvcnRlZExhbmd1YWdlcywgc2VsZWN0ZWRMYW5ndWFnZSwgdXNlU3RvcmVkIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VTdG9yZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXQoJ2xhbmd1YWdlJywgc2VsZWN0ZWRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTGFuZ3VhZ2UgPT09ICdub25lJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ25vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZExhbmd1YWdlPy5zdGFydHNXaXRoKCdkZS0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2RlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhzdXBwb3J0ZWRMYW5ndWFnZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIGBuZ3gtdHJhbnNsYXRlYCB0byB1c2UgdGhlIGRldGVybWluZWQgbGFuZ3VhZ2UgYW5kIHRyaWdnZXIgbG9hZGluZyBvZlxuICAgICAgICAgICAgICAgIC8vIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdsYW5ndWFnZSB1c2VkOiAnICsgc2VsZWN0ZWRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBzZWxlY3RlZExhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUudXNlKHNlbGVjdGVkTGFuZ3VhZ2UpLnBpcGUobWFwKCgpID0+IHZvaWQgMCkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gTm90aWZ5IGFueW9uZSB3YWl0aW5nIGZvciB0cmFuc2xhdGlvbnMgdG8gYmUgbG9hZGVkLlxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VMb2FkZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0Rm9ySW5pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzID0gREVGQVVMVF9TVVBQT1JURURfTEFOR1VBR0VTKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHN1cHBvcnRlZExhbmd1YWdlcyk7XG4gICAgICAgIGxldCBsYW5ndWFnZSA9IHN1cHBvcnRlZExhbmd1YWdlc1swXTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKGRhdGEpICE9IC0xKSB7XG4gICAgICAgICAgICBsYW5ndWFnZSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5nZXRUcmFuc2xhdGlvbihsYW5ndWFnZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbml0KCk7XG4gICAgfVxuXG4gICAgd2FpdEZvckluaXQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlTG9hZGVkLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgobGFuZ3VhZ2VMb2FkZWQpID0+IGxhbmd1YWdlTG9hZGVkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBTYW1lIGFzIGB0cmFuc2xhdGUuY3VycmVudExhbmdgLiAqL1xuICAgIGdldExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIGdldElTT0xhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMQU5HVUFHRVNbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxufVxuIl19
@@ -197,4 +197,4 @@ export class DateHelper {
197
197
  });
198
198
  }
199
199
  }
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdXRpbC9EYXRlSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFOLElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUNwQiw2Q0FBRyxDQUFBO0lBQ0gsaURBQUssQ0FBQTtJQUNMLG1EQUFNLENBQUE7SUFDTixpREFBSyxDQUFBO0lBQ0wsNkNBQUcsQ0FBQTtBQUNQLENBQUMsRUFOVyxZQUFZLEtBQVosWUFBWSxRQU12QjtBQUNELE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ0ksYUFBUSxHQUFJLElBQUksQ0FBQztRQUNqQixtQkFBYyxHQUFJLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFJLEtBQUssQ0FBQztRQUNyQixjQUFjO1FBQ2QsaURBQWlEO1FBQ2pELDZCQUE2QjtRQUM3QixzQkFBaUIsR0FBSSxJQUFJLENBQUM7SUFFOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFDbkI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUNoQyxJQUFJLElBQUksR0FBRyxFQUFFO1lBQUUsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBUztRQUMvQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQWtCLEVBQUUsTUFBYztRQUNoRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUks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QUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCO1FBQ3BCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyRCxjQUFjLEVBQUUsSUFBSTtZQUNwQixpQkFBaUIsRUFBRSxLQUFLO1NBQzNCLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGlzTnVtZXJpYyB9IGZyb20gJy4vaXNOdW1lcmljJztcbmV4cG9ydCBlbnVtIFJlbGF0aXZlTW9kZSB7XG4gICAgb2ZmLFxuICAgIHNob3J0LFxuICAgIG1lZGl1bSxcbiAgICBsYXJnZSxcbiAgICBhbGwsXG59XG5leHBvcnQgY2xhc3MgRm9ybWF0T3B0aW9ucyB7XG4gICAgc2hvd0RhdGU/ID0gdHJ1ZTtcbiAgICBzaG93QWx3YXlzVGltZT8gPSBmYWxzZTtcbiAgICBzaG93U2Vjb25kcz8gPSBmYWxzZTtcbiAgICAvLyBARGVwcmVjYXRlZFxuICAgIC8vIHRoaXMgd2lsbCBiZSBtYXBwZWQgdG8gcmVsYXRpdmVMYWJlbHMgPSBNRURJVU1cbiAgICAvLyB1c2UgcmVsYXRpdmVMYWJlbHMgaW5zdGVhZFxuICAgIHVzZVJlbGF0aXZlTGFiZWxzPyA9IHRydWU7XG4gICAgcmVsYXRpdmVMYWJlbHM/OiBSZWxhdGl2ZU1vZGU7XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRlSGVscGVyIHtcbiAgICAvKipcbiAgICAgKiBGaWxsIGEgZGF0ZSAoZGF5ICsgbW9udGgpIHN0cmluZywgZS5nLiAyIC0+IDAyXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIGZpbGxEYXRlKGRhdGU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChkYXRlIDwgMTApIHJldHVybiAnMCcgKyBkYXRlO1xuICAgICAgICByZXR1cm4gZGF0ZSArICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgZGF0ZSB0byBhIHVuaXggdGltZXN0YW1wXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgY29udmVydERhdGUoZGF0ZTogYW55KSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlKS5nZXRUaW1lKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZm9ybWF0IGEgZGF0ZSB3aXRoIGEgZ2l2ZW4sIGZpeGVkIHN0cmluZ1xuICAgICAqIEZvciBjb25zaXN0ZW5jeSwgd2UgdXNlIHRoZSBwYXR0ZXJucyBmcm9tXG4gICAgICogaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vamF2YXNlLzcvZG9jcy9hcGkvamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuaHRtbFxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdFxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmb3JtYXREYXRlQnlQYXR0ZXJuKGRhdGU6IG51bWJlciB8IGFueSwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWlzTnVtZXJpYyhkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRhdGVPYmplY3QgPSBuZXcgRGF0ZSgoZGF0ZSBhcyBudW1iZXIpICogMSk7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCd5JywgJycgKyBkYXRlT2JqZWN0LmdldEZ1bGxZZWFyKCkpO1xuICAgICAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgnTScsICcnICsgRGF0ZUhlbHBlci5maWxsRGF0ZShkYXRlT2JqZWN0LmdldE1vbnRoKCkgKyAxKSk7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdkJywgJycgKyBEYXRlSGVscGVyLmZpbGxEYXRlKGRhdGVPYmplY3QuZ2V0RGF0ZSgpKSk7XG4gICAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9ybWF0IGEgZGF0ZSBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZvcm1hdERhdGUoXG4gICAgICAgIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBkYXRlOiBudW1iZXIgfCBhbnksXG4gICAgICAgIG9wdGlvbnM6IEZvcm1hdE9wdGlvbnMgPSBuZXcgRm9ybWF0T3B0aW9ucygpLFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy51c2VSZWxhdGl2ZUxhYmVscyAmJiAhb3B0aW9ucy5yZWxhdGl2ZUxhYmVscykge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMucmVsYXRpdmVMYWJlbHMgPSBSZWxhdGl2ZU1vZGUubWVkaXVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc051bWVyaWMoZGF0ZSkpIHtcbiAgICAgICAgICAgICAgICBkYXRlID0gRGF0ZS5wYXJzZShkYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBkYXRlT2JqZWN0ID0gbmV3IERhdGUoKGRhdGUgYXMgbnVtYmVyKSAqIDEpO1xuICAgICAgICAgICAgbGV0IGRhdGVUb2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBsZXQgZGF0ZVllc3RlcmRheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBkYXRlWWVzdGVyZGF5LnNldERhdGUoZGF0ZVllc3RlcmRheS5nZXREYXRlKCkgLSAxKTtcbiAgICAgICAgICAgIGxldCBpc1RvZGF5ID0gZGF0ZU9iamVjdC50b0RhdGVTdHJpbmcoKSA9PSBkYXRlVG9kYXkudG9EYXRlU3RyaW5nKCk7XG4gICAgICAgICAgICBsZXQgaXNZZXN0ZXJkYXkgPSBkYXRlT2JqZWN0LnRvRGF0ZVN0cmluZygpID09IGRhdGVZZXN0ZXJkYXkudG9EYXRlU3RyaW5nKCk7XG4gICAgICAgICAgICBsZXQgcHJlZml4ID0gJyc7XG4gICAgICAgICAgICBsZXQgdGltZURpZmYgPSAoZGF0ZVRvZGF5LmdldFRpbWUoKSAtIGRhdGVPYmplY3QuZ2V0VGltZSgpKSAvIDEwMDA7XG4gICAgICAgICAgICBsZXQgZGlmZkRheXMgPSBNYXRoLmZsb29yKHRpbWVEaWZmIC8gKDM2MDAgKiAyNCkpO1xuICAgICAgICAgICAgbGV0IGRpZmZNb250aHMgPSBuZXcgRGF0ZSh0aW1lRGlmZiAqIDEwMDApLmdldE1vbnRoKCk7XG4gICAgICAgICAgICBsZXQgZGlmZlllYXJzID0gbmV3IERhdGUodGltZURpZmYgKiAxMDAwKS5nZXRGdWxsWWVhcigpIC0gMTk3MDtcbiAgICAgICAgICAgIGxldCBhZGREYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIGxldCB0aW1lRm9ybWF0ID0gJ0hIOm1tJztcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3dTZWNvbmRzKSB7XG4gICAgICAgICAgICAgICAgdGltZUZvcm1hdCArPSAnOnNzJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aW1lRGlmZiA8IDM2MDAgKiA2ICYmIG9wdGlvbnMucmVsYXRpdmVMYWJlbHMgPj0gUmVsYXRpdmVNb2RlLnNob3J0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRpbWVEaWZmIDwgOTApIHtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gdHJhbnNsYXRpb24uaW5zdGFudCgnSlVTVF9OT1cnLCB7IHNlY29uZHM6IHRpbWVEaWZmIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGltZURpZmYgPCA2MCAqIDEwMCkge1xuICAgICAgICAgICAgICAgICAgICBwcmVmaXggPSB0cmFuc2xhdGlvbi5pbnN0YW50KCdNSU5VVEVTX0FHTycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbnV0ZXM6IE1hdGgucm91bmQodGltZURpZmYgLyA2MCksXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHRyYW5zbGF0aW9uLmluc3RhbnQoJ0hPVVJTX0FHTycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhvdXJzOiBNYXRoLnJvdW5kKHRpbWVEaWZmIC8gKDYwICogNjApKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFkZERhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aW1lRm9ybWF0ID0gJyc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzVG9kYXkgJiYgb3B0aW9ucy5yZWxhdGl2ZUxhYmVscyA+PSBSZWxhdGl2ZU1vZGUuc2hvcnQpIHtcbiAgICAgICAgICAgICAgICBwcmVmaXggPSB0cmFuc2xhdGlvbi5pbnN0YW50KCdUT0RBWScpO1xuICAgICAgICAgICAgICAgIGFkZERhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNZZXN0ZXJkYXkgJiYgb3B0aW9ucy5yZWxhdGl2ZUxhYmVscyA+PSBSZWxhdGl2ZU1vZGUubWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcHJlZml4ID0gdHJhbnNsYXRpb24uaW5zdGFudCgnWUVTVEVSREFZJyk7XG4gICAgICAgICAgICAgICAgYWRkRGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAoZGlmZkRheXMgPCA2ICYmIG9wdGlvbnMucmVsYXRpdmVMYWJlbHMgPj0gUmVsYXRpdmVNb2RlLm1lZGl1bSkgfHxcbiAgICAgICAgICAgICAgICAoZGlmZkRheXMgPCA0NSAmJiBvcHRpb25zLnJlbGF0aXZlTGFiZWxzID49IFJlbGF0aXZlTW9kZS5sYXJnZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHByZWZpeCA9IHRyYW5zbGF0aW9uLmluc3RhbnQoJ0RBWVNfQUdPJywgeyBkYXlzOiBkaWZmRGF5cyB9KTtcbiAgICAgICAgICAgICAgICBhZGREYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLnNob3dBbHdheXNUaW1lKSB0aW1lRm9ybWF0ID0gJyc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgIGRpZmZZZWFycyA9PT0gMCAmJlxuICAgICAgICAgICAgICAgIGRpZmZNb250aHMgPCAxMiAmJlxuICAgICAgICAgICAgICAgIG9wdGlvbnMucmVsYXRpdmVMYWJlbHMgPj0gUmVsYXRpdmVNb2RlLmxhcmdlXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwcmVmaXggPSB0cmFuc2xhdGlvbi5pbnN0YW50KCdNT05USFNfQUdPJywgeyBtb250aHM6IGRpZmZNb250aHMgfSk7XG4gICAgICAgICAgICAgICAgYWRkRGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5zaG93QWx3YXlzVGltZSkgdGltZUZvcm1hdCA9ICcnO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnJlbGF0aXZlTGFiZWxzID09PSBSZWxhdGl2ZU1vZGUuYWxsKSB7XG4gICAgICAgICAgICAgICAgcHJlZml4ID0gdHJhbnNsYXRpb24uaW5zdGFudCgnWUVBUlNfQUdPJywgeyB5ZWFyczogZGlmZlllYXJzIH0pO1xuICAgICAgICAgICAgICAgIGFkZERhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuc2hvd0Fsd2F5c1RpbWUpIHRpbWVGb3JtYXQgPSAnJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLnNob3dBbHdheXNUaW1lKSB0aW1lRm9ybWF0ID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG5nMidzIGRhdGVmb3JtYXR0ZXIgaXMgc3VwZXIgc2xvdywgYnV0IGl0IGRvZXNuJ3QgbWF0dGVyLCB3ZSBqdXN0IGl0ZXJhdGUgaXQgb25jZSA6KVxuICAgICAgICAgICAgLy9yZXR1cm4gZGF0ZUZvcm1hdCt0aW1lO1xuICAgICAgICAgICAgbGV0IHN0ciA9IHByZWZpeDtcbiAgICAgICAgICAgIGlmIChhZGREYXRlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRyYW5zbGF0aW9uLmN1cnJlbnRMYW5nID09PSAnZW4nKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0ciArPVxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZU9iamVjdC5nZXRGdWxsWWVhcigpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICctJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRlSGVscGVyLmZpbGxEYXRlKGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDEpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICctJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRlSGVscGVyLmZpbGxEYXRlKGRhdGVPYmplY3QuZ2V0RGF0ZSgpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzdHIgKz1cbiAgICAgICAgICAgICAgICAgICAgICAgIERhdGVIZWxwZXIuZmlsbERhdGUoZGF0ZU9iamVjdC5nZXREYXRlKCkpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICcuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRlSGVscGVyLmZpbGxEYXRlKGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDEpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICcuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlT2JqZWN0LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vc3RyICs9IERhdGVGb3JtYXR0ZXIuZm9ybWF0KGRhdGVPYmplY3QsIFRyYW5zbGF0aW9uLmdldExhbmd1YWdlKCksIGRhdGVGb3JtYXQpLnRyaW0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3dEYXRlID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgc3RyID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBpZSBmaXhlcywgdGltZUZvcm1hdCBub3Qgd29ya2luZ1xuICAgICAgICAgICAgaWYgKHRpbWVGb3JtYXQpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RyKSBzdHIgKz0gJywgJztcblxuICAgICAgICAgICAgICAgIC8vbGV0IHRpbWVWYWx1ZT1kYXRlT2JqZWN0LnRvTG9jYWxlVGltZVN0cmluZyhUcmFuc2xhdGlvbi5nZXRMYW5ndWFnZSgpKTtcbiAgICAgICAgICAgICAgICAvL2xldCB0aW1lcz10aW1lVmFsdWUuc3BsaXQoXCI6XCIpO1xuICAgICAgICAgICAgICAgIHN0ciArPSB0aW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdISCcsIERhdGVIZWxwZXIuZmlsbERhdGUoZGF0ZU9iamVjdC5nZXRIb3VycygpKSlcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJ21tJywgRGF0ZUhlbHBlci5maWxsRGF0ZShkYXRlT2JqZWN0LmdldE1pbnV0ZXMoKSkpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdzcycsIERhdGVIZWxwZXIuZmlsbERhdGUoZGF0ZU9iamVjdC5nZXRTZWNvbmRzKCkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHI7XG4gICAgICAgICAgICAvKlxuICAgICAgbGV0IGRhdGVTdHJpbmc9cHJlZml4K1wiIFwiO1xuICAgICAgaWYoZGF0ZUZvcm1hdCE9XCJcIil7XG4gICAgICAgIGRhdGVTdHJpbmcrPWRhdGVPYmplY3QudG9Mb2NhbGVEYXRlU3RyaW5nKFRyYW5zbGF0aW9uLmdldExhbmd1YWdlKCkpK1wiIFwiO1xuICAgICAgfVxuICAgICAgaWYodGltZSE9XCJcIil7XG4gICAgICAgIGRhdGVTdHJpbmcrPWRhdGVPYmplY3QudG9Mb2NhbGVUaW1lU3RyaW5nKFRyYW5zbGF0aW9uLmdldExhbmd1YWdlKCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRhdGVTdHJpbmc7XG4gICAgICAqL1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZSBhcyBhbnk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIGdldERhdGVGcm9tRGF0ZXBpY2tlcihkYXRlOiBEYXRlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSAtIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwICogMTAwMCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldERhdGVGb3JOZXdGaWxlKCkge1xuICAgICAgICByZXR1cm4gRGF0ZUhlbHBlci5mb3JtYXREYXRlKG51bGwsIG5ldyBEYXRlKCkuZ2V0VGltZSgpLCB7XG4gICAgICAgICAgICBzaG93QWx3YXlzVGltZTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZVJlbGF0aXZlTGFiZWxzOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdXRpbC9EYXRlSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFOLElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUNwQiw2Q0FBRyxDQUFBO0lBQ0gsaURBQUssQ0FBQTtJQUNMLG1EQUFNLENBQUE7SUFDTixpREFBSyxDQUFBO0lBQ0wsNkNBQUcsQ0FBQTtBQUNQLENBQUMsRUFOVyxZQUFZLEtBQVosWUFBWSxRQU12QjtBQUNELE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ0ksYUFBUSxHQUFJLElBQUksQ0FBQztRQUNqQixtQkFBYyxHQUFJLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFJLEtBQUssQ0FBQztRQUNyQixjQUFjO1FBQ2QsaURBQWlEO1FBQ2pELDZCQUE2QjtRQUM3QixzQkFBaUIsR0FBSSxJQUFJLENBQUM7SUFFOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFDbkI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUNoQyxJQUFJLElBQUksR0FBRyxFQUFFO1lBQUUsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBUztRQUMvQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQWtCLEVBQUUsTUFBYztRQUNoRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUks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QUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1lBQ1g7Ozs7Ozs7OztRQVNKO1FBQ0EsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxPQUFPLElBQVcsQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFVO1FBQ25DLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQjtRQUNwQixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckQsY0FBYyxFQUFFLElBQUk7WUFDcEIsaUJBQWlCLEVBQUUsS0FBSztTQUMzQixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBpc051bWVyaWMgfSBmcm9tICcuL2lzTnVtZXJpYyc7XG5leHBvcnQgZW51bSBSZWxhdGl2ZU1vZGUge1xuICAgIG9mZixcbiAgICBzaG9ydCxcbiAgICBtZWRpdW0sXG4gICAgbGFyZ2UsXG4gICAgYWxsLFxufVxuZXhwb3J0IGNsYXNzIEZvcm1hdE9wdGlvbnMge1xuICAgIHNob3dEYXRlPyA9IHRydWU7XG4gICAgc2hvd0Fsd2F5c1RpbWU/ID0gZmFsc2U7XG4gICAgc2hvd1NlY29uZHM/ID0gZmFsc2U7XG4gICAgLy8gQERlcHJlY2F0ZWRcbiAgICAvLyB0aGlzIHdpbGwgYmUgbWFwcGVkIHRvIHJlbGF0aXZlTGFiZWxzID0gTUVESVVNXG4gICAgLy8gdXNlIHJlbGF0aXZlTGFiZWxzIGluc3RlYWRcbiAgICB1c2VSZWxhdGl2ZUxhYmVscz8gPSB0cnVlO1xuICAgIHJlbGF0aXZlTGFiZWxzPzogUmVsYXRpdmVNb2RlO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUhlbHBlciB7XG4gICAgLyoqXG4gICAgICogRmlsbCBhIGRhdGUgKGRheSArIG1vbnRoKSBzdHJpbmcsIGUuZy4gMiAtPiAwMlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICogQHJldHVybnMge3N0cmluZ31cbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyBmaWxsRGF0ZShkYXRlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZGF0ZSA8IDEwKSByZXR1cm4gJzAnICsgZGF0ZTtcbiAgICAgICAgcmV0dXJuIGRhdGUgKyAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IGRhdGUgdG8gYSB1bml4IHRpbWVzdGFtcFxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICogQHJldHVybnMge251bWJlcn1cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNvbnZlcnREYXRlKGRhdGU6IGFueSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkuZ2V0VGltZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZvcm1hdCBhIGRhdGUgd2l0aCBhIGdpdmVuLCBmaXhlZCBzdHJpbmdcbiAgICAgKiBGb3IgY29uc2lzdGVuY3ksIHdlIHVzZSB0aGUgcGF0dGVybnMgZnJvbVxuICAgICAqIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2phdmFzZS83L2RvY3MvYXBpL2phdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0Lmh0bWxcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtYXRcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZm9ybWF0RGF0ZUJ5UGF0dGVybihkYXRlOiBudW1iZXIgfCBhbnksIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFpc051bWVyaWMoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkYXRlT2JqZWN0ID0gbmV3IERhdGUoKGRhdGUgYXMgbnVtYmVyKSAqIDEpO1xuICAgICAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgneScsICcnICsgZGF0ZU9iamVjdC5nZXRGdWxsWWVhcigpKTtcbiAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoJ00nLCAnJyArIERhdGVIZWxwZXIuZmlsbERhdGUoZGF0ZU9iamVjdC5nZXRNb250aCgpICsgMSkpO1xuICAgICAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgnZCcsICcnICsgRGF0ZUhlbHBlci5maWxsRGF0ZShkYXRlT2JqZWN0LmdldERhdGUoKSkpO1xuICAgICAgICByZXR1cm4gZm9ybWF0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdCBhIGRhdGUgZm9yIHRoZSBjdXJyZW50IGxhbmd1YWdlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmb3JtYXREYXRlKFxuICAgICAgICB0cmFuc2xhdGlvbjogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgZGF0ZTogbnVtYmVyIHwgYW55LFxuICAgICAgICBvcHRpb25zOiBGb3JtYXRPcHRpb25zID0gbmV3IEZvcm1hdE9wdGlvbnMoKSxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMudXNlUmVsYXRpdmVMYWJlbHMgJiYgIW9wdGlvbnMucmVsYXRpdmVMYWJlbHMpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnJlbGF0aXZlTGFiZWxzID0gUmVsYXRpdmVNb2RlLm1lZGl1bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghaXNOdW1lcmljKGRhdGUpKSB7XG4gICAgICAgICAgICAgICAgZGF0ZSA9IERhdGUucGFyc2UoZGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZGF0ZU9iamVjdCA9IG5ldyBEYXRlKChkYXRlIGFzIG51bWJlcikgKiAxKTtcbiAgICAgICAgICAgIGxldCBkYXRlVG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgbGV0IGRhdGVZZXN0ZXJkYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgZGF0ZVllc3RlcmRheS5zZXREYXRlKGRhdGVZZXN0ZXJkYXkuZ2V0RGF0ZSgpIC0gMSk7XG4gICAgICAgICAgICBsZXQgaXNUb2RheSA9IGRhdGVPYmplY3QudG9EYXRlU3RyaW5nKCkgPT0gZGF0ZVRvZGF5LnRvRGF0ZVN0cmluZygpO1xuICAgICAgICAgICAgbGV0IGlzWWVzdGVyZGF5ID0gZGF0ZU9iamVjdC50b0RhdGVTdHJpbmcoKSA9PSBkYXRlWWVzdGVyZGF5LnRvRGF0ZVN0cmluZygpO1xuICAgICAgICAgICAgbGV0IHByZWZpeCA9ICcnO1xuICAgICAgICAgICAgbGV0IHRpbWVEaWZmID0gKGRhdGVUb2RheS5nZXRUaW1lKCkgLSBkYXRlT2JqZWN0LmdldFRpbWUoKSkgLyAxMDAwO1xuICAgICAgICAgICAgbGV0IGRpZmZEYXlzID0gTWF0aC5mbG9vcih0aW1lRGlmZiAvICgzNjAwICogMjQpKTtcbiAgICAgICAgICAgIGxldCBkaWZmTW9udGhzID0gbmV3IERhdGUodGltZURpZmYgKiAxMDAwKS5nZXRNb250aCgpO1xuICAgICAgICAgICAgbGV0IGRpZmZZZWFycyA9IG5ldyBEYXRlKHRpbWVEaWZmICogMTAwMCkuZ2V0RnVsbFllYXIoKSAtIDE5NzA7XG4gICAgICAgICAgICBsZXQgYWRkRGF0ZSA9IHRydWU7XG4gICAgICAgICAgICBsZXQgdGltZUZvcm1hdCA9ICdISDptbSc7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zaG93U2Vjb25kcykge1xuICAgICAgICAgICAgICAgIHRpbWVGb3JtYXQgKz0gJzpzcyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGltZURpZmYgPCAzNjAwICogNiAmJiBvcHRpb25zLnJlbGF0aXZlTGFiZWxzID49IFJlbGF0aXZlTW9kZS5zaG9ydCkge1xuICAgICAgICAgICAgICAgIGlmICh0aW1lRGlmZiA8IDkwKSB7XG4gICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHRyYW5zbGF0aW9uLmluc3RhbnQoJ0pVU1RfTk9XJywgeyBzZWNvbmRzOiB0aW1lRGlmZiB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRpbWVEaWZmIDwgNjAgKiAxMDApIHtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gdHJhbnNsYXRpb24uaW5zdGFudCgnTUlOVVRFU19BR08nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW51dGVzOiBNYXRoLnJvdW5kKHRpbWVEaWZmIC8gNjApLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwcmVmaXggPSB0cmFuc2xhdGlvbi5pbnN0YW50KCdIT1VSU19BR08nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBob3VyczogTWF0aC5yb3VuZCh0aW1lRGlmZiAvICg2MCAqIDYwKSksXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhZGREYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGltZUZvcm1hdCA9ICcnO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc1RvZGF5ICYmIG9wdGlvbnMucmVsYXRpdmVMYWJlbHMgPj0gUmVsYXRpdmVNb2RlLnNob3J0KSB7XG4gICAgICAgICAgICAgICAgcHJlZml4ID0gdHJhbnNsYXRpb24uaW5zdGFudCgnVE9EQVknKTtcbiAgICAgICAgICAgICAgICBhZGREYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzWWVzdGVyZGF5ICYmIG9wdGlvbnMucmVsYXRpdmVMYWJlbHMgPj0gUmVsYXRpdmVNb2RlLm1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHByZWZpeCA9IHRyYW5zbGF0aW9uLmluc3RhbnQoJ1lFU1RFUkRBWScpO1xuICAgICAgICAgICAgICAgIGFkZERhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgKGRpZmZEYXlzIDwgNiAmJiBvcHRpb25zLnJlbGF0aXZlTGFiZWxzID49IFJlbGF0aXZlTW9kZS5tZWRpdW0pIHx8XG4gICAgICAgICAgICAgICAgKGRpZmZEYXlzIDwgNDUgJiYgb3B0aW9ucy5yZWxhdGl2ZUxhYmVscyA+PSBSZWxhdGl2ZU1vZGUubGFyZ2UpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwcmVmaXggPSB0cmFuc2xhdGlvbi5pbnN0YW50KCdEQVlTX0FHTycsIHsgZGF5czogZGlmZkRheXMgfSk7XG4gICAgICAgICAgICAgICAgYWRkRGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5zaG93QWx3YXlzVGltZSkgdGltZUZvcm1hdCA9ICcnO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICBkaWZmWWVhcnMgPT09IDAgJiZcbiAgICAgICAgICAgICAgICBkaWZmTW9udGhzIDwgMTIgJiZcbiAgICAgICAgICAgICAgICBvcHRpb25zLnJlbGF0aXZlTGFiZWxzID49IFJlbGF0aXZlTW9kZS5sYXJnZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcHJlZml4ID0gdHJhbnNsYXRpb24uaW5zdGFudCgnTU9OVEhTX0FHTycsIHsgbW9udGhzOiBkaWZmTW9udGhzIH0pO1xuICAgICAgICAgICAgICAgIGFkZERhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuc2hvd0Fsd2F5c1RpbWUpIHRpbWVGb3JtYXQgPSAnJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5yZWxhdGl2ZUxhYmVscyA9PT0gUmVsYXRpdmVNb2RlLmFsbCkge1xuICAgICAgICAgICAgICAgIHByZWZpeCA9IHRyYW5zbGF0aW9uLmluc3RhbnQoJ1lFQVJTX0FHTycsIHsgeWVhcnM6IGRpZmZZZWFycyB9KTtcbiAgICAgICAgICAgICAgICBhZGREYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLnNob3dBbHdheXNUaW1lKSB0aW1lRm9ybWF0ID0gJyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5zaG93QWx3YXlzVGltZSkgdGltZUZvcm1hdCA9ICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBuZzIncyBkYXRlZm9ybWF0dGVyIGlzIHN1cGVyIHNsb3csIGJ1dCBpdCBkb2Vzbid0IG1hdHRlciwgd2UganVzdCBpdGVyYXRlIGl0IG9uY2UgOilcbiAgICAgICAgICAgIC8vcmV0dXJuIGRhdGVGb3JtYXQrdGltZTtcbiAgICAgICAgICAgIGxldCBzdHIgPSBwcmVmaXg7XG4gICAgICAgICAgICBpZiAoYWRkRGF0ZSkge1xuICAgICAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbi5jdXJyZW50TGFuZyA9PT0gJ2VuJykge1xuICAgICAgICAgICAgICAgICAgICBzdHIgKz1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVPYmplY3QuZ2V0RnVsbFllYXIoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnLScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZUhlbHBlci5maWxsRGF0ZShkYXRlT2JqZWN0LmdldE1vbnRoKCkgKyAxKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnLScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZUhlbHBlci5maWxsRGF0ZShkYXRlT2JqZWN0LmdldERhdGUoKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3RyICs9XG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRlSGVscGVyLmZpbGxEYXRlKGRhdGVPYmplY3QuZ2V0RGF0ZSgpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnLicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZUhlbHBlci5maWxsRGF0ZShkYXRlT2JqZWN0LmdldE1vbnRoKCkgKyAxKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnLicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZU9iamVjdC5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvL3N0ciArPSBEYXRlRm9ybWF0dGVyLmZvcm1hdChkYXRlT2JqZWN0LCBUcmFuc2xhdGlvbi5nZXRMYW5ndWFnZSgpLCBkYXRlRm9ybWF0KS50cmltKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zaG93RGF0ZSA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHN0ciA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaWUgZml4ZXMsIHRpbWVGb3JtYXQgbm90IHdvcmtpbmdcbiAgICAgICAgICAgIGlmICh0aW1lRm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHN0cikgc3RyICs9ICcsICc7XG5cbiAgICAgICAgICAgICAgICAvL2xldCB0aW1lVmFsdWU9ZGF0ZU9iamVjdC50b0xvY2FsZVRpbWVTdHJpbmcoVHJhbnNsYXRpb24uZ2V0TGFuZ3VhZ2UoKSk7XG4gICAgICAgICAgICAgICAgLy9sZXQgdGltZXM9dGltZVZhbHVlLnNwbGl0KFwiOlwiKTtcbiAgICAgICAgICAgICAgICBzdHIgKz0gdGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnSEgnLCBEYXRlSGVscGVyLmZpbGxEYXRlKGRhdGVPYmplY3QuZ2V0SG91cnMoKSkpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdtbScsIERhdGVIZWxwZXIuZmlsbERhdGUoZGF0ZU9iamVjdC5nZXRNaW51dGVzKCkpKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnc3MnLCBEYXRlSGVscGVyLmZpbGxEYXRlKGRhdGVPYmplY3QuZ2V0U2Vjb25kcygpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgICAgICAgLypcbiAgICAgIGxldCBkYXRlU3RyaW5nPXByZWZpeCtcIiBcIjtcbiAgICAgIGlmKGRhdGVGb3JtYXQhPVwiXCIpe1xuICAgICAgICBkYXRlU3RyaW5nKz1kYXRlT2JqZWN0LnRvTG9jYWxlRGF0ZVN0cmluZyhUcmFuc2xhdGlvbi5nZXRMYW5ndWFnZSgpKStcIiBcIjtcbiAgICAgIH1cbiAgICAgIGlmKHRpbWUhPVwiXCIpe1xuICAgICAgICBkYXRlU3RyaW5nKz1kYXRlT2JqZWN0LnRvTG9jYWxlVGltZVN0cmluZyhUcmFuc2xhdGlvbi5nZXRMYW5ndWFnZSgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRlU3RyaW5nO1xuICAgICAgKi9cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUgYXMgYW55O1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBnZXREYXRlRnJvbURhdGVwaWNrZXIoZGF0ZTogRGF0ZSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MCAqIDEwMDApO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXREYXRlRm9yTmV3RmlsZSgpIHtcbiAgICAgICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZShudWxsLCBuZXcgRGF0ZSgpLmdldFRpbWUoKSwge1xuICAgICAgICAgICAgc2hvd0Fsd2F5c1RpbWU6IHRydWUsXG4gICAgICAgICAgICB1c2VSZWxhdGl2ZUxhYmVsczogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -275,4 +275,4 @@ export class VCard {
275
275
  : VCard.TYPE_PERSON;
276
276
  }
277
277
  }
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVkNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3V0aWwvVkNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxNQUFNLE9BQU8sS0FBSzthQUNBLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO2FBQ2hCLGFBQVEsR0FBRyxDQUFDLENBQUM7SUFJM0IsWUFBWSxRQUFnQixJQUFJO1FBSGhDLHdCQUF3QjtRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR3BCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLHFCQUFxQjtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQzFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUN4RDtZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPO1FBQ1YsZ0RBQWdEO1FBQ2hELE9BQU8sQ0FDSCxJQUFJLENBQUMsU0FBUztZQUNkLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLEdBQUc7WUFDUixJQUFJLENBQUMsTUFBTTtZQUNYLElBQUksQ0FBQyxJQUFJO1lBQ1QsSUFBSSxDQUFDLEdBQUc7WUFDUixJQUFJLENBQUMsT0FBTyxDQUNmLENBQUM7SUFDTixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsSUFBWTtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsSUFBWTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsSUFBWTtRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxJQUFZO1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQVcsR0FBRyxDQUFDLElBQVk7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsS0FBSyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQVcsR0FBRyxDQUFDLElBQVk7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQVcsR0FBRyxDQUFDLElBQVk7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLElBQVk7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQVcsY0FBYyxDQUFDLElBQVk7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLGNBQWM7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3BELElBQUksTUFBTTtZQUFFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQVcsR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNNLGFBQWE7UUFDaEIsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDTSxjQUFjO1FBQ2pCLE1BQU0sTUFBTSxHQUNSLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ00sR0FBRyxDQUFDLEdBQVcsRUFBRSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUUsV0FBbUIsSUFBSTtRQUM1RCxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUU7WUFDbEIsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNmLEdBQUcsR0FBRyxHQUFHLENBQUM7U0FDYjtRQUNELElBQUksR0FBRyxJQUFJLFdBQVcsRUFBRTtZQUNwQixVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsR0FBRyxHQUFHLEdBQUcsQ0FBQztTQUNiO1FBQ0QsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwRCxJQUFJLFVBQVUsSUFBSSxDQUFDLENBQUM7b0JBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDekUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9CO1NBQ0o7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBQ00sTUFBTSxDQUFDLEdBQVc7UUFDckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDTSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELHlDQUF5QztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ3BDLElBQUksR0FBRyxJQUFJLFNBQVMsRUFBRTtZQUNsQixVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsR0FBRyxHQUFHLEdBQUcsQ0FBQztTQUNiO1FBQ0QsSUFBSSxHQUFHLElBQUksV0FBVyxFQUFFO1lBQ3BCLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDZixHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDekIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RELElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUNsQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkMsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQy9CO3FCQUFNO29CQUNILFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsQztnQkFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO2dCQUM5RCxPQUFPO2FBQ1Y7WUFDRCxDQUFDLEVBQUUsQ0FBQztTQUNQO1FBQ0QsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUU7WUFDakIsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNmLE9BQU8sU0FBUyxDQUFDLE1BQU0sR0FBRyxVQUFVO2dCQUFFLFNBQVMsSUFBSSxHQUFHLENBQUM7WUFDdkQsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksV0FBVztnQkFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxFQUFFLENBQUM7U0FDUDtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDTyxRQUFRLENBQUMsS0FBYTtRQUMxQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDTyxNQUFNLENBQUMsS0FBYTtRQUN4QixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVNLElBQUk7UUFDUCxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsS0FBWTtRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU87Z0JBQzVCLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVztnQkFDbkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWF0ZWQgYnkgVG9yc3RlbiBvbiAyOC4wMi4yMDE3LlxuICovXG5cbmV4cG9ydCBjbGFzcyBWQ2FyZCB7XG4gICAgcHVibGljIHN0YXRpYyBUWVBFX1BFUlNPTiA9IDA7XG4gICAgcHVibGljIHN0YXRpYyBUWVBFX09SRyA9IDE7XG4gICAgLy8gd2FzIHRoZSB2Y2FyZCBhbHRlcmVkXG4gICAgcHJpdmF0ZSBpc0RpcnR5ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBsaW5lczogc3RyaW5nW107XG4gICAgY29uc3RydWN0b3IodmNhcmQ6IHN0cmluZyA9IG51bGwpIHtcbiAgICAgICAgaWYgKHZjYXJkKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmVzID0gdmNhcmQuc3BsaXQoJ1xcbicpO1xuICAgICAgICAgICAgLy8gdGhpcy5yZW1vdmUoXCJGTlwiKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5nZXQoJ0JFR0lOJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVzLnNwbGljZSgwLCAwLCAnQkVHSU46VkNBUkQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5nZXQoJ1ZFUlNJT04nKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGluZXMuc3BsaWNlKDEsIDAsICdWRVJTSU9OOjMuMCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmdldCgnRU5EJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVzLnNwbGljZSh0aGlzLmxpbmVzLmxlbmd0aCwgMCwgJ0VORDpWQ0FSRCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGluZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMubGluZXMucHVzaCgnQkVHSU46VkNBUkQnKTtcbiAgICAgICAgICAgIHRoaXMubGluZXMucHVzaCgnVkVSU0lPTjozLjAnKTtcbiAgICAgICAgICAgIHRoaXMubGluZXMucHVzaCgnRU5EOlZDQVJEJyk7XG4gICAgICAgICAgICB0aGlzLmlzRGlydHkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgdHJ1ZSBpZiB0aGlzIHZjYXJkIHNlZW1zIHRvIGhhdmUgdmFsaWQgZGF0YVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhXG4gICAgICovXG4gICAgcHVibGljIGlzVmFsaWQoKSB7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLmxpbmVzIT1udWxsICYmIHRoaXMubGluZXMubGVuZ3RoO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5naXZlbm5hbWUgfHxcbiAgICAgICAgICAgIHRoaXMuc3VybmFtZSB8fFxuICAgICAgICAgICAgdGhpcy5vcmcgfHxcbiAgICAgICAgICAgIHRoaXMuc3RyZWV0IHx8XG4gICAgICAgICAgICB0aGlzLmNpdHkgfHxcbiAgICAgICAgICAgIHRoaXMuemlwIHx8XG4gICAgICAgICAgICB0aGlzLmNvdW50cnlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBnaXZlbm5hbWUoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdHaXZlbm5hbWUnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBzdXJuYW1lKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnU3VybmFtZScsIGRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHRpdGxlKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnVElUTEUnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBvcmcoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdPUkcnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBvcmdQaG9uZShkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ1RFTDtUWVBFPVdPUkssVk9JQ0UnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCB1cmwoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdVUkwnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBlbWFpbChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ0VNQUlMO1RZUEU9UFJFRixJTlRFUk5FVCcsIGRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHVpZChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ1VJRDp1cm46dXVpZCcsIGRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG9yY2lkKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnWC1PUkNJRCcsIGRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGduZHVyaShkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ1gtR05ELVVSSScsIGRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHJvcihkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ1gtUk9SJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgd2lraWRhdGEoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdYLVdpa2lkYXRhJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgc3RyZWV0KGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnQURSO1RZUEU9aW50bCxwb3N0YWwscGFyY2VsLHdvcmsnLCBkYXRhLCAyKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBjaXR5KGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnQURSO1RZUEU9aW50bCxwb3N0YWwscGFyY2VsLHdvcmsnLCBkYXRhLCAzKTtcbiAgICB9XG4gICAgcHVibGljIHNldCByZWdpb24oZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdBRFI7VFlQRT1pbnRsLHBvc3RhbCxwYXJjZWwsd29yaycsIGRhdGEsIDQpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHppcChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgZGF0YSwgNSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgY291bnRyeShkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgZGF0YSwgNik7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgY29udHJpYnV0ZURhdGUoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdYLUVTLUxPTS1DT05UUklCVVRFLURBVEUnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBnaXZlbm5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnR2l2ZW5uYW1lJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgc3VybmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdTdXJuYW1lJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgb3JjaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnWC1PUkNJRCcpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGduZHVyaSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdYLUdORC1VUkknKTtcbiAgICB9XG4gICAgcHVibGljIGdldCByb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnWC1ST1InKTtcbiAgICB9XG4gICAgcHVibGljIGdldCB3aWtpZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdYLVdpa2lkYXRhJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnVElUTEUnKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBvcmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnT1JHJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY29udHJpYnV0ZURhdGUoKSB7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0KCdYLUVTLUxPTS1DT05UUklCVVRFLURBVEUnKTtcbiAgICAgICAgaWYgKHN0cmluZykgcmV0dXJuIHN0cmluZy5zcGxpdCgnVCcpWzBdO1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdVUkwnKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBvcmdQaG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdURUw7VFlQRT1XT1JLLFZPSUNFJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZW1haWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnRU1BSUw7VFlQRT1QUkVGLElOVEVSTkVUJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdWlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ1VJRDp1cm46dXVpZCcpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHN0cmVldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdBRFI7VFlQRT1pbnRsLHBvc3RhbCxwYXJjZWwsd29yaycsIDIpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGNpdHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnQURSO1RZUEU9aW50bCxwb3N0YWwscGFyY2VsLHdvcmsnLCAzKTtcbiAgICB9XG4gICAgcHVibGljIGdldCByZWdpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnQURSO1RZUEU9aW50bCxwb3N0YWwscGFyY2VsLHdvcmsnLCA0KTtcbiAgICB9XG4gICAgcHVibGljIGdldCB6aXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnQURSO1RZUEU9aW50bCxwb3N0YWwscGFyY2VsLHdvcmsnLCA1KTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjb3VudHJ5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgNik7XG4gICAgfVxuICAgIHB1YmxpYyB0b1ZDYXJkU3RyaW5nKCkge1xuICAgICAgICAvLyB1bmFsdGVyZWQgLT4gc28gcmV0dXJuIGEgbnVsbCB2YWx1ZVxuICAgICAgICBpZiAoIXRoaXMuaXNEaXJ0eSkgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmICh0aGlzLmdldCgnR2l2ZW5uYW1lJykgfHwgdGhpcy5nZXQoJ1N1cm5hbWUnKSlcbiAgICAgICAgICAgIHRoaXMuc2V0KCdGTicsIHRoaXMuZ2V0KCdHaXZlbm5hbWUnLCAtMSwgJycpICsgJyAnICsgdGhpcy5nZXQoJ1N1cm5hbWUnLCAtMSwgJycpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubGluZXMuam9pbignXFxuJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXREaXNwbGF5TmFtZSgpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nID1cbiAgICAgICAgICAgICh0aGlzLnRpdGxlID8/ICcnKSArICcgJyArICh0aGlzLmdpdmVubmFtZSA/PyAnJykgKyAnICcgKyAodGhpcy5zdXJuYW1lID8/ICcnKTtcbiAgICAgICAgaWYgKHN0cmluZy50cmltKCkgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcmcgfHwgJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICB9XG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZywgc3BsaXRJbmRleCA9IC0xLCBmYWxsYmFjazogc3RyaW5nID0gbnVsbCkge1xuICAgICAgICBpZiAoa2V5ID09ICdTdXJuYW1lJykge1xuICAgICAgICAgICAgc3BsaXRJbmRleCA9IDA7XG4gICAgICAgICAgICBrZXkgPSAnTic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PSAnR2l2ZW5uYW1lJykge1xuICAgICAgICAgICAgc3BsaXRJbmRleCA9IDE7XG4gICAgICAgICAgICBrZXkgPSAnTic7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgbGluZSBvZiB0aGlzLmxpbmVzKSB7XG4gICAgICAgICAgICBsaW5lID0gbGluZS50cmltKCk7XG4gICAgICAgICAgICBpZiAobGluZS5zdGFydHNXaXRoKGtleSArICc6JykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGxpbmUuc3Vic3RyaW5nKGtleS5sZW5ndGggKyAxKS50cmltKCk7XG4gICAgICAgICAgICAgICAgaWYgKHNwbGl0SW5kZXggIT0gLTEpIHJldHVybiB0aGlzLmRlRXNjYXBlKHZhbHVlLnNwbGl0KCc7Jylbc3BsaXRJbmRleF0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlRXNjYXBlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsbGJhY2s7XG4gICAgfVxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5saW5lc1tpXS5zdGFydHNXaXRoKGtleSArICc6JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIHNwbGl0SW5kZXggPSAtMSkge1xuICAgICAgICAvLyBubyB2YWx1ZSBhbmQgZW1wdHkgdmNhcmQgLT4gZG8gbm90aGluZ1xuICAgICAgICBpZiAoIXRoaXMuaXNEaXJ0eSAmJiAhdmFsdWUpIHJldHVybjtcbiAgICAgICAgaWYgKGtleSA9PSAnU3VybmFtZScpIHtcbiAgICAgICAgICAgIHNwbGl0SW5kZXggPSAwO1xuICAgICAgICAgICAga2V5ID0gJ04nO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT0gJ0dpdmVubmFtZScpIHtcbiAgICAgICAgICAgIHNwbGl0SW5kZXggPSAxO1xuICAgICAgICAgICAga2V5ID0gJ04nO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgZm9yIChsZXQgbGluZSBvZiB0aGlzLmxpbmVzKSB7XG4gICAgICAgICAgICBsaW5lID0gbGluZS50cmltKCk7XG4gICAgICAgICAgICBpZiAobGluZS5zdGFydHNXaXRoKGtleSArICc6JykpIHtcbiAgICAgICAgICAgICAgICBsZXQgbGluZVZhbHVlID0gbGluZS5zdWJzdHJpbmcoa2V5Lmxlbmd0aCArIDEpLnRyaW0oKTtcbiAgICAgICAgICAgICAgICBpZiAoc3BsaXRJbmRleCAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzcGxpdCA9IGxpbmVWYWx1ZS5zcGxpdCgnOycpO1xuICAgICAgICAgICAgICAgICAgICBzcGxpdFtzcGxpdEluZGV4XSA9IHRoaXMuZXNjYXBlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZVZhbHVlID0gc3BsaXQuam9pbignOycpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmVWYWx1ZSA9IHRoaXMuZXNjYXBlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lc1tpXSA9IGxpbmUuc3Vic3RyaW5nKDAsIGtleS5sZW5ndGggKyAxKSArIGxpbmVWYWx1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxpbmVWYWx1ZSA9IHRoaXMuZXNjYXBlKHZhbHVlKTtcbiAgICAgICAgaWYgKHNwbGl0SW5kZXggPj0gMCkge1xuICAgICAgICAgICAgbGluZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB3aGlsZSAobGluZVZhbHVlLmxlbmd0aCA8IHNwbGl0SW5kZXgpIGxpbmVWYWx1ZSArPSAnOyc7XG4gICAgICAgICAgICBsaW5lVmFsdWUgKz0gdGhpcy5lc2NhcGUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGluZXMuc3BsaWNlKHRoaXMuZ2V0TmV4dExpbmUoKSwgMCwga2V5ICsgJzonICsgbGluZVZhbHVlKTtcbiAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRMaW5lKCkge1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiB0aGlzLmxpbmVzKSB7XG4gICAgICAgICAgICBpZiAobGluZS50cmltKCkgPT0gJ0VORDpWQ0FSRCcpIHJldHVybiBpIC0gMTtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5saW5lcy5sZW5ndGggLSAxO1xuICAgIH1cbiAgICBwcml2YXRlIGRlRXNjYXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiAnJztcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcXFxcXFxcL2csICdcXFxcJykucmVwbGFjZSgvXFxcXCwvZywgJywnKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBlc2NhcGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuICcnO1xuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvXFxcXC9nLCAnXFxcXFxcXFwnKS5yZXBsYWNlKC8sL2csICdcXFxcLCcpLnJlcGxhY2UoLzsvZywgJyAnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29weSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBWQ2FyZCh0aGlzLnRvVkNhcmRTdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwbHkgYWxsIGRhdGEgZnJvbSBhbiBvdGhlciB2Y2FyZCB0byB0aGlzIG9iamVjdFxuICAgICAqIEBwYXJhbSBvdGhlclxuICAgICAqL1xuICAgIHB1YmxpYyBhcHBseShvdGhlcjogVkNhcmQpIHtcbiAgICAgICAgdGhpcy5saW5lcyA9IG90aGVyLmxpbmVzO1xuICAgIH1cblxuICAgIGdldFR5cGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpXG4gICAgICAgICAgICA/IHRoaXMuZ2l2ZW5uYW1lIHx8IHRoaXMuc3VybmFtZVxuICAgICAgICAgICAgICAgID8gVkNhcmQuVFlQRV9QRVJTT05cbiAgICAgICAgICAgICAgICA6IFZDYXJkLlRZUEVfT1JHXG4gICAgICAgICAgICA6IFZDYXJkLlRZUEVfUEVSU09OO1xuICAgIH1cbn1cbiJdfQ==
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVkNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3V0aWwvVkNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxNQUFNLE9BQU8sS0FBSzthQUNBLGdCQUFXLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFDaEIsYUFBUSxHQUFHLENBQUMsQUFBSixDQUFLO0lBSTNCLFlBQVksUUFBZ0IsSUFBSTtRQUhoQyx3QkFBd0I7UUFDaEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdwQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLHFCQUFxQjtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekQsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxD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QU8sRUFBRSxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTSxJQUFJO1FBQ1AsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLEtBQVk7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPO2dCQUM1QixDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVc7Z0JBQ25CLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVkIGJ5IFRvcnN0ZW4gb24gMjguMDIuMjAxNy5cbiAqL1xuXG5leHBvcnQgY2xhc3MgVkNhcmQge1xuICAgIHB1YmxpYyBzdGF0aWMgVFlQRV9QRVJTT04gPSAwO1xuICAgIHB1YmxpYyBzdGF0aWMgVFlQRV9PUkcgPSAxO1xuICAgIC8vIHdhcyB0aGUgdmNhcmQgYWx0ZXJlZFxuICAgIHByaXZhdGUgaXNEaXJ0eSA9IGZhbHNlO1xuICAgIHByaXZhdGUgbGluZXM6IHN0cmluZ1tdO1xuICAgIGNvbnN0cnVjdG9yKHZjYXJkOiBzdHJpbmcgPSBudWxsKSB7XG4gICAgICAgIGlmICh2Y2FyZCkge1xuICAgICAgICAgICAgdGhpcy5saW5lcyA9IHZjYXJkLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgICAgIC8vIHRoaXMucmVtb3ZlKFwiRk5cIik7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZ2V0KCdCRUdJTicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lcy5zcGxpY2UoMCwgMCwgJ0JFR0lOOlZDQVJEJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuZ2V0KCdWRVJTSU9OJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVzLnNwbGljZSgxLCAwLCAnVkVSU0lPTjozLjAnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5nZXQoJ0VORCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lcy5zcGxpY2UodGhpcy5saW5lcy5sZW5ndGgsIDAsICdFTkQ6VkNBUkQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpbmVzID0gW107XG4gICAgICAgICAgICB0aGlzLmxpbmVzLnB1c2goJ0JFR0lOOlZDQVJEJyk7XG4gICAgICAgICAgICB0aGlzLmxpbmVzLnB1c2goJ1ZFUlNJT046My4wJyk7XG4gICAgICAgICAgICB0aGlzLmxpbmVzLnB1c2goJ0VORDpWQ0FSRCcpO1xuICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIHRydWUgaWYgdGhpcyB2Y2FyZCBzZWVtcyB0byBoYXZlIHZhbGlkIGRhdGFcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBpc1ZhbGlkKCkge1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5saW5lcyE9bnVsbCAmJiB0aGlzLmxpbmVzLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZ2l2ZW5uYW1lIHx8XG4gICAgICAgICAgICB0aGlzLnN1cm5hbWUgfHxcbiAgICAgICAgICAgIHRoaXMub3JnIHx8XG4gICAgICAgICAgICB0aGlzLnN0cmVldCB8fFxuICAgICAgICAgICAgdGhpcy5jaXR5IHx8XG4gICAgICAgICAgICB0aGlzLnppcCB8fFxuICAgICAgICAgICAgdGhpcy5jb3VudHJ5XG4gICAgICAgICk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZ2l2ZW5uYW1lKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnR2l2ZW5uYW1lJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgc3VybmFtZShkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ1N1cm5hbWUnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCB0aXRsZShkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ1RJVExFJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgb3JnKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnT1JHJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgb3JnUGhvbmUoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdURUw7VFlQRT1XT1JLLFZPSUNFJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgdXJsKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnVVJMJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZW1haWwoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdFTUFJTDtUWVBFPVBSRUYsSU5URVJORVQnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCB1aWQoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdVSUQ6dXJuOnV1aWQnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBvcmNpZChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ1gtT1JDSUQnLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCBnbmR1cmkoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdYLUdORC1VUkknLCBkYXRhKTtcbiAgICB9XG4gICAgcHVibGljIHNldCByb3IoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdYLVJPUicsIGRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHdpa2lkYXRhKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnWC1XaWtpZGF0YScsIGRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHN0cmVldChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgZGF0YSwgMik7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgY2l0eShkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgZGF0YSwgMyk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgcmVnaW9uKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnQURSO1RZUEU9aW50bCxwb3N0YWwscGFyY2VsLHdvcmsnLCBkYXRhLCA0KTtcbiAgICB9XG4gICAgcHVibGljIHNldCB6aXAoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdBRFI7VFlQRT1pbnRsLHBvc3RhbCxwYXJjZWwsd29yaycsIGRhdGEsIDUpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGNvdW50cnkoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KCdBRFI7VFlQRT1pbnRsLHBvc3RhbCxwYXJjZWwsd29yaycsIGRhdGEsIDYpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGNvbnRyaWJ1dGVEYXRlKGRhdGE6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCgnWC1FUy1MT00tQ09OVFJJQlVURS1EQVRFJywgZGF0YSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZ2l2ZW5uYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ0dpdmVubmFtZScpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHN1cm5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnU3VybmFtZScpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG9yY2lkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ1gtT1JDSUQnKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBnbmR1cmkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnWC1HTkQtVVJJJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcm9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ1gtUk9SJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgd2lraWRhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnWC1XaWtpZGF0YScpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ1RJVExFJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgb3JnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ09SRycpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGNvbnRyaWJ1dGVEYXRlKCkge1xuICAgICAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldCgnWC1FUy1MT00tQ09OVFJJQlVURS1EQVRFJyk7XG4gICAgICAgIGlmIChzdHJpbmcpIHJldHVybiBzdHJpbmcuc3BsaXQoJ1QnKVswXTtcbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICB9XG4gICAgcHVibGljIGdldCB1cmwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnVVJMJyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgb3JnUGhvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnVEVMO1RZUEU9V09SSyxWT0lDRScpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVtYWlsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ0VNQUlMO1RZUEU9UFJFRixJTlRFUk5FVCcpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHVpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdVSUQ6dXJuOnV1aWQnKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBzdHJlZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnQURSO1RZUEU9aW50bCxwb3N0YWwscGFyY2VsLHdvcmsnLCAyKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjaXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgMyk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcmVnaW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgNCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgemlwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ0FEUjtUWVBFPWludGwscG9zdGFsLHBhcmNlbCx3b3JrJywgNSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY291bnRyeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdBRFI7VFlQRT1pbnRsLHBvc3RhbCxwYXJjZWwsd29yaycsIDYpO1xuICAgIH1cbiAgICBwdWJsaWMgdG9WQ2FyZFN0cmluZygpIHtcbiAgICAgICAgLy8gdW5hbHRlcmVkIC0+IHNvIHJldHVybiBhIG51bGwgdmFsdWVcbiAgICAgICAgaWYgKCF0aGlzLmlzRGlydHkpIHJldHVybiBudWxsO1xuICAgICAgICBpZiAodGhpcy5nZXQoJ0dpdmVubmFtZScpIHx8IHRoaXMuZ2V0KCdTdXJuYW1lJykpXG4gICAgICAgICAgICB0aGlzLnNldCgnRk4nLCB0aGlzLmdldCgnR2l2ZW5uYW1lJywgLTEsICcnKSArICcgJyArIHRoaXMuZ2V0KCdTdXJuYW1lJywgLTEsICcnKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmxpbmVzLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0RGlzcGxheU5hbWUoKSB7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9XG4gICAgICAgICAgICAodGhpcy50aXRsZSA/PyAnJykgKyAnICcgKyAodGhpcy5naXZlbm5hbWUgPz8gJycpICsgJyAnICsgKHRoaXMuc3VybmFtZSA/PyAnJyk7XG4gICAgICAgIGlmIChzdHJpbmcudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3JnIHx8ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcsIHNwbGl0SW5kZXggPSAtMSwgZmFsbGJhY2s6IHN0cmluZyA9IG51bGwpIHtcbiAgICAgICAgaWYgKGtleSA9PSAnU3VybmFtZScpIHtcbiAgICAgICAgICAgIHNwbGl0SW5kZXggPSAwO1xuICAgICAgICAgICAga2V5ID0gJ04nO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT0gJ0dpdmVubmFtZScpIHtcbiAgICAgICAgICAgIHNwbGl0SW5kZXggPSAxO1xuICAgICAgICAgICAga2V5ID0gJ04nO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGxpbmUgb2YgdGhpcy5saW5lcykge1xuICAgICAgICAgICAgbGluZSA9IGxpbmUudHJpbSgpO1xuICAgICAgICAgICAgaWYgKGxpbmUuc3RhcnRzV2l0aChrZXkgKyAnOicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBsaW5lLnN1YnN0cmluZyhrZXkubGVuZ3RoICsgMSkudHJpbSgpO1xuICAgICAgICAgICAgICAgIGlmIChzcGxpdEluZGV4ICE9IC0xKSByZXR1cm4gdGhpcy5kZUVzY2FwZSh2YWx1ZS5zcGxpdCgnOycpW3NwbGl0SW5kZXhdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZUVzY2FwZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbGxiYWNrO1xuICAgIH1cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5saW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMubGluZXNbaV0uc3RhcnRzV2l0aChrZXkgKyAnOicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBzcGxpdEluZGV4ID0gLTEpIHtcbiAgICAgICAgLy8gbm8gdmFsdWUgYW5kIGVtcHR5IHZjYXJkIC0+IGRvIG5vdGhpbmdcbiAgICAgICAgaWYgKCF0aGlzLmlzRGlydHkgJiYgIXZhbHVlKSByZXR1cm47XG4gICAgICAgIGlmIChrZXkgPT0gJ1N1cm5hbWUnKSB7XG4gICAgICAgICAgICBzcGxpdEluZGV4ID0gMDtcbiAgICAgICAgICAgIGtleSA9ICdOJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09ICdHaXZlbm5hbWUnKSB7XG4gICAgICAgICAgICBzcGxpdEluZGV4ID0gMTtcbiAgICAgICAgICAgIGtleSA9ICdOJztcbiAgICAgICAgfVxuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGZvciAobGV0IGxpbmUgb2YgdGhpcy5saW5lcykge1xuICAgICAgICAgICAgbGluZSA9IGxpbmUudHJpbSgpO1xuICAgICAgICAgICAgaWYgKGxpbmUuc3RhcnRzV2l0aChrZXkgKyAnOicpKSB7XG4gICAgICAgICAgICAgICAgbGV0IGxpbmVWYWx1ZSA9IGxpbmUuc3Vic3RyaW5nKGtleS5sZW5ndGggKyAxKS50cmltKCk7XG4gICAgICAgICAgICAgICAgaWYgKHNwbGl0SW5kZXggIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3BsaXQgPSBsaW5lVmFsdWUuc3BsaXQoJzsnKTtcbiAgICAgICAgICAgICAgICAgICAgc3BsaXRbc3BsaXRJbmRleF0gPSB0aGlzLmVzY2FwZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmVWYWx1ZSA9IHNwbGl0LmpvaW4oJzsnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsaW5lVmFsdWUgPSB0aGlzLmVzY2FwZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMubGluZXNbaV0gPSBsaW5lLnN1YnN0cmluZygwLCBrZXkubGVuZ3RoICsgMSkgKyBsaW5lVmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgICAgIGxldCBsaW5lVmFsdWUgPSB0aGlzLmVzY2FwZSh2YWx1ZSk7XG4gICAgICAgIGlmIChzcGxpdEluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGxpbmVWYWx1ZSA9ICcnO1xuICAgICAgICAgICAgd2hpbGUgKGxpbmVWYWx1ZS5sZW5ndGggPCBzcGxpdEluZGV4KSBsaW5lVmFsdWUgKz0gJzsnO1xuICAgICAgICAgICAgbGluZVZhbHVlICs9IHRoaXMuZXNjYXBlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpbmVzLnNwbGljZSh0aGlzLmdldE5leHRMaW5lKCksIDAsIGtleSArICc6JyArIGxpbmVWYWx1ZSk7XG4gICAgICAgIHRoaXMuaXNEaXJ0eSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROZXh0TGluZSgpIHtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5saW5lcykge1xuICAgICAgICAgICAgaWYgKGxpbmUudHJpbSgpID09ICdFTkQ6VkNBUkQnKSByZXR1cm4gaSAtIDE7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubGluZXMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgcHJpdmF0ZSBkZUVzY2FwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gJyc7XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnXFxcXCcpLnJlcGxhY2UoL1xcXFwsL2csICcsJyk7XG4gICAgfVxuICAgIHByaXZhdGUgZXNjYXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiAnJztcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcXFwvZywgJ1xcXFxcXFxcJykucmVwbGFjZSgvLC9nLCAnXFxcXCwnKS5yZXBsYWNlKC87L2csICcgJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHkoKSB7XG4gICAgICAgIHJldHVybiBuZXcgVkNhcmQodGhpcy50b1ZDYXJkU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFwcGx5IGFsbCBkYXRhIGZyb20gYW4gb3RoZXIgdmNhcmQgdG8gdGhpcyBvYmplY3RcbiAgICAgKiBAcGFyYW0gb3RoZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgYXBwbHkob3RoZXI6IFZDYXJkKSB7XG4gICAgICAgIHRoaXMubGluZXMgPSBvdGhlci5saW5lcztcbiAgICB9XG5cbiAgICBnZXRUeXBlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKVxuICAgICAgICAgICAgPyB0aGlzLmdpdmVubmFtZSB8fCB0aGlzLnN1cm5hbWVcbiAgICAgICAgICAgICAgICA/IFZDYXJkLlRZUEVfUEVSU09OXG4gICAgICAgICAgICAgICAgOiBWQ2FyZC5UWVBFX09SR1xuICAgICAgICAgICAgOiBWQ2FyZC5UWVBFX1BFUlNPTjtcbiAgICB9XG59XG4iXX0=
@@ -121,4 +121,4 @@ export var PreferredColor;
121
121
  PreferredColor[PreferredColor["Black"] = 0] = "Black";
122
122
  PreferredColor[PreferredColor["White"] = 1] = "White";
123
123
  })(PreferredColor || (PreferredColor = {}));
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi91dGlsL2NvbG9yLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztJQUNiLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYTtRQUNyQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLE1BQU0sR0FBRyxvREFBb0QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzFGO1FBQ0QsSUFBSSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sTUFBTTtZQUNULENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBYTtRQUMxQyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsYUFB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QUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFcEIsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKO0FBQ0QsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN0QixxREFBSyxDQUFBO0lBQ0wscURBQUssQ0FBQTtBQUNULENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb2xvckhlbHBlciB7XG4gICAgcHVibGljIHN0YXRpYyBjc3NDb2xvclRvUmdiKGNvbG9yOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gICAgICAgIGNvbG9yID0gY29sb3IudHJpbSgpO1xuICAgICAgICBpZiAoY29sb3Iuc3RhcnRzV2l0aCgncmdiJykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAvcmdiLj9cXChcXHMqKFtcXGRdKilcXHMqLFxccyooW1xcZF0qKVxccyosXFxzKihbXFxkKl0qKVxccyovaS5leGVjKGNvbG9yKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQgPyBbcGFyc2VJbnQocmVzdWx0WzFdKSwgcGFyc2VJbnQocmVzdWx0WzJdKSwgcGFyc2VJbnQocmVzdWx0WzNdKV0gOiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoY29sb3IpO1xuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICA/IFtwYXJzZUludChyZXN1bHRbMV0sIDE2KSwgcGFyc2VJbnQocmVzdWx0WzJdLCAxNiksIHBhcnNlSW50KHJlc3VsdFszXSwgMTYpXVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgdGhlIGVzdGltYXRlZCBjb2xvciBicmlnaHRuZXNzIGZvciBhIGNzcyBjb2xvciBiYXNlZCBvbiBhIHBlcmVjZWl2ZWQgYnJpZ2h0bmVzcyBmYWN0b3JcbiAgICAgKiBWYWx1ZSBiZXR3ZWVuIFswLDFdIGFuZCAtMSBpZiB0aGUgY3NzIHN0cmluZyB3YXMgbm90IHJlYWRhYmxlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yXG4gICAgICogQHJldHVybnMge251bWJlcn1cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldENvbG9yQnJpZ2h0bmVzcyhjb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHJnYiA9IENvbG9ySGVscGVyLmNzc0NvbG9yVG9SZ2IoY29sb3IpO1xuICAgICAgICBpZiAocmdiKSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gKHJnYlswXSowLjIxMjYgKyByZ2JbMV0qMC43MTUyICsgcmdiWzJdKjAuMDcyMikgLyAyNTU7XG4gICAgICAgICAgICBjb25zdCBhID0gcmdiLm1hcCgodikgPT4ge1xuICAgICAgICAgICAgICAgIHYgLz0gMjU1O1xuICAgICAgICAgICAgICAgIHJldHVybiB2IDw9IDAuMDM5MjggPyB2IC8gMTIuOTIgOiBNYXRoLnBvdygodiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYVswXSAqIDAuMjEyNiArIGFbMV0gKiAwLjcxNTIgKyBhWzJdICogMC4wNzIyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRSYXRpbyhsMTogbnVtYmVyLCBsMjogbnVtYmVyKSB7XG4gICAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgY29sb3IgY29udHJhc3QgcmF0aW9cbiAgICAgICAgcmV0dXJuIGwxID4gbDIgPyAobDIgKyAwLjA1KSAvIChsMSArIDAuMDUpIDogKGwxICsgMC4wNSkgLyAobDIgKyAwLjA1KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogcmV0dXJucyAwIChibGFjaykgb3IgMSAod2hpdGUpXG4gICAgICogQHBhcmFtIGNvbG9yXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRQcmVmZXJyZWRDb2xvcihjb2xvcjogc3RyaW5nKTogUHJlZmVycmVkQ29sb3Ige1xuICAgICAgICBpZiAoIWNvbG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJlZmVycmVkQ29sb3IuQmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnJpZ2h0bmVzcyA9IENvbG9ySGVscGVyLmdldENvbG9yQnJpZ2h0bmVzcyhjb2xvcik7XG4gICAgICAgIGNvbnN0IHJhdGlvQmxhY2sgPSBDb2xvckhlbHBlci5nZXRSYXRpbygwLCBicmlnaHRuZXNzKTtcbiAgICAgICAgY29uc3QgcmF0aW9XaGl0ZSA9IENvbG9ySGVscGVyLmdldFJhdGlvKDEsIGJyaWdodG5lc3MpO1xuICAgICAgICByZXR1cm4gcmF0aW9CbGFjayA+IHJhdGlvV2hpdGUgPyBQcmVmZXJyZWRDb2xvci5CbGFjayA6IFByZWZlcnJlZENvbG9yLldoaXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmdiVG9IZXgocmdiOiBudW1iZXJbXSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAnIycgK1xuICAgICAgICAgICAgQ29sb3JIZWxwZXIuY29tcG9uZW50VG9IZXgocmdiWzBdKSArXG4gICAgICAgICAgICBDb2xvckhlbHBlci5jb21wb25lbnRUb0hleChyZ2JbMV0pICtcbiAgICAgICAgICAgIENvbG9ySGVscGVyLmNvbXBvbmVudFRvSGV4KHJnYlsyXSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBjb21wb25lbnRUb0hleChjOiBudW1iZXIpIHtcbiAgICAgICAgdmFyIGhleCA9IE1hdGgubWF4KDAsIE1hdGgubWluKE1hdGgucm91bmQoYyksIDI1NSkpLnRvU3RyaW5nKDE2KTtcbiAgICAgICAgcmV0dXJuIGhleC5sZW5ndGggPT0gMSA/ICcwJyArIGhleCA6IGhleDtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyByZ2JUb0hzbChyZ2I6IG51bWJlcltdKSB7XG4gICAgICAgIGNvbnN0IHIgPSByZ2JbMF0gLyAyNTU7XG4gICAgICAgIGNvbnN0IGcgPSByZ2JbMV0gLyAyNTU7XG4gICAgICAgIGNvbnN0IGIgPSByZ2JbMl0gLyAyNTU7XG4gICAgICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuICAgICAgICBjb25zdCBtaW4gPSBNYXRoLm1pbihyLCBnLCBiKTtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9uZS12YXJpYWJsZS1wZXItZGVjbGFyYXRpb24gcHJlZmVyLWNvbnN0XG4gICAgICAgIGxldCBoLFxuICAgICAgICAgICAgcyxcbiAgICAgICAgICAgIGwgPSAobWF4ICsgbWluKSAvIDI7XG4gICAgICAgIGlmIChtYXggPT09IG1pbikge1xuICAgICAgICAgICAgaCA9IHMgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZCA9IG1heCAtIG1pbjtcbiAgICAgICAgICAgIHMgPSBsID4gMC41ID8gZCAvICgyIC0gbWF4IC0gbWluKSA6IGQgLyAobWF4ICsgbWluKTtcblxuICAgICAgICAgICAgc3dpdGNoIChtYXgpIHtcbiAgICAgICAgICAgICAgICBjYXNlIHI6XG4gICAgICAgICAgICAgICAgICAgIGggPSAoZyAtIGIpIC8gZCArIChnIDwgYiA/IDYgOiAwKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBnOlxuICAgICAgICAgICAgICAgICAgICBoID0gKGIgLSByKSAvIGQgKyAyO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIGI6XG4gICAgICAgICAgICAgICAgICAgIGggPSAociAtIGcpIC8gZCArIDQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaCAvPSA2O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbaCwgcywgbF07XG4gICAgfVxuICAgIHByaXZhdGUgc3RhdGljIGh1ZTJyZ2IocDogbnVtYmVyLCBxOiBudW1iZXIsIHQ6IG51bWJlcikge1xuICAgICAgICBpZiAodCA8IDApIHQgKz0gMTtcbiAgICAgICAgaWYgKHQgPiAxKSB0IC09IDE7XG4gICAgICAgIGlmICh0IDwgMSAvIDYpIHJldHVybiBwICsgKHEgLSBwKSAqIDYgKiB0O1xuICAgICAgICBpZiAodCA8IDEgLyAyKSByZXR1cm4gcTtcbiAgICAgICAgaWYgKHQgPCAyIC8gMykgcmV0dXJuIHAgKyAocSAtIHApICogKDIgLyAzIC0gdCkgKiA2O1xuICAgICAgICByZXR1cm4gcDtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBoc2xUb1JnYihoc2w6IG51bWJlcltdKSB7XG4gICAgICAgIGNvbnN0IGggPSBoc2xbMF07XG4gICAgICAgIGNvbnN0IHMgPSBoc2xbMV07XG4gICAgICAgIGNvbnN0IGwgPSBoc2xbMl07XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmUtdmFyaWFibGUtcGVyLWRlY2xhcmF0aW9uXG4gICAgICAgIGxldCByLCBnLCBiO1xuICAgICAgICBpZiAocyA9PT0gMCkge1xuICAgICAgICAgICAgciA9IGcgPSBiID0gbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHEgPSBsIDwgMC41ID8gbCAqICgxICsgcykgOiBsICsgcyAtIGwgKiBzO1xuICAgICAgICAgICAgY29uc3QgcCA9IDIgKiBsIC0gcTtcblxuICAgICAgICAgICAgciA9IENvbG9ySGVscGVyLmh1ZTJyZ2IocCwgcSwgaCArIDEgLyAzKTtcbiAgICAgICAgICAgIGcgPSBDb2xvckhlbHBlci5odWUycmdiKHAsIHEsIGgpO1xuICAgICAgICAgICAgYiA9IENvbG9ySGVscGVyLmh1ZTJyZ2IocCwgcSwgaCAtIDEgLyAzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbciAqIDI1NSwgZyAqIDI1NSwgYiAqIDI1NV07XG4gICAgfVxufVxuZXhwb3J0IGVudW0gUHJlZmVycmVkQ29sb3Ige1xuICAgIEJsYWNrLFxuICAgIFdoaXRlLFxufVxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi91dGlsL2NvbG9yLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztJQUNiLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYTtRQUNyQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksTUFBTSxHQUFHLG9EQUFvRCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5RSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDM0YsQ0FBQztRQUNELElBQUksTUFBTSxHQUFHLDJDQUEyQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxPQUFPLE1BQU07WUFDVCxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3RSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQWE7UUFDMUMsTUFBTSxHQUFHLEdBQUcsV0FB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QUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFcEIsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0o7QUFDRCxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLHFEQUFLLENBQUE7SUFDTCxxREFBSyxDQUFBO0FBQ1QsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENvbG9ySGVscGVyIHtcbiAgICBwdWJsaWMgc3RhdGljIGNzc0NvbG9yVG9SZ2IoY29sb3I6IHN0cmluZyk6IG51bWJlcltdIHtcbiAgICAgICAgY29sb3IgPSBjb2xvci50cmltKCk7XG4gICAgICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCdyZ2InKSkge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IC9yZ2IuP1xcKFxccyooW1xcZF0qKVxccyosXFxzKihbXFxkXSopXFxzKixcXHMqKFtcXGQqXSopXFxzKi9pLmV4ZWMoY29sb3IpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCA/IFtwYXJzZUludChyZXN1bHRbMV0pLCBwYXJzZUludChyZXN1bHRbMl0pLCBwYXJzZUludChyZXN1bHRbM10pXSA6IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhjb2xvcik7XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgID8gW3BhcnNlSW50KHJlc3VsdFsxXSwgMTYpLCBwYXJzZUludChyZXN1bHRbMl0sIDE2KSwgcGFyc2VJbnQocmVzdWx0WzNdLCAxNildXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyB0aGUgZXN0aW1hdGVkIGNvbG9yIGJyaWdodG5lc3MgZm9yIGEgY3NzIGNvbG9yIGJhc2VkIG9uIGEgcGVyZWNlaXZlZCBicmlnaHRuZXNzIGZhY3RvclxuICAgICAqIFZhbHVlIGJldHdlZW4gWzAsMV0gYW5kIC0xIGlmIHRoZSBjc3Mgc3RyaW5nIHdhcyBub3QgcmVhZGFibGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gY29sb3JcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q29sb3JCcmlnaHRuZXNzKGNvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmdiID0gQ29sb3JIZWxwZXIuY3NzQ29sb3JUb1JnYihjb2xvcik7XG4gICAgICAgIGlmIChyZ2IpIHtcbiAgICAgICAgICAgIC8vIHJldHVybiAocmdiWzBdKjAuMjEyNiArIHJnYlsxXSowLjcxNTIgKyByZ2JbMl0qMC4wNzIyKSAvIDI1NTtcbiAgICAgICAgICAgIGNvbnN0IGEgPSByZ2IubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgdiAvPSAyNTU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYgPD0gMC4wMzkyOCA/IHYgLyAxMi45MiA6IE1hdGgucG93KCh2ICsgMC4wNTUpIC8gMS4wNTUsIDIuNCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhWzBdICogMC4yMTI2ICsgYVsxXSAqIDAuNzE1MiArIGFbMl0gKiAwLjA3MjI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGdldFJhdGlvKGwxOiBudW1iZXIsIGwyOiBudW1iZXIpIHtcbiAgICAgICAgLy8gY2FsY3VsYXRlIHRoZSBjb2xvciBjb250cmFzdCByYXRpb1xuICAgICAgICByZXR1cm4gbDEgPiBsMiA/IChsMiArIDAuMDUpIC8gKGwxICsgMC4wNSkgOiAobDEgKyAwLjA1KSAvIChsMiArIDAuMDUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIDAgKGJsYWNrKSBvciAxICh3aGl0ZSlcbiAgICAgKiBAcGFyYW0gY29sb3JcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFByZWZlcnJlZENvbG9yKGNvbG9yOiBzdHJpbmcpOiBQcmVmZXJyZWRDb2xvciB7XG4gICAgICAgIGlmICghY29sb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBQcmVmZXJyZWRDb2xvci5CbGFjaztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBicmlnaHRuZXNzID0gQ29sb3JIZWxwZXIuZ2V0Q29sb3JCcmlnaHRuZXNzKGNvbG9yKTtcbiAgICAgICAgY29uc3QgcmF0aW9CbGFjayA9IENvbG9ySGVscGVyLmdldFJhdGlvKDAsIGJyaWdodG5lc3MpO1xuICAgICAgICBjb25zdCByYXRpb1doaXRlID0gQ29sb3JIZWxwZXIuZ2V0UmF0aW8oMSwgYnJpZ2h0bmVzcyk7XG4gICAgICAgIHJldHVybiByYXRpb0JsYWNrID4gcmF0aW9XaGl0ZSA/IFByZWZlcnJlZENvbG9yLkJsYWNrIDogUHJlZmVycmVkQ29sb3IuV2hpdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZ2JUb0hleChyZ2I6IG51bWJlcltdKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICcjJyArXG4gICAgICAgICAgICBDb2xvckhlbHBlci5jb21wb25lbnRUb0hleChyZ2JbMF0pICtcbiAgICAgICAgICAgIENvbG9ySGVscGVyLmNvbXBvbmVudFRvSGV4KHJnYlsxXSkgK1xuICAgICAgICAgICAgQ29sb3JIZWxwZXIuY29tcG9uZW50VG9IZXgocmdiWzJdKVxuICAgICAgICApO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGNvbXBvbmVudFRvSGV4KGM6IG51bWJlcikge1xuICAgICAgICB2YXIgaGV4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oTWF0aC5yb3VuZChjKSwgMjU1KSkudG9TdHJpbmcoMTYpO1xuICAgICAgICByZXR1cm4gaGV4Lmxlbmd0aCA9PSAxID8gJzAnICsgaGV4IDogaGV4O1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIHJnYlRvSHNsKHJnYjogbnVtYmVyW10pIHtcbiAgICAgICAgY29uc3QgciA9IHJnYlswXSAvIDI1NTtcbiAgICAgICAgY29uc3QgZyA9IHJnYlsxXSAvIDI1NTtcbiAgICAgICAgY29uc3QgYiA9IHJnYlsyXSAvIDI1NTtcbiAgICAgICAgY29uc3QgbWF4ID0gTWF0aC5tYXgociwgZywgYik7XG4gICAgICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKHIsIGcsIGIpO1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25lLXZhcmlhYmxlLXBlci1kZWNsYXJhdGlvbiBwcmVmZXItY29uc3RcbiAgICAgICAgbGV0IGgsXG4gICAgICAgICAgICBzLFxuICAgICAgICAgICAgbCA9IChtYXggKyBtaW4pIC8gMjtcbiAgICAgICAgaWYgKG1heCA9PT0gbWluKSB7XG4gICAgICAgICAgICBoID0gcyA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkID0gbWF4IC0gbWluO1xuICAgICAgICAgICAgcyA9IGwgPiAwLjUgPyBkIC8gKDIgLSBtYXggLSBtaW4pIDogZCAvIChtYXggKyBtaW4pO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKG1heCkge1xuICAgICAgICAgICAgICAgIGNhc2UgcjpcbiAgICAgICAgICAgICAgICAgICAgaCA9IChnIC0gYikgLyBkICsgKGcgPCBiID8gNiA6IDApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIGc6XG4gICAgICAgICAgICAgICAgICAgIGggPSAoYiAtIHIpIC8gZCArIDI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgYjpcbiAgICAgICAgICAgICAgICAgICAgaCA9IChyIC0gZykgLyBkICsgNDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoIC89IDY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtoLCBzLCBsXTtcbiAgICB9XG4gICAgcHJpdmF0ZSBzdGF0aWMgaHVlMnJnYihwOiBudW1iZXIsIHE6IG51bWJlciwgdDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0IDwgMCkgdCArPSAxO1xuICAgICAgICBpZiAodCA+IDEpIHQgLT0gMTtcbiAgICAgICAgaWYgKHQgPCAxIC8gNikgcmV0dXJuIHAgKyAocSAtIHApICogNiAqIHQ7XG4gICAgICAgIGlmICh0IDwgMSAvIDIpIHJldHVybiBxO1xuICAgICAgICBpZiAodCA8IDIgLyAzKSByZXR1cm4gcCArIChxIC0gcCkgKiAoMiAvIDMgLSB0KSAqIDY7XG4gICAgICAgIHJldHVybiBwO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGhzbFRvUmdiKGhzbDogbnVtYmVyW10pIHtcbiAgICAgICAgY29uc3QgaCA9IGhzbFswXTtcbiAgICAgICAgY29uc3QgcyA9IGhzbFsxXTtcbiAgICAgICAgY29uc3QgbCA9IGhzbFsyXTtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9uZS12YXJpYWJsZS1wZXItZGVjbGFyYXRpb25cbiAgICAgICAgbGV0IHIsIGcsIGI7XG4gICAgICAgIGlmIChzID09PSAwKSB7XG4gICAgICAgICAgICByID0gZyA9IGIgPSBsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcSA9IGwgPCAwLjUgPyBsICogKDEgKyBzKSA6IGwgKyBzIC0gbCAqIHM7XG4gICAgICAgICAgICBjb25zdCBwID0gMiAqIGwgLSBxO1xuXG4gICAgICAgICAgICByID0gQ29sb3JIZWxwZXIuaHVlMnJnYihwLCBxLCBoICsgMSAvIDMpO1xuICAgICAgICAgICAgZyA9IENvbG9ySGVscGVyLmh1ZTJyZ2IocCwgcSwgaCk7XG4gICAgICAgICAgICBiID0gQ29sb3JIZWxwZXIuaHVlMnJnYihwLCBxLCBoIC0gMSAvIDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtyICogMjU1LCBnICogMjU1LCBiICogMjU1XTtcbiAgICB9XG59XG5leHBvcnQgZW51bSBQcmVmZXJyZWRDb2xvciB7XG4gICAgQmxhY2ssXG4gICAgV2hpdGUsXG59XG4iXX0=
@@ -99,4 +99,4 @@ export class DurationHelper {
99
99
  return str;
100
100
  }
101
101
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi91dGlsL2R1cmF0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQVNYO0FBVEQsV0FBWSxjQUFjO0lBQ3RCOztPQUVHO0lBQ0gsaUNBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsNkJBQVcsQ0FBQTtBQUNmLENBQUMsRUFUVyxjQUFjLEtBQWQsY0FBYyxRQVN6QjtBQUNELE1BQU0sT0FBTyxjQUFjO0lBQ2hCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFhO1FBQzVDLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDckIsSUFBSTtZQUNBLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxJQUFJLEdBQUcs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Q0FBQyxDQUFDLENBQUM7b0JBQ3RCLEdBQUc7b0JBQ0gsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLEdBQUc7b0JBQ0gsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5QjthQUFNO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDUCxHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7YUFDeEI7WUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEdXJhdGlvbkZvcm1hdCB7XG4gICAgLyoqXG4gICAgICogZm9ybWF0IHdpdGggY29sb24sIGkuZS4gSDpNTTpTU1xuICAgICAqL1xuICAgIENvbG9uID0gJ2NvbG9uJyxcbiAgICAvKipcbiAgICAgKiBmb3JtYXQgd2l0aCBIaCBNbSBTc1xuICAgICAqL1xuICAgIEhtcyA9ICdobXMnLFxufVxuZXhwb3J0IGNsYXNzIER1cmF0aW9uSGVscGVyIHtcbiAgICBwdWJsaWMgc3RhdGljIGdldER1cmF0aW9uSW5TZWNvbmRzKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICAvLyBQVDFINU0yM1NcbiAgICAgICAgLy8gb3IgMDA6MDA6MDBcbiAgICAgICAgLy8gb3IgMDA6MDBcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIDA7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gdmFsdWUuc3BsaXQoJzonKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID09IDMpIHtcbiAgICAgICAgICAgICAgICBsZXQgaCA9IHJlc3VsdFswXSA/IHBhcnNlSW50KHJlc3VsdFswXSkgOiAwO1xuICAgICAgICAgICAgICAgIGxldCBtID0gcmVzdWx0WzFdID8gcGFyc2VJbnQocmVzdWx0WzFdKSA6IDA7XG4gICAgICAgICAgICAgICAgbGV0IHMgPSByZXN1bHRbMl0gPyBwYXJzZUludChyZXN1bHRbMl0pIDogMDtcbiAgICAgICAgICAgICAgICBsZXQgdGltZSA9IGggKiA2MCAqIDYwICsgbSAqIDYwICsgcztcbiAgICAgICAgICAgICAgICByZXR1cm4gdGltZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID09IDIpIHtcbiAgICAgICAgICAgICAgICBsZXQgbSA9IHJlc3VsdFswXSA/IHBhcnNlSW50KHJlc3VsdFswXSkgOiAwO1xuICAgICAgICAgICAgICAgIGxldCBzID0gcmVzdWx0WzFdID8gcGFyc2VJbnQocmVzdWx0WzFdKSA6IDA7XG4gICAgICAgICAgICAgICAgbGV0IHRpbWUgPSBtICogNjAgKyBzO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgYXMgdW5rbm93biBhcyBudW1iZXI7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCByZWdleHAgPSBuZXcgUmVnRXhwKCdQVChcXFxcZCtIKT8oXFxcXGQrTSk/KFxcXFxkK1MpPycpO1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHJlZ2V4cC5leGVjKHZhbHVlKTtcbiAgICAgICAgICAgIGxldCBoID0gcmVzdWx0WzFdID8gcGFyc2VJbnQocmVzdWx0WzFdKSA6IDA7XG4gICAgICAgICAgICBsZXQgbSA9IHJlc3VsdFsyXSA/IHBhcnNlSW50KHJlc3VsdFsyXSkgOiAwO1xuICAgICAgICAgICAgbGV0IHMgPSByZXN1bHRbM10gPyBwYXJzZUludChyZXN1bHRbM10pIDogMDtcbiAgICAgICAgICAgIGxldCB0aW1lID0gaCAqIDYwICogNjAgKyBtICogNjAgKyBzO1xuICAgICAgICAgICAgcmV0dXJuIHRpbWU7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSBhcyB1bmtub3duIGFzIG51bWJlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGdldER1cmF0aW9uRm9ybWF0dGVkKFxuICAgICAgICBkdXJhdGlvbjogc3RyaW5nLFxuICAgICAgICBmb3JtYXQ6IER1cmF0aW9uRm9ybWF0ID0gRHVyYXRpb25Gb3JtYXQuQ29sb24sXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHRpbWUgPSBEdXJhdGlvbkhlbHBlci5nZXREdXJhdGlvbkluU2Vjb25kcyhkdXJhdGlvbik7XG4gICAgICAgIGlmICghdGltZSkgcmV0dXJuICcnO1xuICAgICAgICBsZXQgaCA9IE1hdGguZmxvb3IodGltZSAvIDYwIC8gNjApO1xuICAgICAgICBsZXQgbSA9IE1hdGguZmxvb3IoTWF0aC5mbG9vcih0aW1lIC8gNjApICUgNjApO1xuICAgICAgICBsZXQgcyA9IE1hdGguZmxvb3IodGltZSAlIDYwKTtcbiAgICAgICAgbGV0IG9wdGlvbnM6IEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiAyLFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgICAgICB9O1xuICAgICAgICBsZXQgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtdLCBvcHRpb25zKTtcbiAgICAgICAgbGV0IHN0ciA9ICcnO1xuICAgICAgICAvKlxuICAgICAgaWYoaD4wKSB7XG4gICAgICAgIHN0ciA9IGZvcm1hdC5mb3JtYXQoaCkgKyBcImhcIjtcbiAgICAgIH1cbiAgICAgIGlmKG0+MCkge1xuICAgICAgICBpZiAoc3RyKVxuICAgICAgICAgIHN0ciArPSBcIiBcIjtcbiAgICAgICAgc3RyICs9IGZvcm1hdC5mb3JtYXQobSkgKyBcIm1cIjtcbiAgICAgIH1cbiAgICAgIGlmKHM+MCkge1xuICAgICAgICBpZiAoc3RyKVxuICAgICAgICAgIHN0ciArPSBcIiBcIjtcbiAgICAgICAgc3RyICs9IGZvcm1hdC5mb3JtYXQocykgKyBcInNcIjtcbiAgICAgIH1cbiAgICAgICovXG4gICAgICAgIGlmIChmb3JtYXQgPT09IER1cmF0aW9uRm9ybWF0LkNvbG9uKSB7XG4gICAgICAgICAgICBzdHIgPVxuICAgICAgICAgICAgICAgIG51bWJlckZvcm1hdC5mb3JtYXQoaCkgK1xuICAgICAgICAgICAgICAgICc6JyArXG4gICAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0LmZvcm1hdChtKSArXG4gICAgICAgICAgICAgICAgJzonICtcbiAgICAgICAgICAgICAgICBudW1iZXJGb3JtYXQuZm9ybWF0KHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGggPiAwKSB7XG4gICAgICAgICAgICAgICAgc3RyICs9IGggKyAnaCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobSA+IDApIHtcbiAgICAgICAgICAgICAgICBzdHIgKz0gJyAnICsgbSArICdtJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzID4gMCkge1xuICAgICAgICAgICAgICAgIHN0ciArPSAnICcgKyBzICsgJ3MnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RyID0gc3RyLnRyaW0oKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi91dGlsL2R1cmF0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQVNYO0FBVEQsV0FBWSxjQUFjO0lBQ3RCOztPQUVHO0lBQ0gsaUNBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsNkJBQVcsQ0FBQTtBQUNmLENBQUMsRUFUVyxjQUFjLEtBQWQsY0FBYyxRQVN6QjtBQUNELE1BQU0sT0FBTyxjQUFjO0lBQ2hCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFhO1FBQzVDLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDO1lBQ0QsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLElBQUks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LE1BQU0sS0FBSyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsR0FBRztnQkFDQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDdEIsR0FBRztvQkFDSCxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDdEIsR0FBRztvQkFDSCxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ1IsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDbkIsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNSLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ1IsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIER1cmF0aW9uRm9ybWF0IHtcbiAgICAvKipcbiAgICAgKiBmb3JtYXQgd2l0aCBjb2xvbiwgaS5lLiBIOk1NOlNTXG4gICAgICovXG4gICAgQ29sb24gPSAnY29sb24nLFxuICAgIC8qKlxuICAgICAqIGZvcm1hdCB3aXRoIEhoIE1tIFNzXG4gICAgICovXG4gICAgSG1zID0gJ2htcycsXG59XG5leHBvcnQgY2xhc3MgRHVyYXRpb25IZWxwZXIge1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RHVyYXRpb25JblNlY29uZHModmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIC8vIFBUMUg1TTIzU1xuICAgICAgICAvLyBvciAwMDowMDowMFxuICAgICAgICAvLyBvciAwMDowMFxuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm4gMDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSB2YWx1ZS5zcGxpdCgnOicpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPT0gMykge1xuICAgICAgICAgICAgICAgIGxldCBoID0gcmVzdWx0WzBdID8gcGFyc2VJbnQocmVzdWx0WzBdKSA6IDA7XG4gICAgICAgICAgICAgICAgbGV0IG0gPSByZXN1bHRbMV0gPyBwYXJzZUludChyZXN1bHRbMV0pIDogMDtcbiAgICAgICAgICAgICAgICBsZXQgcyA9IHJlc3VsdFsyXSA/IHBhcnNlSW50KHJlc3VsdFsyXSkgOiAwO1xuICAgICAgICAgICAgICAgIGxldCB0aW1lID0gaCAqIDYwICogNjAgKyBtICogNjAgKyBzO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPT0gMikge1xuICAgICAgICAgICAgICAgIGxldCBtID0gcmVzdWx0WzBdID8gcGFyc2VJbnQocmVzdWx0WzBdKSA6IDA7XG4gICAgICAgICAgICAgICAgbGV0IHMgPSByZXN1bHRbMV0gPyBwYXJzZUludChyZXN1bHRbMV0pIDogMDtcbiAgICAgICAgICAgICAgICBsZXQgdGltZSA9IG0gKiA2MCArIHM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRpbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSBhcyB1bmtub3duIGFzIG51bWJlcjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoJ1BUKFxcXFxkK0gpPyhcXFxcZCtNKT8oXFxcXGQrUyk/Jyk7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gcmVnZXhwLmV4ZWModmFsdWUpO1xuICAgICAgICAgICAgbGV0IGggPSByZXN1bHRbMV0gPyBwYXJzZUludChyZXN1bHRbMV0pIDogMDtcbiAgICAgICAgICAgIGxldCBtID0gcmVzdWx0WzJdID8gcGFyc2VJbnQocmVzdWx0WzJdKSA6IDA7XG4gICAgICAgICAgICBsZXQgcyA9IHJlc3VsdFszXSA/IHBhcnNlSW50KHJlc3VsdFszXSkgOiAwO1xuICAgICAgICAgICAgbGV0IHRpbWUgPSBoICogNjAgKiA2MCArIG0gKiA2MCArIHM7XG4gICAgICAgICAgICByZXR1cm4gdGltZTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlIGFzIHVua25vd24gYXMgbnVtYmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RHVyYXRpb25Gb3JtYXR0ZWQoXG4gICAgICAgIGR1cmF0aW9uOiBzdHJpbmcsXG4gICAgICAgIGZvcm1hdDogRHVyYXRpb25Gb3JtYXQgPSBEdXJhdGlvbkZvcm1hdC5Db2xvbixcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBsZXQgdGltZSA9IER1cmF0aW9uSGVscGVyLmdldER1cmF0aW9uSW5TZWNvbmRzKGR1cmF0aW9uKTtcbiAgICAgICAgaWYgKCF0aW1lKSByZXR1cm4gJyc7XG4gICAgICAgIGxldCBoID0gTWF0aC5mbG9vcih0aW1lIC8gNjAgLyA2MCk7XG4gICAgICAgIGxldCBtID0gTWF0aC5mbG9vcihNYXRoLmZsb29yKHRpbWUgLyA2MCkgJSA2MCk7XG4gICAgICAgIGxldCBzID0gTWF0aC5mbG9vcih0aW1lICUgNjApO1xuICAgICAgICBsZXQgb3B0aW9uczogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zID0ge1xuICAgICAgICAgICAgbWluaW11bUludGVnZXJEaWdpdHM6IDIsXG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICAgIH07XG4gICAgICAgIGxldCBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW10sIG9wdGlvbnMpO1xuICAgICAgICBsZXQgc3RyID0gJyc7XG4gICAgICAgIC8qXG4gICAgICBpZihoPjApIHtcbiAgICAgICAgc3RyID0gZm9ybWF0LmZvcm1hdChoKSArIFwiaFwiO1xuICAgICAgfVxuICAgICAgaWYobT4wKSB7XG4gICAgICAgIGlmIChzdHIpXG4gICAgICAgICAgc3RyICs9IFwiIFwiO1xuICAgICAgICBzdHIgKz0gZm9ybWF0LmZvcm1hdChtKSArIFwibVwiO1xuICAgICAgfVxuICAgICAgaWYocz4wKSB7XG4gICAgICAgIGlmIChzdHIpXG4gICAgICAgICAgc3RyICs9IFwiIFwiO1xuICAgICAgICBzdHIgKz0gZm9ybWF0LmZvcm1hdChzKSArIFwic1wiO1xuICAgICAgfVxuICAgICAgKi9cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gRHVyYXRpb25Gb3JtYXQuQ29sb24pIHtcbiAgICAgICAgICAgIHN0ciA9XG4gICAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0LmZvcm1hdChoKSArXG4gICAgICAgICAgICAgICAgJzonICtcbiAgICAgICAgICAgICAgICBudW1iZXJGb3JtYXQuZm9ybWF0KG0pICtcbiAgICAgICAgICAgICAgICAnOicgK1xuICAgICAgICAgICAgICAgIG51bWJlckZvcm1hdC5mb3JtYXQocyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoaCA+IDApIHtcbiAgICAgICAgICAgICAgICBzdHIgKz0gaCArICdoJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChtID4gMCkge1xuICAgICAgICAgICAgICAgIHN0ciArPSAnICcgKyBtICsgJ20nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgc3RyICs9ICcgJyArIHMgKyAncyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdHIgPSBzdHIudHJpbSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxufVxuIl19
@@ -61,4 +61,4 @@ export class Helper {
61
61
  return obj;
62
62
  }
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi91dGlsL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakMsTUFBTSxPQUFPLE1BQU07SUFDUixNQUFNLENBQUMsUUFBUSxDQUFDLElBQVM7UUFDNUIsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBVztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFZLEVBQUUsT0FBWTtRQUNqRCxJQUFJLE9BQU8sSUFBSSxJQUFJO1lBQUUsT0FBTyxPQUFPLElBQUksSUFBSSxDQUFDO1FBQzVDLElBQUksT0FBTyxJQUFJLElBQUk7WUFBRSxPQUFPLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLDBCQUEwQixDQUFDLE1BQVcsRUFBRSxJQUFZO1FBQzlELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxHQUFHLElBQUksS0FBSyxFQUFFO1lBQ25CLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNoQixHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0gsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2QsT0FBTyxHQUFHLENBQUM7aUJBQ2Q7Z0JBQ0QsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0o7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFDTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBUSxFQUFFLFFBQWtCO1FBQ2pFLEtBQUssSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUFFLFNBQVM7WUFDckMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNqQjtpQkFBTSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDbkMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN2RDtTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc051bWVyaWMgfSBmcm9tICcuL2lzTnVtZXJpYyc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIEhlbHBlciB7XG4gICAgcHVibGljIHN0YXRpYyBkZWVwQ29weShkYXRhOiBhbnkpIHtcbiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGRlZXBDb3B5QXJyYXkoZGF0YTogYW55W10pIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpKSByZXR1cm4gZGF0YTtcbiAgICAgICAgcmV0dXJuIGRhdGEuc2xpY2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgYm90aCBvYmplY3RzIGhhdmUgdGhlIHNhbWUgdmFsdWVzIHN0b3JlZFxuICAgICAqIHdpbGwgbm90IHdvcmsgZm9yIGNsYXNzZXMgaW5jbHVkaW5nIG1ldGhvZHMgb3Igc2ltaWxhciBkeW5hbWljIGRhdGFcbiAgICAgKiBAcGFyYW0gb2JqZWN0MVxuICAgICAqIEBwYXJhbSBvYmplY3QyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBvYmplY3RFcXVhbHMob2JqZWN0MTogYW55LCBvYmplY3QyOiBhbnkpIHtcbiAgICAgICAgaWYgKG9iamVjdDEgPT0gbnVsbCkgcmV0dXJuIG9iamVjdDIgPT0gbnVsbDtcbiAgICAgICAgaWYgKG9iamVjdDIgPT0gbnVsbCkgcmV0dXJuIG9iamVjdDEgPT0gbnVsbDtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iamVjdDEpID09IEpTT04uc3RyaW5naWZ5KG9iamVjdDIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldCBkYXRhIGZyb20gYW4gb2JqZWN0IGJhc2VkIG9uIGEgZG90dGVkIHBhdGhcbiAgICAgKiBhbHNvIHN1cHBvcnRzIGFycmF5cyBsaWtlIFwiYXJyYXkuMC5rZXlcIlxuICAgICAqIEBwYXJhbSBuZXN0ZWQgdGhlIG9iamVjdCB0byByZXR1cm4gdGhlIGRhdGEgZnJvbVxuICAgICAqIEBwYXJhbSBwYXRoIHRoZSBwYXRoIG9mIHRoZSBmaWVsZCBsb2NhdGlvbiBpbiBkb3R0ZWQgbm90YXRpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldERvdFBhdGhGcm9tTmVzdGVkT2JqZWN0KG5lc3RlZDogYW55LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc3BsaXQgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgIGxldCBvYmogPSBuZXN0ZWQ7XG4gICAgICAgIGZvciAobGV0IGtleSBvZiBzcGxpdCkge1xuICAgICAgICAgICAgaWYgKGlzTnVtZXJpYyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgb2JqID0gb2JqPy5bcGFyc2VJbnQoa2V5KV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KG9iaikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb2JqID0gb2JqPy5ba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGZpbHRlck9iamVjdFByb3BlcnR5TmVzdGVkKG9iajogYW55LCBwcm9wZXJ0eTogc3RyaW5nW10pIHtcbiAgICAgICAgZm9yIChsZXQgaSBpbiBvYmopIHtcbiAgICAgICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KGkpKSBjb250aW51ZTtcbiAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5pbmNsdWRlcyhpKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbaV07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmpbaV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgSGVscGVyLmZpbHRlck9iamVjdFByb3BlcnR5TmVzdGVkKG9ialtpXSwgcHJvcGVydHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi91dGlsL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakMsTUFBTSxPQUFPLE1BQU07SUFDUixNQUFNLENBQUMsUUFBUSxDQUFDLElBQVM7UUFDNUIsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBVztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFZLEVBQUUsT0FBWTtRQUNqRCxJQUFJLE9BQU8sSUFBSSxJQUFJO1lBQUUsT0FBTyxPQUFPLElBQUksSUFBSSxDQUFDO1FBQzVDLElBQUksT0FBTyxJQUFJLElBQUk7WUFBRSxPQUFPLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLDBCQUEwQixDQUFDLE1BQVcsRUFBRSxJQUFZO1FBQzlELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDcEIsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNmLE9BQU8sR0FBRyxDQUFDO2dCQUNmLENBQUM7Z0JBQ0QsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBQ00sTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVEsRUFBRSxRQUFrQjtRQUNqRSxLQUFLLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFBRSxTQUFTO1lBQ3JDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQixDQUFDO2lCQUFNLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDeEQsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTnVtZXJpYyB9IGZyb20gJy4vaXNOdW1lcmljJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgSGVscGVyIHtcbiAgICBwdWJsaWMgc3RhdGljIGRlZXBDb3B5KGRhdGE6IGFueSkge1xuICAgICAgICBpZiAoZGF0YSA9PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZGVlcENvcHlBcnJheShkYXRhOiBhbnlbXSkge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHJldHVybiBkYXRhO1xuICAgICAgICByZXR1cm4gZGF0YS5zbGljZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiBib3RoIG9iamVjdHMgaGF2ZSB0aGUgc2FtZSB2YWx1ZXMgc3RvcmVkXG4gICAgICogd2lsbCBub3Qgd29yayBmb3IgY2xhc3NlcyBpbmNsdWRpbmcgbWV0aG9kcyBvciBzaW1pbGFyIGR5bmFtaWMgZGF0YVxuICAgICAqIEBwYXJhbSBvYmplY3QxXG4gICAgICogQHBhcmFtIG9iamVjdDJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG9iamVjdEVxdWFscyhvYmplY3QxOiBhbnksIG9iamVjdDI6IGFueSkge1xuICAgICAgICBpZiAob2JqZWN0MSA9PSBudWxsKSByZXR1cm4gb2JqZWN0MiA9PSBudWxsO1xuICAgICAgICBpZiAob2JqZWN0MiA9PSBudWxsKSByZXR1cm4gb2JqZWN0MSA9PSBudWxsO1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqZWN0MSkgPT0gSlNPTi5zdHJpbmdpZnkob2JqZWN0Mik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZ2V0IGRhdGEgZnJvbSBhbiBvYmplY3QgYmFzZWQgb24gYSBkb3R0ZWQgcGF0aFxuICAgICAqIGFsc28gc3VwcG9ydHMgYXJyYXlzIGxpa2UgXCJhcnJheS4wLmtleVwiXG4gICAgICogQHBhcmFtIG5lc3RlZCB0aGUgb2JqZWN0IHRvIHJldHVybiB0aGUgZGF0YSBmcm9tXG4gICAgICogQHBhcmFtIHBhdGggdGhlIHBhdGggb2YgdGhlIGZpZWxkIGxvY2F0aW9uIGluIGRvdHRlZCBub3RhdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RG90UGF0aEZyb21OZXN0ZWRPYmplY3QobmVzdGVkOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzcGxpdCA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICAgICAgbGV0IG9iaiA9IG5lc3RlZDtcbiAgICAgICAgZm9yIChsZXQga2V5IG9mIHNwbGl0KSB7XG4gICAgICAgICAgICBpZiAoaXNOdW1lcmljKGtleSkpIHtcbiAgICAgICAgICAgICAgICBvYmogPSBvYmo/LltwYXJzZUludChrZXkpXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkob2JqKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvYmogPSBvYmo/LltrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgZmlsdGVyT2JqZWN0UHJvcGVydHlOZXN0ZWQob2JqOiBhbnksIHByb3BlcnR5OiBzdHJpbmdbXSkge1xuICAgICAgICBmb3IgKGxldCBpIGluIG9iaikge1xuICAgICAgICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkoaSkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgaWYgKHByb3BlcnR5LmluY2x1ZGVzKGkpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG9ialtpXTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG9ialtpXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBIZWxwZXIuZmlsdGVyT2JqZWN0UHJvcGVydHlOZXN0ZWQob2JqW2ldLCBwcm9wZXJ0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG59XG4iXX0=
@@ -30,4 +30,4 @@ export class RestHelper {
30
30
  : properties[RestConstants.CM_NAME];
31
31
  }
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3V0aWwvcmVzdC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFRLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7YUFDRixxQkFBZ0IsR0FBRywwQkFBMEIsQ0FBQztJQUN4RCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVU7UUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVU7UUFDN0IsSUFBSSxJQUFJLEVBQUUsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDWixPQUFPLElBQUksRUFBRSxJQUFJLENBQUM7U0FDckI7UUFDRCxJQUFJLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbEIsT0FBTyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ00sTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQWU7UUFDaEQsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7WUFDMUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUsIFJlc3RDb25zdGFudHMgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbi8qKlxuICogRGlmZmVyZW50IGhlbHBlciBmdW5jdGlvbnMsIG1heSBiZSB1c2VkIGdsb2JhbGx5XG4gKi9cbmV4cG9ydCBjbGFzcyBSZXN0SGVscGVyIHtcbiAgICBwcm90ZWN0ZWQgc3RhdGljIFNQQUNFU19TVE9SRV9SRUYgPSAnd29ya3NwYWNlOi8vU3BhY2VzU3RvcmUvJztcbiAgICBwdWJsaWMgc3RhdGljIGdldE5hbWUobm9kZTogTm9kZSk6IHN0cmluZyB7XG4gICAgICAgIGlmIChub2RlLm5hbWUpIHJldHVybiBub2RlLm5hbWU7XG4gICAgICAgIGlmIChub2RlLnRpdGxlKSByZXR1cm4gbm9kZS50aXRsZTtcbiAgICAgICAgaWYgKG5vZGUucmVmKSByZXR1cm4gbm9kZS5yZWYuaWQ7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGdldFRpdGxlKG5vZGU6IE5vZGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAobm9kZT8udGl0bGUpIHJldHVybiBub2RlLnRpdGxlO1xuICAgICAgICBpZiAobm9kZT8ubmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5vZGU/Lm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGU/LnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN0SGVscGVyLmdldFRpdGxlRnJvbVByb3BlcnRpZXMobm9kZT8ucHJvcGVydGllcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGdldFRpdGxlRnJvbVByb3BlcnRpZXMocHJvcGVydGllczogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5MT01fUFJPUF9USVRMRV1cbiAgICAgICAgICAgID8gcHJvcGVydGllc1tSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFXVxuICAgICAgICAgICAgOiBwcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuQ01fTkFNRV07XG4gICAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3V0aWwvcmVzdC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFRLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7YUFDRixxQkFBZ0IsR0FBRywwQkFBMEIsQ0FBQztJQUN4RCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVU7UUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVU7UUFDN0IsSUFBSSxJQUFJLEVBQUUsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FBQztRQUN0QixDQUFDO1FBQ0QsSUFBSSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDbkIsT0FBTyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsVUFBZTtRQUNoRCxPQUFPLFVBQVUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztZQUMxQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSwgUmVzdENvbnN0YW50cyB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuLyoqXG4gKiBEaWZmZXJlbnQgaGVscGVyIGZ1bmN0aW9ucywgbWF5IGJlIHVzZWQgZ2xvYmFsbHlcbiAqL1xuZXhwb3J0IGNsYXNzIFJlc3RIZWxwZXIge1xuICAgIHByb3RlY3RlZCBzdGF0aWMgU1BBQ0VTX1NUT1JFX1JFRiA9ICd3b3Jrc3BhY2U6Ly9TcGFjZXNTdG9yZS8nO1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TmFtZShub2RlOiBOb2RlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKG5vZGUubmFtZSkgcmV0dXJuIG5vZGUubmFtZTtcbiAgICAgICAgaWYgKG5vZGUudGl0bGUpIHJldHVybiBub2RlLnRpdGxlO1xuICAgICAgICBpZiAobm9kZS5yZWYpIHJldHVybiBub2RlLnJlZi5pZDtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGl0bGUobm9kZTogTm9kZSk6IHN0cmluZyB7XG4gICAgICAgIGlmIChub2RlPy50aXRsZSkgcmV0dXJuIG5vZGUudGl0bGU7XG4gICAgICAgIGlmIChub2RlPy5uYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gbm9kZT8ubmFtZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZT8ucHJvcGVydGllcykge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3RIZWxwZXIuZ2V0VGl0bGVGcm9tUHJvcGVydGllcyhub2RlPy5wcm9wZXJ0aWVzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGl0bGVGcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcHJvcGVydGllc1tSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFXVxuICAgICAgICAgICAgPyBwcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuTE9NX1BST1BfVElUTEVdXG4gICAgICAgICAgICA6IHByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5DTV9OQU1FXTtcbiAgICB9XG59XG4iXX0=
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export * from './lib/actionbar/actionbar.component';
5
5
  export * from './lib/common/edu-sharing-ui-common.module';
6
+ export * from './lib/mds/mds.module';
6
7
  export * from './lib/directives/border-box-observer.directive';
7
8
  export * from './lib/directives/check-text-overflow.directive';
8
9
  export * from './lib/directives/drag-nodes/drag-nodes';
@@ -79,4 +80,5 @@ export * from './lib/util/isNumeric';
79
80
  export * from './lib/util/rest-helper';
80
81
  export * from './lib/util/ui-animation';
81
82
  export * from './lib/util/ui-constants';
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBlZHUtc2hhcmluZy11aVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9lZHUtc2hhcmluZy11aS1jb21tb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jaGVjay10ZXh0LW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvZHJhZy1ub2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJhZy1zb3VyY2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZHJhZy1ub2Rlcy9ub2Rlcy1kcmFnLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJvcC10YXJnZXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9jdXMtc3RhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZHUtc2hhcmluZy11aS1jb25maWd1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VkdS1zaGFyaW5nLXVpLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0LWl0ZW1zL2Zvcm1hdC1kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtaXRlbXMvbGlzdC1iYXNlL2xpc3QtYmFzZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC1pdGVtcy9saXN0LWNvdW50cy9saXN0LWNvdW50cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC1pdGVtcy9saXN0LWl0ZW1zLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0LWl0ZW1zL2xpc3QtdGV4dC9saXN0LXRleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtaXRlbXMvbm9kZS1yb3cvbm9kZS1yb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vZGUtZW50cmllcy9jb21iaW5lZC1kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvY3VzdG9tLXRlbXBsYXRlcy1kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvaXRlbXMtY2FwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vZGUtZW50cmllcy9saXN0LWl0ZW0tbGFiZWwucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvbm9kZS1jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZS1yZW1vdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL25vZGUtZW50cmllcy1nbG9iYWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vZGUtZW50cmllcy9ub2RlLWVudHJpZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vZGUtdXJsL25vZGUtdXJsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9wcm9wZXJ0eS1zbHVnLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZm9ybWF0LWRhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9ub2RlLWljb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9ub2RlLWltYWdlLXNpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9ub2RlLWltYWdlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbm9kZS1wZXJzb24tbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL25vZGUtdGl0bGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy92Y2FyZC1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYWJzdHJhY3QvYXBwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYWJzdHJhY3Qva2V5Ym9hcmQtc2hvcnRjdXRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hYnN0cmFjdC90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY2Vzc2liaWxpdHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHAtY29udGFpbmVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbG9jYWwtZXZlbnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ub2Rlcy1kcmFnLWRyb3Auc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcmVwby11cmwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90ZW1wb3Jhcnktc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VpLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc29ydC1kcm9wZG93bi9zb3J0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9ucy9mYWxsYmFjay10cmFuc2xhdGlvbi1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbi1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL2FwaS1tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvYWNjZXNzaWJpbGxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvZHJhZy1kcm9wJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL2luamVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMva2V5Ym9hcmQtc2hvcnRjdXRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL2xpc3QtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy9vcHRpb24taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy93b3JrZmxvdyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL0RhdGVIZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9WQ2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL2NvbG9yLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL2R1cmF0aW9uLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL2Z1bmN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL2hlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL2lzTnVtZXJpYyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL3Jlc3QtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWwvdWktYW5pbWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWwvdWktY29uc3RhbnRzJztcbiJdfQ==
83
+ export * from './lib/mds/mds-helper.service';
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZWR1LXNoYXJpbmctdWlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vZWR1LXNoYXJpbmctdWktY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZHMvbWRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2JvcmRlci1ib3gtb2JzZXJ2ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLW5vZGVzL2RyYWctbm9kZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLW5vZGVzL25vZGVzLWRyYWctc291cmNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJhZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLW5vZGVzL25vZGVzLWRyb3AtdGFyZ2V0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZvY3VzLXN0YXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ljb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZHUtc2hhcmluZy11aS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC1pdGVtcy9mb3JtYXQtZHVyYXRpb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0LWl0ZW1zL2xpc3QtYmFzZS9saXN0LWJhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtaXRlbXMvbGlzdC1jb3VudHMvbGlzdC1jb3VudHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtaXRlbXMvbGlzdC1pdGVtcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0LWl0ZW1zL25vZGUtcm93L25vZGUtcm93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvY29tYmluZWQtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL2N1c3RvbS10ZW1wbGF0ZXMtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL2l0ZW1zLWNhcCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvbGlzdC1pdGVtLWxhYmVsLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL25vZGUtY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UtcmVtb3RlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vZGUtZW50cmllcy9ub2RlLWVudHJpZXMtZ2xvYmFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm9kZS1lbnRyaWVzL25vZGUtZW50cmllcy13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub2RlLXVybC9ub2RlLXVybC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcHJvcGVydHktc2x1Zy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2Zvcm1hdC1kYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbm9kZS1pY29uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbm9kZS1pbWFnZS1zaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbm9kZS1pbWFnZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL25vZGUtcGVyc29uLW5hbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9ub2RlLXRpdGxlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvdmNhcmQtbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Fic3RyYWN0L2FwcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Fic3RyYWN0L29wdGlvbnMtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYWJzdHJhY3QvdG9hc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hY2Nlc3NpYmlsaXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXBwLWNvbnRhaW5lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xvY2FsLWV2ZW50cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL25vZGUtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbm9kZXMtZHJhZy1kcm9wLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvb3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3JlcG8tdXJsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGVtcG9yYXJ5LXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91aS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGlvbnMvZmFsbGJhY2stdHJhbnNsYXRpb24taGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24tbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy9hcGktbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL2FjY2Vzc2liaWxsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL2RyYWctZHJvcCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL2tleWJvYXJkLXNob3J0Y3V0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy9saXN0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvb3B0aW9uLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvd29ya2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9EYXRlSGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWwvVkNhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9jb2xvci1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9kdXJhdGlvbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9mdW5jdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9pc051bWVyaWMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9yZXN0LWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL3VpLWFuaW1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL3VpLWNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZHMvbWRzLWhlbHBlci5zZXJ2aWNlJztcbiJdfQ==