@dereekb/dbx-form 10.2.0 → 11.0.1

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 (144) hide show
  1. package/calendar/lib/calendar.schedule.selection.cell.component.d.ts +0 -1
  2. package/calendar/lib/calendar.schedule.selection.component.d.ts +1 -2
  3. package/calendar/lib/calendar.schedule.selection.days.component.d.ts +1 -2
  4. package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +1 -2
  5. package/calendar/lib/calendar.schedule.selection.popover.button.component.d.ts +1 -2
  6. package/calendar/lib/calendar.schedule.selection.range.component.d.ts +2 -3
  7. package/calendar/lib/calendar.schedule.selection.store.provide.d.ts +1 -2
  8. package/calendar/lib/calendar.schedule.selection.toggle.button.component.d.ts +0 -1
  9. package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +2 -3
  10. package/esm2022/calendar/lib/calendar.module.mjs +6 -6
  11. package/esm2022/calendar/lib/calendar.schedule.selection.cell.component.mjs +10 -13
  12. package/esm2022/calendar/lib/calendar.schedule.selection.component.mjs +49 -52
  13. package/esm2022/calendar/lib/calendar.schedule.selection.days.component.mjs +23 -27
  14. package/esm2022/calendar/lib/calendar.schedule.selection.days.form.component.mjs +5 -8
  15. package/esm2022/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +12 -13
  16. package/esm2022/calendar/lib/calendar.schedule.selection.dialog.component.mjs +4 -4
  17. package/esm2022/calendar/lib/calendar.schedule.selection.popover.button.component.mjs +22 -24
  18. package/esm2022/calendar/lib/calendar.schedule.selection.popover.component.mjs +4 -4
  19. package/esm2022/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +4 -4
  20. package/esm2022/calendar/lib/calendar.schedule.selection.range.component.mjs +81 -86
  21. package/esm2022/calendar/lib/calendar.schedule.selection.store.mjs +123 -123
  22. package/esm2022/calendar/lib/calendar.schedule.selection.store.provide.mjs +8 -13
  23. package/esm2022/calendar/lib/calendar.schedule.selection.toggle.button.component.mjs +39 -42
  24. package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +24 -31
  25. package/esm2022/calendar/lib/field/schedule/calendar.schedule.module.mjs +6 -6
  26. package/esm2022/lib/form/action/form.action.directive.mjs +29 -20
  27. package/esm2022/lib/form/action/form.action.module.mjs +4 -4
  28. package/esm2022/lib/form/action/transition/form.action.transition.module.mjs +4 -4
  29. package/esm2022/lib/form/action/transition/form.action.transition.safety.directive.mjs +7 -18
  30. package/esm2022/lib/form/form.module.mjs +4 -4
  31. package/esm2022/lib/form/io/form.changes.directive.mjs +7 -13
  32. package/esm2022/lib/form/io/form.input.directive.mjs +7 -13
  33. package/esm2022/lib/form/io/form.io.module.mjs +4 -4
  34. package/esm2022/lib/form/io/form.loading.directive.mjs +9 -15
  35. package/esm2022/lib/form.module.mjs +4 -4
  36. package/esm2022/lib/formly/field/checklist/checklist.field.mjs +4 -4
  37. package/esm2022/lib/formly/field/checklist/checklist.item.field.component.mjs +23 -31
  38. package/esm2022/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +5 -4
  39. package/esm2022/lib/formly/field/checklist/checklist.item.field.module.mjs +6 -6
  40. package/esm2022/lib/formly/field/component/component.field.component.mjs +4 -4
  41. package/esm2022/lib/formly/field/component/component.field.module.mjs +6 -6
  42. package/esm2022/lib/formly/field/form.field.module.mjs +4 -4
  43. package/esm2022/lib/formly/field/selection/list/list.field.component.mjs +33 -36
  44. package/esm2022/lib/formly/field/selection/list/list.field.module.mjs +6 -6
  45. package/esm2022/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +3 -3
  46. package/esm2022/lib/formly/field/selection/pickable/pickable.field.directive.mjs +72 -74
  47. package/esm2022/lib/formly/field/selection/pickable/pickable.field.module.mjs +6 -6
  48. package/esm2022/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +21 -24
  49. package/esm2022/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +6 -9
  50. package/esm2022/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +27 -34
  51. package/esm2022/lib/formly/field/selection/searchable/searchable.field.directive.mjs +32 -30
  52. package/esm2022/lib/formly/field/selection/searchable/searchable.field.module.mjs +6 -6
  53. package/esm2022/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +8 -11
  54. package/esm2022/lib/formly/field/selection/selection.module.mjs +4 -4
  55. package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.component.mjs +143 -145
  56. package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.module.mjs +6 -6
  57. package/esm2022/lib/formly/field/texteditor/texteditor.field.component.mjs +19 -24
  58. package/esm2022/lib/formly/field/texteditor/texteditor.field.module.mjs +6 -6
  59. package/esm2022/lib/formly/field/value/array/array.field.component.mjs +22 -25
  60. package/esm2022/lib/formly/field/value/array/array.field.module.mjs +6 -6
  61. package/esm2022/lib/formly/field/value/boolean/boolean.field.module.mjs +4 -4
  62. package/esm2022/lib/formly/field/value/date/date.field.module.mjs +6 -6
  63. package/esm2022/lib/formly/field/value/date/datetime.field.component.mjs +233 -236
  64. package/esm2022/lib/formly/field/value/date/datetime.field.service.mjs +7 -15
  65. package/esm2022/lib/formly/field/value/date/fixeddaterange.field.component.mjs +97 -101
  66. package/esm2022/lib/formly/field/value/number/number.field.module.mjs +4 -4
  67. package/esm2022/lib/formly/field/value/phone/phone.field.component.mjs +15 -18
  68. package/esm2022/lib/formly/field/value/phone/phone.field.module.mjs +6 -6
  69. package/esm2022/lib/formly/field/value/text/text.field.module.mjs +4 -4
  70. package/esm2022/lib/formly/field/value/value.module.mjs +4 -4
  71. package/esm2022/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +4 -4
  72. package/esm2022/lib/formly/field/wrapper/expand.wrapper.component.mjs +39 -0
  73. package/esm2022/lib/formly/field/wrapper/expand.wrapper.delegate.mjs +55 -0
  74. package/esm2022/lib/formly/field/wrapper/flex.wrapper.component.mjs +4 -4
  75. package/esm2022/lib/formly/field/wrapper/form.wrapper.module.mjs +10 -10
  76. package/esm2022/lib/formly/field/wrapper/index.mjs +3 -3
  77. package/esm2022/lib/formly/field/wrapper/info.wrapper.component.mjs +4 -4
  78. package/esm2022/lib/formly/field/wrapper/section.wrapper.component.mjs +4 -4
  79. package/esm2022/lib/formly/field/wrapper/style.wrapper.component.mjs +8 -11
  80. package/esm2022/lib/formly/field/wrapper/subsection.wrapper.component.mjs +4 -4
  81. package/esm2022/lib/formly/field/wrapper/toggle.wrapper.component.mjs +15 -18
  82. package/esm2022/lib/formly/field/wrapper/working.wrapper.component.mjs +6 -9
  83. package/esm2022/lib/formly/field/wrapper/wrapper.key.mjs +2 -3
  84. package/esm2022/lib/formly/field/wrapper/wrapper.mjs +3 -3
  85. package/esm2022/lib/formly/form/form.form.module.mjs +4 -4
  86. package/esm2022/lib/formly/form/search.form.component.mjs +6 -9
  87. package/esm2022/lib/formly/formly.context.directive.mjs +5 -8
  88. package/esm2022/lib/formly/formly.context.mjs +10 -12
  89. package/esm2022/lib/formly/formly.directive.mjs +16 -25
  90. package/esm2022/lib/formly/formly.form.component.mjs +73 -77
  91. package/esm2022/lib/formly/formly.module.mjs +6 -6
  92. package/esm2022/lib/layout/form.layout.module.mjs +4 -4
  93. package/esm2022/lib/layout/form.spacer.component.mjs +4 -4
  94. package/esm2022/mapbox/lib/field/latlng/latlng.field.component.mjs +48 -57
  95. package/esm2022/mapbox/lib/field/latlng/latlng.field.marker.component.mjs +17 -20
  96. package/esm2022/mapbox/lib/field/latlng/latlng.module.mjs +6 -6
  97. package/esm2022/mapbox/lib/field/zoom/zoom.field.component.mjs +26 -32
  98. package/esm2022/mapbox/lib/field/zoom/zoom.module.mjs +6 -6
  99. package/esm2022/mapbox/lib/mapbox.module.mjs +4 -4
  100. package/fesm2022/dereekb-dbx-form-calendar.mjs +383 -407
  101. package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
  102. package/fesm2022/dereekb-dbx-form-mapbox.mjs +96 -111
  103. package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
  104. package/fesm2022/dereekb-dbx-form.mjs +1071 -1163
  105. package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
  106. package/lib/form/action/form.action.directive.d.ts +3 -3
  107. package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +3 -7
  108. package/lib/form/io/form.changes.directive.d.ts +2 -3
  109. package/lib/form/io/form.input.directive.d.ts +3 -4
  110. package/lib/form/io/form.loading.directive.d.ts +3 -4
  111. package/lib/formly/field/checklist/checklist.field.d.ts +0 -1
  112. package/lib/formly/field/checklist/checklist.item.field.component.d.ts +4 -6
  113. package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +0 -1
  114. package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +1 -2
  115. package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +0 -1
  116. package/lib/formly/field/selection/sourceselect/sourceselect.field.component.d.ts +2 -2
  117. package/lib/formly/field/texteditor/texteditor.field.component.d.ts +2 -4
  118. package/lib/formly/field/value/date/datetime.field.component.d.ts +1 -3
  119. package/lib/formly/field/value/date/datetime.field.service.d.ts +1 -4
  120. package/lib/formly/field/value/date/fixeddaterange.field.component.d.ts +2 -6
  121. package/lib/formly/field/wrapper/{expandable.wrapper.component.d.ts → expand.wrapper.component.d.ts} +4 -4
  122. package/lib/formly/field/wrapper/{expandable.wrapper.delegate.d.ts → expand.wrapper.delegate.d.ts} +7 -7
  123. package/lib/formly/field/wrapper/form.wrapper.module.d.ts +1 -1
  124. package/lib/formly/field/wrapper/index.d.ts +2 -2
  125. package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +4 -4
  126. package/lib/formly/field/wrapper/wrapper.d.ts +1 -1
  127. package/lib/formly/field/wrapper/wrapper.key.d.ts +1 -1
  128. package/lib/formly/formly.directive.d.ts +0 -1
  129. package/lib/formly/formly.form.component.d.ts +2 -3
  130. package/mapbox/esm2022/lib/field/latlng/latlng.field.component.mjs +48 -57
  131. package/mapbox/esm2022/lib/field/latlng/latlng.field.marker.component.mjs +17 -20
  132. package/mapbox/esm2022/lib/field/latlng/latlng.module.mjs +6 -6
  133. package/mapbox/esm2022/lib/field/zoom/zoom.field.component.mjs +26 -32
  134. package/mapbox/esm2022/lib/field/zoom/zoom.module.mjs +6 -6
  135. package/mapbox/esm2022/lib/mapbox.module.mjs +4 -4
  136. package/mapbox/fesm2022/dereekb-dbx-form-mapbox.mjs +96 -111
  137. package/mapbox/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
  138. package/mapbox/lib/field/latlng/latlng.field.component.d.ts +4 -6
  139. package/mapbox/lib/field/latlng/latlng.field.marker.component.d.ts +1 -2
  140. package/mapbox/lib/field/zoom/zoom.field.component.d.ts +2 -3
  141. package/mapbox/package.json +1 -1
  142. package/package.json +1 -1
  143. package/esm2022/lib/formly/field/wrapper/expandable.wrapper.component.mjs +0 -39
  144. package/esm2022/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +0 -58
@@ -1,25 +1,20 @@
1
- import { Directive, Injectable, Injector, Optional, SkipSelf } from '@angular/core';
1
+ import { Directive, Injectable, Injector, Optional, SkipSelf, inject } from '@angular/core';
2
2
  import { DbxCalendarScheduleSelectionStore } from './calendar.schedule.selection.store';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "./calendar.schedule.selection.store";
5
4
  /**
6
5
  * Token used by provideCalendarScheduleSelectionStoreIfDoesNotExist() to prevent injecting a parent DbxCalendarScheduleSelectionStore into the child view.
7
6
  */
8
7
  export class DbxCalendarScheduleSelectionStoreProviderBlock {
9
- constructor(dbxCalendarScheduleSelectionStore) {
10
- this.dbxCalendarScheduleSelectionStore = dbxCalendarScheduleSelectionStore;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock, deps: [{ token: i1.DbxCalendarScheduleSelectionStore, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock }); }
8
+ dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore, { skipSelf: true });
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock });
14
11
  }
15
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock, decorators: [{
16
13
  type: Injectable
17
- }], ctorParameters: function () { return [{ type: i1.DbxCalendarScheduleSelectionStore, decorators: [{
18
- type: SkipSelf
19
- }] }]; } });
14
+ }] });
20
15
  export class DbxCalendarScheduleSelectionStoreInjectionBlockDirective {
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, selector: "[dbxCalendarScheduleSelectionStoreParentBlocker]", providers: [DbxCalendarScheduleSelectionStoreProviderBlock], ngImport: i0 }); }
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
17
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, selector: "[dbxCalendarScheduleSelectionStoreParentBlocker]", providers: [DbxCalendarScheduleSelectionStoreProviderBlock], ngImport: i0 });
23
18
  }
24
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, decorators: [{
25
20
  type: Directive,
@@ -49,4 +44,4 @@ export function provideCalendarScheduleSelectionStoreIfParentIsUnavailable() {
49
44
  deps: [Injector, [new Optional(), DbxCalendarScheduleSelectionStoreProviderBlock], [new Optional(), new SkipSelf(), DbxCalendarScheduleSelectionStore]]
50
45
  };
51
46
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnN0b3JlLnByb3ZpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLnNjaGVkdWxlLnNlbGVjdGlvbi5zdG9yZS5wcm92aWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFFeEY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sOENBQThDO0lBQ3pELFlBQWlDLGlDQUFvRTtRQUFwRSxzQ0FBaUMsR0FBakMsaUNBQWlDLENBQW1DO0lBQUcsQ0FBQzsrR0FEOUYsOENBQThDO21IQUE5Qyw4Q0FBOEM7OzRGQUE5Qyw4Q0FBOEM7a0JBRDFELFVBQVU7OzBCQUVJLFFBQVE7O0FBT3ZCLE1BQU0sT0FBTyx3REFBd0Q7K0dBQXhELHdEQUF3RDttR0FBeEQsd0RBQXdELDJFQUZ4RCxDQUFDLDhDQUE4QyxDQUFDOzs0RkFFaEQsd0RBQXdEO2tCQUpwRSxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFNBQVMsRUFBRSxDQUFDLDhDQUE4QyxDQUFDO2lCQUM1RDs7QUFHRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsMERBQTBEO0lBQ3hFLE9BQU87UUFDTCxPQUFPLEVBQUUsaUNBQWlDO1FBQzFDLFVBQVUsRUFBRSxDQUFDLGNBQXdCLEVBQUUsK0NBQWdHLEVBQUUsaUNBQXFFLEVBQUUsRUFBRTtZQUNoTixJQUFJLENBQUMsaUNBQWlDLElBQUksQ0FBQyxpQ0FBaUMsSUFBSSwrQ0FBK0MsSUFBSSxJQUFJLElBQUksK0NBQStDLENBQUMsaUNBQWlDLEtBQUssaUNBQWlDLENBQUMsRUFBRTtnQkFDblEsd0RBQXdEO2dCQUN4RCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO2dCQUMxSCxpQ0FBaUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7YUFDckY7WUFFRCxPQUFPLGlDQUFpQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLDhDQUE4QyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztLQUN4SixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9wdGlvbmFsLCBQcm92aWRlciwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSB9IGZyb20gJy4vY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnN0b3JlJztcblxuLyoqXG4gKiBUb2tlbiB1c2VkIGJ5IHByb3ZpZGVDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJZkRvZXNOb3RFeGlzdCgpIHRvIHByZXZlbnQgaW5qZWN0aW5nIGEgcGFyZW50IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSBpbnRvIHRoZSBjaGlsZCB2aWV3LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlUHJvdmlkZXJCbG9jayB7XG4gIGNvbnN0cnVjdG9yKEBTa2lwU2VsZigpIHJlYWRvbmx5IGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZTogRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlKSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlUGFyZW50QmxvY2tlcl0nLFxuICBwcm92aWRlcnM6IFtEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVQcm92aWRlckJsb2NrXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJbmplY3Rpb25CbG9ja0RpcmVjdGl2ZSB7fVxuXG4vKipcbiAqIENyZWF0ZXMgYSBQcm92aWRlciB0aGF0IGluaXRpYWxpemVzIGEgbmV3IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSBpZiBhIHBhcmVudCBkb2VzIG5vdCBleGlzdC5cbiAqXG4gKiBJZiBhIERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUluamVjdGlvbkJsb2NrIGlzIGF2YWlsYWJsZSBpbiB0aGUgY29udGV4dCwgYW5kIHJlZmVyZW5jZXMgdGhlIHNhbWUgZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlIHRoYXQgaXMgYXR0ZW1wdGluZyB0byBiZSBpbmplY3RlZCwgYSBuZXcgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlIGlzIGNyZWF0ZWQuXG4gKlxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJZlBhcmVudElzVW5hdmFpbGFibGUoKTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSxcbiAgICB1c2VGYWN0b3J5OiAocGFyZW50SW5qZWN0b3I6IEluamVjdG9yLCBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJbmplY3Rpb25CbG9jaz86IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZVByb3ZpZGVyQmxvY2ssIGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZT86IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSkgPT4ge1xuICAgICAgaWYgKCFkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgfHwgKGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSAmJiBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJbmplY3Rpb25CbG9jayAhPSBudWxsICYmIGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUluamVjdGlvbkJsb2NrLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSA9PT0gZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlKSkge1xuICAgICAgICAvLyBjcmVhdGUgYSBuZXcgZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlIHRvIHVzZVxuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlIH1dLCBwYXJlbnQ6IHBhcmVudEluamVjdG9yIH0pO1xuICAgICAgICBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgPSBpbmplY3Rvci5nZXQoRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZTtcbiAgICB9LFxuICAgIGRlcHM6IFtJbmplY3RvciwgW25ldyBPcHRpb25hbCgpLCBEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVQcm92aWRlckJsb2NrXSwgW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlXV1cbiAgfTtcbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnN0b3JlLnByb3ZpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLnNjaGVkdWxlLnNlbGVjdGlvbi5zdG9yZS5wcm92aWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQVksUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFeEY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sOENBQThDO0lBQ2hELGlDQUFpQyxHQUFHLE1BQU0sQ0FBQyxpQ0FBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dHQURoRyw4Q0FBOEM7NEdBQTlDLDhDQUE4Qzs7NEZBQTlDLDhDQUE4QztrQkFEMUQsVUFBVTs7QUFTWCxNQUFNLE9BQU8sd0RBQXdEO3dHQUF4RCx3REFBd0Q7NEZBQXhELHdEQUF3RCwyRUFGeEQsQ0FBQyw4Q0FBOEMsQ0FBQzs7NEZBRWhELHdEQUF3RDtrQkFKcEUsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0RBQWtEO29CQUM1RCxTQUFTLEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQztpQkFDNUQ7O0FBR0Q7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLDBEQUEwRDtJQUN4RSxPQUFPO1FBQ0wsT0FBTyxFQUFFLGlDQUFpQztRQUMxQyxVQUFVLEVBQUUsQ0FBQyxjQUF3QixFQUFFLCtDQUFnRyxFQUFFLGlDQUFxRSxFQUFFLEVBQUU7WUFDaE4sSUFBSSxDQUFDLGlDQUFpQyxJQUFJLENBQUMsaUNBQWlDLElBQUksK0NBQStDLElBQUksSUFBSSxJQUFJLCtDQUErQyxDQUFDLGlDQUFpQyxLQUFLLGlDQUFpQyxDQUFDLEVBQUU7Z0JBQ25RLHdEQUF3RDtnQkFDeEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztnQkFDMUgsaUNBQWlDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2FBQ3JGO1lBRUQsT0FBTyxpQ0FBaUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSw4Q0FBOEMsQ0FBQyxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7S0FDeEosQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGFibGUsIEluamVjdG9yLCBPcHRpb25hbCwgUHJvdmlkZXIsIFNraXBTZWxmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSB9IGZyb20gJy4vY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnN0b3JlJztcblxuLyoqXG4gKiBUb2tlbiB1c2VkIGJ5IHByb3ZpZGVDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJZkRvZXNOb3RFeGlzdCgpIHRvIHByZXZlbnQgaW5qZWN0aW5nIGEgcGFyZW50IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSBpbnRvIHRoZSBjaGlsZCB2aWV3LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlUHJvdmlkZXJCbG9jayB7XG4gIHJlYWRvbmx5IGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSA9IGluamVjdChEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUsIHsgc2tpcFNlbGY6IHRydWUgfSk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVQYXJlbnRCbG9ja2VyXScsXG4gIHByb3ZpZGVyczogW0RieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZVByb3ZpZGVyQmxvY2tdXG59KVxuZXhwb3J0IGNsYXNzIERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUluamVjdGlvbkJsb2NrRGlyZWN0aXZlIHt9XG5cbi8qKlxuICogQ3JlYXRlcyBhIFByb3ZpZGVyIHRoYXQgaW5pdGlhbGl6ZXMgYSBuZXcgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlIGlmIGEgcGFyZW50IGRvZXMgbm90IGV4aXN0LlxuICpcbiAqIElmIGEgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlSW5qZWN0aW9uQmxvY2sgaXMgYXZhaWxhYmxlIGluIHRoZSBjb250ZXh0LCBhbmQgcmVmZXJlbmNlcyB0aGUgc2FtZSBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgdGhhdCBpcyBhdHRlbXB0aW5nIHRvIGJlIGluamVjdGVkLCBhIG5ldyBEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgaXMgY3JlYXRlZC5cbiAqXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUlmUGFyZW50SXNVbmF2YWlsYWJsZSgpOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLFxuICAgIHVzZUZhY3Rvcnk6IChwYXJlbnRJbmplY3RvcjogSW5qZWN0b3IsIGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUluamVjdGlvbkJsb2NrPzogRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlUHJvdmlkZXJCbG9jaywgZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlPzogRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlKSA9PiB7XG4gICAgICBpZiAoIWRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSB8fCAoZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlICYmIGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUluamVjdGlvbkJsb2NrICE9IG51bGwgJiYgZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlSW5qZWN0aW9uQmxvY2suZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlID09PSBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUpKSB7XG4gICAgICAgIC8vIGNyZWF0ZSBhIG5ldyBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgdG8gdXNlXG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgfV0sIHBhcmVudDogcGFyZW50SW5qZWN0b3IgfSk7XG4gICAgICAgIGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSA9IGluamVjdG9yLmdldChEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlO1xuICAgIH0sXG4gICAgZGVwczogW0luamVjdG9yLCBbbmV3IE9wdGlvbmFsKCksIERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZVByb3ZpZGVyQmxvY2tdLCBbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVdXVxuICB9O1xufVxuIl19
@@ -1,50 +1,47 @@
1
- import { Component, Injector, Input } from '@angular/core';
1
+ import { Component, Injector, Input, inject } from '@angular/core';
2
2
  import { DbxPopoverService } from '@dereekb/dbx-web';
3
3
  import { BehaviorSubject, distinctUntilChanged, map, of, shareReplay, switchMap } from 'rxjs';
4
4
  import { DbxCalendarScheduleSelectionStore } from './calendar.schedule.selection.store';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@dereekb/dbx-web";
7
- import * as i2 from "./calendar.schedule.selection.store";
8
- import * as i3 from "@angular/common";
7
+ import * as i2 from "@angular/common";
9
8
  /**
10
9
  * Toggle button for selecting and clearing the current selection.
11
10
  */
12
11
  export class DbxScheduleSelectionCalendarSelectionToggleButtonComponent {
13
- constructor(popoverService, dbxCalendarScheduleSelectionStore, injector) {
14
- this.popoverService = popoverService;
15
- this.dbxCalendarScheduleSelectionStore = dbxCalendarScheduleSelectionStore;
16
- this.injector = injector;
17
- this._disabled = new BehaviorSubject(false);
18
- this.disableButton$ = this._disabled.pipe(switchMap((disabled) => {
19
- if (disabled) {
20
- return of(true);
12
+ popoverService = inject(DbxPopoverService);
13
+ dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore);
14
+ injector = inject(Injector);
15
+ _disabled = new BehaviorSubject(false);
16
+ disableButton$ = this._disabled.pipe(switchMap((disabled) => {
17
+ if (disabled) {
18
+ return of(true);
19
+ }
20
+ else {
21
+ return this.dbxCalendarScheduleSelectionStore.nextToggleSelection$.pipe(map((x) => !x));
22
+ }
23
+ }), distinctUntilChanged(), shareReplay(1));
24
+ buttonDisplay$ = this.dbxCalendarScheduleSelectionStore.selectionMode$.pipe(switchMap((selectionMode) => {
25
+ return this.dbxCalendarScheduleSelectionStore.nextToggleSelection$.pipe(map((x) => {
26
+ let buttonDisplay;
27
+ switch (x) {
28
+ case 'all':
29
+ buttonDisplay = {
30
+ icon: 'select_all',
31
+ text: 'Select All'
32
+ };
33
+ break;
34
+ default:
35
+ case 'none':
36
+ buttonDisplay = {
37
+ icon: 'clear',
38
+ text: selectionMode === 'multiple' ? 'Clear All' : 'Clear'
39
+ };
40
+ break;
21
41
  }
22
- else {
23
- return this.dbxCalendarScheduleSelectionStore.nextToggleSelection$.pipe(map((x) => !x));
24
- }
25
- }), distinctUntilChanged(), shareReplay(1));
26
- this.buttonDisplay$ = this.dbxCalendarScheduleSelectionStore.selectionMode$.pipe(switchMap((selectionMode) => {
27
- return this.dbxCalendarScheduleSelectionStore.nextToggleSelection$.pipe(map((x) => {
28
- let buttonDisplay;
29
- switch (x) {
30
- case 'all':
31
- buttonDisplay = {
32
- icon: 'select_all',
33
- text: 'Select All'
34
- };
35
- break;
36
- default:
37
- case 'none':
38
- buttonDisplay = {
39
- icon: 'clear',
40
- text: selectionMode === 'multiple' ? 'Clear All' : 'Clear'
41
- };
42
- break;
43
- }
44
- return buttonDisplay;
45
- }));
46
- }), shareReplay(1));
47
- }
42
+ return buttonDisplay;
43
+ }));
44
+ }), shareReplay(1));
48
45
  ngOnDestroy() {
49
46
  this._disabled.complete();
50
47
  }
@@ -54,10 +51,10 @@ export class DbxScheduleSelectionCalendarSelectionToggleButtonComponent {
54
51
  set disabled(disabled) {
55
52
  this._disabled.next(disabled);
56
53
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, deps: [{ token: i1.DbxPopoverService }, { token: i2.DbxCalendarScheduleSelectionStore }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, selector: "dbx-schedule-selection-calendar-selection-toggle-button", inputs: { disabled: "disabled" }, ngImport: i0, template: `
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, selector: "dbx-schedule-selection-calendar-selection-toggle-button", inputs: { disabled: "disabled" }, ngImport: i0, template: `
59
56
  <dbx-button [disabled]="disableButton$ | async" [buttonDisplay]="buttonDisplay$ | async" [raised]="true" (buttonClick)="toggleSelection()"></dbx-button>
60
- `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "basic", "raised", "stroked", "flat", "iconOnly", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
57
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "basic", "raised", "stroked", "flat", "iconOnly", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
61
58
  }
62
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, decorators: [{
63
60
  type: Component,
@@ -67,7 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
64
  <dbx-button [disabled]="disableButton$ | async" [buttonDisplay]="buttonDisplay$ | async" [raised]="true" (buttonClick)="toggleSelection()"></dbx-button>
68
65
  `
69
66
  }]
70
- }], ctorParameters: function () { return [{ type: i1.DbxPopoverService }, { type: i2.DbxCalendarScheduleSelectionStore }, { type: i0.Injector }]; }, propDecorators: { disabled: [{
67
+ }], propDecorators: { disabled: [{
71
68
  type: Input
72
69
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnRvZ2dsZS5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5zY2hlZHVsZS5zZWxlY3Rpb24udG9nZ2xlLmJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7OztBQUl4Rjs7R0FFRztBQU9ILE1BQU0sT0FBTywwREFBMEQ7SUE0Q3JFLFlBQXFCLGNBQWlDLEVBQVcsaUNBQW9FLEVBQVcsUUFBa0I7UUFBN0ksbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVcsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7UUEzQzFKLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsS0FBSyxDQUFDLENBQUM7UUFFdEQsbUJBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDckIsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakI7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pGO1FBQ0gsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxtQkFBYyxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNsRixTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQ3JFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNSLElBQUksYUFBc0MsQ0FBQztnQkFFM0MsUUFBUSxDQUFDLEVBQUU7b0JBQ1QsS0FBSyxLQUFLO3dCQUNSLGFBQWEsR0FBRzs0QkFDZCxJQUFJLEVBQUUsWUFBWTs0QkFDbEIsSUFBSSxFQUFFLFlBQVk7eUJBQ25CLENBQUM7d0JBQ0YsTUFBTTtvQkFDUixRQUFRO29CQUNSLEtBQUssTUFBTTt3QkFDVCxhQUFhLEdBQUc7NEJBQ2QsSUFBSSxFQUFFLE9BQU87NEJBQ2IsSUFBSSxFQUFFLGFBQWEsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTzt5QkFDM0QsQ0FBQzt3QkFDRixNQUFNO2lCQUNUO2dCQUVELE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVtSyxDQUFDO0lBRXRLLFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUNJLFFBQVEsQ0FBQyxRQUF3QjtRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQXpEVSwwREFBMEQ7bUdBQTFELDBEQUEwRCxpSUFKM0Q7O0dBRVQ7OzRGQUVVLDBEQUEwRDtrQkFOdEUsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseURBQXlEO29CQUNuRSxRQUFRLEVBQUU7O0dBRVQ7aUJBQ0Y7K0tBd0RLLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgfSBmcm9tICcuL2NhbGVuZGFyLnNjaGVkdWxlLnNlbGVjdGlvbi5zdG9yZSc7XG5pbXBvcnQgeyBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogVG9nZ2xlIGJ1dHRvbiBmb3Igc2VsZWN0aW5nIGFuZCBjbGVhcmluZyB0aGUgY3VycmVudCBzZWxlY3Rpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1zY2hlZHVsZS1zZWxlY3Rpb24tY2FsZW5kYXItc2VsZWN0aW9uLXRvZ2dsZS1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlQnV0dG9uJCB8IGFzeW5jXCIgW2J1dHRvbkRpc3BsYXldPVwiYnV0dG9uRGlzcGxheSQgfCBhc3luY1wiIFtyYWlzZWRdPVwidHJ1ZVwiIChidXR0b25DbGljayk9XCJ0b2dnbGVTZWxlY3Rpb24oKVwiPjwvZGJ4LWJ1dHRvbj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhTY2hlZHVsZVNlbGVjdGlvbkNhbGVuZGFyU2VsZWN0aW9uVG9nZ2xlQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPGJvb2xlYW4+PihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZUJ1dHRvbiQgPSB0aGlzLl9kaXNhYmxlZC5waXBlKFxuICAgIHN3aXRjaE1hcCgoZGlzYWJsZWQpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUubmV4dFRvZ2dsZVNlbGVjdGlvbiQucGlwZShtYXAoKHgpID0+ICF4KSk7XG4gICAgICB9XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc3BsYXkkID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuc2VsZWN0aW9uTW9kZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHNlbGVjdGlvbk1vZGUpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5uZXh0VG9nZ2xlU2VsZWN0aW9uJC5waXBlKFxuICAgICAgICBtYXAoKHgpID0+IHtcbiAgICAgICAgICBsZXQgYnV0dG9uRGlzcGxheTogRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnQ7XG5cbiAgICAgICAgICBzd2l0Y2ggKHgpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FsbCc6XG4gICAgICAgICAgICAgIGJ1dHRvbkRpc3BsYXkgPSB7XG4gICAgICAgICAgICAgICAgaWNvbjogJ3NlbGVjdF9hbGwnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICdTZWxlY3QgQWxsJ1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjYXNlICdub25lJzpcbiAgICAgICAgICAgICAgYnV0dG9uRGlzcGxheSA9IHtcbiAgICAgICAgICAgICAgICBpY29uOiAnY2xlYXInLFxuICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZScgPyAnQ2xlYXIgQWxsJyA6ICdDbGVhcidcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGJ1dHRvbkRpc3BsYXk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcG9wb3ZlclNlcnZpY2U6IERieFBvcG92ZXJTZXJ2aWNlLCByZWFkb25seSBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmU6IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSwgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUudG9nZ2xlU2VsZWN0aW9uKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQubmV4dChkaXNhYmxlZCk7XG4gIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnRvZ2dsZS5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5zY2hlZHVsZS5zZWxlY3Rpb24udG9nZ2xlLmJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQUl4Rjs7R0FFRztBQU9ILE1BQU0sT0FBTywwREFBMEQ7SUFDNUQsY0FBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNDLGlDQUFpQyxHQUFHLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzlFLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0IsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFpQixLQUFLLENBQUMsQ0FBQztJQUV0RCxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzNDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3JCLElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RjtJQUNILENBQUMsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sY0FBYyxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNsRixTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtRQUMxQixPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQ3JFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsSUFBSSxhQUFzQyxDQUFDO1lBRTNDLFFBQVEsQ0FBQyxFQUFFO2dCQUNULEtBQUssS0FBSztvQkFDUixhQUFhLEdBQUc7d0JBQ2QsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLElBQUksRUFBRSxZQUFZO3FCQUNuQixDQUFDO29CQUNGLE1BQU07Z0JBQ1IsUUFBUTtnQkFDUixLQUFLLE1BQU07b0JBQ1QsYUFBYSxHQUFHO3dCQUNkLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxhQUFhLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU87cUJBQzNELENBQUM7b0JBQ0YsTUFBTTthQUNUO1lBRUQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRUYsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsaUNBQWlDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLFFBQXdCO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBM0RVLDBEQUEwRDs0RkFBMUQsMERBQTBELGlJQUozRDs7R0FFVDs7NEZBRVUsMERBQTBEO2tCQU50RSxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5REFBeUQ7b0JBQ25FLFFBQVEsRUFBRTs7R0FFVDtpQkFDRjs4QkEwREssUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhQb3BvdmVyU2VydmljZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlIH0gZnJvbSAnLi9jYWxlbmRhci5zY2hlZHVsZS5zZWxlY3Rpb24uc3RvcmUnO1xuaW1wb3J0IHsgRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnQgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFRvZ2dsZSBidXR0b24gZm9yIHNlbGVjdGluZyBhbmQgY2xlYXJpbmcgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtc2NoZWR1bGUtc2VsZWN0aW9uLWNhbGVuZGFyLXNlbGVjdGlvbi10b2dnbGUtYnV0dG9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ1dHRvbiQgfCBhc3luY1wiIFtidXR0b25EaXNwbGF5XT1cImJ1dHRvbkRpc3BsYXkkIHwgYXN5bmNcIiBbcmFpc2VkXT1cInRydWVcIiAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uKClcIj48L2RieC1idXR0b24+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4U2NoZWR1bGVTZWxlY3Rpb25DYWxlbmRhclNlbGVjdGlvblRvZ2dsZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHBvcG92ZXJTZXJ2aWNlID0gaW5qZWN0KERieFBvcG92ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlID0gaW5qZWN0KERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSk7XG4gIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8Ym9vbGVhbj4+KGZhbHNlKTtcblxuICByZWFkb25seSBkaXNhYmxlQnV0dG9uJCA9IHRoaXMuX2Rpc2FibGVkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChkaXNhYmxlZCkgPT4ge1xuICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5uZXh0VG9nZ2xlU2VsZWN0aW9uJC5waXBlKG1hcCgoeCkgPT4gIXgpKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uRGlzcGxheSQgPSB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZWxlY3Rpb25Nb2RlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoc2VsZWN0aW9uTW9kZSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLm5leHRUb2dnbGVTZWxlY3Rpb24kLnBpcGUoXG4gICAgICAgIG1hcCgoeCkgPT4ge1xuICAgICAgICAgIGxldCBidXR0b25EaXNwbGF5OiBEYnhCdXR0b25EaXNwbGF5Q29udGVudDtcblxuICAgICAgICAgIHN3aXRjaCAoeCkge1xuICAgICAgICAgICAgY2FzZSAnYWxsJzpcbiAgICAgICAgICAgICAgYnV0dG9uRGlzcGxheSA9IHtcbiAgICAgICAgICAgICAgICBpY29uOiAnc2VsZWN0X2FsbCcsXG4gICAgICAgICAgICAgICAgdGV4dDogJ1NlbGVjdCBBbGwnXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhc2UgJ25vbmUnOlxuICAgICAgICAgICAgICBidXR0b25EaXNwbGF5ID0ge1xuICAgICAgICAgICAgICAgIGljb246ICdjbGVhcicsXG4gICAgICAgICAgICAgICAgdGV4dDogc2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpcGxlJyA/ICdDbGVhciBBbGwnIDogJ0NsZWFyJ1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gYnV0dG9uRGlzcGxheTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0aW9uKCkge1xuICAgIHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnRvZ2dsZVNlbGVjdGlvbigpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBNYXliZTxib29sZWFuPikge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoZGlzYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { CompactContextStore } from '@dereekb/dbx-web';
2
- import { Component, NgZone, Optional } from '@angular/core';
2
+ import { Component, NgZone, inject } from '@angular/core';
3
3
  import { FieldType } from '@ngx-formly/material';
4
4
  import { BehaviorSubject, distinctUntilChanged, map, shareReplay, startWith, switchMap } from 'rxjs';
5
5
  import { filterMaybe, SubscriptionObject, asObservable } from '@dereekb/rxjs';
@@ -7,30 +7,25 @@ import { isSameDateCellScheduleDateRange } from '@dereekb/date';
7
7
  import { DbxCalendarScheduleSelectionStore } from '../../calendar.schedule.selection.store';
8
8
  import { provideCalendarScheduleSelectionStoreIfParentIsUnavailable } from '../../calendar.schedule.selection.store.provide';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "@dereekb/dbx-web";
11
- import * as i2 from "../../calendar.schedule.selection.store";
12
- import * as i3 from "@dereekb/dbx-core";
13
- import * as i4 from "../../calendar.schedule.selection.range.component";
14
- import * as i5 from "../../calendar.schedule.selection.dialog.button.component";
15
- import * as i6 from "@angular/common";
10
+ import * as i1 from "@dereekb/dbx-core";
11
+ import * as i2 from "../../calendar.schedule.selection.range.component";
12
+ import * as i3 from "../../calendar.schedule.selection.dialog.button.component";
13
+ import * as i4 from "@angular/common";
16
14
  export class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
17
- constructor(compact, dbxCalendarScheduleSelectionStore, ngZone) {
18
- super();
19
- this.compact = compact;
20
- this.dbxCalendarScheduleSelectionStore = dbxCalendarScheduleSelectionStore;
21
- this.ngZone = ngZone;
22
- this._syncSub = new SubscriptionObject();
23
- this._valueSub = new SubscriptionObject();
24
- this._timezoneSub = new SubscriptionObject();
25
- this._minMaxDateRangeSub = new SubscriptionObject();
26
- this._defaultWeekSub = new SubscriptionObject();
27
- this._filterSub = new SubscriptionObject();
28
- this._exclusionsSub = new SubscriptionObject();
29
- this._formControlObs = new BehaviorSubject(undefined);
30
- this.formControl$ = this._formControlObs.pipe(filterMaybe());
31
- this.value$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), shareReplay(1));
32
- this.disableCustomize$ = this.value$.pipe(map((x) => (this.allowCustomizeWithoutDateRange ? false : !x)), distinctUntilChanged(), shareReplay(1));
33
- }
15
+ compact = inject(CompactContextStore, { optional: true });
16
+ dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore);
17
+ ngZone = inject(NgZone);
18
+ _syncSub = new SubscriptionObject();
19
+ _valueSub = new SubscriptionObject();
20
+ _timezoneSub = new SubscriptionObject();
21
+ _minMaxDateRangeSub = new SubscriptionObject();
22
+ _defaultWeekSub = new SubscriptionObject();
23
+ _filterSub = new SubscriptionObject();
24
+ _exclusionsSub = new SubscriptionObject();
25
+ _formControlObs = new BehaviorSubject(undefined);
26
+ formControl$ = this._formControlObs.pipe(filterMaybe());
27
+ value$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), shareReplay(1));
28
+ disableCustomize$ = this.value$.pipe(map((x) => (this.allowCustomizeWithoutDateRange ? false : !x)), distinctUntilChanged(), shareReplay(1));
34
29
  get formGroupName() {
35
30
  return this.field.key;
36
31
  }
@@ -129,15 +124,15 @@ export class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
129
124
  this._exclusionsSub.destroy();
130
125
  this._formControlObs.complete();
131
126
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, deps: [{ token: i1.CompactContextStore, optional: true }, { token: i2.DbxCalendarScheduleSelectionStore }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFormCalendarDateScheduleRangeFieldComponent, selector: "ng-component", providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
128
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFormCalendarDateScheduleRangeFieldComponent, selector: "ng-component", providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
134
129
  <div class="dbx-schedule-selection-field">
135
130
  <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClick" [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
136
131
  <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disableCustomize$ | async" [contentConfig]="dialogContentConfig"></dbx-schedule-selection-calendar-date-dialog-button>
137
132
  <dbx-injection [config]="customDetailsConfig"></dbx-injection>
138
133
  </dbx-schedule-selection-calendar-date-range>
139
134
  </div>
140
- `, isInline: true, dependencies: [{ kind: "component", type: i3.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i4.DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["openPickerOnTextClick", "label", "hint", "disabled", "showCustomize", "required"] }, { kind: "component", type: i5.DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText", "disabled", "contentConfig"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
135
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i2.DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["openPickerOnTextClick", "label", "hint", "disabled", "showCustomize", "required"] }, { kind: "component", type: i3.DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText", "disabled", "contentConfig"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
141
136
  }
142
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, decorators: [{
143
138
  type: Component,
@@ -152,7 +147,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
152
147
  `,
153
148
  providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()]
154
149
  }]
155
- }], ctorParameters: function () { return [{ type: i1.CompactContextStore, decorators: [{
156
- type: Optional
157
- }] }, { type: i2.DbxCalendarScheduleSelectionStore }, { type: i0.NgZone }]; } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUuZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vY2FsZW5kYXIvc3JjL2xpYi9maWVsZC9zY2hlZHVsZS9jYWxlbmRhci5zY2hlZHVsZS5maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxXQUFXLEVBQXFCLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQTZCLCtCQUErQixFQUE0RyxNQUFNLGVBQWUsQ0FBQztBQUNyTSxPQUFPLEVBQWtDLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUgsT0FBTyxFQUFFLDBEQUEwRCxFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7O0FBb0U3SCxNQUFNLE9BQU8sOENBQTBKLFNBQVEsU0FBNkI7SUF1QjFNLFlBQWlDLE9BQTRCLEVBQVcsaUNBQW9FLEVBQVcsTUFBYztRQUNuSyxLQUFLLEVBQUUsQ0FBQztRQUR1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUFXLHNDQUFpQyxHQUFqQyxpQ0FBaUMsQ0FBbUM7UUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdEI3SixhQUFRLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLGNB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VztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBMUpVLDhDQUE4QzttR0FBOUMsOENBQThDLHVDQUY5QyxDQUFDLDBEQUEwRCxFQUFFLENBQUMsaURBUi9EOzs7Ozs7O0dBT1Q7OzRGQUdVLDhDQUE4QztrQkFYMUQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7R0FPVDtvQkFDRCxTQUFTLEVBQUUsQ0FBQywwREFBMEQsRUFBRSxDQUFDO2lCQUMxRTs7MEJBd0JjLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBhY3RDb250ZXh0U3RvcmUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IENvbXBvbmVudCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyTWF5YmUsIE9ic2VydmFibGVPclZhbHVlLCBTdWJzY3JpcHRpb25PYmplY3QsIGFzT2JzZXJ2YWJsZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlLCBUaW1lem9uZVN0cmluZywgaXNTYW1lRGF0ZUNlbGxTY2hlZHVsZURhdGVSYW5nZSwgRGF0ZUNlbGxTY2hlZHVsZURhdGVGaWx0ZXJDb25maWcsIERhdGVDZWxsU2NoZWR1bGVEYXlDb2RlLCBEYXRlT3JEYXRlUmFuZ2VPckRhdGVDZWxsSW5kZXhPckRhdGVDZWxsUmFuZ2UgfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcbmltcG9ydCB7IENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdGF0ZSwgRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlIH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJZlBhcmVudElzVW5hdmFpbGFibGUgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5zY2hlZHVsZS5zZWxlY3Rpb24uc3RvcmUucHJvdmlkZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBEYnhTY2hlZHVsZVNlbGVjdGlvbkNhbGVuZGFyRGF0ZVBvcHVwQ29udGVudENvbmZpZyB9IGZyb20gJy4uLy4uL2NhbGVuZGFyLnNjaGVkdWxlLnNlbGVjdGlvbi5kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtQ2FsZW5kYXJEYXRlQ2VsbFNjaGVkdWxlUmFuZ2VGaWVsZFByb3BzIGV4dGVuZHMgUGljazxGb3JtbHlGaWVsZFByb3BzLCAnbGFiZWwnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdyZWFkb25seScgfCAncmVxdWlyZWQnPiwgUGljazxDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RhdGUsICdjb21wdXRlU2VsZWN0aW9uUmVzdWx0UmVsYXRpdmVUb0ZpbHRlcicgfCAnaW5pdGlhbFNlbGVjdGlvblN0YXRlJz4sIFBhcnRpYWw8UGljazxDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RhdGUsICdjZWxsQ29udGVudEZhY3RvcnknPj4ge1xuICBhcHBlYXJhbmNlPzogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGlucHV0dGluZyBjdXN0b20gdGV4dCBpbnRvIHRoZSBwaWNrZXIuXG4gICAqXG4gICAqIElmIGZhbHNlLCB3aGVuIHRoZSBpbnB1dCB0ZXh0IGlzIHBpY2tlZCB0aGUgZGF0ZSBwaWNrZXIgd2lsbCBvcGVuLlxuICAgKlxuICAgKiBJcyBmYWxzZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgYWxsb3dUZXh0SW5wdXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gaGlkZSB0aGUgY3VzdG9taXplIGJ1dHRvbi4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBoaWRlQ3VzdG9taXplPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGN1c3RvbWl6aW5nIGJlZm9yZSBwaWNraW5nIGEgZGF0ZSByYW5nZSB0byBjdXN0b21pemUuXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKi9cbiAgYWxsb3dDdXN0b21pemVXaXRob3V0RGF0ZVJhbmdlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGltZXpvbmUgdG8gdXNlIGZvciB0aGUgb3V0cHV0IHN0YXJ0IGRhdGUuXG4gICAqXG4gICAqIElmIGEgZmlsdGVyIGlzIHByb3ZpZGVkLCB0aGlzIHRpbWV6b25lIG92ZXJyaWRlcyB0aGUgZmlsdGVyJ3MgdGltZXpvbmUgb3V0cHV0LlxuICAgKi9cbiAgb3V0cHV0VGltZXpvbmU/OiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxUaW1lem9uZVN0cmluZz4+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBEZWZhdWx0IHNjaGVkdWxlIGRheXMgdG8gYWxsb3cuXG4gICAqL1xuICBkZWZhdWx0U2NoZWR1bGVEYXlzPzogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8SXRlcmFibGU8RGF0ZUNlbGxTY2hlZHVsZURheUNvZGU+Pj47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBtaW4vbWF4IGRhdGUgcmFuZ2UgdG8gZmlsdGVyIG9uLiBXb3JrcyBpbiBjb25qdWN0aW9uIHdpdGggdGhlIGZpbHRlci5cbiAgICovXG4gIG1pbk1heERhdGVSYW5nZT86IE9ic2VydmFibGVPclZhbHVlPE1heWJlPFBhcnRpYWw8RGF0ZVJhbmdlPj4+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBPYnNlcnZhYmxlIHdpdGggYSBmaWx0ZXIgdmFsdWUgdG8gYXBwbHkgdG8gdGhlIGRhdGUgcmFuZ2UuXG4gICAqL1xuICBmaWx0ZXI/OiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxEYXRlQ2VsbFNjaGVkdWxlRGF0ZUZpbHRlckNvbmZpZz4+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBPYnNlcnZhYmxlIHdpdGggZGF5cyBhbmQgdmFsdWVzIHRvIGV4Y2x1ZGUgZnJvbSB0aGUgZGF0ZSByYW5nZS5cbiAgICovXG4gIGV4Y2x1c2lvbnM/OiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxBcnJheU9yVmFsdWU8RGF0ZU9yRGF0ZVJhbmdlT3JEYXRlQ2VsbEluZGV4T3JEYXRlQ2VsbFJhbmdlPj4+O1xuICAvKipcbiAgICogQ3VzdG9tIGRpYWxvZyBjb250ZW50IGNvbmZpZyBmb3IgdGhlIHBvcHVwXG4gICAqL1xuICBkaWFsb2dDb250ZW50Q29uZmlnPzogTWF5YmU8RGJ4U2NoZWR1bGVTZWxlY3Rpb25DYWxlbmRhckRhdGVQb3B1cENvbnRlbnRDb25maWc+O1xuICAvKipcbiAgICogQ3VzdG9tIGRldGFpbHMgY29uZmlnIGZvciB0aGUgZGF0ZSByYW5nZVxuICAgKi9cbiAgY3VzdG9tRGV0YWlsc0NvbmZpZz86IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZz47XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtc2NoZWR1bGUtc2VsZWN0aW9uLWZpZWxkXCI+XG4gICAgICA8ZGJ4LXNjaGVkdWxlLXNlbGVjdGlvbi1jYWxlbmRhci1kYXRlLXJhbmdlIFtvcGVuUGlja2VyT25UZXh0Q2xpY2tdPVwib3BlblBpY2tlck9uVGV4dENsaWNrXCIgW3Nob3dDdXN0b21pemVdPVwic2hvd0N1c3RvbWl6ZVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtkaXNhYmxlZF09XCJpc1JlYWRvbmx5T3JEaXNhYmxlZFwiIFtsYWJlbF09XCJsYWJlbFwiIFtoaW50XT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxkYngtc2NoZWR1bGUtc2VsZWN0aW9uLWNhbGVuZGFyLWRhdGUtZGlhbG9nLWJ1dHRvbiBjdXN0b21pemVCdXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVDdXN0b21pemUkIHwgYXN5bmNcIiBbY29udGVudENvbmZpZ109XCJkaWFsb2dDb250ZW50Q29uZmlnXCI+PC9kYngtc2NoZWR1bGUtc2VsZWN0aW9uLWNhbGVuZGFyLWRhdGUtZGlhbG9nLWJ1dHRvbj5cbiAgICAgICAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJjdXN0b21EZXRhaWxzQ29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgICAgPC9kYngtc2NoZWR1bGUtc2VsZWN0aW9uLWNhbGVuZGFyLWRhdGUtcmFuZ2U+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmVJZlBhcmVudElzVW5hdmFpbGFibGUoKV1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybUNhbGVuZGFyRGF0ZVNjaGVkdWxlUmFuZ2VGaWVsZENvbXBvbmVudDxUIGV4dGVuZHMgRGJ4Rm9ybUNhbGVuZGFyRGF0ZUNlbGxTY2hlZHVsZVJhbmdlRmllbGRQcm9wcyA9IERieEZvcm1DYWxlbmRhckRhdGVDZWxsU2NoZWR1bGVSYW5nZUZpZWxkUHJvcHM+IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxUPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3N5bmNTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX3ZhbHVlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF90aW1lem9uZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfbWluTWF4RGF0ZVJhbmdlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9kZWZhdWx0V2Vla1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfZmlsdGVyU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9leGNsdXNpb25zU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sT2JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBYnN0cmFjdENvbnRyb2w+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBmb3JtQ29udHJvbCQgPSB0aGlzLl9mb3JtQ29udHJvbE9icy5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb250cm9sKSA9PiBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZUN1c3RvbWl6ZSQgPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gKHRoaXMuYWxsb3dDdXN0b21pemVXaXRob3V0RGF0ZVJhbmdlID8gZmFsc2UgOiAheCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSByZWFkb25seSBjb21wYWN0OiBDb21wYWN0Q29udGV4dFN0b3JlLCByZWFkb25seSBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmU6IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSwgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGZvcm1Hcm91cE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5rZXkgYXMgc3RyaW5nO1xuICB9XG5cbiAgZ2V0IGZvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm0gYXMgRm9ybUdyb3VwO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzPy5sYWJlbDtcbiAgfVxuXG4gIGdldCBkZXNjcmlwdGlvbigpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIGdldCBpc1JlYWRvbmx5T3JEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IG9wZW5QaWNrZXJPblRleHRDbGljaygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5hbGxvd1RleHRJbnB1dCAhPT0gdHJ1ZTsgLy8gT3Bwb3NpdGUgb2YgYWxsb3dUZXh0SW5wdXRcbiAgfVxuXG4gIGdldCBhbGxvd0N1c3RvbWl6ZVdpdGhvdXREYXRlUmFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYWxsb3dDdXN0b21pemVXaXRob3V0RGF0ZVJhbmdlID8/IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHNob3dDdXN0b21pemUoKSB7XG4gICAgcmV0dXJuICF0aGlzLnByb3BzLmhpZGVDdXN0b21pemU7XG4gIH1cblxuICBnZXQgZGVmYXVsdFNjaGVkdWxlRGF5cygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5kZWZhdWx0U2NoZWR1bGVEYXlzO1xuICB9XG5cbiAgZ2V0IG1pbk1heERhdGVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5taW5NYXhEYXRlUmFuZ2U7XG4gIH1cblxuICBnZXQgZmlsdGVyKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmZpbHRlcjtcbiAgfVxuXG4gIGdldCBleGNsdXNpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV4Y2x1c2lvbnM7XG4gIH1cblxuICBnZXQgb3V0cHV0VGltZXpvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMub3V0cHV0VGltZXpvbmU7XG4gIH1cblxuICBnZXQgaW5pdGlhbFNlbGVjdGlvblN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmluaXRpYWxTZWxlY3Rpb25TdGF0ZTtcbiAgfVxuXG4gIGdldCBjb21wdXRlU2VsZWN0aW9uUmVzdWx0UmVsYXRpdmVUb0ZpbHRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb21wdXRlU2VsZWN0aW9uUmVzdWx0UmVsYXRpdmVUb0ZpbHRlcjtcbiAgfVxuXG4gIGdldCBkaWFsb2dDb250ZW50Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmRpYWxvZ0NvbnRlbnRDb25maWc7XG4gIH1cblxuICBnZXQgY3VzdG9tRGV0YWlsc0NvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jdXN0b21EZXRhaWxzQ29uZmlnO1xuICB9XG5cbiAgZ2V0IGNlbGxDb250ZW50RmFjdG9yeSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jZWxsQ29udGVudEZhY3Rvcnk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5uZXh0KHRoaXMuZm9ybUNvbnRyb2wpO1xuXG4gICAgdGhpcy5fc3luY1N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnZhbHVlJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzU2FtZURhdGVDZWxsU2NoZWR1bGVEYXRlUmFuZ2UpKS5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgIHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldERhdGVTY2hlZHVsZVJhbmdlVmFsdWUoeCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl92YWx1ZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5jdXJyZW50RGF0ZUNlbGxTY2hlZHVsZVJhbmdlVmFsdWUkLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh4KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgb3V0cHV0VGltZXpvbmUsIG1pbk1heERhdGVSYW5nZSwgZmlsdGVyLCBleGNsdXNpb25zLCBkZWZhdWx0U2NoZWR1bGVEYXlzIH0gPSB0aGlzO1xuXG4gICAgaWYgKGZpbHRlciAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9maWx0ZXJTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuc2V0RmlsdGVyKGFzT2JzZXJ2YWJsZShmaWx0ZXIpKSBhcyBTdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaWYgKGRlZmF1bHRTY2hlZHVsZURheXMgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZGVmYXVsdFdlZWtTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuc2V0RGVmYXVsdFNjaGVkdWxlRGF5cyhhc09ic2VydmFibGUoZGVmYXVsdFNjaGVkdWxlRGF5cykpIGFzIFN1YnNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBpZiAobWluTWF4RGF0ZVJhbmdlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX21pbk1heERhdGVSYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZXRNaW5NYXhEYXRlUmFuZ2UoYXNPYnNlcnZhYmxlKG1pbk1heERhdGVSYW5nZSkpIGFzIFN1YnNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBpZiAoZXhjbHVzaW9ucyAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9leGNsdXNpb25zU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldEV4Y2x1c2lvbnMoYXNPYnNlcnZhYmxlKGV4Y2x1c2lvbnMpKSBhcyBTdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaWYgKG91dHB1dFRpbWV6b25lICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldE91dHB1dFRpbWV6b25lKGFzT2JzZXJ2YWJsZSh0aGlzLm91dHB1dFRpbWV6b25lKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5pdGlhbFNlbGVjdGlvblN0YXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldEluaXRpYWxTZWxlY3Rpb25TdGF0ZSh0aGlzLmluaXRpYWxTZWxlY3Rpb25TdGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29tcHV0ZVNlbGVjdGlvblJlc3VsdFJlbGF0aXZlVG9GaWx0ZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuc2V0Q29tcHV0ZVNlbGVjdGlvblJlc3VsdFJlbGF0aXZlVG9GaWx0ZXIodGhpcy5jb21wdXRlU2VsZWN0aW9uUmVzdWx0UmVsYXRpdmVUb0ZpbHRlcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2VsbENvbnRlbnRGYWN0b3J5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldENlbGxDb250ZW50RmFjdG9yeSh0aGlzLmNlbGxDb250ZW50RmFjdG9yeSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9zeW5jU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl92YWx1ZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZmlsdGVyU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl90aW1lem9uZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fbWluTWF4RGF0ZVJhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9leGNsdXNpb25zU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
150
+ }] });
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUuZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vY2FsZW5kYXIvc3JjL2xpYi9maWVsZC9zY2hlZHVsZS9jYWxlbmRhci5zY2hlZHVsZS5maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxXQUFXLEVBQXFCLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQTZCLCtCQUErQixFQUE0RyxNQUFNLGVBQWUsQ0FBQztBQUNyTSxPQUFPLEVBQWtDLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUgsT0FBTyxFQUFFLDBEQUEwRCxFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7OztBQW9FN0gsTUFBTSxPQUFPLDhDQUEwSixTQUFRLFNBQTZCO0lBQ2pNLE9BQU8sR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRCxpQ0FBaUMsR0FBRyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUM5RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXpCLFFBQVEsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENB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Q2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt3R0ExSlUsOENBQThDOzRGQUE5Qyw4Q0FBOEMsdUNBRjlDLENBQUMsMERBQTBELEVBQUUsQ0FBQyxpREFSL0Q7Ozs7Ozs7R0FPVDs7NEZBR1UsOENBQThDO2tCQVgxRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7OztHQU9UO29CQUNELFNBQVMsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLENBQUM7aUJBQzFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wYWN0Q29udGV4dFN0b3JlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBBcnJheU9yVmFsdWUsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSwgT2JzZXJ2YWJsZU9yVmFsdWUsIFN1YnNjcmlwdGlvbk9iamVjdCwgYXNPYnNlcnZhYmxlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2UsIFRpbWV6b25lU3RyaW5nLCBpc1NhbWVEYXRlQ2VsbFNjaGVkdWxlRGF0ZVJhbmdlLCBEYXRlQ2VsbFNjaGVkdWxlRGF0ZUZpbHRlckNvbmZpZywgRGF0ZUNlbGxTY2hlZHVsZURheUNvZGUsIERhdGVPckRhdGVSYW5nZU9yRGF0ZUNlbGxJbmRleE9yRGF0ZUNlbGxSYW5nZSB9IGZyb20gJ0BkZXJlZWtiL2RhdGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0YXRlLCBEYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5zY2hlZHVsZS5zZWxlY3Rpb24uc3RvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUNhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUlmUGFyZW50SXNVbmF2YWlsYWJsZSB9IGZyb20gJy4uLy4uL2NhbGVuZGFyLnNjaGVkdWxlLnNlbGVjdGlvbi5zdG9yZS5wcm92aWRlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IERieFNjaGVkdWxlU2VsZWN0aW9uQ2FsZW5kYXJEYXRlUG9wdXBDb250ZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLmRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1DYWxlbmRhckRhdGVDZWxsU2NoZWR1bGVSYW5nZUZpZWxkUHJvcHMgZXh0ZW5kcyBQaWNrPEZvcm1seUZpZWxkUHJvcHMsICdsYWJlbCcgfCAnZGVzY3JpcHRpb24nIHwgJ3JlYWRvbmx5JyB8ICdyZXF1aXJlZCc+LCBQaWNrPENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdGF0ZSwgJ2NvbXB1dGVTZWxlY3Rpb25SZXN1bHRSZWxhdGl2ZVRvRmlsdGVyJyB8ICdpbml0aWFsU2VsZWN0aW9uU3RhdGUnPiwgUGFydGlhbDxQaWNrPENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdGF0ZSwgJ2NlbGxDb250ZW50RmFjdG9yeSc+PiB7XG4gIGFwcGVhcmFuY2U/OiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgaW5wdXR0aW5nIGN1c3RvbSB0ZXh0IGludG8gdGhlIHBpY2tlci5cbiAgICpcbiAgICogSWYgZmFsc2UsIHdoZW4gdGhlIGlucHV0IHRleHQgaXMgcGlja2VkIHRoZSBkYXRlIHBpY2tlciB3aWxsIG9wZW4uXG4gICAqXG4gICAqIElzIGZhbHNlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBhbGxvd1RleHRJbnB1dD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBoaWRlIHRoZSBjdXN0b21pemUgYnV0dG9uLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICovXG4gIGhpZGVDdXN0b21pemU/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgY3VzdG9taXppbmcgYmVmb3JlIHBpY2tpbmcgYSBkYXRlIHJhbmdlIHRvIGN1c3RvbWl6ZS5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBhbGxvd0N1c3RvbWl6ZVdpdGhvdXREYXRlUmFuZ2U/OiBib29sZWFuO1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBUaW1lem9uZSB0byB1c2UgZm9yIHRoZSBvdXRwdXQgc3RhcnQgZGF0ZS5cbiAgICpcbiAgICogSWYgYSBmaWx0ZXIgaXMgcHJvdmlkZWQsIHRoaXMgdGltZXpvbmUgb3ZlcnJpZGVzIHRoZSBmaWx0ZXIncyB0aW1lem9uZSBvdXRwdXQuXG4gICAqL1xuICBvdXRwdXRUaW1lem9uZT86IE9ic2VydmFibGVPclZhbHVlPE1heWJlPFRpbWV6b25lU3RyaW5nPj47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIERlZmF1bHQgc2NoZWR1bGUgZGF5cyB0byBhbGxvdy5cbiAgICovXG4gIGRlZmF1bHRTY2hlZHVsZURheXM/OiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxJdGVyYWJsZTxEYXRlQ2VsbFNjaGVkdWxlRGF5Q29kZT4+PjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1pbi9tYXggZGF0ZSByYW5nZSB0byBmaWx0ZXIgb24uIFdvcmtzIGluIGNvbmp1Y3Rpb24gd2l0aCB0aGUgZmlsdGVyLlxuICAgKi9cbiAgbWluTWF4RGF0ZVJhbmdlPzogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8UGFydGlhbDxEYXRlUmFuZ2U+Pj47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIE9ic2VydmFibGUgd2l0aCBhIGZpbHRlciB2YWx1ZSB0byBhcHBseSB0byB0aGUgZGF0ZSByYW5nZS5cbiAgICovXG4gIGZpbHRlcj86IE9ic2VydmFibGVPclZhbHVlPE1heWJlPERhdGVDZWxsU2NoZWR1bGVEYXRlRmlsdGVyQ29uZmlnPj47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIE9ic2VydmFibGUgd2l0aCBkYXlzIGFuZCB2YWx1ZXMgdG8gZXhjbHVkZSBmcm9tIHRoZSBkYXRlIHJhbmdlLlxuICAgKi9cbiAgZXhjbHVzaW9ucz86IE9ic2VydmFibGVPclZhbHVlPE1heWJlPEFycmF5T3JWYWx1ZTxEYXRlT3JEYXRlUmFuZ2VPckRhdGVDZWxsSW5kZXhPckRhdGVDZWxsUmFuZ2U+Pj47XG4gIC8qKlxuICAgKiBDdXN0b20gZGlhbG9nIGNvbnRlbnQgY29uZmlnIGZvciB0aGUgcG9wdXBcbiAgICovXG4gIGRpYWxvZ0NvbnRlbnRDb25maWc/OiBNYXliZTxEYnhTY2hlZHVsZVNlbGVjdGlvbkNhbGVuZGFyRGF0ZVBvcHVwQ29udGVudENvbmZpZz47XG4gIC8qKlxuICAgKiBDdXN0b20gZGV0YWlscyBjb25maWcgZm9yIHRoZSBkYXRlIHJhbmdlXG4gICAqL1xuICBjdXN0b21EZXRhaWxzQ29uZmlnPzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC1zY2hlZHVsZS1zZWxlY3Rpb24tZmllbGRcIj5cbiAgICAgIDxkYngtc2NoZWR1bGUtc2VsZWN0aW9uLWNhbGVuZGFyLWRhdGUtcmFuZ2UgW29wZW5QaWNrZXJPblRleHRDbGlja109XCJvcGVuUGlja2VyT25UZXh0Q2xpY2tcIiBbc2hvd0N1c3RvbWl6ZV09XCJzaG93Q3VzdG9taXplXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cImlzUmVhZG9ubHlPckRpc2FibGVkXCIgW2xhYmVsXT1cImxhYmVsXCIgW2hpbnRdPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPGRieC1zY2hlZHVsZS1zZWxlY3Rpb24tY2FsZW5kYXItZGF0ZS1kaWFsb2ctYnV0dG9uIGN1c3RvbWl6ZUJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZUN1c3RvbWl6ZSQgfCBhc3luY1wiIFtjb250ZW50Q29uZmlnXT1cImRpYWxvZ0NvbnRlbnRDb25maWdcIj48L2RieC1zY2hlZHVsZS1zZWxlY3Rpb24tY2FsZW5kYXItZGF0ZS1kaWFsb2ctYnV0dG9uPlxuICAgICAgICA8ZGJ4LWluamVjdGlvbiBbY29uZmlnXT1cImN1c3RvbURldGFpbHNDb25maWdcIj48L2RieC1pbmplY3Rpb24+XG4gICAgICA8L2RieC1zY2hlZHVsZS1zZWxlY3Rpb24tY2FsZW5kYXItZGF0ZS1yYW5nZT5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUNhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZUlmUGFyZW50SXNVbmF2YWlsYWJsZSgpXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtQ2FsZW5kYXJEYXRlU2NoZWR1bGVSYW5nZUZpZWxkQ29tcG9uZW50PFQgZXh0ZW5kcyBEYnhGb3JtQ2FsZW5kYXJEYXRlQ2VsbFNjaGVkdWxlUmFuZ2VGaWVsZFByb3BzID0gRGJ4Rm9ybUNhbGVuZGFyRGF0ZUNlbGxTY2hlZHVsZVJhbmdlRmllbGRQcm9wcz4gZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPFQ+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGluamVjdChDb21wYWN0Q29udGV4dFN0b3JlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICByZWFkb25seSBkYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUgPSBpbmplY3QoRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlKTtcbiAgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgcHJpdmF0ZSBfc3luY1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfdmFsdWVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX3RpbWV6b25lU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9taW5NYXhEYXRlUmFuZ2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2RlZmF1bHRXZWVrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9maWx0ZXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2V4Y2x1c2lvbnNTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2xPYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEFic3RyYWN0Q29udHJvbD4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGZvcm1Db250cm9sJCA9IHRoaXMuX2Zvcm1Db250cm9sT2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcmVhZG9ubHkgdmFsdWUkID0gdGhpcy5mb3JtQ29udHJvbCQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGNvbnRyb2wpID0+IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKGNvbnRyb2wudmFsdWUpKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBkaXNhYmxlQ3VzdG9taXplJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiAodGhpcy5hbGxvd0N1c3RvbWl6ZVdpdGhvdXREYXRlUmFuZ2UgPyBmYWxzZSA6ICF4KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGdldCBmb3JtR3JvdXBOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcz8ubGFiZWw7XG4gIH1cblxuICBnZXQgZGVzY3JpcHRpb24oKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVzY3JpcHRpb247XG4gIH1cblxuICBnZXQgaXNSZWFkb25seU9yRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBvcGVuUGlja2VyT25UZXh0Q2xpY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYWxsb3dUZXh0SW5wdXQgIT09IHRydWU7IC8vIE9wcG9zaXRlIG9mIGFsbG93VGV4dElucHV0XG4gIH1cblxuICBnZXQgYWxsb3dDdXN0b21pemVXaXRob3V0RGF0ZVJhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFsbG93Q3VzdG9taXplV2l0aG91dERhdGVSYW5nZSA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCBzaG93Q3VzdG9taXplKCkge1xuICAgIHJldHVybiAhdGhpcy5wcm9wcy5oaWRlQ3VzdG9taXplO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHRTY2hlZHVsZURheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVmYXVsdFNjaGVkdWxlRGF5cztcbiAgfVxuXG4gIGdldCBtaW5NYXhEYXRlUmFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWluTWF4RGF0ZVJhbmdlO1xuICB9XG5cbiAgZ2V0IGZpbHRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5maWx0ZXI7XG4gIH1cblxuICBnZXQgZXhjbHVzaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5leGNsdXNpb25zO1xuICB9XG5cbiAgZ2V0IG91dHB1dFRpbWV6b25lKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLm91dHB1dFRpbWV6b25lO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxTZWxlY3Rpb25TdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbml0aWFsU2VsZWN0aW9uU3RhdGU7XG4gIH1cblxuICBnZXQgY29tcHV0ZVNlbGVjdGlvblJlc3VsdFJlbGF0aXZlVG9GaWx0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY29tcHV0ZVNlbGVjdGlvblJlc3VsdFJlbGF0aXZlVG9GaWx0ZXI7XG4gIH1cblxuICBnZXQgZGlhbG9nQ29udGVudENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5kaWFsb2dDb250ZW50Q29uZmlnO1xuICB9XG5cbiAgZ2V0IGN1c3RvbURldGFpbHNDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY3VzdG9tRGV0YWlsc0NvbmZpZztcbiAgfVxuXG4gIGdldCBjZWxsQ29udGVudEZhY3RvcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2VsbENvbnRlbnRGYWN0b3J5O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMubmV4dCh0aGlzLmZvcm1Db250cm9sKTtcblxuICAgIHRoaXMuX3N5bmNTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy52YWx1ZSQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZChpc1NhbWVEYXRlQ2VsbFNjaGVkdWxlRGF0ZVJhbmdlKSkuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZXREYXRlU2NoZWR1bGVSYW5nZVZhbHVlKHgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fdmFsdWVTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuY3VycmVudERhdGVDZWxsU2NoZWR1bGVSYW5nZVZhbHVlJC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoeCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB7IG91dHB1dFRpbWV6b25lLCBtaW5NYXhEYXRlUmFuZ2UsIGZpbHRlciwgZXhjbHVzaW9ucywgZGVmYXVsdFNjaGVkdWxlRGF5cyB9ID0gdGhpcztcblxuICAgIGlmIChmaWx0ZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZmlsdGVyU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldEZpbHRlcihhc09ic2VydmFibGUoZmlsdGVyKSkgYXMgU3Vic2NyaXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChkZWZhdWx0U2NoZWR1bGVEYXlzICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX2RlZmF1bHRXZWVrU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldERlZmF1bHRTY2hlZHVsZURheXMoYXNPYnNlcnZhYmxlKGRlZmF1bHRTY2hlZHVsZURheXMpKSBhcyBTdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaWYgKG1pbk1heERhdGVSYW5nZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9taW5NYXhEYXRlUmFuZ2VTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuc2V0TWluTWF4RGF0ZVJhbmdlKGFzT2JzZXJ2YWJsZShtaW5NYXhEYXRlUmFuZ2UpKSBhcyBTdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaWYgKGV4Y2x1c2lvbnMgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZXhjbHVzaW9uc1N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZXRFeGNsdXNpb25zKGFzT2JzZXJ2YWJsZShleGNsdXNpb25zKSkgYXMgU3Vic2NyaXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChvdXRwdXRUaW1lem9uZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZXRPdXRwdXRUaW1lem9uZShhc09ic2VydmFibGUodGhpcy5vdXRwdXRUaW1lem9uZSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxTZWxlY3Rpb25TdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZXRJbml0aWFsU2VsZWN0aW9uU3RhdGUodGhpcy5pbml0aWFsU2VsZWN0aW9uU3RhdGUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbXB1dGVTZWxlY3Rpb25SZXN1bHRSZWxhdGl2ZVRvRmlsdGVyICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLnNldENvbXB1dGVTZWxlY3Rpb25SZXN1bHRSZWxhdGl2ZVRvRmlsdGVyKHRoaXMuY29tcHV0ZVNlbGVjdGlvblJlc3VsdFJlbGF0aXZlVG9GaWx0ZXIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNlbGxDb250ZW50RmFjdG9yeSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZXRDZWxsQ29udGVudEZhY3RvcnkodGhpcy5jZWxsQ29udGVudEZhY3RvcnkpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fc3luY1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fdmFsdWVTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2ZpbHRlclN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fdGltZXpvbmVTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX21pbk1heERhdGVSYW5nZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZXhjbHVzaW9uc1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -12,8 +12,8 @@ import { DbxInjectionComponentModule } from '@dereekb/dbx-core';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "@ngx-formly/core";
14
14
  export class DbxFormDateScheduleRangeFieldModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, declarations: [DbxFormCalendarDateScheduleRangeFieldComponent], imports: [DbxInjectionComponentModule,
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, declarations: [DbxFormCalendarDateScheduleRangeFieldComponent], imports: [DbxInjectionComponentModule,
17
17
  CommonModule,
18
18
  MatIconModule,
19
19
  DbxFormCalendarModule,
@@ -21,8 +21,8 @@ export class DbxFormDateScheduleRangeFieldModule {
21
21
  DbxTextModule,
22
22
  FormsModule,
23
23
  ReactiveFormsModule,
24
- MatInputModule, i1.FormlyModule] }); }
25
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [DbxInjectionComponentModule,
24
+ MatInputModule, i1.FormlyModule] });
25
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [DbxInjectionComponentModule,
26
26
  CommonModule,
27
27
  MatIconModule,
28
28
  DbxFormCalendarModule,
@@ -33,7 +33,7 @@ export class DbxFormDateScheduleRangeFieldModule {
33
33
  MatInputModule,
34
34
  FormlyModule.forChild({
35
35
  types: [{ name: 'date-schedule-range', component: DbxFormCalendarDateScheduleRangeFieldComponent }]
36
- })] }); }
36
+ })] });
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, decorators: [{
39
39
  type: NgModule,
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
55
55
  declarations: [DbxFormCalendarDateScheduleRangeFieldComponent]
56
56
  }]
57
57
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vY2FsZW5kYXIvc3JjL2xpYi9maWVsZC9zY2hlZHVsZS9jYWxlbmRhci5zY2hlZHVsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQW1CaEUsTUFBTSxPQUFPLG1DQUFtQzsrR0FBbkMsbUNBQW1DO2dIQUFuQyxtQ0FBbUMsaUJBRi9CLDhDQUE4QyxhQWIzRCwyQkFBMkI7WUFDM0IsWUFBWTtZQUNaLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7Z0hBT0wsbUNBQW1DLFlBZjVDLDJCQUEyQjtZQUMzQixZQUFZO1lBQ1osYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsYUFBYTtZQUNiLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSw4Q0FBOEMsRUFBRSxDQUFDO2FBQ3BHLENBQUM7OzRGQUlPLG1DQUFtQztrQkFqQi9DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjt3QkFDM0IsWUFBWTt3QkFDWixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVksQ0FBQyxRQUFRLENBQUM7NEJBQ3BCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSw4Q0FBOEMsRUFBRSxDQUFDO3lCQUNwRyxDQUFDO3FCQUNIO29CQUNELFlBQVksRUFBRSxDQUFDLDhDQUE4QyxDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGJ4Rm9ybUNhbGVuZGFyRGF0ZVNjaGVkdWxlUmFuZ2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuc2NoZWR1bGUuZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IERieFRleHRNb2R1bGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBEYnhGb3JtQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRGJ4SW5qZWN0aW9uQ29tcG9uZW50TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIERieEZvcm1DYWxlbmRhck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgRGJ4VGV4dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICB0eXBlczogW3sgbmFtZTogJ2RhdGUtc2NoZWR1bGUtcmFuZ2UnLCBjb21wb25lbnQ6IERieEZvcm1DYWxlbmRhckRhdGVTY2hlZHVsZVJhbmdlRmllbGRDb21wb25lbnQgfV1cbiAgICB9KVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtEYnhGb3JtQ2FsZW5kYXJEYXRlU2NoZWR1bGVSYW5nZUZpZWxkQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtRGF0ZVNjaGVkdWxlUmFuZ2VGaWVsZE1vZHVsZSB7fVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vY2FsZW5kYXIvc3JjL2xpYi9maWVsZC9zY2hlZHVsZS9jYWxlbmRhci5zY2hlZHVsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQW1CaEUsTUFBTSxPQUFPLG1DQUFtQzt3R0FBbkMsbUNBQW1DO3lHQUFuQyxtQ0FBbUMsaUJBRi9CLDhDQUE4QyxhQWIzRCwyQkFBMkI7WUFDM0IsWUFBWTtZQUNaLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7eUdBT0wsbUNBQW1DLFlBZjVDLDJCQUEyQjtZQUMzQixZQUFZO1lBQ1osYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsYUFBYTtZQUNiLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSw4Q0FBOEMsRUFBRSxDQUFDO2FBQ3BHLENBQUM7OzRGQUlPLG1DQUFtQztrQkFqQi9DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjt3QkFDM0IsWUFBWTt3QkFDWixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVksQ0FBQyxRQUFRLENBQUM7NEJBQ3BCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSw4Q0FBOEMsRUFBRSxDQUFDO3lCQUNwRyxDQUFDO3FCQUNIO29CQUNELFlBQVksRUFBRSxDQUFDLDhDQUE4QyxDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGJ4Rm9ybUNhbGVuZGFyRGF0ZVNjaGVkdWxlUmFuZ2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuc2NoZWR1bGUuZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IERieFRleHRNb2R1bGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBEYnhGb3JtQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRGJ4SW5qZWN0aW9uQ29tcG9uZW50TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIERieEZvcm1DYWxlbmRhck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgRGJ4VGV4dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICB0eXBlczogW3sgbmFtZTogJ2RhdGUtc2NoZWR1bGUtcmFuZ2UnLCBjb21wb25lbnQ6IERieEZvcm1DYWxlbmRhckRhdGVTY2hlZHVsZVJhbmdlRmllbGRDb21wb25lbnQgfV1cbiAgICB9KVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtEYnhGb3JtQ2FsZW5kYXJEYXRlU2NoZWR1bGVSYW5nZUZpZWxkQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtRGF0ZVNjaGVkdWxlUmFuZ2VGaWVsZE1vZHVsZSB7fVxuIl19
@@ -1,12 +1,10 @@
1
- import { Directive, Host, Input } from '@angular/core';
1
+ import { Directive, Input, inject } from '@angular/core';
2
2
  import { addSeconds, isPast } from 'date-fns';
3
3
  import { of, combineLatest, exhaustMap, catchError, delay, filter, first, map, switchMap, BehaviorSubject, distinctUntilChanged } from 'rxjs';
4
4
  import { DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';
5
5
  import { SubscriptionObject, LockSet, asObservable } from '@dereekb/rxjs';
6
6
  import { DbxFormState, DbxMutableForm } from '../../form/form';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "../../form/form";
9
- import * as i2 from "@dereekb/dbx-core";
10
8
  export const APP_ACTION_FORM_DISABLED_KEY = 'dbx_action_form';
11
9
  /**
12
10
  * Used with an action to bind a form to an action as it's value source.
@@ -16,18 +14,31 @@ export const APP_ACTION_FORM_DISABLED_KEY = 'dbx_action_form';
16
14
  * If the source is not considered modified, the trigger will be ignored.
17
15
  */
18
16
  export class DbxActionFormDirective {
19
- constructor(form, source) {
20
- this.form = form;
21
- this.source = source;
22
- this.lockSet = new LockSet();
23
- this._formDisabledWhileWorking = new BehaviorSubject(true);
24
- this._triggeredSub = new SubscriptionObject();
25
- this._isCompleteSub = new SubscriptionObject();
26
- this._isWorkingSub = new SubscriptionObject();
27
- if (form.lockSet) {
28
- this.lockSet.addChildLockSet(form.lockSet, 'form');
17
+ form = inject((DbxMutableForm), { host: true });
18
+ source = inject((DbxActionContextStoreSourceInstance));
19
+ lockSet = new LockSet();
20
+ /**
21
+ * Optional validator that checks whether or not the value is
22
+ * ready to send before the context store is marked enabled.
23
+ */
24
+ dbxActionFormValidator;
25
+ /**
26
+ * Optional function that checks whether or not the value has been modified.
27
+ */
28
+ dbxActionFormModified;
29
+ /**
30
+ * Optional function that maps the form's value to the source's value.
31
+ */
32
+ dbxActionFormMapValue;
33
+ _formDisabledWhileWorking = new BehaviorSubject(true);
34
+ _triggeredSub = new SubscriptionObject();
35
+ _isCompleteSub = new SubscriptionObject();
36
+ _isWorkingSub = new SubscriptionObject();
37
+ constructor() {
38
+ if (this.form.lockSet) {
39
+ this.lockSet.addChildLockSet(this.form.lockSet, 'form');
29
40
  }
30
- this.lockSet.addChildLockSet(source.lockSet, 'source');
41
+ this.lockSet.addChildLockSet(this.source.lockSet, 'source');
31
42
  }
32
43
  get formDisabledOnWorking() {
33
44
  return this._formDisabledWhileWorking.value;
@@ -133,17 +144,15 @@ export class DbxActionFormDirective {
133
144
  return of({ value: value });
134
145
  }
135
146
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxActionFormDirective, deps: [{ token: i1.DbxMutableForm, host: true }, { token: i2.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive }); }
137
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: { dbxActionFormValidator: "dbxActionFormValidator", dbxActionFormModified: "dbxActionFormModified", dbxActionFormMapValue: "dbxActionFormMapValue", formDisabledOnWorking: "formDisabledOnWorking" }, ngImport: i0 }); }
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxActionFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
148
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: { dbxActionFormValidator: "dbxActionFormValidator", dbxActionFormModified: "dbxActionFormModified", dbxActionFormMapValue: "dbxActionFormMapValue", formDisabledOnWorking: "formDisabledOnWorking" }, ngImport: i0 });
138
149
  }
139
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxActionFormDirective, decorators: [{
140
151
  type: Directive,
141
152
  args: [{
142
153
  selector: '[dbxActionForm]'
143
154
  }]
144
- }], ctorParameters: function () { return [{ type: i1.DbxMutableForm, decorators: [{
145
- type: Host
146
- }] }, { type: i2.DbxActionContextStoreSourceInstance }]; }, propDecorators: { dbxActionFormValidator: [{
155
+ }], ctorParameters: function () { return []; }, propDecorators: { dbxActionFormValidator: [{
147
156
  type: Input
148
157
  }], dbxActionFormModified: [{
149
158
  type: Input
@@ -152,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
152
161
  }], formDisabledOnWorking: [{
153
162
  type: Input
154
163
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtL2FjdGlvbi9mb3JtLmFjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxtQ0FBbUMsRUFBaUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUEwRCxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUcvRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxpQkFBaUIsQ0FBQztBQUk5RDs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCO0lBNEJqQyxZQUFvQyxJQUF1QixFQUFrQixNQUF1RDtRQUFoRyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUFrQixXQUFNLEdBQU4sTUFBTSxDQUFpRDtRQTNCM0gsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFxQnpCLDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRS9ELGtCQUFhLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FB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QUFVLENBQUMsS0FBUTtRQUMzQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBcUIsRUFBRSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDOytHQXZMVSxzQkFBc0I7bUdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1Qjs7MEJBNkJjLElBQUk7OEZBcEJqQixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBT04scUJBQXFCO3NCQURwQixLQUFLO2dCQU9OLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFrQkYscUJBQXFCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZFNlY29uZHMsIGlzUGFzdCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBjb21iaW5lTGF0ZXN0LCBleGhhdXN0TWFwLCBjYXRjaEVycm9yLCBkZWxheSwgZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLCBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgTG9ja1NldCwgSXNNb2RpZmllZEZ1bmN0aW9uLCBJc1ZhbGlkRnVuY3Rpb24sIE9ic2VydmFibGVPclZhbHVlLCBhc09ic2VydmFibGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEZvcm1TdGF0ZSwgRGJ4TXV0YWJsZUZvcm0gfSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0nO1xuaW1wb3J0IHsgTWFwRnVuY3Rpb24gfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGNvbnN0IEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVkgPSAnZGJ4X2FjdGlvbl9mb3JtJztcblxuZXhwb3J0IHR5cGUgRGJ4QWN0aW9uRm9ybU1hcFZhbHVlRnVuY3Rpb248VCwgTz4gPSBNYXBGdW5jdGlvbjxULCBPYnNlcnZhYmxlT3JWYWx1ZTxEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxPPj4+O1xuXG4vKipcbiAqIFVzZWQgd2l0aCBhbiBhY3Rpb24gdG8gYmluZCBhIGZvcm0gdG8gYW4gYWN0aW9uIGFzIGl0J3MgdmFsdWUgc291cmNlLlxuICpcbiAqIElmIHRoZSBmb3JtIGhhcyBlcnJvcnMgd2hlbiB0aGUgYWN0aW9uIGlzIHRyaWdnZXIsIGl0IHdpbGwgcmVqZWN0IHRoZSBhY3Rpb24uXG4gKlxuICogSWYgdGhlIHNvdXJjZSBpcyBub3QgY29uc2lkZXJlZCBtb2RpZmllZCwgdGhlIHRyaWdnZXIgd2lsbCBiZSBpZ25vcmVkLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uRm9ybV0nXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkZvcm1EaXJlY3RpdmU8VCA9IG9iamVjdCwgTyA9IFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdmFsaWRhdG9yIHRoYXQgY2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBpc1xuICAgKiByZWFkeSB0byBzZW5kIGJlZm9yZSB0aGUgY29udGV4dCBzdG9yZSBpcyBtYXJrZWQgZW5hYmxlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRieEFjdGlvbkZvcm1WYWxpZGF0b3I/OiBJc1ZhbGlkRnVuY3Rpb248VD47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBoYXMgYmVlbiBtb2RpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRieEFjdGlvbkZvcm1Nb2RpZmllZD86IElzTW9kaWZpZWRGdW5jdGlvbjxUPjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgZnVuY3Rpb24gdGhhdCBtYXBzIHRoZSBmb3JtJ3MgdmFsdWUgdG8gdGhlIHNvdXJjZSdzIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgZGJ4QWN0aW9uRm9ybU1hcFZhbHVlPzogRGJ4QWN0aW9uRm9ybU1hcFZhbHVlRnVuY3Rpb248VCwgTz47XG5cbiAgcHJpdmF0ZSBfZm9ybURpc2FibGVkV2hpbGVXb3JraW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwcml2YXRlIF90cmlnZ2VyZWRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2lzQ29tcGxldGVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2lzV29ya2luZ1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBmb3JtOiBEYnhNdXRhYmxlRm9ybTxUPiwgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8TywgdW5rbm93bj4pIHtcbiAgICBpZiAoZm9ybS5sb2NrU2V0KSB7XG4gICAgICB0aGlzLmxvY2tTZXQuYWRkQ2hpbGRMb2NrU2V0KGZvcm0ubG9ja1NldCwgJ2Zvcm0nKTtcbiAgICB9XG5cbiAgICB0aGlzLmxvY2tTZXQuYWRkQ2hpbGRMb2NrU2V0KHNvdXJjZS5sb2NrU2V0LCAnc291cmNlJyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZm9ybURpc2FibGVkT25Xb3JraW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmcudmFsdWU7XG4gIH1cblxuICBzZXQgZm9ybURpc2FibGVkT25Xb3JraW5nKGZvcm1EaXNhYmxlZE9uV29ya2luZzogYm9vbGVhbikge1xuICAgIHRoaXMuX2Zvcm1EaXNhYmxlZFdoaWxlV29ya2luZy5uZXh0KEJvb2xlYW4oZm9ybURpc2FibGVkT25Xb3JraW5nID8/IHRydWUpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFBhc3MgZGF0YSBmcm9tIHRoZSBmb3JtIHRvIHRoZSBzb3VyY2Ugd2hlbiB0cmlnZ2VyZWQuXG4gICAgdGhpcy5fdHJpZ2dlcmVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlLnRyaWdnZXJlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICB0aGlzLmZvcm0uc3RyZWFtJC5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIGV4aGF1c3RNYXAoKHN0cmVhbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IGlzQ29tcGxldGUgfSA9IHN0cmVhbTtcbiAgICAgICAgICAgICAgY29uc3QgZG9Ob3RoaW5nID0ge307IC8vIG5vdGhpbmcsIGZvcm0gbm90IGNvbXBsZXRlXG5cbiAgICAgICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxPPj47XG5cbiAgICAgICAgICAgICAgaWYgKGlzQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICBvYnMgPSB0aGlzLmZvcm0uZ2V0VmFsdWUoKS5waXBlKFxuICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgIGV4aGF1c3RNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZUNoZWNrUmVhZHlWYWx1ZSh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoY2FuQ29udGludWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYW5Db250aW51ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVZhbHVlKHZhbHVlKS5waXBlKGZpcnN0KCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGRvTm90aGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IG9mKHsgcmVqZWN0OiBlcnJvciB9KSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb2JzID0gb2YoZG9Ob3RoaW5nKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxPPikgPT4ge1xuICAgICAgICBpZiAocmVzdWx0LnJlamVjdCkge1xuICAgICAgICAgIHRoaXMuc291cmNlLnJlamVjdChyZXN1bHQucmVqZWN0KTtcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQudmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuc291cmNlLnJlYWR5VmFsdWUocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB2YWx1ZSBpc24ndCByZWFkeVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIFVwZGF0ZSB0aGUgZW5hYmxlZC9kaXNhYmxlZCBzdGF0ZVxuICAgIHRoaXMuX2lzQ29tcGxldGVTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtLnN0cmVhbSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgZmlsdGVyKCh4KSA9PiB4LnN0YXRlICE9PSBEYnhGb3JtU3RhdGUuSU5JVElBTElaSU5HKSxcbiAgICAgICAgc3dpdGNoTWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0VmFsdWUoKS5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIGV4aGF1c3RNYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgIC8vIFVzZSBib3RoIGNoYW5nZXMgY291bnQgYW5kIHdoZXRoZXIgb3Igbm90IHNvbWV0aGluZyB3YXMgaW4gdGhlIHBhc3QgdG8gZ3VhZ2Ugd2hldGhlciBvciBub3QgdGhlIGl0ZW0gaGFzIGJlZW4gdG91Y2hlZC5cbiAgICAgICAgICAgICAgLy8gQW5ndWxhciBGb3JtJ3MgdW50b3VjaGVkIGlzIHdoZXRoZXIgb3Igbm90IGZvY3VzIGhhcyBiZWVuIGxvc3QgYnV0IHdlIGNhbiBzdGlsbCByZWNlaXZlIHZhbHVlIHVwZGF0ZXMuXG4gICAgICAgICAgICAgIC8vIE1vcmUgdGhhbiBhIGNlcnRhaW4gYW1vdW50IG9mIHVwZGF0ZXMgaW1wbGllcyB0aGF0IGl0IGlzIGJlaW5nIHR5cGVkIGludG8vdXNlZC5cbiAgICAgICAgICAgICAgLy8gMyBjaGFuZ2VzIGFuZCAyIHNlY29uZHMgYXJlIGFyYml0cmFyeSB2YWx1ZXMgZGVyaXZlZCBmcm9tIGd1ZXNzZXMgYWJvdXQgYW55IHNsb3cvbGF0ZSBjaGFuZ2VzIHRoYXQgbWF5IGNvbWUgZnJvbSBleHRlcm5hbCBkaXJlY3RpdmVzIGZvciBzZXR1cC5cbiAgICAgICAgICAgICAgY29uc3QgaXNQcm9iYWJseVRvdWNoZWQgPSAhZXZlbnQudW50b3VjaGVkIHx8ICgoZXZlbnQuY2hhbmdlc0NvdW50ID8/IDApID4gMyAmJiBpc1Bhc3QoYWRkU2Vjb25kcyhldmVudC5sYXN0UmVzZXRBdCA/PyBuZXcgRGF0ZSgpLCAyKSkpO1xuXG4gICAgICAgICAgICAgIGxldCB2YWxpZGF0b3JPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbElzVmFsaWRDaGVjayA9IGV2ZW50LmlzQ29tcGxldGU7XG4gICAgICAgICAgICAgIGlmIChpbml0aWFsSXNWYWxpZENoZWNrKSB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yT2JzID0gdGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yID8gdGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yKHZhbHVlKSA6IG9mKHRydWUpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhbGlkYXRvck9icyA9IG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGxldCBtb2RpZmllZE9iczogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgICAgICAgICAgICBjb25zdCBpc0NvbnNpZGVyZWRNb2RpZmllZCA9IGV2ZW50LnByaXN0aW5lID09PSBmYWxzZSAmJiBpc1Byb2JhYmx5VG91Y2hlZDtcbiAgICAgICAgICAgICAgaWYgKGlzQ29uc2lkZXJlZE1vZGlmaWVkKSB7XG4gICAgICAgICAgICAgICAgbW9kaWZpZWRPYnMgPSB0aGlzLmRieEFjdGlvbkZvcm1Nb2RpZmllZCA/IHRoaXMuZGJ4QWN0aW9uRm9ybU1vZGlmaWVkKHZhbHVlKSA6IG9mKHRydWUpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG1vZGlmaWVkT2JzID0gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3ZhbGlkYXRvck9icywgbW9kaWZpZWRPYnNdKS5waXBlKFxuICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgbWFwKChbdmFsaWQsIG1vZGlmaWVkXTogW2Jvb2xlYW4sIGJvb2xlYW5dKSA9PiAoeyB2YWxpZCwgbW9kaWZpZWQsIHZhbHVlLCBldmVudCB9KSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgdmFsaWQsIG1vZGlmaWVkIC8qLCB2YWx1ZSwgZXZlbnQgKi8gfSkgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygneDogJywgdmFsdWUsIGV2ZW50LCB2YWxpZCwgbW9kaWZpZWQpO1xuXG4gICAgICAgIC8vIFVwZGF0ZSBNb2RpZmllZCBTdGF0ZVxuICAgICAgICB0aGlzLnNvdXJjZS5zZXRJc01vZGlmaWVkKG1vZGlmaWVkKTtcblxuICAgICAgICAvLyBEaXNhYmxlIGlmIHRoZSBmb3JtIGlzIG5vdCB5ZXQgY29tcGxldGUvdmFsaWQuXG4gICAgICAgIHRoaXMuc291cmNlLmVuYWJsZShBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZLCB2YWxpZCk7XG4gICAgICB9KTtcblxuICAgIC8vIFdhdGNoIHRoZSB3b3JraW5nIHN0YXRlIGFuZCBkaXNhYmxlIGZvcm0gd2hpbGUgd29ya2luZ1xuICAgIHRoaXMuX2lzV29ya2luZ1N1Yi5zdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNvdXJjZS5pc1dvcmtpbmckLCB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmddKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW2lzV29ya2luZywgbG9ja09uV29ya2luZ106IFtib29sZWFuLCBib29sZWFuXSkgPT4gbG9ja09uV29ya2luZyAmJiBpc1dvcmtpbmcpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChkaXNhYmxlKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybS5zZXREaXNhYmxlZChBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZLCBkaXNhYmxlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UuZW5hYmxlKEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVkpO1xuICAgIHRoaXMubG9ja1NldC5kZXN0cm95T25OZXh0VW5sb2NrKCgpID0+IHtcbiAgICAgIHRoaXMuX3RyaWdnZXJlZFN1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9pc0NvbXBsZXRlU3ViLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX2lzV29ya2luZ1N1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmcuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuZm9ybS5zZXREaXNhYmxlZChBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZLCBmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlQ2hlY2tSZWFkeVZhbHVlKHZhbHVlOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgdmFsaWRhdG9yT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yID8gdGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yKHZhbHVlKSA6IG9mKHRydWUpO1xuICAgIGNvbnN0IG1vZGlmaWVkT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5kYnhBY3Rpb25Gb3JtTW9kaWZpZWQgPyB0aGlzLmRieEFjdGlvbkZvcm1Nb2RpZmllZCh2YWx1ZSkgOiBvZih0cnVlKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt2YWxpZGF0b3JPYnMsIG1vZGlmaWVkT2JzXSkucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBtYXAoKFt2YWxpZCwgbW9kaWZpZWRdOiBbYm9vbGVhbiwgYm9vbGVhbl0pID0+IHZhbGlkICYmIG1vZGlmaWVkKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZHlWYWx1ZSh2YWx1ZTogVCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJSZXN1bHQ8Tz4+IHtcbiAgICBpZiAodGhpcy5kYnhBY3Rpb25Gb3JtTWFwVmFsdWUpIHtcbiAgICAgIHJldHVybiBhc09ic2VydmFibGUodGhpcy5kYnhBY3Rpb25Gb3JtTWFwVmFsdWUodmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKHsgdmFsdWU6IHZhbHVlIGFzIHVua25vd24gYXMgTyB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtL2FjdGlvbi9mb3JtLmFjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxtQ0FBbUMsRUFBaUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUEwRCxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHL0QsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsaUJBQWlCLENBQUM7QUFJOUQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUEsY0FBaUIsQ0FBQSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLG1DQUErQyxDQUFBLENBQUMsQ0FBQztJQUVqRSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVqQzs7O09BR0c7SUFFSCxzQkFBc0IsQ0FBc0I7SUFFNUM7O09BRUc7SUFFSCxxQkFBcUIsQ0FBeUI7SUFFOUM7O09BRUc7SUFFSCxxQkFBcUIsQ0FBdUM7SUFFcEQseUJBQXlCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7SUFFL0QsYUFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUN6QyxjQUFjLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQzFDLGFBQWEsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFakQ7UUFDRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3pEO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQ0kscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxxQkFBcUIsQ0FBQyxxQkFBOEI7UUFDdEQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsUUFBUTtRQUNOLHdEQUF3RDtRQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7YUFDckQsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BCLEtBQUssRUFBRSxFQUNQLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFDOUIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUMsNkJBQTZCO1lBRW5ELElBQUksR0FBaUQsQ0FBQztZQUV0RCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQzdCLEtBQUssRUFBRSxFQUNQLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ2pDLEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUN4QixJQUFJLFdBQVcsRUFBRTt3QkFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7cUJBQzdDO3lCQUFNO3dCQUNMLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3FCQUN0QjtnQkFDSCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQzdDLENBQ0YsQ0FDRixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsR0FBRyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNyQjtZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGO2FBQ0EsU0FBUyxDQUFDLENBQUMsTUFBd0MsRUFBRSxFQUFFO1lBQ3RELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25DO2lCQUFNLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxvQkFBb0I7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87YUFDakQsSUFBSSxDQUNILEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUNwRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUM5QixLQUFLLEVBQUUsRUFDUCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbkIseUhBQXlIO2dCQUN6SCx5R0FBeUc7Z0JBQ3pHLGtGQUFrRjtnQkFDbEYsa0pBQWtKO2dCQUNsSixNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUV4SSxJQUFJLFlBQWlDLENBQUM7Z0JBRXRDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDN0MsSUFBSSxtQkFBbUIsRUFBRTtvQkFDdkIsWUFBWSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzVGO3FCQUFNO29CQUNMLFlBQVksR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzFCO2dCQUVELElBQUksV0FBZ0MsQ0FBQztnQkFFckMsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxpQkFBaUIsQ0FBQztnQkFDM0UsSUFBSSxvQkFBb0IsRUFBRTtvQkFDeEIsV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3pGO3FCQUFNO29CQUNMLFdBQVcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3pCO2dCQUVELE9BQU8sYUFBYSxDQUFDLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNwRCxLQUFLLEVBQUUsRUFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ3BGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFO1lBQ3JELHFEQUFxRDtZQUVyRCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO1FBRUwseURBQXlEO1FBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ3RHLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQXFCLEVBQUUsRUFBRSxDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUMsRUFDbkYsb0JBQW9CLEVBQUUsQ0FDdkI7YUFDQSxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsS0FBUTtRQUNuQyxNQUFNLFlBQVksR0FBd0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0SCxNQUFNLFdBQVcsR0FBd0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuSCxPQUFPLGFBQWEsQ0FBQyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDcEQsS0FBSyxFQUFFLEVBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVE7UUFDM0IsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQXFCLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQzt3R0ExTFUsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7MEVBWUMsc0JBQXNCO3NCQURyQixLQUFLO2dCQU9OLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFPTixxQkFBcUI7c0JBRHBCLEtBQUs7Z0JBa0JGLHFCQUFxQjtzQkFEeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZFNlY29uZHMsIGlzUGFzdCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBjb21iaW5lTGF0ZXN0LCBleGhhdXN0TWFwLCBjYXRjaEVycm9yLCBkZWxheSwgZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLCBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgTG9ja1NldCwgSXNNb2RpZmllZEZ1bmN0aW9uLCBJc1ZhbGlkRnVuY3Rpb24sIE9ic2VydmFibGVPclZhbHVlLCBhc09ic2VydmFibGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEZvcm1TdGF0ZSwgRGJ4TXV0YWJsZUZvcm0gfSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0nO1xuaW1wb3J0IHsgTWFwRnVuY3Rpb24gfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGNvbnN0IEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVkgPSAnZGJ4X2FjdGlvbl9mb3JtJztcblxuZXhwb3J0IHR5cGUgRGJ4QWN0aW9uRm9ybU1hcFZhbHVlRnVuY3Rpb248VCwgTz4gPSBNYXBGdW5jdGlvbjxULCBPYnNlcnZhYmxlT3JWYWx1ZTxEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxPPj4+O1xuXG4vKipcbiAqIFVzZWQgd2l0aCBhbiBhY3Rpb24gdG8gYmluZCBhIGZvcm0gdG8gYW4gYWN0aW9uIGFzIGl0J3MgdmFsdWUgc291cmNlLlxuICpcbiAqIElmIHRoZSBmb3JtIGhhcyBlcnJvcnMgd2hlbiB0aGUgYWN0aW9uIGlzIHRyaWdnZXIsIGl0IHdpbGwgcmVqZWN0IHRoZSBhY3Rpb24uXG4gKlxuICogSWYgdGhlIHNvdXJjZSBpcyBub3QgY29uc2lkZXJlZCBtb2RpZmllZCwgdGhlIHRyaWdnZXIgd2lsbCBiZSBpZ25vcmVkLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uRm9ybV0nXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkZvcm1EaXJlY3RpdmU8VCA9IG9iamVjdCwgTyA9IFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBmb3JtID0gaW5qZWN0KERieE11dGFibGVGb3JtPFQ+LCB7IGhvc3Q6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxPLCB1bmtub3duPik7XG5cbiAgcmVhZG9ubHkgbG9ja1NldCA9IG5ldyBMb2NrU2V0KCk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHZhbGlkYXRvciB0aGF0IGNoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgdmFsdWUgaXNcbiAgICogcmVhZHkgdG8gc2VuZCBiZWZvcmUgdGhlIGNvbnRleHQgc3RvcmUgaXMgbWFya2VkIGVuYWJsZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBkYnhBY3Rpb25Gb3JtVmFsaWRhdG9yPzogSXNWYWxpZEZ1bmN0aW9uPFQ+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBmdW5jdGlvbiB0aGF0IGNoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgdmFsdWUgaGFzIGJlZW4gbW9kaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBkYnhBY3Rpb25Gb3JtTW9kaWZpZWQ/OiBJc01vZGlmaWVkRnVuY3Rpb248VD47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIHRoYXQgbWFwcyB0aGUgZm9ybSdzIHZhbHVlIHRvIHRoZSBzb3VyY2UncyB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRieEFjdGlvbkZvcm1NYXBWYWx1ZT86IERieEFjdGlvbkZvcm1NYXBWYWx1ZUZ1bmN0aW9uPFQsIE8+O1xuXG4gIHByaXZhdGUgX2Zvcm1EaXNhYmxlZFdoaWxlV29ya2luZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcHJpdmF0ZSBfdHJpZ2dlcmVkU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9pc0NvbXBsZXRlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9pc1dvcmtpbmdTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuZm9ybS5sb2NrU2V0KSB7XG4gICAgICB0aGlzLmxvY2tTZXQuYWRkQ2hpbGRMb2NrU2V0KHRoaXMuZm9ybS5sb2NrU2V0LCAnZm9ybScpO1xuICAgIH1cblxuICAgIHRoaXMubG9ja1NldC5hZGRDaGlsZExvY2tTZXQodGhpcy5zb3VyY2UubG9ja1NldCwgJ3NvdXJjZScpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGZvcm1EaXNhYmxlZE9uV29ya2luZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybURpc2FibGVkV2hpbGVXb3JraW5nLnZhbHVlO1xuICB9XG5cbiAgc2V0IGZvcm1EaXNhYmxlZE9uV29ya2luZyhmb3JtRGlzYWJsZWRPbldvcmtpbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmcubmV4dChCb29sZWFuKGZvcm1EaXNhYmxlZE9uV29ya2luZyA/PyB0cnVlKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBQYXNzIGRhdGEgZnJvbSB0aGUgZm9ybSB0byB0aGUgc291cmNlIHdoZW4gdHJpZ2dlcmVkLlxuICAgIHRoaXMuX3RyaWdnZXJlZFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnNvdXJjZS50cmlnZ2VyZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgdGhpcy5mb3JtLnN0cmVhbSQucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBleGhhdXN0TWFwKChzdHJlYW0pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyBpc0NvbXBsZXRlIH0gPSBzdHJlYW07XG4gICAgICAgICAgICAgIGNvbnN0IGRvTm90aGluZyA9IHt9OyAvLyBub3RoaW5nLCBmb3JtIG5vdCBjb21wbGV0ZVxuXG4gICAgICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8RGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJSZXN1bHQ8Tz4+O1xuXG4gICAgICAgICAgICAgIGlmIChpc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgb2JzID0gdGhpcy5mb3JtLmdldFZhbHVlKCkucGlwZShcbiAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICBleGhhdXN0TWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVDaGVja1JlYWR5VmFsdWUodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGNhbkNvbnRpbnVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FuQ29udGludWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlWYWx1ZSh2YWx1ZSkucGlwZShmaXJzdCgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihkb05vdGhpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZih7IHJlamVjdDogZXJyb3IgfSkpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG9icyA9IG9mKGRvTm90aGluZyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gb2JzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJSZXN1bHQ8Tz4pID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdC5yZWplY3QpIHtcbiAgICAgICAgICB0aGlzLnNvdXJjZS5yZWplY3QocmVzdWx0LnJlamVjdCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LnZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLnNvdXJjZS5yZWFkeVZhbHVlKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdmFsdWUgaXNuJ3QgcmVhZHlcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgdGhlIGVuYWJsZWQvZGlzYWJsZWQgc3RhdGVcbiAgICB0aGlzLl9pc0NvbXBsZXRlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybS5zdHJlYW0kXG4gICAgICAucGlwZShcbiAgICAgICAgZGVsYXkoMCksXG4gICAgICAgIGZpbHRlcigoeCkgPT4geC5zdGF0ZSAhPT0gRGJ4Rm9ybVN0YXRlLklOSVRJQUxJWklORyksXG4gICAgICAgIHN3aXRjaE1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmdldFZhbHVlKCkucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBleGhhdXN0TWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAvLyBVc2UgYm90aCBjaGFuZ2VzIGNvdW50IGFuZCB3aGV0aGVyIG9yIG5vdCBzb21ldGhpbmcgd2FzIGluIHRoZSBwYXN0IHRvIGd1YWdlIHdoZXRoZXIgb3Igbm90IHRoZSBpdGVtIGhhcyBiZWVuIHRvdWNoZWQuXG4gICAgICAgICAgICAgIC8vIEFuZ3VsYXIgRm9ybSdzIHVudG91Y2hlZCBpcyB3aGV0aGVyIG9yIG5vdCBmb2N1cyBoYXMgYmVlbiBsb3N0IGJ1dCB3ZSBjYW4gc3RpbGwgcmVjZWl2ZSB2YWx1ZSB1cGRhdGVzLlxuICAgICAgICAgICAgICAvLyBNb3JlIHRoYW4gYSBjZXJ0YWluIGFtb3VudCBvZiB1cGRhdGVzIGltcGxpZXMgdGhhdCBpdCBpcyBiZWluZyB0eXBlZCBpbnRvL3VzZWQuXG4gICAgICAgICAgICAgIC8vIDMgY2hhbmdlcyBhbmQgMiBzZWNvbmRzIGFyZSBhcmJpdHJhcnkgdmFsdWVzIGRlcml2ZWQgZnJvbSBndWVzc2VzIGFib3V0IGFueSBzbG93L2xhdGUgY2hhbmdlcyB0aGF0IG1heSBjb21lIGZyb20gZXh0ZXJuYWwgZGlyZWN0aXZlcyBmb3Igc2V0dXAuXG4gICAgICAgICAgICAgIGNvbnN0IGlzUHJvYmFibHlUb3VjaGVkID0gIWV2ZW50LnVudG91Y2hlZCB8fCAoKGV2ZW50LmNoYW5nZXNDb3VudCA/PyAwKSA+IDMgJiYgaXNQYXN0KGFkZFNlY29uZHMoZXZlbnQubGFzdFJlc2V0QXQgPz8gbmV3IERhdGUoKSwgMikpKTtcblxuICAgICAgICAgICAgICBsZXQgdmFsaWRhdG9yT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgICAgICAgICAgIGNvbnN0IGluaXRpYWxJc1ZhbGlkQ2hlY2sgPSBldmVudC5pc0NvbXBsZXRlO1xuICAgICAgICAgICAgICBpZiAoaW5pdGlhbElzVmFsaWRDaGVjaykge1xuICAgICAgICAgICAgICAgIHZhbGlkYXRvck9icyA9IHRoaXMuZGJ4QWN0aW9uRm9ybVZhbGlkYXRvciA/IHRoaXMuZGJ4QWN0aW9uRm9ybVZhbGlkYXRvcih2YWx1ZSkgOiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JPYnMgPSBvZihmYWxzZSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBsZXQgbW9kaWZpZWRPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAgICAgICAgICAgY29uc3QgaXNDb25zaWRlcmVkTW9kaWZpZWQgPSBldmVudC5wcmlzdGluZSA9PT0gZmFsc2UgJiYgaXNQcm9iYWJseVRvdWNoZWQ7XG4gICAgICAgICAgICAgIGlmIChpc0NvbnNpZGVyZWRNb2RpZmllZCkge1xuICAgICAgICAgICAgICAgIG1vZGlmaWVkT2JzID0gdGhpcy5kYnhBY3Rpb25Gb3JtTW9kaWZpZWQgPyB0aGlzLmRieEFjdGlvbkZvcm1Nb2RpZmllZCh2YWx1ZSkgOiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtb2RpZmllZE9icyA9IG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt2YWxpZGF0b3JPYnMsIG1vZGlmaWVkT2JzXSkucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIG1hcCgoW3ZhbGlkLCBtb2RpZmllZF06IFtib29sZWFuLCBib29sZWFuXSkgPT4gKHsgdmFsaWQsIG1vZGlmaWVkLCB2YWx1ZSwgZXZlbnQgfSkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IHZhbGlkLCBtb2RpZmllZCAvKiwgdmFsdWUsIGV2ZW50ICovIH0pID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3g6ICcsIHZhbHVlLCBldmVudCwgdmFsaWQsIG1vZGlmaWVkKTtcblxuICAgICAgICAvLyBVcGRhdGUgTW9kaWZpZWQgU3RhdGVcbiAgICAgICAgdGhpcy5zb3VyY2Uuc2V0SXNNb2RpZmllZChtb2RpZmllZCk7XG5cbiAgICAgICAgLy8gRGlzYWJsZSBpZiB0aGUgZm9ybSBpcyBub3QgeWV0IGNvbXBsZXRlL3ZhbGlkLlxuICAgICAgICB0aGlzLnNvdXJjZS5lbmFibGUoQVBQX0FDVElPTl9GT1JNX0RJU0FCTEVEX0tFWSwgdmFsaWQpO1xuICAgICAgfSk7XG5cbiAgICAvLyBXYXRjaCB0aGUgd29ya2luZyBzdGF0ZSBhbmQgZGlzYWJsZSBmb3JtIHdoaWxlIHdvcmtpbmdcbiAgICB0aGlzLl9pc1dvcmtpbmdTdWIuc3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbdGhpcy5zb3VyY2UuaXNXb3JraW5nJCwgdGhpcy5fZm9ybURpc2FibGVkV2hpbGVXb3JraW5nXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKFtpc1dvcmtpbmcsIGxvY2tPbldvcmtpbmddOiBbYm9vbGVhbiwgYm9vbGVhbl0pID0+IGxvY2tPbldvcmtpbmcgJiYgaXNXb3JraW5nKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZGlzYWJsZSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0uc2V0RGlzYWJsZWQoQVBQX0FDVElPTl9GT1JNX0RJU0FCTEVEX0tFWSwgZGlzYWJsZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlLmVuYWJsZShBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZKTtcbiAgICB0aGlzLmxvY2tTZXQuZGVzdHJveU9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICB0aGlzLl90cmlnZ2VyZWRTdWIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5faXNDb21wbGV0ZVN1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9pc1dvcmtpbmdTdWIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5fZm9ybURpc2FibGVkV2hpbGVXb3JraW5nLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLmZvcm0uc2V0RGlzYWJsZWQoQVBQX0FDVElPTl9GT1JNX0RJU0FCTEVEX0tFWSwgZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZUNoZWNrUmVhZHlWYWx1ZSh2YWx1ZTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHZhbGlkYXRvck9iczogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZGJ4QWN0aW9uRm9ybVZhbGlkYXRvciA/IHRoaXMuZGJ4QWN0aW9uRm9ybVZhbGlkYXRvcih2YWx1ZSkgOiBvZih0cnVlKTtcbiAgICBjb25zdCBtb2RpZmllZE9iczogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZGJ4QWN0aW9uRm9ybU1vZGlmaWVkID8gdGhpcy5kYnhBY3Rpb25Gb3JtTW9kaWZpZWQodmFsdWUpIDogb2YodHJ1ZSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdmFsaWRhdG9yT2JzLCBtb2RpZmllZE9ic10pLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgbWFwKChbdmFsaWQsIG1vZGlmaWVkXTogW2Jvb2xlYW4sIGJvb2xlYW5dKSA9PiB2YWxpZCAmJiBtb2RpZmllZClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWR5VmFsdWUodmFsdWU6IFQpOiBPYnNlcnZhYmxlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyUmVzdWx0PE8+PiB7XG4gICAgaWYgKHRoaXMuZGJ4QWN0aW9uRm9ybU1hcFZhbHVlKSB7XG4gICAgICByZXR1cm4gYXNPYnNlcnZhYmxlKHRoaXMuZGJ4QWN0aW9uRm9ybU1hcFZhbHVlKHZhbHVlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZih7IHZhbHVlOiB2YWx1ZSBhcyB1bmtub3duIGFzIE8gfSk7XG4gICAgfVxuICB9XG59XG4iXX0=