@mediusinc/mng-commons 5.0.0-rc.2 → 5.0.0-rc.3

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 (204) hide show
  1. package/core/data-providers/base-data-provider.factory.d.ts +13 -0
  2. package/core/data-providers/base.data-provider.d.ts +2 -14
  3. package/core/descriptors/editor.descriptor.d.ts +1 -1
  4. package/core/descriptors/tableview.descriptor.d.ts +5 -5
  5. package/core/directives/component.directive.d.ts +2 -2
  6. package/core/index.d.ts +1 -0
  7. package/core/security/permission.service.d.ts +1 -0
  8. package/core/services/commons-router.service.d.ts +3 -3
  9. package/core/services/commons.service.d.ts +31 -42
  10. package/core/services/tokens/module-config.token.d.ts +2 -2
  11. package/esm2022/core/components/notification/notification-wrapper.component.mjs +3 -3
  12. package/esm2022/core/components/pages/error/error.page.component.mjs +3 -3
  13. package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +3 -3
  14. package/esm2022/core/data-providers/base-data-provider.factory.mjs +28 -0
  15. package/esm2022/core/data-providers/base.data-provider.mjs +1 -31
  16. package/esm2022/core/descriptors/editor.descriptor.mjs +1 -1
  17. package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
  18. package/esm2022/core/directives/component.directive.mjs +10 -7
  19. package/esm2022/core/index.mjs +2 -1
  20. package/esm2022/core/security/permission.service.mjs +4 -2
  21. package/esm2022/core/services/commons-init.service.mjs +2 -2
  22. package/esm2022/core/services/commons-router.service.mjs +16 -15
  23. package/esm2022/core/services/commons.service.mjs +109 -166
  24. package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
  25. package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +4 -4
  26. package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +31 -0
  27. package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -31
  28. package/esm2022/form/api/index.mjs +2 -1
  29. package/esm2022/form/components/autocomplete/autocomplete.component.mjs +92 -83
  30. package/esm2022/form/components/dropdown/dropdown.component.mjs +145 -87
  31. package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +8 -0
  32. package/esm2022/model/descriptors/enum.descriptor.mjs +3 -6
  33. package/esm2022/model/descriptors/model.descriptor.mjs +22 -9
  34. package/esm2022/model/descriptors/type.descriptor.mjs +3 -9
  35. package/esm2022/model/index.mjs +3 -1
  36. package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +33 -0
  37. package/esm2022/table/api/data-providers/table.data-provider.mjs +1 -31
  38. package/esm2022/table/api/descriptors/sort.descriptor.mjs +2 -2
  39. package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +89 -0
  40. package/esm2022/table/api/descriptors/table.descriptor.mjs +4 -139
  41. package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +97 -0
  42. package/esm2022/table/api/index.mjs +4 -1
  43. package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +6 -7
  44. package/esm2022/table/components/column-value/column-value.component.mjs +2 -2
  45. package/esm2022/table/components/table/table.component.mjs +5 -5
  46. package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +2 -2
  47. package/esm2022/table/services/data-list.service.mjs +1 -1
  48. package/esm2022/tableview/action/components/action/action.component.mjs +140 -188
  49. package/esm2022/tableview/action/components/editor/action-editor.component.mjs +56 -66
  50. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +119 -141
  51. package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +21 -39
  52. package/esm2022/tableview/action/components/route/action-route.component.mjs +17 -23
  53. package/esm2022/tableview/action/components/table/action-table.component.mjs +1 -1
  54. package/esm2022/tableview/action/services/action-executor.service.mjs +9 -9
  55. package/esm2022/tableview/action/services/navigation.service.mjs +3 -2
  56. package/esm2022/tableview/action/services/view-container.service.mjs +5 -21
  57. package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +119 -0
  58. package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +77 -0
  59. package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +20 -80
  60. package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +45 -0
  61. package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -32
  62. package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +3 -69
  63. package/esm2022/tableview/api/action/models/action-component.model.mjs +1 -1
  64. package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +1 -1
  65. package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +33 -0
  66. package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +1 -31
  67. package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +81 -0
  68. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +7 -133
  69. package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +1 -1
  70. package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +13 -5
  71. package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +1 -1
  72. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +4 -4
  73. package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +3 -3
  74. package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +1 -1
  75. package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +1 -1
  76. package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +95 -0
  77. package/esm2022/tableview/api/editor/helpers/field-validators.mjs +7 -7
  78. package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
  79. package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +1 -1
  80. package/esm2022/tableview/api/editor/models/field-validation.model.mjs +2 -0
  81. package/esm2022/tableview/api/editor/models/field.model.mjs +1 -1
  82. package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
  83. package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +1 -1
  84. package/esm2022/tableview/api/editor/models/formly-field.model.mjs +1 -1
  85. package/esm2022/tableview/api/index.mjs +11 -1
  86. package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +47 -0
  87. package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +5 -46
  88. package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +111 -0
  89. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +15 -168
  90. package/esm2022/tableview/api/tableview/helpers/files-export.mjs +2 -2
  91. package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +5 -5
  92. package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +53 -18
  93. package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +110 -0
  94. package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +2 -2
  95. package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +16 -11
  96. package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +6 -2
  97. package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +10 -11
  98. package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +1 -1
  99. package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +4 -4
  100. package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +9 -11
  101. package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -4
  102. package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +16 -18
  103. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +20 -22
  104. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +18 -20
  105. package/esm2022/tableview/editor/helpers/editor-formly.mjs +27 -6
  106. package/esm2022/tableview/editor/services/form-editor.service.mjs +96 -0
  107. package/esm2022/tableview/index.mjs +2 -1
  108. package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -3
  109. package/fesm2022/mediusinc-mng-commons-core.mjs +155 -210
  110. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  111. package/fesm2022/mediusinc-mng-commons-filter.mjs +3 -3
  112. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  113. package/fesm2022/mediusinc-mng-commons-form-api.mjs +18 -18
  114. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  115. package/fesm2022/mediusinc-mng-commons-form.mjs +236 -169
  116. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  117. package/fesm2022/mediusinc-mng-commons-model.mjs +43 -33
  118. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
  119. package/fesm2022/mediusinc-mng-commons-table-api.mjs +192 -146
  120. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  121. package/fesm2022/mediusinc-mng-commons-table.mjs +11 -12
  122. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
  123. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +822 -590
  124. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  125. package/fesm2022/mediusinc-mng-commons-tableview.mjs +564 -571
  126. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  127. package/form/api/data-providers/lookup-data-provider.factory.d.ts +18 -0
  128. package/form/api/data-providers/lookup.data-provider.d.ts +2 -14
  129. package/form/api/index.d.ts +1 -0
  130. package/form/components/autocomplete/autocomplete.component.d.ts +31 -23
  131. package/form/components/dropdown/dropdown.component.d.ts +38 -25
  132. package/model/data-providers/base-from-type-data-provider.factory.d.ts +8 -0
  133. package/model/descriptors/enum.descriptor.d.ts +1 -2
  134. package/model/descriptors/model.descriptor.d.ts +11 -4
  135. package/model/descriptors/type.descriptor.d.ts +2 -4
  136. package/model/index.d.ts +1 -0
  137. package/package.json +1 -1
  138. package/table/api/data-providers/table-data-provider.factory.d.ts +18 -0
  139. package/table/api/data-providers/table.data-provider.d.ts +2 -14
  140. package/table/api/descriptors/table-descriptor.factory.d.ts +44 -0
  141. package/table/api/descriptors/table.descriptor.d.ts +4 -65
  142. package/table/api/helpers/table-descriptor-helpers.d.ts +44 -0
  143. package/table/api/index.d.ts +3 -0
  144. package/table/components/column-filter-full/column-filter-full.component.d.ts +5 -4
  145. package/table/components/table/table.component.d.ts +11 -11
  146. package/table/services/data-list.service.d.ts +9 -10
  147. package/tableview/action/components/action/action.component.d.ts +37 -44
  148. package/tableview/action/components/editor/action-editor.component.d.ts +20 -18
  149. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +23 -23
  150. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +11 -14
  151. package/tableview/action/components/route/action-route.component.d.ts +6 -11
  152. package/tableview/action/components/table/action-table.component.d.ts +3 -3
  153. package/tableview/action/services/view-container.service.d.ts +3 -9
  154. package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +36 -0
  155. package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +31 -0
  156. package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +17 -37
  157. package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +15 -0
  158. package/tableview/api/action/descriptors/action-link.descriptor.d.ts +1 -9
  159. package/tableview/api/action/descriptors/action.descriptor.d.ts +4 -27
  160. package/tableview/api/action/models/action-component.model.d.ts +8 -8
  161. package/tableview/api/action/models/execution/view-container.model.d.ts +4 -3
  162. package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +18 -0
  163. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +2 -14
  164. package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +44 -0
  165. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +34 -90
  166. package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +3 -3
  167. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +15 -13
  168. package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +7 -6
  169. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -2
  170. package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +8 -8
  171. package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +6 -6
  172. package/tableview/api/editor/descriptors/field.descriptor.d.ts +1 -1
  173. package/tableview/api/editor/helpers/editor-descriptor-helpers.d.ts +43 -0
  174. package/tableview/api/editor/helpers/field-validators.d.ts +1 -1
  175. package/tableview/api/editor/models/editor-fields.model.d.ts +24 -22
  176. package/tableview/api/editor/models/field-action-context.model.d.ts +10 -8
  177. package/tableview/api/editor/models/field-validation.model.d.ts +26 -0
  178. package/tableview/api/editor/models/field.model.d.ts +0 -19
  179. package/tableview/api/editor/models/form-editor.event.d.ts +24 -16
  180. package/tableview/api/editor/models/form-editor.interface.d.ts +2 -1
  181. package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
  182. package/tableview/api/editor/models/formly-field.model.d.ts +4 -4
  183. package/tableview/api/index.d.ts +10 -0
  184. package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +25 -0
  185. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +3 -20
  186. package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +49 -0
  187. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +40 -100
  188. package/tableview/api/tableview/helpers/tableview-create.d.ts +2 -2
  189. package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +4 -2
  190. package/tableview/api/tableview/helpers/tableview-descriptor-helpers.d.ts +42 -0
  191. package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +1 -1
  192. package/tableview/editor/components/editor/form-editor.component.d.ts +6 -4
  193. package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +5 -3
  194. package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +1 -0
  195. package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +1 -1
  196. package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -1
  197. package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +3 -4
  198. package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +3 -4
  199. package/tableview/editor/helpers/editor-formly.d.ts +1 -1
  200. package/tableview/editor/services/form-editor.service.d.ts +39 -0
  201. package/tableview/index.d.ts +1 -0
  202. package/tableview/tableview/components/route/tableview-route.component.d.ts +1 -1
  203. package/tableview/tableview/components/tableview/tableview.component.d.ts +1 -1
  204. package/version-info.json +4 -4
@@ -1,8 +1,11 @@
1
1
  // action descriptors
2
2
  export * from './action/descriptors/action.descriptor';
3
3
  export * from './action/descriptors/action-confirmation.descriptor';
4
+ export * from './action/descriptors/action-descriptor.factory';
4
5
  export * from './action/descriptors/action-editor.descriptor';
6
+ export * from './action/descriptors/action-editor-descriptor.factory';
5
7
  export * from './action/descriptors/action-link.descriptor';
8
+ export * from './action/descriptors/action-link-descriptor.factory';
6
9
  // action helpers
7
10
  export * from './action/helpers/data-provider-executors';
8
11
  // action model execution
@@ -24,8 +27,10 @@ export * from './action/services/tokens/data-language-dropdown.token';
24
27
  export * from './action/services/data-provider-executor.service';
25
28
  // editor data providers
26
29
  export * from './editor/data-providers/editor.data-provider';
30
+ export * from './editor/data-providers/editor-data-provider.factory';
27
31
  // editor descriptors
28
32
  export * from './editor/descriptors/editor.descriptor';
33
+ export * from './editor/descriptors/editor-descriptor.factory';
29
34
  export * from './editor/descriptors/field.descriptor';
30
35
  export * from './editor/descriptors/field-action.descriptor';
31
36
  export * from './editor/descriptors/field-base.descriptor';
@@ -35,6 +40,7 @@ export * from './editor/descriptors/field-many.descriptor';
35
40
  export * from './editor/descriptors/field-validation.descriptor';
36
41
  // editor helpers
37
42
  export * from './editor/helpers/class-attribute-converter';
43
+ export * from './editor/helpers/editor-descriptor-helpers';
38
44
  export * from './editor/helpers/field-validators';
39
45
  // editor models
40
46
  export * from './editor/models/class-tableview-attribute.model';
@@ -42,6 +48,7 @@ export * from './editor/models/editor.model';
42
48
  export * from './editor/models/editor-fields.model';
43
49
  export * from './editor/models/field.model';
44
50
  export * from './editor/models/field-action-context.model';
51
+ export * from './editor/models/field-validation.model';
45
52
  export * from './editor/models/form-editor.event';
46
53
  export * from './editor/models/form-editor.interface';
47
54
  export * from './editor/models/formly-custom-field.model';
@@ -49,16 +56,19 @@ export * from './editor/models/formly-field.model';
49
56
  export * from './editor/models/radio.model';
50
57
  // tableview data providers
51
58
  export * from './tableview/data-providers/tableview.data-provider';
59
+ export * from './tableview/data-providers/tableview-data-provider.factory';
52
60
  // tableview descriptors
53
61
  export * from './tableview/descriptors/tableview.descriptor';
62
+ export * from './tableview/descriptors/tableview-descriptor.factory';
54
63
  // tableview helpers
55
64
  export * from './tableview/helpers/class-attribute-converter';
56
65
  export * from './tableview/helpers/files-export';
57
66
  export * from './tableview/helpers/tableview-create';
58
67
  export * from './tableview/helpers/tableview-default-actions';
68
+ export * from './tableview/helpers/tableview-descriptor-helpers';
59
69
  export * from './tableview/helpers/tableview-input-builder';
60
70
  // tableview models
61
71
  export * from './tableview/models/class-tableview-attribute.model';
62
72
  export * from './tableview/models/tableview-input.model';
63
73
  export * from './tableview/models/tableview-route.model';
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUI7QUFDckIsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RCxpQkFBaUI7QUFDakIsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCx5QkFBeUI7QUFDekIsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsZUFBZTtBQUNmLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJEQUEyRCxDQUFDO0FBRTFFLGtCQUFrQjtBQUNsQixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsa0RBQWtELENBQUM7QUFFakUsd0JBQXdCO0FBQ3hCLGNBQWMsOENBQThDLENBQUM7QUFFN0QscUJBQXFCO0FBQ3JCLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrREFBa0QsQ0FBQztBQUVqRSxpQkFBaUI7QUFDakIsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGdCQUFnQjtBQUNoQixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLDJCQUEyQjtBQUMzQixjQUFjLG9EQUFvRCxDQUFDO0FBRW5FLHdCQUF3QjtBQUN4QixjQUFjLDhDQUE4QyxDQUFDO0FBRTdELG9CQUFvQjtBQUNwQixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsbUJBQW1CO0FBQ25CLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYWN0aW9uIGRlc2NyaXB0b3JzXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9kZXNjcmlwdG9ycy9hY3Rpb24uZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9kZXNjcmlwdG9ycy9hY3Rpb24tY29uZmlybWF0aW9uLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vZGVzY3JpcHRvcnMvYWN0aW9uLWVkaXRvci5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi1saW5rLmRlc2NyaXB0b3InO1xuXG4vLyBhY3Rpb24gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vaGVscGVycy9kYXRhLXByb3ZpZGVyLWV4ZWN1dG9ycyc7XG5cbi8vIGFjdGlvbiBtb2RlbCBleGVjdXRpb25cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWNvbnRleHQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2V4ZWN1dGlvbi9hY3Rpb24tY29udGV4dC12YWxpZGF0aW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWV4ZWN1dGlvbi1lcnJvci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1pbnN0YW5jZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1pbnN0YW5jZS1zdGF0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvZXhlY3V0aW9uL3ZpZXctY29udGFpbmVyLm1vZGVsJztcblxuLy8gYWN0aW9uIG1vZGVsXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvYWN0aW9uLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2FjdGlvbi1jb21wb25lbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2FjdGlvbi1kZXNjcmlwdG9yLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9hY3Rpb24tZWRpdG9yLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9hY3Rpb24tZXJyb3IubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL3RhYmxldmlldy1hY3Rpb24tZGVmYXVsdC1jYXRlZ29yaWVzLm1vZGVsJztcblxuLy8gYWN0aW9uIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy90b2tlbnMvZGF0YS1sYW5ndWFnZS1kcm9wZG93bi50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy9kYXRhLXByb3ZpZGVyLWV4ZWN1dG9yLnNlcnZpY2UnO1xuXG4vLyBlZGl0b3IgZGF0YSBwcm92aWRlcnNcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2RhdGEtcHJvdmlkZXJzL2VkaXRvci5kYXRhLXByb3ZpZGVyJztcblxuLy8gZWRpdG9yIGRlc2NyaXB0b3JzXG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9kZXNjcmlwdG9ycy9lZGl0b3IuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLWFjdGlvbi5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLWJhc2UuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC1ncm91cC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLWxvb2t1cC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLW1hbnkuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC12YWxpZGF0aW9uLmRlc2NyaXB0b3InO1xuXG4vLyBlZGl0b3IgaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvaGVscGVycy9jbGFzcy1hdHRyaWJ1dGUtY29udmVydGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2hlbHBlcnMvZmllbGQtdmFsaWRhdG9ycyc7XG5cbi8vIGVkaXRvciBtb2RlbHNcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9jbGFzcy10YWJsZXZpZXctYXR0cmlidXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9lZGl0b3IubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2VkaXRvci1maWVsZHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2ZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9maWVsZC1hY3Rpb24tY29udGV4dC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvZm9ybS1lZGl0b3IuZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2Zvcm0tZWRpdG9yLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvZm9ybWx5LWN1c3RvbS1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvZm9ybWx5LWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9yYWRpby5tb2RlbCc7XG5cbi8vIHRhYmxldmlldyBkYXRhIHByb3ZpZGVyc1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvZGF0YS1wcm92aWRlcnMvdGFibGV2aWV3LmRhdGEtcHJvdmlkZXInO1xuXG4vLyB0YWJsZXZpZXcgZGVzY3JpcHRvcnNcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2Rlc2NyaXB0b3JzL3RhYmxldmlldy5kZXNjcmlwdG9yJztcblxuLy8gdGFibGV2aWV3IGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2hlbHBlcnMvY2xhc3MtYXR0cmlidXRlLWNvbnZlcnRlcic7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9oZWxwZXJzL2ZpbGVzLWV4cG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9oZWxwZXJzL3RhYmxldmlldy1jcmVhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvaGVscGVycy90YWJsZXZpZXctZGVmYXVsdC1hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2hlbHBlcnMvdGFibGV2aWV3LWlucHV0LWJ1aWxkZXInO1xuXG4vLyB0YWJsZXZpZXcgbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9tb2RlbHMvY2xhc3MtdGFibGV2aWV3LWF0dHJpYnV0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9tb2RlbHMvdGFibGV2aWV3LWlucHV0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L21vZGVscy90YWJsZXZpZXctcm91dGUubW9kZWwnO1xuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUI7QUFDckIsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxxREFBcUQsQ0FBQztBQUVwRSxpQkFBaUI7QUFDakIsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCx5QkFBeUI7QUFDekIsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsZUFBZTtBQUNmLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJEQUEyRCxDQUFDO0FBRTFFLGtCQUFrQjtBQUNsQixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsa0RBQWtELENBQUM7QUFFakUsd0JBQXdCO0FBQ3hCLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxzREFBc0QsQ0FBQztBQUVyRSxxQkFBcUI7QUFDckIsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsa0RBQWtELENBQUM7QUFFakUsaUJBQWlCO0FBQ2pCLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGdCQUFnQjtBQUNoQixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsMkJBQTJCO0FBQzNCLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0REFBNEQsQ0FBQztBQUUzRSx3QkFBd0I7QUFDeEIsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLG9CQUFvQjtBQUNwQixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RCxtQkFBbUI7QUFDbkIsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhY3Rpb24gZGVzY3JpcHRvcnNcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi1jb25maXJtYXRpb24uZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9kZXNjcmlwdG9ycy9hY3Rpb24tZGVzY3JpcHRvci5mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi1lZGl0b3IuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9kZXNjcmlwdG9ycy9hY3Rpb24tZWRpdG9yLWRlc2NyaXB0b3IuZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9kZXNjcmlwdG9ycy9hY3Rpb24tbGluay5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi1saW5rLWRlc2NyaXB0b3IuZmFjdG9yeSc7XG5cbi8vIGFjdGlvbiBoZWxwZXJzXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9oZWxwZXJzL2RhdGEtcHJvdmlkZXItZXhlY3V0b3JzJztcblxuLy8gYWN0aW9uIG1vZGVsIGV4ZWN1dGlvblxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2V4ZWN1dGlvbi9hY3Rpb24tY29udGV4dC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1jb250ZXh0LXZhbGlkYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2V4ZWN1dGlvbi9hY3Rpb24tZXhlY3V0aW9uLWVycm9yLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLXN0YXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9leGVjdXRpb24vdmlldy1jb250YWluZXIubW9kZWwnO1xuXG4vLyBhY3Rpb24gbW9kZWxcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9hY3Rpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvYWN0aW9uLWNvbXBvbmVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvYWN0aW9uLWRlc2NyaXB0b3IudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2FjdGlvbi1lZGl0b3IubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2FjdGlvbi1lcnJvci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvdGFibGV2aWV3LWFjdGlvbi1kZWZhdWx0LWNhdGVnb3JpZXMubW9kZWwnO1xuXG4vLyBhY3Rpb24gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL3NlcnZpY2VzL3Rva2Vucy9kYXRhLWxhbmd1YWdlLWRyb3Bkb3duLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL3NlcnZpY2VzL2RhdGEtcHJvdmlkZXItZXhlY3V0b3Iuc2VydmljZSc7XG5cbi8vIGVkaXRvciBkYXRhIHByb3ZpZGVyc1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvZGF0YS1wcm92aWRlcnMvZWRpdG9yLmRhdGEtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvZGF0YS1wcm92aWRlcnMvZWRpdG9yLWRhdGEtcHJvdmlkZXIuZmFjdG9yeSc7XG5cbi8vIGVkaXRvciBkZXNjcmlwdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvZGVzY3JpcHRvcnMvZWRpdG9yLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvZGVzY3JpcHRvcnMvZWRpdG9yLWRlc2NyaXB0b3IuZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLWFjdGlvbi5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLWJhc2UuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC1ncm91cC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLWxvb2t1cC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLW1hbnkuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC12YWxpZGF0aW9uLmRlc2NyaXB0b3InO1xuXG4vLyBlZGl0b3IgaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvaGVscGVycy9jbGFzcy1hdHRyaWJ1dGUtY29udmVydGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2hlbHBlcnMvZWRpdG9yLWRlc2NyaXB0b3ItaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9oZWxwZXJzL2ZpZWxkLXZhbGlkYXRvcnMnO1xuXG4vLyBlZGl0b3IgbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvY2xhc3MtdGFibGV2aWV3LWF0dHJpYnV0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvZWRpdG9yLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9lZGl0b3ItZmllbGRzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvZmllbGQtYWN0aW9uLWNvbnRleHQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2ZpZWxkLXZhbGlkYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2Zvcm0tZWRpdG9yLmV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9mb3JtLWVkaXRvci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2Zvcm1seS1jdXN0b20tZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2Zvcm1seS1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvcmFkaW8ubW9kZWwnO1xuXG4vLyB0YWJsZXZpZXcgZGF0YSBwcm92aWRlcnNcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2RhdGEtcHJvdmlkZXJzL3RhYmxldmlldy5kYXRhLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2RhdGEtcHJvdmlkZXJzL3RhYmxldmlldy1kYXRhLXByb3ZpZGVyLmZhY3RvcnknO1xuXG4vLyB0YWJsZXZpZXcgZGVzY3JpcHRvcnNcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2Rlc2NyaXB0b3JzL3RhYmxldmlldy5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2Rlc2NyaXB0b3JzL3RhYmxldmlldy1kZXNjcmlwdG9yLmZhY3RvcnknO1xuXG4vLyB0YWJsZXZpZXcgaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvaGVscGVycy9jbGFzcy1hdHRyaWJ1dGUtY29udmVydGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2hlbHBlcnMvZmlsZXMtZXhwb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2hlbHBlcnMvdGFibGV2aWV3LWNyZWF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9oZWxwZXJzL3RhYmxldmlldy1kZWZhdWx0LWFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvaGVscGVycy90YWJsZXZpZXctZGVzY3JpcHRvci1oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L2hlbHBlcnMvdGFibGV2aWV3LWlucHV0LWJ1aWxkZXInO1xuXG4vLyB0YWJsZXZpZXcgbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9tb2RlbHMvY2xhc3MtdGFibGV2aWV3LWF0dHJpYnV0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9tb2RlbHMvdGFibGV2aWV3LWlucHV0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L21vZGVscy90YWJsZXZpZXctcm91dGUubW9kZWwnO1xuIl19
@@ -0,0 +1,47 @@
1
+ import { DynamicTableviewDataProviderInst, TableviewDataProviderInst } from './tableview.data-provider';
2
+ export class TableviewDataProvider extends TableviewDataProviderInst {
3
+ constructor() {
4
+ super(undefined, undefined);
5
+ }
6
+ static create() {
7
+ return tableviewDataProvider();
8
+ }
9
+ static fromClass(type) {
10
+ return tableviewDataProviderFromClass(type);
11
+ }
12
+ static fromClassWithService(type, serviceType) {
13
+ return tableviewDataProviderFromClass(type, serviceType);
14
+ }
15
+ static fromService(serviceType) {
16
+ return tableviewDataProviderWithService(serviceType);
17
+ }
18
+ }
19
+ export function tableviewDataProvider(type, serviceType) {
20
+ return new TableviewDataProviderInst(undefined, serviceType);
21
+ }
22
+ export function tableviewDataProviderWithService(serviceType) {
23
+ return new TableviewDataProviderInst(undefined, serviceType);
24
+ }
25
+ export function tableviewDataProviderFromClass(type, serviceType) {
26
+ return new TableviewDataProviderInst(type, serviceType);
27
+ }
28
+ export function tableviewDataProviderFromModel(model, serviceType) {
29
+ return typeof serviceType !== 'undefined'
30
+ ? new TableviewDataProviderInst(model.type, serviceType)
31
+ : new TableviewDataProviderInst(model.type, undefined);
32
+ }
33
+ export class DynamicTableviewDataProvider extends DynamicTableviewDataProviderInst {
34
+ constructor() {
35
+ super(undefined);
36
+ }
37
+ static create() {
38
+ return tableviewDynamicDataProvider();
39
+ }
40
+ static fromService(serviceType) {
41
+ return tableviewDynamicDataProvider(serviceType);
42
+ }
43
+ }
44
+ export function tableviewDynamicDataProvider(serviceType) {
45
+ return new DynamicTableviewDataProviderInst(serviceType);
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWRhdGEtcHJvdmlkZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9hcGkvc3JjL3RhYmxldmlldy9kYXRhLXByb3ZpZGVycy90YWJsZXZpZXctZGF0YS1wcm92aWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXRHLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBOEI7SUFDckU7UUFDSSxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTTtRQUNoQixPQUFPLHFCQUFxQixFQUF5QixDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUNuQixJQUFzQjtRQUV0QixPQUFPLDhCQUE4QixDQUF3QixJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUM5QixJQUFzQixFQUN0QixXQUFzQztRQUV0QyxPQUFPLDhCQUE4QixDQUFpQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3JCLFdBQXNDO1FBRXRDLE9BQU8sZ0NBQWdDLENBQWlDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Q0FDSjtBQWlCRCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLElBQTRCLEVBQzVCLFdBQTBCO0lBRTFCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBMEQsU0FBUyxFQUFFLFdBQTJCLENBQUMsQ0FBQztBQUMxSSxDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUM1QyxXQUFzQztJQUV0QyxPQUFPLElBQUkseUJBQXlCLENBQXVFLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUN2SSxDQUFDO0FBU0QsTUFBTSxVQUFVLDhCQUE4QixDQUMxQyxJQUFzQixFQUN0QixXQUEwQjtJQUUxQixPQUFPLElBQUkseUJBQXlCLENBQWlFLElBQUksRUFBRSxXQUEyQixDQUFDLENBQUM7QUFDNUksQ0FBQztBQVNELE1BQU0sVUFBVSw4QkFBOEIsQ0FPNUMsS0FBeUMsRUFBRSxXQUEwQjtJQUNuRSxPQUFPLE9BQU8sV0FBVyxLQUFLLFdBQVc7UUFDckMsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQ3pCLEtBQUssQ0FBQyxJQUF3QixFQUM5QixXQUF3QyxDQUMzQztRQUNILENBQUMsQ0FBQyxJQUFJLHlCQUF5QixDQUFnRSxLQUFLLENBQUMsSUFBd0IsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNsSixDQUFDO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGdDQUFnQztJQUM5RTtRQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU07UUFDaEIsT0FBTyw0QkFBNEIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFVLFdBQXNDO1FBQ3JFLE9BQU8sNEJBQTRCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNKO0FBSUQsTUFBTSxVQUFVLDRCQUE0QixDQUN4QyxXQUEwQjtJQUUxQixPQUFPLElBQUksZ0NBQWdDLENBQXdCLFdBQTJCLENBQUMsQ0FBQztBQUNwRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc1R5cGUsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge01vZGVsRGVzY3JpcHRvciwgVHlwZURlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG5pbXBvcnQge0R5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0LCBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICcuL3RhYmxldmlldy5kYXRhLXByb3ZpZGVyJztcblxuZXhwb3J0IGNsYXNzIFRhYmxldmlld0RhdGFQcm92aWRlciBleHRlbmRzIFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8YW55PiB7XG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGU8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0RhdGFQcm92aWRlcjxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tQ2xhc3M8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD5cbiAgICApOiBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0RhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KHR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUNsYXNzV2l0aFNlcnZpY2U8TW9kZWwsIFNlcnZpY2UsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0RhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KHR5cGUsIHNlcnZpY2VUeXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21TZXJ2aWNlPFNlcnZpY2UsIE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuICAgICk6IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0RhdGFQcm92aWRlcldpdGhTZXJ2aWNlPFNlcnZpY2UsIE1vZGVsLCBTb3J0cywgRmlsdGVycz4oc2VydmljZVR5cGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld0RhdGFQcm92aWRlcjxNb2RlbCwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPigpOiBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PFxuICAgIE1vZGVsLFxuICAgIHVuZGVmaW5lZCxcbiAgICBTb3J0cyxcbiAgICBGaWx0ZXJzLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWRcbj47XG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGF0YVByb3ZpZGVyPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgIHR5cGU6IFR5cGVEZXNjcmlwdG9yPE1vZGVsPlxuKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld0RhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZSA9IGFueSwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPihcbiAgICB0eXBlOiBUeXBlRGVzY3JpcHRvcjxNb2RlbD4sXG4gICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld0RhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZSA9IGFueSwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsLCBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PihcbiAgICB0eXBlPzogVHlwZURlc2NyaXB0b3I8TW9kZWw+LFxuICAgIHNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzXG4pIHtcbiAgICByZXR1cm4gbmV3IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzcz4odW5kZWZpbmVkLCBzZXJ2aWNlVHlwZSBhcyBTZXJ2aWNlQ2xhc3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGF0YVByb3ZpZGVyV2l0aFNlcnZpY2U8U2VydmljZSwgTW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICByZXR1cm4gbmV3IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KHVuZGVmaW5lZCwgc2VydmljZVR5cGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD5cbik6IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PjtcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdEYXRhUHJvdmlkZXJGcm9tQ2xhc3M8TW9kZWwsIFNlcnZpY2UgPSBhbnksIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4oXG4gICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICBzZXJ2aWNlVHlwZT86IFNlcnZpY2VDbGFzc1xuKSB7XG4gICAgcmV0dXJuIG5ldyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzPih0eXBlLCBzZXJ2aWNlVHlwZSBhcyBTZXJ2aWNlQ2xhc3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGF0YVByb3ZpZGVyRnJvbU1vZGVsPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIE1vZGVsQ2xhc3MgPSBDbGFzc1R5cGU8TW9kZWw+PihcbiAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsLCBNb2RlbENsYXNzPlxuKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBTb3J0cywgRmlsdGVycywgTW9kZWxDbGFzcywgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdEYXRhUHJvdmlkZXJGcm9tTW9kZWw8TW9kZWwsIFNlcnZpY2UgPSBhbnksIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCwgTW9kZWxDbGFzcyA9IENsYXNzVHlwZTxNb2RlbD4+KFxuICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8TW9kZWwsIE1vZGVsQ2xhc3M+LFxuICAgIFNlcnZpY2VDbGFzczogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld0RhdGFQcm92aWRlckZyb21Nb2RlbDxcbiAgICBNb2RlbCxcbiAgICBTZXJ2aWNlID0gYW55LFxuICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsLFxuICAgIE1vZGVsQ2xhc3MgPSBDbGFzc1R5cGU8TW9kZWw+LFxuICAgIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbj4obW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxNb2RlbCwgTW9kZWxDbGFzcz4sIHNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBzZXJ2aWNlVHlwZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgPyBuZXcgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgICAgICAgICAgICBtb2RlbC50eXBlIGFzIENsYXNzVHlwZTxNb2RlbD4sXG4gICAgICAgICAgICAgIHNlcnZpY2VUeXBlIGFzIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbiAgICAgICAgICApXG4gICAgICAgIDogbmV3IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIHVuZGVmaW5lZD4obW9kZWwudHlwZSBhcyBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQpO1xufVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxldmlld0RhdGFQcm92aWRlciBleHRlbmRzIER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGUoKTogRHluYW1pY1RhYmxldmlld0RhdGFQcm92aWRlckluc3Q8dW5kZWZpbmVkLCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0R5bmFtaWNEYXRhUHJvdmlkZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21TZXJ2aWNlPFNlcnZpY2U+KHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+KTogRHluYW1pY1RhYmxldmlld0RhdGFQcm92aWRlckluc3Q8U2VydmljZSwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4ge1xuICAgICAgICByZXR1cm4gdGFibGV2aWV3RHluYW1pY0RhdGFQcm92aWRlcihzZXJ2aWNlVHlwZSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RHluYW1pY0RhdGFQcm92aWRlcigpOiBEeW5hbWljVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDx1bmRlZmluZWQsIHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RHluYW1pY0RhdGFQcm92aWRlcjxTZXJ2aWNlPihzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPik6IER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PFNlcnZpY2UsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld0R5bmFtaWNEYXRhUHJvdmlkZXI8U2VydmljZSwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4oXG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3Ncbik6IER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PFNlcnZpY2UsIFNlcnZpY2VDbGFzcz4ge1xuICAgIHJldHVybiBuZXcgRHluYW1pY1RhYmxldmlld0RhdGFQcm92aWRlckluc3Q8U2VydmljZSwgU2VydmljZUNsYXNzPihzZXJ2aWNlVHlwZSBhcyBTZXJ2aWNlQ2xhc3MpO1xufVxuIl19
@@ -1,11 +1,11 @@
1
1
  import { DataProviderInst } from '@mediusinc/mng-commons/core';
2
- import { TableDataProvider } from '@mediusinc/mng-commons/table/api';
3
- import { EditorDataProvider } from '../../editor/data-providers/editor.data-provider';
2
+ import { TableDataProviderInst } from '@mediusinc/mng-commons/table/api';
3
+ import { EditorDataProviderInst } from '../../editor/data-providers/editor.data-provider';
4
4
  export class TableviewDataProviderInst extends DataProviderInst {
5
5
  constructor(type, serviceType) {
6
6
  super(type, serviceType);
7
- this.editorDataProvider = EditorDataProvider.fromAnyParam(type, serviceType);
8
- this.tableDataProvider = TableDataProvider.fromAnyParam(type, serviceType);
7
+ this.editorDataProvider = new EditorDataProviderInst(type, serviceType);
8
+ this.tableDataProvider = new TableDataProviderInst(type, serviceType);
9
9
  }
10
10
  get isLazy() {
11
11
  return this.tableDataProvider.isLazy;
@@ -56,50 +56,9 @@ export class TableviewDataProviderInst extends DataProviderInst {
56
56
  return this;
57
57
  }
58
58
  }
59
- export class TableviewDataProvider extends TableviewDataProviderInst {
60
- constructor() {
61
- super(undefined, undefined);
62
- }
63
- static create() {
64
- return new TableviewDataProviderInst(undefined, undefined);
65
- }
66
- static fromClass(type) {
67
- return new TableviewDataProviderInst(type, undefined);
68
- }
69
- static fromClassWithService(type, serviceType) {
70
- return new TableviewDataProviderInst(type, serviceType);
71
- }
72
- static fromService(serviceType) {
73
- return new TableviewDataProviderInst(undefined, serviceType);
74
- }
75
- static fromAnyParam(type, serviceType) {
76
- if (typeof type !== 'undefined') {
77
- return typeof serviceType !== 'undefined'
78
- ? TableviewDataProvider.fromClassWithService(type, serviceType)
79
- : TableviewDataProvider.fromClass(type);
80
- }
81
- else if (typeof serviceType !== 'undefined') {
82
- return TableviewDataProvider.fromService(serviceType);
83
- }
84
- else {
85
- return TableviewDataProvider.create();
86
- }
87
- }
88
- }
89
59
  export class DynamicTableviewDataProviderInst extends TableviewDataProviderInst {
90
60
  constructor(serviceType) {
91
61
  super(undefined, serviceType);
92
62
  }
93
63
  }
94
- export class DynamicTableviewDataProvider extends DynamicTableviewDataProviderInst {
95
- constructor() {
96
- super(undefined);
97
- }
98
- static create() {
99
- return new DynamicTableviewDataProviderInst(undefined);
100
- }
101
- static fromService(serviceType) {
102
- return new DynamicTableviewDataProviderInst(serviceType);
103
- }
104
- }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LmRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy90YWJsZXZpZXcvZGF0YS1wcm92aWRlcnMvdGFibGV2aWV3LmRhdGEtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxnQkFBZ0IsRUFBd0MsTUFBTSw2QkFBNkIsQ0FBQztBQUM3SSxPQUFPLEVBQXFCLGlCQUFpQixFQUEyRixNQUFNLGtDQUFrQyxDQUFDO0FBRWpMLE9BQU8sRUFDSCxrQkFBa0IsRUFPckIsTUFBTSxrREFBa0QsQ0FBQztBQVcxRCxNQUFNLE9BQU8seUJBUVQsU0FBUSxnQkFBMEQ7SUFNbEUsWUFBc0IsSUFBZ0IsRUFBRSxXQUF5QjtRQUM3RCxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQTJDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN2SCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUEyRCxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekksQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENB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Q0FDSjtBQUVELE1BQU0sT0FBTyxnQ0FBNkYsU0FBUSx5QkFPakg7SUFDRyxZQUFzQixXQUF5QjtRQUMzQyxLQUFLLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQ0FBZ0M7SUFDOUU7UUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBWSxTQUFTLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBVSxXQUFzQztRQUNyRSxPQUFPLElBQUksZ0NBQWdDLENBQXFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NPcHRUeXBlLCBDbGFzc1R5cGUsIERhdGFMaXN0UGFyYW1zLCBEYXRhUHJvdmlkZXJJbnN0LCBTZXJ2aWNlQ2xhc3NPcHRUeXBlLCBTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtJVGFibGVEYXRhUHJvdmlkZXIsIFRhYmxlRGF0YVByb3ZpZGVyLCBUYWJsZURhdGFQcm92aWRlckdldEFsbEVhZ2VyRm5UeXBlLCBUYWJsZURhdGFQcm92aWRlckdldEFsbEZuVHlwZSwgVGFibGVEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlL2FwaSc7XG5cbmltcG9ydCB7XG4gICAgRWRpdG9yRGF0YVByb3ZpZGVyLFxuICAgIEVkaXRvckRhdGFQcm92aWRlckNyZWF0ZUZuVHlwZSxcbiAgICBFZGl0b3JEYXRhUHJvdmlkZXJEZWxldGVGblR5cGUsXG4gICAgRWRpdG9yRGF0YVByb3ZpZGVyRmV0Y2hGblR5cGUsXG4gICAgRWRpdG9yRGF0YVByb3ZpZGVySW5zdCxcbiAgICBFZGl0b3JEYXRhUHJvdmlkZXJVcGRhdGVGblR5cGUsXG4gICAgSUVkaXRvckRhdGFQcm92aWRlclxufSBmcm9tICcuLi8uLi9lZGl0b3IvZGF0YS1wcm92aWRlcnMvZWRpdG9yLmRhdGEtcHJvdmlkZXInO1xuXG5leHBvcnQgdHlwZSBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPFxuICAgIE1vZGVsID0gYW55LFxuICAgIFNlcnZpY2UgPSBhbnksXG4gICAgU29ydHMgPSBrZXlvZiBNb2RlbCxcbiAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsXG4gICAgTW9kZWxDbGFzcyA9IENsYXNzT3B0VHlwZTxNb2RlbD4sXG4gICAgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzT3B0VHlwZTxTZXJ2aWNlPlxuPiA9IElFZGl0b3JEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz4gJiBJVGFibGVEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+O1xuXG5leHBvcnQgY2xhc3MgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIFNlcnZpY2UgPSBhbnksXG4gICAgICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCxcbiAgICAgICAgTW9kZWxDbGFzcyA9IENsYXNzT3B0VHlwZTxNb2RlbD4sXG4gICAgICAgIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc09wdFR5cGU8U2VydmljZT5cbiAgICA+XG4gICAgZXh0ZW5kcyBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+XG4gICAgaW1wbGVtZW50cyBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgTW9kZWxDbGFzcywgU2VydmljZUNsYXNzPlxue1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JEYXRhUHJvdmlkZXI6IEVkaXRvckRhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz47XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYmxlRGF0YVByb3ZpZGVyOiBUYWJsZURhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+O1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHR5cGU6IE1vZGVsQ2xhc3MsIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICAgICAgc3VwZXIodHlwZSwgc2VydmljZVR5cGUpO1xuICAgICAgICB0aGlzLmVkaXRvckRhdGFQcm92aWRlciA9IEVkaXRvckRhdGFQcm92aWRlci5mcm9tQW55UGFyYW08TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz4odHlwZSwgc2VydmljZVR5cGUpO1xuICAgICAgICB0aGlzLnRhYmxlRGF0YVByb3ZpZGVyID0gVGFibGVEYXRhUHJvdmlkZXIuZnJvbUFueVBhcmFtPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgTW9kZWxDbGFzcywgU2VydmljZUNsYXNzPih0eXBlLCBzZXJ2aWNlVHlwZSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzTGF6eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVEYXRhUHJvdmlkZXIuaXNMYXp5O1xuICAgIH1cblxuICAgIGdldCBnZXRBbGxSZWxvYWQkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZURhdGFQcm92aWRlci5nZXRBbGxSZWxvYWQkO1xuICAgIH1cblxuICAgIGdldCBnZXRBbGwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlRGF0YVByb3ZpZGVyLmdldEFsbDtcbiAgICB9XG5cbiAgICBnZXQgZmV0Y2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvckRhdGFQcm92aWRlci5mZXRjaDtcbiAgICB9XG5cbiAgICBnZXQgY3JlYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3JEYXRhUHJvdmlkZXIuY3JlYXRlO1xuICAgIH1cblxuICAgIGdldCB1cGRhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvckRhdGFQcm92aWRlci51cGRhdGU7XG4gICAgfVxuXG4gICAgZ2V0IGRlbGV0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yRGF0YVByb3ZpZGVyLmRlbGV0ZTtcbiAgICB9XG5cbiAgICBnZXRBbGxSZWxvYWQocXVlcnlQYXJhbT86IERhdGFMaXN0UGFyYW1zPFNvcnRzLCBGaWx0ZXJzPik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlRGF0YVByb3ZpZGVyLmdldEFsbFJlbG9hZChxdWVyeVBhcmFtKTtcbiAgICB9XG5cbiAgICB3aXRoR2V0QWxsKGZuOiBUYWJsZURhdGFQcm92aWRlckdldEFsbEZuVHlwZTxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KTogdGhpcyB7XG4gICAgICAgIHRoaXMudGFibGVEYXRhUHJvdmlkZXIud2l0aEdldEFsbChmbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhHZXRBbGxFYWdlcmx5KGZuOiBUYWJsZURhdGFQcm92aWRlckdldEFsbEVhZ2VyRm5UeXBlPE1vZGVsLCBTZXJ2aWNlPik6IHRoaXMge1xuICAgICAgICB0aGlzLnRhYmxlRGF0YVByb3ZpZGVyLndpdGhHZXRBbGxFYWdlcmx5KGZuKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aEZldGNoKGZuOiBFZGl0b3JEYXRhUHJvdmlkZXJGZXRjaEZuVHlwZTxNb2RlbCwgU2VydmljZT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5lZGl0b3JEYXRhUHJvdmlkZXIud2l0aEZldGNoKGZuKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aENyZWF0ZShmbj86IEVkaXRvckRhdGFQcm92aWRlckNyZWF0ZUZuVHlwZTxNb2RlbCwgU2VydmljZT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5lZGl0b3JEYXRhUHJvdmlkZXIud2l0aENyZWF0ZShmbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhVcGRhdGUoZm4/OiBFZGl0b3JEYXRhUHJvdmlkZXJVcGRhdGVGblR5cGU8TW9kZWwsIFNlcnZpY2U+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuZWRpdG9yRGF0YVByb3ZpZGVyLndpdGhVcGRhdGUoZm4pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3aXRoRGVsZXRlKGZuPzogRWRpdG9yRGF0YVByb3ZpZGVyRGVsZXRlRm5UeXBlPE1vZGVsLCBTZXJ2aWNlPik6IHRoaXMge1xuICAgICAgICB0aGlzLmVkaXRvckRhdGFQcm92aWRlci53aXRoRGVsZXRlKGZuKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGFibGV2aWV3RGF0YVByb3ZpZGVyIGV4dGVuZHMgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxhbnk+IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZTxNb2RlbCwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPigpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIHVuZGVmaW5lZD4odW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUNsYXNzPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KHR5cGU6IENsYXNzVHlwZTxNb2RlbD4pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+KHR5cGUsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tQ2xhc3NXaXRoU2VydmljZTxNb2RlbCwgU2VydmljZSwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPihcbiAgICAgICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICAgICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4odHlwZSwgc2VydmljZVR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbVNlcnZpY2U8U2VydmljZSwgTW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4ge1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KHVuZGVmaW5lZCwgc2VydmljZVR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUFueVBhcmFtPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KCk6IFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8XG4gICAgICAgIE1vZGVsLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIFNvcnRzLFxuICAgICAgICBGaWx0ZXJzLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIHVuZGVmaW5lZFxuICAgID47XG4gICAgcHVibGljIHN0YXRpYyBmcm9tQW55UGFyYW08TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD5cbiAgICApOiBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+O1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUFueVBhcmFtPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgICAgICB0eXBlOiB1bmRlZmluZWQsXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj47XG4gICAgcHVibGljIHN0YXRpYyBmcm9tQW55UGFyYW08TW9kZWwsIFNlcnZpY2UgPSBhbnksIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUFueVBhcmFtPFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgU2VydmljZSxcbiAgICAgICAgU29ydHMgPSBrZXlvZiBNb2RlbCxcbiAgICAgICAgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsLFxuICAgICAgICBNb2RlbENsYXNzID0gQ2xhc3NUeXBlPE1vZGVsPixcbiAgICAgICAgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuICAgID4odHlwZT86IE1vZGVsQ2xhc3MsIHNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzKTogVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz47XG4gICAgcHVibGljIHN0YXRpYyBmcm9tQW55UGFyYW08XG4gICAgICAgIE1vZGVsLFxuICAgICAgICBTZXJ2aWNlID0gYW55LFxuICAgICAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgICAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsXG4gICAgICAgIE1vZGVsQ2xhc3MgPSBDbGFzc1R5cGU8TW9kZWw+LFxuICAgICAgICBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgPih0eXBlPzogTW9kZWxDbGFzcywgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXBlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBzZXJ2aWNlVHlwZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICA/IFRhYmxldmlld0RhdGFQcm92aWRlci5mcm9tQ2xhc3NXaXRoU2VydmljZTxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KHR5cGUgYXMgQ2xhc3NUeXBlPE1vZGVsPiwgc2VydmljZVR5cGUgYXMgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPilcbiAgICAgICAgICAgICAgICA6IFRhYmxldmlld0RhdGFQcm92aWRlci5mcm9tQ2xhc3M8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzPih0eXBlIGFzIENsYXNzVHlwZTxNb2RlbD4pO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzZXJ2aWNlVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBUYWJsZXZpZXdEYXRhUHJvdmlkZXIuZnJvbVNlcnZpY2U8U2VydmljZSwgTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPihzZXJ2aWNlVHlwZSBhcyBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBUYWJsZXZpZXdEYXRhUHJvdmlkZXIuY3JlYXRlPE1vZGVsLCBTb3J0cywgRmlsdGVycz4oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PFNlcnZpY2UgPSBhbnksIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc09wdFR5cGU8U2VydmljZT4+IGV4dGVuZHMgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxcbiAgICBhbnksXG4gICAgU2VydmljZSxcbiAgICBhbnksXG4gICAgYW55LFxuICAgIHVuZGVmaW5lZCxcbiAgICBTZXJ2aWNlQ2xhc3Ncbj4ge1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzKSB7XG4gICAgICAgIHN1cGVyKHVuZGVmaW5lZCwgc2VydmljZVR5cGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXIgZXh0ZW5kcyBEeW5hbWljVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdCB7XG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlKCk6IER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gbmV3IER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21TZXJ2aWNlPFNlcnZpY2U+KHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+KTogRHluYW1pY1RhYmxldmlld0RhdGFQcm92aWRlckluc3Q8U2VydmljZSwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4ge1xuICAgICAgICByZXR1cm4gbmV3IER5bmFtaWNUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PFNlcnZpY2UsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KHNlcnZpY2VUeXBlKTtcbiAgICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LmRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy90YWJsZXZpZXcvZGF0YS1wcm92aWRlcnMvdGFibGV2aWV3LmRhdGEtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixnQkFBZ0IsRUFBc0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoSCxPQUFPLEVBQXdGLHFCQUFxQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFOUosT0FBTyxFQUlILHNCQUFzQixFQUd6QixNQUFNLGtEQUFrRCxDQUFDO0FBVzFELE1BQU0sT0FBTyx5QkFRVCxTQUFRLGdCQUEwRDtJQU1sRSxZQUFtQixJQUFnQixFQUFFLFdBQXlCO1FBQzFELEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksc0JBQXNCLENBQTJDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxxQkFBcUIsQ0FBMkQsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUEyQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxVQUFVLENBQUMsRUFBaUU7UUFDeEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBc0Q7UUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBaUQ7UUFDdkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQW1EO1FBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFtRDtRQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBbUQ7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZ0NBQTZGLFNBQVEseUJBT2pIO0lBQ0csWUFBbUIsV0FBeUI7UUFDeEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzT3B0VHlwZSwgRGF0YUxpc3RQYXJhbXMsIERhdGFQcm92aWRlckluc3QsIFNlcnZpY2VDbGFzc09wdFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge0lUYWJsZURhdGFQcm92aWRlciwgVGFibGVEYXRhUHJvdmlkZXJHZXRBbGxFYWdlckZuVHlwZSwgVGFibGVEYXRhUHJvdmlkZXJHZXRBbGxGblR5cGUsIFRhYmxlRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge1xuICAgIEVkaXRvckRhdGFQcm92aWRlckNyZWF0ZUZuVHlwZSxcbiAgICBFZGl0b3JEYXRhUHJvdmlkZXJEZWxldGVGblR5cGUsXG4gICAgRWRpdG9yRGF0YVByb3ZpZGVyRmV0Y2hGblR5cGUsXG4gICAgRWRpdG9yRGF0YVByb3ZpZGVySW5zdCxcbiAgICBFZGl0b3JEYXRhUHJvdmlkZXJVcGRhdGVGblR5cGUsXG4gICAgSUVkaXRvckRhdGFQcm92aWRlclxufSBmcm9tICcuLi8uLi9lZGl0b3IvZGF0YS1wcm92aWRlcnMvZWRpdG9yLmRhdGEtcHJvdmlkZXInO1xuXG5leHBvcnQgdHlwZSBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPFxuICAgIE1vZGVsID0gYW55LFxuICAgIFNlcnZpY2UgPSBhbnksXG4gICAgU29ydHMgPSBrZXlvZiBNb2RlbCxcbiAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsXG4gICAgTW9kZWxDbGFzcyA9IENsYXNzT3B0VHlwZTxNb2RlbD4sXG4gICAgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzT3B0VHlwZTxTZXJ2aWNlPlxuPiA9IElFZGl0b3JEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz4gJiBJVGFibGVEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+O1xuXG5leHBvcnQgY2xhc3MgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIFNlcnZpY2UgPSBhbnksXG4gICAgICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCxcbiAgICAgICAgTW9kZWxDbGFzcyA9IENsYXNzT3B0VHlwZTxNb2RlbD4sXG4gICAgICAgIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc09wdFR5cGU8U2VydmljZT5cbiAgICA+XG4gICAgZXh0ZW5kcyBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+XG4gICAgaW1wbGVtZW50cyBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgTW9kZWxDbGFzcywgU2VydmljZUNsYXNzPlxue1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JEYXRhUHJvdmlkZXI6IEVkaXRvckRhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz47XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYmxlRGF0YVByb3ZpZGVyOiBUYWJsZURhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHR5cGU6IE1vZGVsQ2xhc3MsIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICAgICAgc3VwZXIodHlwZSwgc2VydmljZVR5cGUpO1xuICAgICAgICB0aGlzLmVkaXRvckRhdGFQcm92aWRlciA9IG5ldyBFZGl0b3JEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+KHR5cGUsIHNlcnZpY2VUeXBlKTtcbiAgICAgICAgdGhpcy50YWJsZURhdGFQcm92aWRlciA9IG5ldyBUYWJsZURhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+KHR5cGUsIHNlcnZpY2VUeXBlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNMYXp5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZURhdGFQcm92aWRlci5pc0xhenk7XG4gICAgfVxuXG4gICAgZ2V0IGdldEFsbFJlbG9hZCQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlRGF0YVByb3ZpZGVyLmdldEFsbFJlbG9hZCQ7XG4gICAgfVxuXG4gICAgZ2V0IGdldEFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVEYXRhUHJvdmlkZXIuZ2V0QWxsO1xuICAgIH1cblxuICAgIGdldCBmZXRjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yRGF0YVByb3ZpZGVyLmZldGNoO1xuICAgIH1cblxuICAgIGdldCBjcmVhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvckRhdGFQcm92aWRlci5jcmVhdGU7XG4gICAgfVxuXG4gICAgZ2V0IHVwZGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yRGF0YVByb3ZpZGVyLnVwZGF0ZTtcbiAgICB9XG5cbiAgICBnZXQgZGVsZXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3JEYXRhUHJvdmlkZXIuZGVsZXRlO1xuICAgIH1cblxuICAgIGdldEFsbFJlbG9hZChxdWVyeVBhcmFtPzogRGF0YUxpc3RQYXJhbXM8U29ydHMsIEZpbHRlcnM+KTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFibGVEYXRhUHJvdmlkZXIuZ2V0QWxsUmVsb2FkKHF1ZXJ5UGFyYW0pO1xuICAgIH1cblxuICAgIHdpdGhHZXRBbGwoZm46IFRhYmxlRGF0YVByb3ZpZGVyR2V0QWxsRm5UeXBlPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy50YWJsZURhdGFQcm92aWRlci53aXRoR2V0QWxsKGZuKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aEdldEFsbEVhZ2VybHkoZm46IFRhYmxlRGF0YVByb3ZpZGVyR2V0QWxsRWFnZXJGblR5cGU8TW9kZWwsIFNlcnZpY2U+KTogdGhpcyB7XG4gICAgICAgIHRoaXMudGFibGVEYXRhUHJvdmlkZXIud2l0aEdldEFsbEVhZ2VybHkoZm4pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3aXRoRmV0Y2goZm46IEVkaXRvckRhdGFQcm92aWRlckZldGNoRm5UeXBlPE1vZGVsLCBTZXJ2aWNlPik6IHRoaXMge1xuICAgICAgICB0aGlzLmVkaXRvckRhdGFQcm92aWRlci53aXRoRmV0Y2goZm4pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3aXRoQ3JlYXRlKGZuPzogRWRpdG9yRGF0YVByb3ZpZGVyQ3JlYXRlRm5UeXBlPE1vZGVsLCBTZXJ2aWNlPik6IHRoaXMge1xuICAgICAgICB0aGlzLmVkaXRvckRhdGFQcm92aWRlci53aXRoQ3JlYXRlKGZuKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aFVwZGF0ZShmbj86IEVkaXRvckRhdGFQcm92aWRlclVwZGF0ZUZuVHlwZTxNb2RlbCwgU2VydmljZT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5lZGl0b3JEYXRhUHJvdmlkZXIud2l0aFVwZGF0ZShmbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhEZWxldGUoZm4/OiBFZGl0b3JEYXRhUHJvdmlkZXJEZWxldGVGblR5cGU8TW9kZWwsIFNlcnZpY2U+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuZWRpdG9yRGF0YVByb3ZpZGVyLndpdGhEZWxldGUoZm4pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxTZXJ2aWNlID0gYW55LCBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlQ2xhc3NPcHRUeXBlPFNlcnZpY2U+PiBleHRlbmRzIFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8XG4gICAgYW55LFxuICAgIFNlcnZpY2UsXG4gICAgYW55LFxuICAgIGFueSxcbiAgICB1bmRlZmluZWQsXG4gICAgU2VydmljZUNsYXNzXG4+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3Ioc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzcykge1xuICAgICAgICBzdXBlcih1bmRlZmluZWQsIHNlcnZpY2VUeXBlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,111 @@
1
+ import { ModelDescriptor, TypeDescriptor, model } from '@mediusinc/mng-commons/model';
2
+ import { tableDescriptorFromClassAttrsDef } from '@mediusinc/mng-commons/table/api';
3
+ import { editorDescriptorFromClassAttrsDef } from '../../editor/descriptors/editor-descriptor.factory';
4
+ import { TableviewEditorTypeEnum } from '../../editor/models/editor.model';
5
+ import { TableviewDescriptorInst, TableviewDynamicDescriptorInt } from './tableview.descriptor';
6
+ export class TableviewDescriptor extends TableviewDescriptorInst {
7
+ constructor() {
8
+ super(ModelDescriptor.create());
9
+ }
10
+ static create(idProperty, titleProperty, i18nBaseKey) {
11
+ return new TableviewDescriptorInst(ModelDescriptor.create(idProperty, titleProperty, i18nBaseKey));
12
+ }
13
+ static fromClass(type, idProperty, titleProperty, i18nBaseKey) {
14
+ return new TableviewDescriptorInst(ModelDescriptor.fromClass(type, idProperty, titleProperty, i18nBaseKey));
15
+ }
16
+ static fromModel(model) {
17
+ return new TableviewDescriptorInst(model);
18
+ }
19
+ /**
20
+ * generates descriptor from attribute definition of openapi model
21
+ * @param type class type
22
+ * @param idProperty
23
+ * @param titleProperty
24
+ */
25
+ static fromClassWithAutoAttrsDef(type, idProperty, titleProperty) {
26
+ const descriptor = tableviewDescriptor(model(type, { id: idProperty, title: titleProperty }));
27
+ const optsBase = { id: idProperty, title: titleProperty };
28
+ descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef(type, undefined, optsBase));
29
+ descriptor.withEditDescriptor(editorDescriptorFromClassAttrsDef(type, undefined, { ...optsBase, tableviewEditorType: TableviewEditorTypeEnum.Edit }));
30
+ descriptor.withDetailsDescriptor(editorDescriptorFromClassAttrsDef(type, undefined, { ...optsBase, tableviewEditorType: TableviewEditorTypeEnum.Details }).withDisabled());
31
+ descriptor.withAddDescriptor(editorDescriptorFromClassAttrsDef(type, undefined, { ...optsBase, tableviewEditorType: TableviewEditorTypeEnum.Add }));
32
+ return descriptor;
33
+ }
34
+ /**
35
+ * generates descriptor from given attribute definition
36
+ * @param type class type
37
+ * @param columnAttributes attribute definition to generate columns
38
+ * @param fieldAttributes attribute definition to generate fields, if undefined columnDefinition is used, if null editors are not generated
39
+ * @param idProperty
40
+ * @param titleProperty
41
+ */
42
+ static fromClassWithCustomAttrsDef(type, columnAttributes, fieldAttributes, idProperty, titleProperty) {
43
+ const optsBase = { id: idProperty, title: titleProperty };
44
+ const descriptor = tableviewDescriptor(model(type, optsBase));
45
+ descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef(type, columnAttributes, optsBase));
46
+ if (fieldAttributes !== null) {
47
+ descriptor.withEditDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...optsBase, tableviewEditorType: TableviewEditorTypeEnum.Edit }));
48
+ descriptor.withDetailsDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...optsBase, tableviewEditorType: TableviewEditorTypeEnum.Details }));
49
+ descriptor.withAddDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...optsBase, tableviewEditorType: TableviewEditorTypeEnum.Add }));
50
+ }
51
+ return descriptor;
52
+ }
53
+ }
54
+ export function tableviewDescriptor(typeOrModelOrClassOrOpts, opts) {
55
+ if (typeOrModelOrClassOrOpts == null) {
56
+ return new TableviewDescriptorInst(model());
57
+ }
58
+ else if (typeOrModelOrClassOrOpts instanceof TypeDescriptor) {
59
+ return new TableviewDescriptorInst(model(opts ?? {}));
60
+ }
61
+ else if (typeOrModelOrClassOrOpts instanceof ModelDescriptor) {
62
+ return new TableviewDescriptorInst(typeOrModelOrClassOrOpts);
63
+ }
64
+ else {
65
+ // this could have autoGenerated if model descriptor is class
66
+ return new TableviewDescriptorInst(model(typeOrModelOrClassOrOpts));
67
+ }
68
+ }
69
+ export function tableviewDescriptorFromClass(type, opts) {
70
+ return new TableviewDescriptorInst(model(type, opts));
71
+ }
72
+ /**
73
+ * generates descriptor based on type attribute definition
74
+ * @param type class type
75
+ * @param columnAttributes
76
+ * @param fieldAttributes
77
+ * @param opts
78
+ */
79
+ export function tableviewDescriptorFromClassAttrsDef(type, columnAttributes, fieldAttributes, opts) {
80
+ const model = new ModelDescriptor(type, opts?.id, opts?.title, opts?.i18nBase);
81
+ const descriptor = new TableviewDescriptorInst(model);
82
+ descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef(type, columnAttributes, opts));
83
+ if (fieldAttributes !== null) {
84
+ descriptor.withEditDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...opts, tableviewEditorType: TableviewEditorTypeEnum.Edit }));
85
+ descriptor.withDetailsDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...opts, tableviewEditorType: TableviewEditorTypeEnum.Details }).withDisabled());
86
+ descriptor.withAddDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...opts, tableviewEditorType: TableviewEditorTypeEnum.Add }));
87
+ }
88
+ return descriptor;
89
+ }
90
+ export function tableviewDescriptorFromParent(descriptor, classOrType, idProperty, titleProperty, i18nBaseKey) {
91
+ return classOrType instanceof ModelDescriptor
92
+ ? new TableviewDescriptorInst(classOrType)
93
+ : new TableviewDescriptorInst(model(classOrType, { id: idProperty, title: titleProperty, i18nBase: i18nBaseKey }));
94
+ }
95
+ export class TableviewDynamicDescriptor extends TableviewDynamicDescriptorInt {
96
+ constructor() {
97
+ super(ModelDescriptor.create());
98
+ }
99
+ static create(idProperty, titleProperty, i18nBaseKey) {
100
+ return tableviewDynamicDescriptor({ id: idProperty, title: titleProperty, i18nBase: i18nBaseKey });
101
+ }
102
+ static fromModel(model) {
103
+ return tableviewDynamicDescriptor(model);
104
+ }
105
+ }
106
+ export function tableviewDynamicDescriptor(modelOrOpts) {
107
+ return modelOrOpts instanceof ModelDescriptor
108
+ ? new TableviewDynamicDescriptorInt(modelOrOpts)
109
+ : new TableviewDynamicDescriptorInt(new ModelDescriptor(undefined, modelOrOpts?.id, modelOrOpts?.title, modelOrOpts?.i18nBase));
110
+ }
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWRlc2NyaXB0b3IuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9hcGkvc3JjL3RhYmxldmlldy9kZXNjcmlwdG9ycy90YWJsZXZpZXctZGVzY3JpcHRvci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQTZCLGNBQWMsRUFBRSxLQUFLLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUV6RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsNkJBQTZCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQTRCO0lBQ2pFO1FBQ0ksS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUNoQixVQUFpQyxFQUNqQyxhQUFvQyxFQUNwQyxXQUF5QztRQUV6QyxPQUFPLElBQUksdUJBQXVCLENBQzlCLGVBQWUsQ0FBQyxNQUFNLENBQWlCLFVBQVUsRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQ2pGLENBQUM7SUFDTixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FDbkIsSUFBK0IsRUFDL0IsVUFBaUMsRUFDakMsYUFBb0MsRUFDcEMsV0FBeUM7UUFFekMsT0FBTyxJQUFJLHVCQUF1QixDQUM5QixlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUMxRSxDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sQ0FBQyxT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LFVBQVUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQTJCO1FBQy9DLE9BQU8sMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLFdBQTJFO0lBQ2xILE9BQU8sV0FBVyxZQUFZLGVBQWU7UUFDekMsQ0FBQyxDQUFDLElBQUksNkJBQTZCLENBQUMsV0FBVyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxJQUFJLDZCQUE2QixDQUFDLElBQUksZUFBZSxDQUFNLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFlLEVBQUUsV0FBVyxFQUFFLFFBQWtCLENBQUMsQ0FBQyxDQUFDO0FBQzNLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7TW9kZWxEZXNjcmlwdG9yLCBNb2RlbERlc2NyaXB0b3JDcmVhdGVPcHRzLCBUeXBlRGVzY3JpcHRvciwgbW9kZWx9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuaW1wb3J0IHt0YWJsZURlc2NyaXB0b3JGcm9tQ2xhc3NBdHRyc0RlZn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge2VkaXRvckRlc2NyaXB0b3JGcm9tQ2xhc3NBdHRyc0RlZn0gZnJvbSAnLi4vLi4vZWRpdG9yL2Rlc2NyaXB0b3JzL2VkaXRvci1kZXNjcmlwdG9yLmZhY3RvcnknO1xuaW1wb3J0IHtFZGl0b3JEZXNjcmlwdG9ySW5zdH0gZnJvbSAnLi4vLi4vZWRpdG9yL2Rlc2NyaXB0b3JzL2VkaXRvci5kZXNjcmlwdG9yJztcbmltcG9ydCB7VGFibGV2aWV3RWRpdG9yVHlwZUVudW19IGZyb20gJy4uLy4uL2VkaXRvci9tb2RlbHMvZWRpdG9yLm1vZGVsJztcbmltcG9ydCB7VGFibGV2aWV3Q2xhc3NBdHRyaWJ1dGVEZWZ9IGZyb20gJy4uL21vZGVscy9jbGFzcy10YWJsZXZpZXctYXR0cmlidXRlLm1vZGVsJztcbmltcG9ydCB7VGFibGV2aWV3RGVzY3JpcHRvckluc3QsIFRhYmxldmlld0R5bmFtaWNEZXNjcmlwdG9ySW50fSBmcm9tICcuL3RhYmxldmlldy5kZXNjcmlwdG9yJztcblxuZXhwb3J0IGNsYXNzIFRhYmxldmlld0Rlc2NyaXB0b3IgZXh0ZW5kcyBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxhbnk+IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKE1vZGVsRGVzY3JpcHRvci5jcmVhdGUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGU8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSA9IGtleW9mIFRhYmxldmlld01vZGVsLCBGaWx0ZXJQcm9wZXJ0eSA9IGtleW9mIFRhYmxldmlld01vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbCA9IHVuZGVmaW5lZD4oXG4gICAgICAgIGlkUHJvcGVydHk/OiBrZXlvZiBUYWJsZXZpZXdNb2RlbCxcbiAgICAgICAgdGl0bGVQcm9wZXJ0eT86IGtleW9mIFRhYmxldmlld01vZGVsLFxuICAgICAgICBpMThuQmFzZUtleT86IHN0cmluZyB8IENsYXNzVHlwZTx1bmtub3duPlxuICAgICk6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsLCBTb3J0UHJvcGVydHksIEZpbHRlclByb3BlcnR5LCBQYXJlbnRFZGl0b3JNb2RlbD4ge1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsLCBTb3J0UHJvcGVydHksIEZpbHRlclByb3BlcnR5LCBQYXJlbnRFZGl0b3JNb2RlbD4oXG4gICAgICAgICAgICBNb2RlbERlc2NyaXB0b3IuY3JlYXRlPFRhYmxldmlld01vZGVsPihpZFByb3BlcnR5LCB0aXRsZVByb3BlcnR5LCBpMThuQmFzZUtleSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21DbGFzczxUYWJsZXZpZXdNb2RlbCwgU29ydFByb3BlcnR5ID0ga2V5b2YgVGFibGV2aWV3TW9kZWwsIEZpbHRlclByb3BlcnR5ID0ga2V5b2YgVGFibGV2aWV3TW9kZWwsIFBhcmVudEVkaXRvck1vZGVsID0gdW5kZWZpbmVkPihcbiAgICAgICAgdHlwZTogQ2xhc3NUeXBlPFRhYmxldmlld01vZGVsPixcbiAgICAgICAgaWRQcm9wZXJ0eT86IGtleW9mIFRhYmxldmlld01vZGVsLFxuICAgICAgICB0aXRsZVByb3BlcnR5Pzoga2V5b2YgVGFibGV2aWV3TW9kZWwsXG4gICAgICAgIGkxOG5CYXNlS2V5PzogQ2xhc3NUeXBlPHVua25vd24+IHwgc3RyaW5nXG4gICAgKTogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHksIFBhcmVudEVkaXRvck1vZGVsPiB7XG4gICAgICAgIHJldHVybiBuZXcgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHksIFBhcmVudEVkaXRvck1vZGVsPihcbiAgICAgICAgICAgIE1vZGVsRGVzY3JpcHRvci5mcm9tQ2xhc3ModHlwZSwgaWRQcm9wZXJ0eSwgdGl0bGVQcm9wZXJ0eSwgaTE4bkJhc2VLZXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tTW9kZWw8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSA9IGtleW9mIFRhYmxldmlld01vZGVsLCBGaWx0ZXJQcm9wZXJ0eSA9IGtleW9mIFRhYmxldmlld01vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbCA9IHVuZGVmaW5lZD4oXG4gICAgICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8VGFibGV2aWV3TW9kZWw+XG4gICAgKTogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHksIFBhcmVudEVkaXRvck1vZGVsPiB7XG4gICAgICAgIHJldHVybiBuZXcgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8VGFibGV2aWV3TW9kZWwsIFNvcnRQcm9wZXJ0eSwgRmlsdGVyUHJvcGVydHksIFBhcmVudEVkaXRvck1vZGVsPihtb2RlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZ2VuZXJhdGVzIGRlc2NyaXB0b3IgZnJvbSBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBvZiBvcGVuYXBpIG1vZGVsXG4gICAgICogQHBhcmFtIHR5cGUgY2xhc3MgdHlwZVxuICAgICAqIEBwYXJhbSBpZFByb3BlcnR5XG4gICAgICogQHBhcmFtIHRpdGxlUHJvcGVydHlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZyb21DbGFzc1dpdGhBdXRvQXR0cnNEZWY8VGFibGV2aWV3TW9kZWw+KFxuICAgICAgICB0eXBlOiBDbGFzc1R5cGU8VGFibGV2aWV3TW9kZWw+LFxuICAgICAgICBpZFByb3BlcnR5Pzoga2V5b2YgVGFibGV2aWV3TW9kZWwsXG4gICAgICAgIHRpdGxlUHJvcGVydHk/OiBrZXlvZiBUYWJsZXZpZXdNb2RlbFxuICAgICk6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB0YWJsZXZpZXdEZXNjcmlwdG9yKG1vZGVsKHR5cGUsIHtpZDogaWRQcm9wZXJ0eSwgdGl0bGU6IHRpdGxlUHJvcGVydHl9KSk7XG4gICAgICAgIGNvbnN0IG9wdHNCYXNlID0ge2lkOiBpZFByb3BlcnR5LCB0aXRsZTogdGl0bGVQcm9wZXJ0eX07XG4gICAgICAgIGRlc2NyaXB0b3Iud2l0aFRhYmxlRGVzY3JpcHRvcih0YWJsZURlc2NyaXB0b3JGcm9tQ2xhc3NBdHRyc0RlZih0eXBlLCB1bmRlZmluZWQsIG9wdHNCYXNlKSk7XG4gICAgICAgIGRlc2NyaXB0b3Iud2l0aEVkaXREZXNjcmlwdG9yKGVkaXRvckRlc2NyaXB0b3JGcm9tQ2xhc3NBdHRyc0RlZih0eXBlLCB1bmRlZmluZWQsIHsuLi5vcHRzQmFzZSwgdGFibGV2aWV3RWRpdG9yVHlwZTogVGFibGV2aWV3RWRpdG9yVHlwZUVudW0uRWRpdH0pKTtcbiAgICAgICAgZGVzY3JpcHRvci53aXRoRGV0YWlsc0Rlc2NyaXB0b3IoZWRpdG9yRGVzY3JpcHRvckZyb21DbGFzc0F0dHJzRGVmKHR5cGUsIHVuZGVmaW5lZCwgey4uLm9wdHNCYXNlLCB0YWJsZXZpZXdFZGl0b3JUeXBlOiBUYWJsZXZpZXdFZGl0b3JUeXBlRW51bS5EZXRhaWxzfSkud2l0aERpc2FibGVkKCkpO1xuICAgICAgICBkZXNjcmlwdG9yLndpdGhBZGREZXNjcmlwdG9yKGVkaXRvckRlc2NyaXB0b3JGcm9tQ2xhc3NBdHRyc0RlZih0eXBlLCB1bmRlZmluZWQsIHsuLi5vcHRzQmFzZSwgdGFibGV2aWV3RWRpdG9yVHlwZTogVGFibGV2aWV3RWRpdG9yVHlwZUVudW0uQWRkfSkpO1xuXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdlbmVyYXRlcyBkZXNjcmlwdG9yIGZyb20gZ2l2ZW4gYXR0cmlidXRlIGRlZmluaXRpb25cbiAgICAgKiBAcGFyYW0gdHlwZSBjbGFzcyB0eXBlXG4gICAgICogQHBhcmFtIGNvbHVtbkF0dHJpYnV0ZXMgYXR0cmlidXRlIGRlZmluaXRpb24gdG8gZ2VuZXJhdGUgY29sdW1uc1xuICAgICAqIEBwYXJhbSBmaWVsZEF0dHJpYnV0ZXMgYXR0cmlidXRlIGRlZmluaXRpb24gdG8gZ2VuZXJhdGUgZmllbGRzLCBpZiB1bmRlZmluZWQgY29sdW1uRGVmaW5pdGlvbiBpcyB1c2VkLCBpZiBudWxsIGVkaXRvcnMgYXJlIG5vdCBnZW5lcmF0ZWRcbiAgICAgKiBAcGFyYW0gaWRQcm9wZXJ0eVxuICAgICAqIEBwYXJhbSB0aXRsZVByb3BlcnR5XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmcm9tQ2xhc3NXaXRoQ3VzdG9tQXR0cnNEZWY8VGFibGV2aWV3TW9kZWw+KFxuICAgICAgICB0eXBlOiBDbGFzc1R5cGU8VGFibGV2aWV3TW9kZWw+LFxuICAgICAgICBjb2x1bW5BdHRyaWJ1dGVzOiBUYWJsZXZpZXdDbGFzc0F0dHJpYnV0ZURlZltdLFxuICAgICAgICBmaWVsZEF0dHJpYnV0ZXM/OiBUYWJsZXZpZXdDbGFzc0F0dHJpYnV0ZURlZltdIHwgbnVsbCxcbiAgICAgICAgaWRQcm9wZXJ0eT86IGtleW9mIFRhYmxldmlld01vZGVsLFxuICAgICAgICB0aXRsZVByb3BlcnR5Pzoga2V5b2YgVGFibGV2aWV3TW9kZWxcbiAgICApOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxUYWJsZXZpZXdNb2RlbD4ge1xuICAgICAgICBjb25zdCBvcHRzQmFzZSA9IHtpZDogaWRQcm9wZXJ0eSwgdGl0bGU6IHRpdGxlUHJvcGVydHl9O1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gdGFibGV2aWV3RGVzY3JpcHRvcihtb2RlbCh0eXBlLCBvcHRzQmFzZSkpO1xuICAgICAgICBkZXNjcmlwdG9yLndpdGhUYWJsZURlc2NyaXB0b3IodGFibGVEZXNjcmlwdG9yRnJvbUNsYXNzQXR0cnNEZWYodHlwZSwgY29sdW1uQXR0cmlidXRlcywgb3B0c0Jhc2UpKTtcblxuICAgICAgICBpZiAoZmllbGRBdHRyaWJ1dGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBkZXNjcmlwdG9yLndpdGhFZGl0RGVzY3JpcHRvcihcbiAgICAgICAgICAgICAgICBlZGl0b3JEZXNjcmlwdG9yRnJvbUNsYXNzQXR0cnNEZWYodHlwZSwgZmllbGRBdHRyaWJ1dGVzID8/IGNvbHVtbkF0dHJpYnV0ZXMsIHsuLi5vcHRzQmFzZSwgdGFibGV2aWV3RWRpdG9yVHlwZTogVGFibGV2aWV3RWRpdG9yVHlwZUVudW0uRWRpdH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZGVzY3JpcHRvci53aXRoRGV0YWlsc0Rlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgZWRpdG9yRGVzY3JpcHRvckZyb21DbGFzc0F0dHJzRGVmKHR5cGUsIGZpZWxkQXR0cmlidXRlcyA/PyBjb2x1bW5BdHRyaWJ1dGVzLCB7Li4ub3B0c0Jhc2UsIHRhYmxldmlld0VkaXRvclR5cGU6IFRhYmxldmlld0VkaXRvclR5cGVFbnVtLkRldGFpbHN9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGRlc2NyaXB0b3Iud2l0aEFkZERlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgZWRpdG9yRGVzY3JpcHRvckZyb21DbGFzc0F0dHJzRGVmKHR5cGUsIGZpZWxkQXR0cmlidXRlcyA/PyBjb2x1bW5BdHRyaWJ1dGVzLCB7Li4ub3B0c0Jhc2UsIHRhYmxldmlld0VkaXRvclR5cGU6IFRhYmxldmlld0VkaXRvclR5cGVFbnVtLkFkZH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBUYWJsZXZpZXdEZXNjcmlwdG9yQ3JlYXRlT3B0c1R5cGU8VGFibGVNb2RlbD4gPSBNb2RlbERlc2NyaXB0b3JDcmVhdGVPcHRzPFRhYmxlTW9kZWw+O1xuXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGVzY3JpcHRvcjxUYWJsZU1vZGVsLCBTb3J0cyA9IGtleW9mIFRhYmxlTW9kZWwsIEZpbHRlcnMgPSBrZXlvZiBUYWJsZU1vZGVsPigpOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBTb3J0cywgRmlsdGVycz47XG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGVzY3JpcHRvcjxUYWJsZU1vZGVsLCBTb3J0cyA9IGtleW9mIFRhYmxlTW9kZWwsIEZpbHRlcnMgPSBrZXlvZiBUYWJsZU1vZGVsPihcbiAgICBvcHRzOiBUYWJsZXZpZXdEZXNjcmlwdG9yQ3JlYXRlT3B0c1R5cGU8VGFibGVNb2RlbD5cbik6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPjtcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdEZXNjcmlwdG9yPFRhYmxlTW9kZWwsIFNvcnRzID0ga2V5b2YgVGFibGVNb2RlbCwgRmlsdGVycyA9IGtleW9mIFRhYmxlTW9kZWw+KFxuICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8VGFibGVNb2RlbD5cbik6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPjtcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdEZXNjcmlwdG9yPFRhYmxlTW9kZWwsIFNvcnRzID0ga2V5b2YgVGFibGVNb2RlbCwgRmlsdGVycyA9IGtleW9mIFRhYmxlTW9kZWw+KFxuICAgIHR5cGU6IFR5cGVEZXNjcmlwdG9yPFRhYmxlTW9kZWw+LFxuICAgIG9wdHM/OiBUYWJsZXZpZXdEZXNjcmlwdG9yQ3JlYXRlT3B0c1R5cGU8VGFibGVNb2RlbD5cbik6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPjtcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdEZXNjcmlwdG9yPFRhYmxlTW9kZWwsIFNvcnRzID0ga2V5b2YgVGFibGVNb2RlbCwgRmlsdGVycyA9IGtleW9mIFRhYmxlTW9kZWw+KFxuICAgIHR5cGVPck1vZGVsT3JDbGFzc09yT3B0cz86IFR5cGVEZXNjcmlwdG9yPFRhYmxlTW9kZWw+IHwgTW9kZWxEZXNjcmlwdG9yPFRhYmxlTW9kZWw+IHwgVGFibGV2aWV3RGVzY3JpcHRvckNyZWF0ZU9wdHNUeXBlPFRhYmxlTW9kZWw+LFxuICAgIG9wdHM/OiBUYWJsZXZpZXdEZXNjcmlwdG9yQ3JlYXRlT3B0c1R5cGU8VGFibGVNb2RlbD5cbikge1xuICAgIGlmICh0eXBlT3JNb2RlbE9yQ2xhc3NPck9wdHMgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPihtb2RlbDxUYWJsZU1vZGVsPigpKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVPck1vZGVsT3JDbGFzc09yT3B0cyBpbnN0YW5jZW9mIFR5cGVEZXNjcmlwdG9yKSB7XG4gICAgICAgIHJldHVybiBuZXcgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8VGFibGVNb2RlbCwgU29ydHMsIEZpbHRlcnM+KG1vZGVsPFRhYmxlTW9kZWw+KChvcHRzIGFzIFRhYmxldmlld0Rlc2NyaXB0b3JDcmVhdGVPcHRzVHlwZTxUYWJsZU1vZGVsPiB8IHVuZGVmaW5lZCkgPz8ge30pKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVPck1vZGVsT3JDbGFzc09yT3B0cyBpbnN0YW5jZW9mIE1vZGVsRGVzY3JpcHRvcikge1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPih0eXBlT3JNb2RlbE9yQ2xhc3NPck9wdHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRoaXMgY291bGQgaGF2ZSBhdXRvR2VuZXJhdGVkIGlmIG1vZGVsIGRlc2NyaXB0b3IgaXMgY2xhc3NcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBTb3J0cywgRmlsdGVycz4obW9kZWw8VGFibGVNb2RlbD4odHlwZU9yTW9kZWxPckNsYXNzT3JPcHRzKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGVzY3JpcHRvckZyb21DbGFzczxUYWJsZU1vZGVsLCBTb3J0cyA9IGtleW9mIFRhYmxlTW9kZWwsIEZpbHRlcnMgPSBrZXlvZiBUYWJsZU1vZGVsPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8VGFibGVNb2RlbD4sXG4gICAgb3B0cz86IFRhYmxldmlld0Rlc2NyaXB0b3JDcmVhdGVPcHRzVHlwZTxUYWJsZU1vZGVsPlxuKTogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8VGFibGVNb2RlbCwgU29ydHMsIEZpbHRlcnM+IHtcbiAgICByZXR1cm4gbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPihtb2RlbDxUYWJsZU1vZGVsPih0eXBlIGFzIENsYXNzVHlwZTxUYWJsZU1vZGVsPiwgb3B0cykpO1xufVxuXG4vKipcbiAqIGdlbmVyYXRlcyBkZXNjcmlwdG9yIGJhc2VkIG9uIHR5cGUgYXR0cmlidXRlIGRlZmluaXRpb25cbiAqIEBwYXJhbSB0eXBlIGNsYXNzIHR5cGVcbiAqIEBwYXJhbSBjb2x1bW5BdHRyaWJ1dGVzXG4gKiBAcGFyYW0gZmllbGRBdHRyaWJ1dGVzXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGVzY3JpcHRvckZyb21DbGFzc0F0dHJzRGVmPFRhYmxldmlld01vZGVsLCBTb3J0cyA9IGtleW9mIFRhYmxldmlld01vZGVsLCBGaWx0ZXJzID0ga2V5b2YgVGFibGV2aWV3TW9kZWw+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxUYWJsZXZpZXdNb2RlbD4sXG4gICAgY29sdW1uQXR0cmlidXRlcz86IFRhYmxldmlld0NsYXNzQXR0cmlidXRlRGVmW10sXG4gICAgZmllbGRBdHRyaWJ1dGVzPzogVGFibGV2aWV3Q2xhc3NBdHRyaWJ1dGVEZWZbXSB8IG51bGwsXG4gICAgb3B0cz86IFRhYmxldmlld0Rlc2NyaXB0b3JDcmVhdGVPcHRzVHlwZTxUYWJsZXZpZXdNb2RlbD5cbik6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsLCBTb3J0cywgRmlsdGVycz4ge1xuICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsRGVzY3JpcHRvcih0eXBlLCBvcHRzPy5pZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQsIG9wdHM/LnRpdGxlIGFzIHN0cmluZyB8IHVuZGVmaW5lZCwgb3B0cz8uaTE4bkJhc2UgYXMgc3RyaW5nIHwgdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsLCBTb3J0cywgRmlsdGVycz4obW9kZWwpO1xuICAgIGRlc2NyaXB0b3Iud2l0aFRhYmxlRGVzY3JpcHRvcih0YWJsZURlc2NyaXB0b3JGcm9tQ2xhc3NBdHRyc0RlZjxUYWJsZXZpZXdNb2RlbCwgU29ydHMsIEZpbHRlcnM+KHR5cGUsIGNvbHVtbkF0dHJpYnV0ZXMsIG9wdHMpKTtcblxuICAgIGlmIChmaWVsZEF0dHJpYnV0ZXMgIT09IG51bGwpIHtcbiAgICAgICAgZGVzY3JpcHRvci53aXRoRWRpdERlc2NyaXB0b3IoZWRpdG9yRGVzY3JpcHRvckZyb21DbGFzc0F0dHJzRGVmKHR5cGUsIGZpZWxkQXR0cmlidXRlcyA/PyBjb2x1bW5BdHRyaWJ1dGVzLCB7Li4ub3B0cywgdGFibGV2aWV3RWRpdG9yVHlwZTogVGFibGV2aWV3RWRpdG9yVHlwZUVudW0uRWRpdH0pKTtcbiAgICAgICAgZGVzY3JpcHRvci53aXRoRGV0YWlsc0Rlc2NyaXB0b3IoXG4gICAgICAgICAgICBlZGl0b3JEZXNjcmlwdG9yRnJvbUNsYXNzQXR0cnNEZWYodHlwZSwgZmllbGRBdHRyaWJ1dGVzID8/IGNvbHVtbkF0dHJpYnV0ZXMsIHsuLi5vcHRzLCB0YWJsZXZpZXdFZGl0b3JUeXBlOiBUYWJsZXZpZXdFZGl0b3JUeXBlRW51bS5EZXRhaWxzfSkud2l0aERpc2FibGVkKClcbiAgICAgICAgKTtcbiAgICAgICAgZGVzY3JpcHRvci53aXRoQWRkRGVzY3JpcHRvcihlZGl0b3JEZXNjcmlwdG9yRnJvbUNsYXNzQXR0cnNEZWYodHlwZSwgZmllbGRBdHRyaWJ1dGVzID8/IGNvbHVtbkF0dHJpYnV0ZXMsIHsuLi5vcHRzLCB0YWJsZXZpZXdFZGl0b3JUeXBlOiBUYWJsZXZpZXdFZGl0b3JUeXBlRW51bS5BZGR9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdEZXNjcmlwdG9yRnJvbVBhcmVudDxUYWJsZXZpZXdNb2RlbCwgQ2hpbGRNb2RlbD4oXG4gICAgZGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8VGFibGV2aWV3TW9kZWwsIGFueSwgYW55LCBhbnk+IHwgRWRpdG9yRGVzY3JpcHRvckluc3Q8VGFibGV2aWV3TW9kZWw+IHwgTW9kZWxEZXNjcmlwdG9yPFRhYmxldmlld01vZGVsPixcbiAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPENoaWxkTW9kZWw+XG4pOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxDaGlsZE1vZGVsLCBrZXlvZiBDaGlsZE1vZGVsLCBrZXlvZiBDaGlsZE1vZGVsLCBUYWJsZXZpZXdNb2RlbD47XG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGVzY3JpcHRvckZyb21QYXJlbnQ8VGFibGV2aWV3TW9kZWwsIENoaWxkTW9kZWw+KFxuICAgIGRlc2NyaXB0b3I6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsLCBhbnksIGFueSwgYW55PiB8IEVkaXRvckRlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxUYWJsZXZpZXdNb2RlbD4sXG4gICAgdHlwZTogQ2xhc3NUeXBlPENoaWxkTW9kZWw+LFxuICAgIGlkUHJvcGVydHk/OiBrZXlvZiBDaGlsZE1vZGVsLFxuICAgIHRpdGxlUHJvcGVydHk/OiBrZXlvZiBDaGlsZE1vZGVsLFxuICAgIGkxOG5CYXNlS2V5PzogQ2xhc3NUeXBlPHVua25vd24+IHwgc3RyaW5nXG4pOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxDaGlsZE1vZGVsLCBrZXlvZiBDaGlsZE1vZGVsLCBrZXlvZiBDaGlsZE1vZGVsLCBUYWJsZXZpZXdNb2RlbD47XG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3RGVzY3JpcHRvckZyb21QYXJlbnQ8VGFibGV2aWV3TW9kZWwsIENoaWxkTW9kZWw+KFxuICAgIGRlc2NyaXB0b3I6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsLCBhbnksIGFueSwgYW55PiB8IEVkaXRvckRlc2NyaXB0b3JJbnN0PFRhYmxldmlld01vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxUYWJsZXZpZXdNb2RlbD4sXG4gICAgY2xhc3NPclR5cGU6IE1vZGVsRGVzY3JpcHRvcjxDaGlsZE1vZGVsPiB8IENsYXNzVHlwZTxDaGlsZE1vZGVsPixcbiAgICBpZFByb3BlcnR5Pzoga2V5b2YgQ2hpbGRNb2RlbCxcbiAgICB0aXRsZVByb3BlcnR5Pzoga2V5b2YgQ2hpbGRNb2RlbCxcbiAgICBpMThuQmFzZUtleT86IENsYXNzVHlwZTx1bmtub3duPiB8IHN0cmluZ1xuKTogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8Q2hpbGRNb2RlbCwga2V5b2YgQ2hpbGRNb2RlbCwga2V5b2YgQ2hpbGRNb2RlbCwgVGFibGV2aWV3TW9kZWw+IHtcbiAgICByZXR1cm4gY2xhc3NPclR5cGUgaW5zdGFuY2VvZiBNb2RlbERlc2NyaXB0b3JcbiAgICAgICAgPyBuZXcgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8Q2hpbGRNb2RlbCwga2V5b2YgQ2hpbGRNb2RlbCwga2V5b2YgQ2hpbGRNb2RlbCwgVGFibGV2aWV3TW9kZWw+KGNsYXNzT3JUeXBlKVxuICAgICAgICA6IG5ldyBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxDaGlsZE1vZGVsLCBrZXlvZiBDaGlsZE1vZGVsLCBrZXlvZiBDaGlsZE1vZGVsLCBUYWJsZXZpZXdNb2RlbD4oXG4gICAgICAgICAgICAgIG1vZGVsKGNsYXNzT3JUeXBlLCB7aWQ6IGlkUHJvcGVydHksIHRpdGxlOiB0aXRsZVByb3BlcnR5LCBpMThuQmFzZTogaTE4bkJhc2VLZXl9KVxuICAgICAgICAgICk7XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdEeW5hbWljRGVzY3JpcHRvciBleHRlbmRzIFRhYmxldmlld0R5bmFtaWNEZXNjcmlwdG9ySW50IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKE1vZGVsRGVzY3JpcHRvci5jcmVhdGUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGUoaWRQcm9wZXJ0eT86IHN0cmluZywgdGl0bGVQcm9wZXJ0eT86IHN0cmluZywgaTE4bkJhc2VLZXk/OiBzdHJpbmcgfCBDbGFzc1R5cGU8YW55Pik6IFRhYmxldmlld0R5bmFtaWNEZXNjcmlwdG9ySW50IHtcbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0R5bmFtaWNEZXNjcmlwdG9yKHtpZDogaWRQcm9wZXJ0eSwgdGl0bGU6IHRpdGxlUHJvcGVydHksIGkxOG5CYXNlOiBpMThuQmFzZUtleX0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbU1vZGVsKG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Pik6IFRhYmxldmlld0R5bmFtaWNEZXNjcmlwdG9ySW50IHtcbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0R5bmFtaWNEZXNjcmlwdG9yKG1vZGVsKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdEeW5hbWljRGVzY3JpcHRvcihtb2RlbE9yT3B0cz86IE1vZGVsRGVzY3JpcHRvcjxhbnk+IHwgVGFibGV2aWV3RGVzY3JpcHRvckNyZWF0ZU9wdHNUeXBlPGFueT4pOiBUYWJsZXZpZXdEeW5hbWljRGVzY3JpcHRvckludCB7XG4gICAgcmV0dXJuIG1vZGVsT3JPcHRzIGluc3RhbmNlb2YgTW9kZWxEZXNjcmlwdG9yXG4gICAgICAgID8gbmV3IFRhYmxldmlld0R5bmFtaWNEZXNjcmlwdG9ySW50KG1vZGVsT3JPcHRzKVxuICAgICAgICA6IG5ldyBUYWJsZXZpZXdEeW5hbWljRGVzY3JpcHRvckludChuZXcgTW9kZWxEZXNjcmlwdG9yPGFueT4odW5kZWZpbmVkLCBtb2RlbE9yT3B0cz8uaWQgYXMgc3RyaW5nLCBtb2RlbE9yT3B0cz8udGl0bGUgYXMgc3RyaW5nLCBtb2RlbE9yT3B0cz8uaTE4bkJhc2UgYXMgc3RyaW5nKSk7XG59XG4iXX0=