@mediusinc/mng-commons 5.5.0-rc.4 → 6.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/core/action/action-parameters.model.d.ts +4 -4
  2. package/core/data-providers/base.data-provider.d.ts +4 -7
  3. package/core/data-providers/lookup.data-provider.d.ts +2 -2
  4. package/core/descriptors/model.descriptor.d.ts +1 -7
  5. package/core/descriptors/tableview.descriptor.d.ts +5 -5
  6. package/core/helpers/route.d.ts +0 -1
  7. package/core/helpers/type-helpers.d.ts +8 -0
  8. package/core/index.d.ts +0 -3
  9. package/core/models/menu.model.d.ts +0 -4
  10. package/core/services/commons.service.d.ts +0 -32
  11. package/core/services/tokens/module-config.token.d.ts +0 -28
  12. package/esm2022/core/action/action-parameters.model.mjs +1 -1
  13. package/esm2022/core/data-providers/base.data-provider.mjs +2 -4
  14. package/esm2022/core/data-providers/lookup.data-provider.mjs +1 -1
  15. package/esm2022/core/descriptors/model.descriptor.mjs +1 -1
  16. package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
  17. package/esm2022/core/helpers/type-helpers.mjs +1 -1
  18. package/esm2022/core/index.mjs +1 -4
  19. package/esm2022/core/models/menu.model.mjs +1 -1
  20. package/esm2022/core/services/commons.service.mjs +1 -34
  21. package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
  22. package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +5 -86
  23. package/esm2022/filter/descriptors/filter.descriptor.mjs +7 -29
  24. package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +14 -41
  25. package/esm2022/form/api/data-providers/lookup.data-provider.mjs +3 -3
  26. package/esm2022/model/class/data-providers/base-from-class-data-provider.factory.mjs +5 -0
  27. package/esm2022/model/class/descriptors/model-class.descriptor.mjs +28 -0
  28. package/esm2022/model/class/descriptors/type-class.descriptor.mjs +6 -0
  29. package/esm2022/model/class/helpers/model.mjs +53 -0
  30. package/esm2022/model/class/index.mjs +8 -0
  31. package/esm2022/model/class/mediusinc-mng-commons-model-class.mjs +5 -0
  32. package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +11 -6
  33. package/esm2022/model/descriptors/model.descriptor.mjs +11 -54
  34. package/esm2022/model/descriptors/type.descriptor.mjs +2 -10
  35. package/esm2022/model/index.mjs +1 -2
  36. package/esm2022/table/api/class/class-table-attribute-converter.mjs +80 -0
  37. package/esm2022/table/api/class/class-table-attribute.model.mjs +2 -0
  38. package/esm2022/table/api/class/class-table-data-provider.factory.mjs +5 -0
  39. package/esm2022/table/api/class/class-table-descriptor-helpers.mjs +99 -0
  40. package/esm2022/table/api/class/class-table-descriptor.factory.mjs +21 -0
  41. package/esm2022/table/api/class/index.mjs +6 -0
  42. package/esm2022/table/api/class/mediusinc-mng-commons-table-api-class.mjs +5 -0
  43. package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +14 -41
  44. package/esm2022/table/api/data-providers/table.data-provider.mjs +3 -9
  45. package/esm2022/table/api/descriptors/column.descriptor.mjs +8 -3
  46. package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +10 -77
  47. package/esm2022/table/api/descriptors/table.descriptor.mjs +3 -3
  48. package/esm2022/table/api/helpers/column-converter.mjs +25 -0
  49. package/esm2022/table/api/helpers/table-data-provider-descriptor-convert.mjs +4 -4
  50. package/esm2022/table/api/index.mjs +2 -4
  51. package/esm2022/table/api/models/table-columns.model.mjs +1 -1
  52. package/esm2022/table/components/column-value/column-value.component.mjs +4 -3
  53. package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +3 -3
  54. package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +5 -5
  55. package/esm2022/table/components/table/table.component.mjs +6 -8
  56. package/esm2022/tableview/action/components/action/action.component.mjs +1 -1
  57. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +10 -6
  58. package/esm2022/tableview/action/helpers/action-execution.mjs +1 -1
  59. package/esm2022/tableview/action/models/execution/action-context.model.mjs +1 -1
  60. package/esm2022/tableview/action/models/execution/action-instance.model.mjs +1 -1
  61. package/esm2022/tableview/action/services/action-executor.service.mjs +11 -11
  62. package/esm2022/tableview/action/services/data-provider-executor.service.mjs +18 -3
  63. package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +1 -1
  64. package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +13 -104
  65. package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +15 -62
  66. package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +3 -63
  67. package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +17 -30
  68. package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -1
  69. package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +6 -29
  70. package/esm2022/tableview/api/action/descriptors/editor-action-descriptor.factory.mjs +21 -0
  71. package/esm2022/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.mjs +21 -0
  72. package/esm2022/tableview/api/action/descriptors/table-action-descriptor.factory.mjs +37 -0
  73. package/esm2022/tableview/api/action/descriptors/table-action-editor-descriptor.factory.mjs +40 -0
  74. package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +25 -5
  75. package/esm2022/tableview/api/action/models/action-descriptor.types.mjs +1 -1
  76. package/esm2022/tableview/api/action/models/action-error.model.mjs +1 -1
  77. package/esm2022/tableview/api/action/models/execution/action-context-validation.model.mjs +1 -1
  78. package/esm2022/tableview/api/action/models/execution/action-context.model.mjs +1 -1
  79. package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +1 -1
  80. package/esm2022/tableview/api/action/models/tableview-action-default-categories.model.mjs +6 -6
  81. package/esm2022/tableview/api/action/services/data-provider-executor.service.mjs +3 -3
  82. package/esm2022/tableview/api/class/editor/class-editor-attribute-converter.mjs +85 -0
  83. package/esm2022/tableview/api/class/editor/class-editor-attribute.model.mjs +2 -0
  84. package/esm2022/tableview/api/class/editor/class-editor-data-provider.factory.mjs +5 -0
  85. package/esm2022/tableview/api/class/editor/class-editor-descriptor-helpers.mjs +95 -0
  86. package/esm2022/tableview/api/class/editor/class-editor-descriptor.factory.mjs +21 -0
  87. package/esm2022/tableview/api/class/index.mjs +13 -0
  88. package/esm2022/tableview/api/class/mediusinc-mng-commons-tableview-api-class.mjs +5 -0
  89. package/esm2022/tableview/api/class/tableview/class-tableview-attribute-converter.mjs +35 -0
  90. package/esm2022/tableview/api/class/tableview/class-tableview-attribute.model.mjs +2 -0
  91. package/esm2022/tableview/api/class/tableview/class-tableview-data-provider.factory.mjs +5 -0
  92. package/esm2022/tableview/api/class/tableview/class-tableview-descriptor-helpers.mjs +111 -0
  93. package/esm2022/tableview/api/class/tableview/class-tableview-descriptor.factory.mjs +26 -0
  94. package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +14 -32
  95. package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +40 -7
  96. package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +7 -73
  97. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +49 -134
  98. package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +11 -2
  99. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +3 -5
  100. package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +2 -18
  101. package/esm2022/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.mjs +51 -0
  102. package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
  103. package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
  104. package/esm2022/tableview/api/index.mjs +8 -8
  105. package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +13 -51
  106. package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +19 -11
  107. package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +19 -96
  108. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +29 -182
  109. package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +8 -6
  110. package/esm2022/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.mjs +4 -4
  111. package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +117 -99
  112. package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +164 -7
  113. package/esm2022/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.mjs +2 -0
  114. package/esm2022/tableview/api/tableview/models/tableview-descriptor-helper.type.mjs +2 -0
  115. package/esm2022/tableview/api/tableview/models/tableview-input.model.mjs +1 -1
  116. package/esm2022/tableview/api/tableview/models/tableview-route.model.mjs +1 -1
  117. package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +6 -6
  118. package/esm2022/tableview/editor/helpers/editor-field.mjs +3 -3
  119. package/esm2022/tableview/editor/helpers/editor-formly.mjs +4 -4
  120. package/esm2022/tableview/editor/helpers/field-create.mjs +21 -0
  121. package/esm2022/tableview/index.mjs +3 -2
  122. package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +1 -1
  123. package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -1
  124. package/fesm2022/mediusinc-mng-commons-core.mjs +687 -781
  125. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  126. package/fesm2022/mediusinc-mng-commons-filter.mjs +10 -113
  127. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  128. package/fesm2022/mediusinc-mng-commons-form-api.mjs +15 -42
  129. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  130. package/fesm2022/mediusinc-mng-commons-model-class.mjs +97 -0
  131. package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +1 -0
  132. package/fesm2022/mediusinc-mng-commons-model.mjs +23 -137
  133. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
  134. package/fesm2022/mediusinc-mng-commons-table-api-class.mjs +204 -0
  135. package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +1 -0
  136. package/fesm2022/mediusinc-mng-commons-table-api.mjs +55 -319
  137. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  138. package/fesm2022/mediusinc-mng-commons-table.mjs +14 -15
  139. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
  140. package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs +367 -0
  141. package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +1 -0
  142. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +715 -1298
  143. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  144. package/fesm2022/mediusinc-mng-commons-tableview.mjs +67 -27
  145. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  146. package/filter/descriptors/filter-lookup.descriptor.d.ts +1 -26
  147. package/filter/descriptors/filter.descriptor.d.ts +5 -12
  148. package/form/api/data-providers/lookup-data-provider.factory.d.ts +17 -20
  149. package/form/api/data-providers/lookup.data-provider.d.ts +3 -3
  150. package/model/class/README.md +8 -0
  151. package/model/class/data-providers/base-from-class-data-provider.factory.d.ts +3 -0
  152. package/model/class/descriptors/model-class.descriptor.d.ts +12 -0
  153. package/model/class/descriptors/type-class.descriptor.d.ts +3 -0
  154. package/model/{helpers → class/helpers}/model.d.ts +1 -2
  155. package/model/class/index.d.ts +4 -0
  156. package/model/data-providers/base-from-type-data-provider.factory.d.ts +13 -6
  157. package/model/descriptors/model.descriptor.d.ts +12 -27
  158. package/model/descriptors/type.descriptor.d.ts +0 -5
  159. package/model/index.d.ts +0 -1
  160. package/package.json +25 -7
  161. package/table/api/class/README.md +10 -0
  162. package/table/api/{helpers/class-attribute-converter.d.ts → class/class-table-attribute-converter.d.ts} +2 -9
  163. package/table/api/{models → class}/class-table-attribute.model.d.ts +1 -1
  164. package/table/api/class/class-table-data-provider.factory.d.ts +4 -0
  165. package/table/api/{helpers/table-descriptor-helpers.d.ts → class/class-table-descriptor-helpers.d.ts} +2 -4
  166. package/table/api/class/class-table-descriptor.factory.d.ts +11 -0
  167. package/table/api/class/index.d.ts +5 -0
  168. package/table/api/data-providers/table-data-provider.factory.d.ts +17 -20
  169. package/table/api/data-providers/table.data-provider.d.ts +4 -12
  170. package/table/api/descriptors/column.descriptor.d.ts +5 -2
  171. package/table/api/descriptors/table-descriptor.factory.d.ts +3 -39
  172. package/table/api/descriptors/table.descriptor.d.ts +3 -3
  173. package/table/api/helpers/column-converter.d.ts +7 -0
  174. package/table/api/helpers/table-data-provider-descriptor-convert.d.ts +3 -3
  175. package/table/api/index.d.ts +1 -3
  176. package/table/api/models/table-columns.model.d.ts +2 -2
  177. package/table/components/column-value/column-value.component.d.ts +1 -0
  178. package/table/components/filter/filter-active-tag/filter-active-tag.component.d.ts +1 -1
  179. package/table/components/filter/filter-form/filter-form.component.d.ts +1 -1
  180. package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +1 -1
  181. package/table/components/table/table.component.d.ts +0 -9
  182. package/tableview/action/components/action/action.component.d.ts +2 -2
  183. package/tableview/action/components/editor/action-editor.component.d.ts +1 -1
  184. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +6 -5
  185. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +3 -3
  186. package/tableview/action/components/table/action-table.component.d.ts +3 -3
  187. package/tableview/action/helpers/action-execution.d.ts +1 -1
  188. package/tableview/action/models/execution/action-context.model.d.ts +3 -3
  189. package/tableview/action/models/execution/action-instance.model.d.ts +5 -5
  190. package/tableview/action/services/action-executor.service.d.ts +7 -7
  191. package/tableview/action/services/data-provider-executor.service.d.ts +16 -16
  192. package/tableview/action/services/view-container.service.d.ts +1 -1
  193. package/tableview/api/action/descriptors/action-confirmation.descriptor.d.ts +1 -1
  194. package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +20 -31
  195. package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +18 -25
  196. package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +22 -40
  197. package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +21 -13
  198. package/tableview/api/action/descriptors/action-link.descriptor.d.ts +3 -3
  199. package/tableview/api/action/descriptors/action.descriptor.d.ts +31 -33
  200. package/tableview/api/action/descriptors/editor-action-descriptor.factory.d.ts +21 -0
  201. package/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.d.ts +21 -0
  202. package/tableview/api/action/descriptors/table-action-descriptor.factory.d.ts +36 -0
  203. package/tableview/api/action/descriptors/table-action-editor-descriptor.factory.d.ts +40 -0
  204. package/tableview/api/action/helpers/data-provider-executors.d.ts +13 -8
  205. package/tableview/api/action/models/action-descriptor.types.d.ts +2 -2
  206. package/tableview/api/action/models/action-error.model.d.ts +1 -1
  207. package/tableview/api/action/models/execution/action-context-validation.model.d.ts +2 -2
  208. package/tableview/api/action/models/execution/action-context.model.d.ts +2 -2
  209. package/tableview/api/action/models/execution/action-instance.model.d.ts +1 -1
  210. package/tableview/api/action/models/tableview-action-default-categories.model.d.ts +5 -5
  211. package/tableview/api/action/services/data-provider-executor.service.d.ts +26 -25
  212. package/tableview/api/class/README.md +13 -0
  213. package/tableview/api/{editor/helpers/class-attribute-converter.d.ts → class/editor/class-editor-attribute-converter.d.ts} +2 -2
  214. package/tableview/api/{editor/models/class-tableview-attribute.model.d.ts → class/editor/class-editor-attribute.model.d.ts} +1 -1
  215. package/tableview/api/class/editor/class-editor-data-provider.factory.d.ts +4 -0
  216. package/tableview/api/{editor/helpers/editor-descriptor-helpers.d.ts → class/editor/class-editor-descriptor-helpers.d.ts} +2 -5
  217. package/tableview/api/class/editor/class-editor-descriptor.factory.d.ts +11 -0
  218. package/tableview/api/class/index.d.ts +10 -0
  219. package/tableview/api/{tableview/helpers/class-attribute-converter.d.ts → class/tableview/class-tableview-attribute-converter.d.ts} +1 -1
  220. package/tableview/api/{tableview/models → class/tableview}/class-tableview-attribute.model.d.ts +2 -2
  221. package/tableview/api/class/tableview/class-tableview-data-provider.factory.d.ts +4 -0
  222. package/tableview/api/{tableview/helpers/tableview-descriptor-helpers.d.ts → class/tableview/class-tableview-descriptor-helpers.d.ts} +1 -2
  223. package/tableview/api/class/tableview/class-tableview-descriptor.factory.d.ts +12 -0
  224. package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +17 -16
  225. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +64 -29
  226. package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +5 -38
  227. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +48 -112
  228. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +8 -1
  229. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -3
  230. package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +3 -11
  231. package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +25 -0
  232. package/tableview/api/editor/models/editor-fields.model.d.ts +25 -21
  233. package/tableview/api/editor/models/form-editor.event.d.ts +0 -4
  234. package/tableview/api/index.d.ts +7 -6
  235. package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +20 -25
  236. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +22 -22
  237. package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +20 -50
  238. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +69 -163
  239. package/tableview/api/tableview/helpers/tableview-create.d.ts +18 -5
  240. package/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.d.ts +2 -2
  241. package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +73 -20
  242. package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +87 -9
  243. package/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.d.ts +9 -0
  244. package/tableview/api/tableview/models/tableview-descriptor-helper.type.d.ts +2 -0
  245. package/tableview/api/tableview/models/tableview-input.model.d.ts +1 -1
  246. package/tableview/api/tableview/models/tableview-route.model.d.ts +1 -1
  247. package/tableview/editor/helpers/field-create.d.ts +9 -0
  248. package/tableview/index.d.ts +2 -1
  249. package/tableview/tableview/components/route/tableview-route.component.d.ts +1 -1
  250. package/tableview/tableview/components/tableview/tableview.component.d.ts +6 -6
  251. package/version-info.json +5 -5
  252. package/core/components/pages/error/error.page.component.d.ts +0 -11
  253. package/core/components/pages/not-found/not-found.page.component.d.ts +0 -11
  254. package/core/data-providers/base-data-provider.factory.d.ts +0 -13
  255. package/esm2022/core/components/pages/error/error.page.component.mjs +0 -24
  256. package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +0 -24
  257. package/esm2022/core/data-providers/base-data-provider.factory.mjs +0 -28
  258. package/esm2022/model/helpers/model.mjs +0 -71
  259. package/esm2022/table/api/helpers/class-attribute-converter.mjs +0 -104
  260. package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +0 -98
  261. package/esm2022/table/api/models/class-table-attribute.model.mjs +0 -2
  262. package/esm2022/tableview/api/editor/helpers/class-attribute-converter.mjs +0 -85
  263. package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +0 -95
  264. package/esm2022/tableview/api/editor/models/class-tableview-attribute.model.mjs +0 -2
  265. package/esm2022/tableview/api/tableview/helpers/class-attribute-converter.mjs +0 -34
  266. package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +0 -110
  267. package/esm2022/tableview/api/tableview/models/class-tableview-attribute.model.mjs +0 -2
@@ -96,6 +96,9 @@ export class FilterDescriptor {
96
96
  get title() {
97
97
  return this._title;
98
98
  }
99
+ get titleUseModelBase() {
100
+ return this._titleUseModelBase;
101
+ }
99
102
  get isGenericFilter() {
100
103
  return this._isGenericFilter;
101
104
  }
@@ -174,24 +177,6 @@ export class FilterDescriptor {
174
177
  this._displayType = type;
175
178
  return this;
176
179
  }
177
- /**
178
- * Sets default filter value for filter.
179
- *
180
- * @param value Value for default filter.
181
- * @param matchMode Match mode for default filter.
182
- */
183
- /**
184
- * Sets default filter value for filter.
185
- *
186
- * @deprecated Use {withDefaultFilterValue} instead.
187
- */
188
- withDefaultFilter(value, matchMode) {
189
- this._hasDefaultValue = true;
190
- this._defaultValue = value;
191
- this._defaultMatchMode = matchMode;
192
- this.validateDefaultFilter(value, matchMode);
193
- return this;
194
- }
195
180
  /**
196
181
  * Sets the default value for a filter with the specified match mode.
197
182
  *
@@ -294,15 +279,6 @@ export class FilterDescriptor {
294
279
  this._valueSuggestionProvider = valueDataProvider;
295
280
  return this;
296
281
  }
297
- /**
298
- * @deprecated Use ${withDatePickerDisplay} instead.
299
- */
300
- withDateFormat(format, showTime = false, showSeconds = false) {
301
- this._datePickerFormat = format;
302
- this._datePickerShowTime = showTime;
303
- this._datePickerShowSeconds = showSeconds;
304
- return this;
305
- }
306
282
  /**
307
283
  * Sets date picker display options.
308
284
  *
@@ -398,9 +374,11 @@ export class FilterDescriptor {
398
374
  * Filter title. If non provided, the defaults are applied.
399
375
  *
400
376
  * @param title Title for the field.
377
+ * @param useModelBase Use model's i18n base key as base path for translation.
401
378
  */
402
- withTitle(title) {
379
+ withTitle(title, useModelBase) {
403
380
  this._title = title;
381
+ this._titleUseModelBase = useModelBase;
404
382
  return this;
405
383
  }
406
384
  withDropdownClassName(dropdownClassName) {
@@ -440,4 +418,4 @@ export class FilterDescriptor {
440
418
  descriptor._dropdownClassName = this._dropdownClassName;
441
419
  }
442
420
  }
443
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9maWx0ZXIvc3JjL2Rlc2NyaXB0b3JzL2ZpbHRlci5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEYsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHMUssT0FBTyxFQUFDLHFCQUFxQixFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBa0M3RSxNQUFNLE9BQU8sZ0JBQWdCO0lBMkN6QixZQUFZLFFBQWdCO1FBdkNsQixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFHOUMsZ0JBQWdCO1FBQ04scUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBYXpCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBSXRDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFHOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxZ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LFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwRCxVQUFVLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BFLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDNUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvciwgRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlLCBGaWx0ZXJNYXRjaE1vZGVUeXBlLCBJRmlsdGVyRGVzY3JpcHRvciwgSUxvb2t1cERhdGFQcm92aWRlciwgTG9nZ2VyU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7SW5wdXRUcmltVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5cbmltcG9ydCB7RmlsdGVyRGlzcGxheVR5cGVFbnVtLCBGaWx0ZXJUeXBlRW51bX0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckRhdGVQaWNrZXJEaXNwbGF5T3B0c1R5cGUgPSB7XG4gICAgYXBwbHlGcm9tRGlzcGxheUZvcm1hdD86IGJvb2xlYW47XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIHNob3dUaW1lPzogYm9vbGVhbjtcbiAgICBzaG93U2Vjb25kcz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSA9IHtcbiAgICB1dGM/OiBib29sZWFuO1xuICAgIG5vVGltZT86IGJvb2xlYW47XG4gICAgbm9UaW1lWm9uZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlT3B0c1R5cGUgPSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSAmXG4gICAgRmlsdGVyRGF0ZVBpY2tlckRpc3BsYXlPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlID0ge1xuICAgIG1pbkZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIG1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9jYWxlT3B0c1R5cGUgPSB7XG4gICAgbG9jYWxlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTnVtYmVyT3B0c1R5cGUgPSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlICZcbiAgICBGaWx0ZXJMb2NhbGVPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4gaW1wbGVtZW50cyBJRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfcHJvcGVydHk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3Nob3dPbkNvbHVtbj86IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBfZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLlN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlUeXBlPzogRmlsdGVyRGlzcGxheVR5cGVFbnVtO1xuXG4gICAgLy8gZGVmYXVsdCB2YWx1ZVxuICAgIHByb3RlY3RlZCBfaGFzRGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIF9kZWZhdWx0TWF0Y2hNb2RlPzogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlO1xuICAgIHByb3RlY3RlZCBfZGVmYXVsdFZhbHVlPzogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdO1xuICAgIHByb3RlY3RlZCBfbWF0Y2hNb2Rlcz86IHN0cmluZ1tdO1xuXG4gICAgLy8gdmFsdWUgZGlzcGxheVxuICAgIHByaXZhdGUgX2Rpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZD86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfbG9jYWxlPzogc3RyaW5nO1xuXG4gICAgLy8gbnVtYmVyIGZpbHRlciBmaWVsZCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJvdGVjdGVkIF9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgICBwcm90ZWN0ZWQgX251bWJlck1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBfbnVtYmVyVXNlR3JvdXBpbmcgPSB0cnVlO1xuXG4gICAgLy8gZGF0ZSBmaWx0ZXIgZmllbGQgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByb3RlY3RlZCBfZGF0ZVBpY2tlckZvcm1hdD86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2RhdGVQaWNrZXJTaG93VGltZT86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9kYXRlUGlja2VyU2hvd1NlY29uZHM/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlTm9UaW1lPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2RhdGVWYWx1ZU5vVGltZXpvbmU/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlVXRjPzogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9jbGFzc05hbWUgPSAnJztcbiAgICBwcm90ZWN0ZWQgX2NvbHVtbkNsYXNzTmFtZSA9ICcnO1xuICAgIHByb3RlY3RlZCBfY29sdW1uV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfY29sdW1uTWluV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfaW5wdXRUcmltPzogSW5wdXRUcmltVHlwZTtcbiAgICBwcm90ZWN0ZWQgX3RpdGxlPzogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIF9pc0dlbmVyaWNGaWx0ZXIgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyPzogSUxvb2t1cERhdGFQcm92aWRlcjxzdHJpbmcsIGFueSwgYW55LCAnZmllbGQnPjtcbiAgICBwcm90ZWN0ZWQgX2Ryb3Bkb3duQ2xhc3NOYW1lID0gJyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3Byb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX3Nob3dPbkNvbHVtbiA9IHByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsdGVyVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaG93T25Db2x1bW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93T25Db2x1bW47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkaXNwbGF5VHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzRGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdE1hdGNoTW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXRjaE1vZGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF0Y2hNb2RlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc3BsYXlGb3JtYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Rm9ybWF0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJNaW5GcmFjdGlvbkRpZ2l0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlclVzZUdyb3VwaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyRm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93VGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93U2Vjb25kcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZVV0YygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVWYWx1ZVV0YztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZU5vVGltZXpvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVZhbHVlTm9UaW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVZhbHVlTm9UaW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uV2lkdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2x1bW5NaW5XaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbk1pbldpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdHJpbU9wdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0VHJpbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0aXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNHZW5lcmljRmlsdGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNHZW5lcmljRmlsdGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ2VuZXJpY1ZhbHVlUHJvdmlkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZVN1Z2dlc3Rpb25Qcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRyb3Bkb3duQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kcm9wZG93bkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBmaWx0ZXIgdG8gZ2l2ZW4gdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJUeXBlIEZpbHRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc0ZpbHRlclR5cGUoZmlsdGVyVHlwZTogRmlsdGVyVHlwZUVudW0pIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IGZpbHRlclR5cGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGZpbHRlciBhcyBhIGdlbmVyaWMgZmlsdGVyLiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYXNHZW5lcmljRmlsdGVyKCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pc0dlbmVyaWNGaWx0ZXIgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgZmlsdGVyIGFzIGRhdGUgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRzIEFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXNEYXRlKG9wdHM/OiBGaWx0ZXJEYXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLkRhdGU7XG4gICAgICAgIHRoaXMud2l0aERpc3BsYXlGb3JtYXQob3B0cz8uZGlzcGxheUZvcm1hdCkud2l0aERhdGVQaWNrZXJEaXNwbGF5KG9wdHMpLndpdGhEYXRlVmFsdWUob3B0cyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBmaWx0ZXIgYXMgbnVtYmVyIHR5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0cyBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIGFzTnVtYmVyKG9wdHM/OiBGaWx0ZXJOdW1iZXJPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWx0ZXJUeXBlID0gRmlsdGVyVHlwZUVudW0uTnVtYmVyO1xuICAgICAgICB0aGlzLndpdGhEaXNwbGF5Rm9ybWF0KG9wdHM/LmRpc3BsYXlGb3JtYXQpLndpdGhOdW1iZXJGcmFjdGlvbnMob3B0cz8ubWluRnJhY3Rpb25EaWdpdHMsIG9wdHM/Lm1heEZyYWN0aW9uRGlnaXRzKS53aXRoTG9jYWxlKG9wdHM/LmxvY2FsZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3dzIGZpbHRlciBvbiBjb2x1bW4gZm9yIGdpdmVuIHByb3BlcnR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IENvbHVtbiBwcm9wZXJ0eSB0byBzaG93IGZpbHRlciBvbi5cbiAgICAgKiBAcGFyYW0gZGlzcGxheVR5cGUgT3B0aW9uYWwgZGlzcGxheSB0eXBlIG92ZXJyaWRlLiBJZiBub3QgY29sdW1uLCB0aGUgZmlsdGVyIHdpbGwgbm90IGJlIHNob3duIG9uIGNvbHVtbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aFNob3dPbkNvbHVtbihwcm9wZXJ0eToga2V5b2YgVGFibGVNb2RlbCwgZGlzcGxheVR5cGU6IEZpbHRlckRpc3BsYXlUeXBlRW51bSB8IHVuZGVmaW5lZCA9IEZpbHRlckRpc3BsYXlUeXBlRW51bS5Db2x1bW4pOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aFNob3dPbkNvbHVtblVuc2FmZShwcm9wZXJ0eSBhcyBzdHJpbmcsIGRpc3BsYXlUeXBlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBmaWx0ZXIgb24gY29sdW1uIGZvciBnaXZlbiBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgVU5TQUZFLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IENvbHVtbiBwcm9wZXJ0eSB0byBzaG93IGZpbHRlciBvbi5cbiAgICAgKiBAcGFyYW0gZGlzcGxheVR5cGUgT3B0aW9uYWwgZGlzcGxheSB0eXBlIG92ZXJyaWRlLiBJZiBub3QgY29sdW1uLCB0aGUgZmlsdGVyIHdpbGwgbm90IGJlIHNob3duIG9uIGNvbHVtbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aFNob3dPbkNvbHVtblVuc2FmZShwcm9wZXJ0eTogc3RyaW5nLCBkaXNwbGF5VHlwZTogRmlsdGVyRGlzcGxheVR5cGVFbnVtIHwgdW5kZWZpbmVkID0gRmlsdGVyRGlzcGxheVR5cGVFbnVtLkNvbHVtbik6IHRoaXMge1xuICAgICAgICB0aGlzLl9zaG93T25Db2x1bW4gPSBwcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fZGlzcGxheVR5cGUgPSBkaXNwbGF5VHlwZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlcyBkaXNwbGF5IHR5cGUgb2YgZmlsdGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHR5cGUgRGlzcGxheSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGlzcGxheVR5cGUodHlwZT86IEZpbHRlckRpc3BsYXlUeXBlRW51bSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaXNwbGF5VHlwZSA9IHR5cGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGVmYXVsdCBmaWx0ZXIgdmFsdWUgZm9yIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBmb3IgZGVmYXVsdCBmaWx0ZXIuXG4gICAgICogQHBhcmFtIG1hdGNoTW9kZSBNYXRjaCBtb2RlIGZvciBkZWZhdWx0IGZpbHRlci5cbiAgICAgKi9cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGVmYXVsdCBmaWx0ZXIgdmFsdWUgZm9yIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSB7d2l0aERlZmF1bHRGaWx0ZXJWYWx1ZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRGaWx0ZXIodmFsdWU6IEZpbHRlck1vZGVsIHwgRmlsdGVyTW9kZWxbXSB8IHVuZGVmaW5lZCwgbWF0Y2hNb2RlOiBGaWx0ZXJNYXRjaE1vZGVFeHRlbmRlZFR5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faGFzRGVmYXVsdFZhbHVlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGUgPSBtYXRjaE1vZGU7XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWZhdWx0RmlsdGVyKHZhbHVlLCBtYXRjaE1vZGUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdleGlzdHMnIHwgJ2RvZXNOb3RFeGlzdCcpOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2JldHdlZW4nLCB2YWx1ZTogW0ZpbHRlck1vZGVsLCBGaWx0ZXJNb2RlbF0pOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2luJyB8ICdub3RJbicsIHZhbHVlOiBGaWx0ZXJNb2RlbFtdKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShcbiAgICAgICAgbWF0Y2hNb2RlOiAnbGVzc1RoYW4nIHwgJ2xlc3NUaGFuT3JFcXVhbFRvJyB8ICdncmVhdGVyVGhhbicgfCAnZ3JlYXRlclRoYW5PckVxdWFsVG8nLFxuICAgICAgICB2YWx1ZTogRmlsdGVyTW9kZWwgZXh0ZW5kcyBudW1iZXIgfCBEYXRlID8gRmlsdGVyTW9kZWwgOiBuZXZlclxuICAgICk6IHRoaXM7XG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWUobWF0Y2hNb2RlOiAnY29udGFpbnMnIHwgJ25vdENvbnRhaW5zJyB8ICdzdGFydHNXaXRoJyB8ICdlbmRzV2l0aCcsIHZhbHVlOiBGaWx0ZXJNb2RlbCBleHRlbmRzIHN0cmluZyA/IEZpbHRlck1vZGVsIDogbmV2ZXIpOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2VxdWFscycgfCAnbm90RXF1YWxzJywgdmFsdWU6IEZpbHRlck1vZGVsKTogdGhpcztcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciBhIGZpbHRlciB3aXRoIHRoZSBzcGVjaWZpZWQgbWF0Y2ggbW9kZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RmlsdGVyTWF0Y2hNb2RlVHlwZX0gbWF0Y2hNb2RlIC0gVGhlIG1hdGNoIG1vZGUgb2YgdGhlIGZpbHRlci5cbiAgICAgKiBAcGFyYW0ge0ZpbHRlck1vZGVsIHwgRmlsdGVyTW9kZWxbXX0gW3ZhbHVlXSAtIFRoZSBkZWZhdWx0IHZhbHVlKHMpIGZvciB0aGUgZmlsdGVyLiBUeXBlIG9mIHZhbHVlIGRpZmZlcnMgYmFzZWQgb24gbWF0Y2ggbW9kZSBhbmQgZmlsdGVyIG1vZGVsLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogRmlsdGVyTWF0Y2hNb2RlVHlwZSwgdmFsdWU/OiBGaWx0ZXJNb2RlbCB8IEZpbHRlck1vZGVsW10gfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aERlZmF1bHRWYWx1ZVVuc2FmZShtYXRjaE1vZGUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciBhIGZpbHRlciB3aXRoIHRoZSBzcGVjaWZpZWQgbWF0Y2ggbW9kZS5cbiAgICAgKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgVU5TQUZFIVxuICAgICAqXG4gICAgICogQHBhcmFtIHtGaWx0ZXJNYXRjaE1vZGVUeXBlfSBtYXRjaE1vZGUgLSBUaGUgbWF0Y2ggbW9kZSBvZiB0aGUgZmlsdGVyLlxuICAgICAqIEBwYXJhbSB7RmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdfSBbdmFsdWVdIC0gVGhlIGRlZmF1bHQgdmFsdWUocykgZm9yIHRoZSBmaWx0ZXIuIFR5cGUgb2YgdmFsdWUgZGlmZmVycyBiYXNlZCBvbiBtYXRjaCBtb2RlIGFuZCBmaWx0ZXIgbW9kZWwuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWVVbnNhZmUobWF0Y2hNb2RlPzogc3RyaW5nLCB2YWx1ZT86IGFueSB8IGFueVtdIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2hhc0RlZmF1bHRWYWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlID0gbWF0Y2hNb2RlO1xuICAgICAgICBpZiAobWF0Y2hNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlRGVmYXVsdEZpbHRlcih2YWx1ZSwgbWF0Y2hNb2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUdXJucyBvZiB0aGUgZGVmYXVsdCB2YWx1ZSBhbmQgbWF0Y2ggbW9kZSBmb3IgZmlsdGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRob3V0RGVmYXVsdFZhbHVlKCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9oYXNEZWZhdWx0VmFsdWUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGVEZWZhdWx0RmlsdGVyKHZhbHVlOiBGaWx0ZXJNb2RlbCB8IEZpbHRlck1vZGVsW10gfCB1bmRlZmluZWQsIG1hdGNoTW9kZTogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlKSB7XG4gICAgICAgIGlmIChtYXRjaE1vZGUgPT09ICdiZXR3ZWVuJyAmJiB2YWx1ZSAhPSBudWxsICYmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgdmFsdWUuZmlsdGVyKHYgPT4gdiAhPSBudWxsKS5sZW5ndGggIT09IDIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYERlZmF1bHQgdmFsdWUgZm9yIGZpbHRlciBtYXRjaCBtb2RlICR7bWF0Y2hNb2RlfSBtdXN0IHByb3ZpZGUgZXhhY3RseSAyIHZhbHVlcyBpbiBhcnJheWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICgobWF0Y2hNb2RlID09PSAnaW4nIHx8IG1hdGNoTW9kZSA9PT0gJ25vdEluJykgJiYgdmFsdWUgIT0gbnVsbCAmJiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlLmZpbHRlcih2ID0+IHYgIT0gbnVsbCkubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBEZWZhdWx0IHZhbHVlIGZvciBmaWx0ZXIgbWF0Y2ggbW9kZSAke21hdGNoTW9kZX0gbXVzdCBiZSBhcnJheSBhbmQgcHJvdmlkZSBhdCBsZWFzdCAxIG5vbi1udWxsIHZhbHVlYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1hdGNoTW9kZSA9PT0gJ2V4aXN0cycgfHwgbWF0Y2hNb2RlID09PSAnZG9lc05vdEV4aXN0Jykge1xuICAgICAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1hdGNoTW9kZSAmJiB0aGlzLl9tYXRjaE1vZGVzICYmIHRoaXMuX21hdGNoTW9kZXMuaW5kZXhPZihtYXRjaE1vZGUpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIExvZ2dlclNlcnZpY2UuZ2V0KCkuZGVidWcoYFdBUk5JTkc6IERlZmF1bHQgZmlsdGVyIG1hdGNoIG1vZGUgJyR7bWF0Y2hNb2RlfScgY291bGQgbm90IGJlIGFzc2lnbmVkIGZvciBwcm9wZXJ0eSAke3RoaXMuX3Byb3BlcnR5fS5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZm9ybWF0IGZvciBkaXNwbGF5IG9mIGZpbHRlciB2YWx1ZSAoYXBwbGllcyB0byBkYXRlIGFuZCBudW1iZXIpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1hdCBGb3JtYXQgKEFuZ3VsYXIgZm9ybWF0dGluZyBydWxlcyBhcHBseSkuXG4gICAgICogQHBhcmFtIGFwcGx5VG9GaWVsZCBJZiB0aGUgZm9ybWF0IHNob3VsZCBhbHNvIGJlIGFwcGxpZWQgdG8gZmllbGQgb24gZmlsdGVyIGVkaXRpbmcgZm9ybS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERpc3BsYXlGb3JtYXQoZm9ybWF0Pzogc3RyaW5nLCBhcHBseVRvRmllbGQ/OiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlGb3JtYXQgPSBmb3JtYXQ7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQgPSBhcHBseVRvRmllbGQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbG9jYWxlIGZvciBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlIExvY2FsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aExvY2FsZShsb2NhbGU/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9jYWxlID0gbG9jYWxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGZyYWN0aW9uIGZvciBudW1iZXIgZmlsdGVyIGVkaXRpbmcgZmllbGQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWluIE1pbiBmcmFjdGlvbiBkaWdpdHMgKGkuZS4gZGlnaXRzIGFmdGVyIGRlY2ltYWwpLlxuICAgICAqIEBwYXJhbSBtYXggTWF4IGZyYWN0aW9uIGRpZ2l0cyAoaS5lLiBkaWdpdHMgYWZ0ZXIgZGVjaW1hbCkuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhOdW1iZXJGcmFjdGlvbnMobWluPzogbnVtYmVyLCBtYXg/OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyTWluRnJhY3Rpb25EaWdpdHMgPSBtaW47XG4gICAgICAgIHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzID0gbWF4O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBudW1iZXIgZ3JvdXBpbmcgc2hvdWxkIGJlIHVzZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlR3JvdXBpbmcgRW5hYmxlcy9kaXNiYWxlZCB0aGUgZmVhdHVyZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE51bWJlckdyb3VwaW5nKHVzZUdyb3VwaW5nID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9udW1iZXJVc2VHcm91cGluZyA9IHVzZUdyb3VwaW5nO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgZGF0YSBwcm92aWRlciBmb3IgYXV0b2NvbXBsZXRlIHRleHQgc3VnZ2VzdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWVEYXRhUHJvdmlkZXIgRGF0YSBwcm92aWRlciBmb3IgYXV0b2NvbXBsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoR2VuZXJpY1ZhbHVlUHJvdmlkZXIodmFsdWVEYXRhUHJvdmlkZXI6IElMb29rdXBEYXRhUHJvdmlkZXI8c3RyaW5nLCBhbnksIGFueSwgJ2ZpZWxkJz4pOiB0aGlzIHtcbiAgICAgICAgaWYgKCEodGhpcy5maWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlRW51bS5TdHJpbmcgfHwgdGhpcy5maWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlRW51bS5Mb29rdXBFbnVtKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdHZW5lcmljIHZhbHVlIGxvb2t1cCBjYW4gb25seSBiZSBzZXQgZm9yIHRoZSBzdHJpbmcgb3IgbG9va3VwIGVudW0gZmlsdGVyIHR5cGVzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXIgPSB2YWx1ZURhdGFQcm92aWRlcjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlICR7d2l0aERhdGVQaWNrZXJEaXNwbGF5fSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGF0ZUZvcm1hdChmb3JtYXQ/OiBzdHJpbmcsIHNob3dUaW1lID0gZmFsc2UsIHNob3dTZWNvbmRzID0gZmFsc2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlckZvcm1hdCA9IGZvcm1hdDtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lID0gc2hvd1RpbWU7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcyA9IHNob3dTZWNvbmRzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRhdGUgcGlja2VyIGRpc3BsYXkgb3B0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEYXRlUGlja2VyRGlzcGxheShvcHRzPzogRmlsdGVyRGF0ZVBpY2tlckRpc3BsYXlPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaXNwbGF5Rm9ybWF0QXBwbHlUb0ZpZWxkID0gb3B0cz8uYXBwbHlGcm9tRGlzcGxheUZvcm1hdDtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlckZvcm1hdCA9IG9wdHM/LmZvcm1hdDtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lID0gb3B0cz8uc2hvd1RpbWU7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcyA9IG9wdHM/LnNob3dTZWNvbmRzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGZpbHRlciBkYXRlIHZhbHVlIGZvcm1hdHRpbmcgb3B0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEYXRlVmFsdWUob3B0cz86IEZpbHRlckRhdGVWYWx1ZU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2RhdGVWYWx1ZVV0YyA9IG9wdHM/LnV0YztcbiAgICAgICAgdGhpcy5fZGF0ZVZhbHVlTm9UaW1lem9uZSA9IG9wdHM/Lm5vVGltZVpvbmU7XG4gICAgICAgIHRoaXMuX2RhdGVWYWx1ZU5vVGltZSA9IG9wdHM/Lm5vVGltZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBwbGFjZWhvbGRlciBmb3IgZmlsdGVyIGZpZWxkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBsYWNlaG9sZGVyIFRleHQgZm9yIHBsYWNlaG9sZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoUGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGNsYXNzIG5hbWUgZm9yIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGFzc05hbWUgQ2xhc3MgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aENsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgY2xhc3MgbmFtZSBmb3IgY29sdW1uIGRpc3BsYXkgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGFzc05hbWUgQ2xhc3MgbmFtZSBmb3IgY29sdW1uLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoQ29sdW1uQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2NvbHVtbkNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IGNvbHVtbiB3aWR0aCBmb3IgY29sdW1uIGRpc3BsYXkgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB3aWR0aCBSZWxhdGl2ZSB3aWR0aCAoaW4gcGVyY2VudGFnZSkgb2YgdGFibGUgd2lkdGg6XG4gICAgICogQHBhcmFtIG1pbldpZHRoXG4gICAgICovXG4gICAgcHVibGljIHdpdGhDb2x1bW5XaWR0aCh3aWR0aD86IG51bWJlciwgbWluV2lkdGg/OiBudW1iZXIpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fY29sdW1uV2lkdGggPSB3aWR0aCA/PyBudWxsO1xuICAgICAgICB0aGlzLl9jb2x1bW5NaW5XaWR0aCA9IG1pbldpZHRoID8/IG51bGw7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgaW5wdXQgdHJpbW1pbmcgZm9yIGZpbHRlciB2YWx1ZSBmaWVsZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmltT3B0aW9uIFRyaW0gc2V0dGluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aElucHV0VHJpbW1pbmcodHJpbU9wdGlvbjogSW5wdXRUcmltVHlwZSA9ICdib3RoJyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pbnB1dFRyaW0gPSB0cmltT3B0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHJhbmdlIG9mIG1hdGNoIG1vZGVzIGZvciB0aGlzIGZpbHRlci4gSWYgbm9uIHByb3ZpZGVkLCB0aGUgZGVmYXVsdHMgYXJlIGFwcGxpZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWF0Y2hNb2RlcyBNYXRjaCBtb2RlIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhNYXRjaE1vZGVzKG1hdGNoTW9kZXM/OiBBcnJheTxGaWx0ZXJNYXRjaE1vZGVFeHRlbmRlZFR5cGU+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX21hdGNoTW9kZXMgPSBtYXRjaE1vZGVzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRlZmF1bHQgbWF0Y2ggbW9kZSBmb3IgdGhpcyBmaWx0ZXIuIElmIG5vbiBwcm92aWRlZCwgdGhlIGRlZmF1bHQgaXMgYXBwbGllZC4gSWYgY3VzdG9tIG1hdGNoIG1vZGVzIGFyZSBwcm92aWRlZCwgaXQgd2lsbCBiZSB2YWxpZGF0ZWQgYWdhaW5zdCBpdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtYXRjaE1vZGUgTWF0Y2ggbW9kZSBvcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZWZhdWx0TWF0Y2hNb2RlKG1hdGNoTW9kZT86IEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZSk6IHRoaXMge1xuICAgICAgICBpZiAobWF0Y2hNb2RlICE9IG51bGwgJiYgQXJyYXkuaXNBcnJheSh0aGlzLl9tYXRjaE1vZGVzKSAmJiAhdGhpcy5fbWF0Y2hNb2Rlcy5pbmNsdWRlcyhtYXRjaE1vZGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEZpbHRlciBtYXRjaCBtb2RlICR7bWF0Y2hNb2RlfSBjYW5ub3QgYmUgc2V0IGZvciBwcm9wZXJ0eSAke3RoaXMuX3Byb3BlcnR5fSwgYmVjYXVzZSBjdXN0b20gbWF0Y2ggbW9kZXMgZG8gbm90IGluY2x1ZGUgaXQuYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IG1hdGNoTW9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIHRpdGxlLiBJZiBub24gcHJvdmlkZWQsIHRoZSBkZWZhdWx0cyBhcmUgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRsZSBmb3IgdGhlIGZpZWxkLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoVGl0bGUodGl0bGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl90aXRsZSA9IHRpdGxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERyb3Bkb3duQ2xhc3NOYW1lKGRyb3Bkb3duQ2xhc3NOYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25DbGFzc05hbWUgPSBkcm9wZG93bkNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIGN1cnJlbnQgZGVzY3JpcHRvciB0byBhIG5ldyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29weSgpOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBuZXcgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4odGhpcy5fcHJvcGVydHkpO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPikge1xuICAgICAgICBkZXNjcmlwdG9yLl9maWx0ZXJUeXBlID0gdGhpcy5fZmlsdGVyVHlwZTtcbiAgICAgICAgZGVzY3JpcHRvci5faGFzRGVmYXVsdFZhbHVlID0gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kZWZhdWx0VmFsdWUgPSB0aGlzLl9kZWZhdWx0VmFsdWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RlZmF1bHRNYXRjaE1vZGUgPSB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kaXNwbGF5Rm9ybWF0ID0gdGhpcy5fZGlzcGxheUZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fbG9jYWxlID0gdGhpcy5fbG9jYWxlO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJVc2VHcm91cGluZyA9IHRoaXMuX251bWJlclVzZUdyb3VwaW5nO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlUGlja2VyRm9ybWF0ID0gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fZGF0ZVBpY2tlclNob3dUaW1lID0gdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVVdGMgPSB0aGlzLl9kYXRlVmFsdWVVdGM7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RhdGVWYWx1ZU5vVGltZXpvbmUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVOb1RpbWUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX3BsYWNlaG9sZGVyID0gdGhpcy5fcGxhY2Vob2xkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2NsYXNzTmFtZSA9IHRoaXMuX2NsYXNzTmFtZTtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uV2lkdGggPSB0aGlzLl9jb2x1bW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uTWluV2lkdGggPSB0aGlzLl9jb2x1bW5NaW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uQ2xhc3NOYW1lID0gdGhpcy5fY29sdW1uQ2xhc3NOYW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9pc0dlbmVyaWNGaWx0ZXIgPSB0aGlzLl9pc0dlbmVyaWNGaWx0ZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyID0gdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgfVxufVxuIl19
421
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9maWx0ZXIvc3JjL2Rlc2NyaXB0b3JzL2ZpbHRlci5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEYsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHMUssT0FBTyxFQUFDLHFCQUFxQixFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBa0M3RSxNQUFNLE9BQU8sZ0JBQWdCO0lBNEN6QixZQUFZLFFBQWdCO1FBeENsQixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFHOUMsZ0JBQWdCO1FBQ04scUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBYXpCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBS3RDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFHOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxZ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QztRQUNwRSxVQUFVLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BFLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDeEQsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUN0RCxVQUFVLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQzFELFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxVQUFVLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQzVELFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDNUMsVUFBVSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2xELFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwRCxVQUFVLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BFLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDNUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvciwgRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlLCBGaWx0ZXJNYXRjaE1vZGVUeXBlLCBJRmlsdGVyRGVzY3JpcHRvciwgSUxvb2t1cERhdGFQcm92aWRlciwgTG9nZ2VyU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7SW5wdXRUcmltVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5cbmltcG9ydCB7RmlsdGVyRGlzcGxheVR5cGVFbnVtLCBGaWx0ZXJUeXBlRW51bX0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckRhdGVQaWNrZXJEaXNwbGF5T3B0c1R5cGUgPSB7XG4gICAgYXBwbHlGcm9tRGlzcGxheUZvcm1hdD86IGJvb2xlYW47XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIHNob3dUaW1lPzogYm9vbGVhbjtcbiAgICBzaG93U2Vjb25kcz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSA9IHtcbiAgICB1dGM/OiBib29sZWFuO1xuICAgIG5vVGltZT86IGJvb2xlYW47XG4gICAgbm9UaW1lWm9uZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlT3B0c1R5cGUgPSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSAmXG4gICAgRmlsdGVyRGF0ZVBpY2tlckRpc3BsYXlPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlID0ge1xuICAgIG1pbkZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIG1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9jYWxlT3B0c1R5cGUgPSB7XG4gICAgbG9jYWxlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTnVtYmVyT3B0c1R5cGUgPSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlICZcbiAgICBGaWx0ZXJMb2NhbGVPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4gaW1wbGVtZW50cyBJRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfcHJvcGVydHk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3Nob3dPbkNvbHVtbj86IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBfZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLlN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlUeXBlPzogRmlsdGVyRGlzcGxheVR5cGVFbnVtO1xuXG4gICAgLy8gZGVmYXVsdCB2YWx1ZVxuICAgIHByb3RlY3RlZCBfaGFzRGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIF9kZWZhdWx0TWF0Y2hNb2RlPzogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlO1xuICAgIHByb3RlY3RlZCBfZGVmYXVsdFZhbHVlPzogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdO1xuICAgIHByb3RlY3RlZCBfbWF0Y2hNb2Rlcz86IHN0cmluZ1tdO1xuXG4gICAgLy8gdmFsdWUgZGlzcGxheVxuICAgIHByaXZhdGUgX2Rpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZD86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfbG9jYWxlPzogc3RyaW5nO1xuXG4gICAgLy8gbnVtYmVyIGZpbHRlciBmaWVsZCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJvdGVjdGVkIF9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgICBwcm90ZWN0ZWQgX251bWJlck1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBfbnVtYmVyVXNlR3JvdXBpbmcgPSB0cnVlO1xuXG4gICAgLy8gZGF0ZSBmaWx0ZXIgZmllbGQgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByb3RlY3RlZCBfZGF0ZVBpY2tlckZvcm1hdD86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2RhdGVQaWNrZXJTaG93VGltZT86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9kYXRlUGlja2VyU2hvd1NlY29uZHM/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlTm9UaW1lPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2RhdGVWYWx1ZU5vVGltZXpvbmU/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlVXRjPzogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9jbGFzc05hbWUgPSAnJztcbiAgICBwcm90ZWN0ZWQgX2NvbHVtbkNsYXNzTmFtZSA9ICcnO1xuICAgIHByb3RlY3RlZCBfY29sdW1uV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfY29sdW1uTWluV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfaW5wdXRUcmltPzogSW5wdXRUcmltVHlwZTtcbiAgICBwcm90ZWN0ZWQgX3RpdGxlPzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfdGl0bGVVc2VNb2RlbEJhc2U/OiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIF9pc0dlbmVyaWNGaWx0ZXIgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyPzogSUxvb2t1cERhdGFQcm92aWRlcjxzdHJpbmcsIGFueSwgYW55LCAnZmllbGQnPjtcbiAgICBwcm90ZWN0ZWQgX2Ryb3Bkb3duQ2xhc3NOYW1lID0gJyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3Byb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX3Nob3dPbkNvbHVtbiA9IHByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsdGVyVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaG93T25Db2x1bW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93T25Db2x1bW47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkaXNwbGF5VHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzRGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdE1hdGNoTW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXRjaE1vZGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF0Y2hNb2RlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc3BsYXlGb3JtYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Rm9ybWF0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJNaW5GcmFjdGlvbkRpZ2l0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlclVzZUdyb3VwaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyRm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93VGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93U2Vjb25kcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZVV0YygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVWYWx1ZVV0YztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZU5vVGltZXpvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVZhbHVlTm9UaW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVZhbHVlTm9UaW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uV2lkdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2x1bW5NaW5XaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbk1pbldpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdHJpbU9wdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0VHJpbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0aXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGl0bGVVc2VNb2RlbEJhc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aXRsZVVzZU1vZGVsQmFzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzR2VuZXJpY0ZpbHRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzR2VuZXJpY0ZpbHRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGdlbmVyaWNWYWx1ZVByb3ZpZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkcm9wZG93bkNsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgZmlsdGVyIHRvIGdpdmVuIHR5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyVHlwZSBGaWx0ZXIgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXNGaWx0ZXJUeXBlKGZpbHRlclR5cGU6IEZpbHRlclR5cGVFbnVtKSB7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBmaWx0ZXJUeXBlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBmaWx0ZXIgYXMgYSBnZW5lcmljIGZpbHRlci4gRm9yIGludGVybmFsIHVzZSBvbmx5LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGFzR2VuZXJpY0ZpbHRlcigpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faXNHZW5lcmljRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IGZpbHRlciBhcyBkYXRlIHR5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0cyBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIGFzRGF0ZShvcHRzPzogRmlsdGVyRGF0ZU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5EYXRlO1xuICAgICAgICB0aGlzLndpdGhEaXNwbGF5Rm9ybWF0KG9wdHM/LmRpc3BsYXlGb3JtYXQpLndpdGhEYXRlUGlja2VyRGlzcGxheShvcHRzKS53aXRoRGF0ZVZhbHVlKG9wdHMpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgZmlsdGVyIGFzIG51bWJlciB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc051bWJlcihvcHRzPzogRmlsdGVyTnVtYmVyT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLk51bWJlcjtcbiAgICAgICAgdGhpcy53aXRoRGlzcGxheUZvcm1hdChvcHRzPy5kaXNwbGF5Rm9ybWF0KS53aXRoTnVtYmVyRnJhY3Rpb25zKG9wdHM/Lm1pbkZyYWN0aW9uRGlnaXRzLCBvcHRzPy5tYXhGcmFjdGlvbkRpZ2l0cykud2l0aExvY2FsZShvcHRzPy5sb2NhbGUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBmaWx0ZXIgb24gY29sdW1uIGZvciBnaXZlbiBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBDb2x1bW4gcHJvcGVydHkgdG8gc2hvdyBmaWx0ZXIgb24uXG4gICAgICogQHBhcmFtIGRpc3BsYXlUeXBlIE9wdGlvbmFsIGRpc3BsYXkgdHlwZSBvdmVycmlkZS4gSWYgbm90IGNvbHVtbiwgdGhlIGZpbHRlciB3aWxsIG5vdCBiZSBzaG93biBvbiBjb2x1bW4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhTaG93T25Db2x1bW4ocHJvcGVydHk6IGtleW9mIFRhYmxlTW9kZWwsIGRpc3BsYXlUeXBlOiBGaWx0ZXJEaXNwbGF5VHlwZUVudW0gfCB1bmRlZmluZWQgPSBGaWx0ZXJEaXNwbGF5VHlwZUVudW0uQ29sdW1uKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhTaG93T25Db2x1bW5VbnNhZmUocHJvcGVydHkgYXMgc3RyaW5nLCBkaXNwbGF5VHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgZmlsdGVyIG9uIGNvbHVtbiBmb3IgZ2l2ZW4gcHJvcGVydHkuXG4gICAgICpcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIFVOU0FGRS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBDb2x1bW4gcHJvcGVydHkgdG8gc2hvdyBmaWx0ZXIgb24uXG4gICAgICogQHBhcmFtIGRpc3BsYXlUeXBlIE9wdGlvbmFsIGRpc3BsYXkgdHlwZSBvdmVycmlkZS4gSWYgbm90IGNvbHVtbiwgdGhlIGZpbHRlciB3aWxsIG5vdCBiZSBzaG93biBvbiBjb2x1bW4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhTaG93T25Db2x1bW5VbnNhZmUocHJvcGVydHk6IHN0cmluZywgZGlzcGxheVR5cGU6IEZpbHRlckRpc3BsYXlUeXBlRW51bSB8IHVuZGVmaW5lZCA9IEZpbHRlckRpc3BsYXlUeXBlRW51bS5Db2x1bW4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fc2hvd09uQ29sdW1uID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlUeXBlID0gZGlzcGxheVR5cGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgZGlzcGxheSB0eXBlIG9mIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIERpc3BsYXkgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERpc3BsYXlUeXBlKHR5cGU/OiBGaWx0ZXJEaXNwbGF5VHlwZUVudW0pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGlzcGxheVR5cGUgPSB0eXBlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRlZmF1bHQgZmlsdGVyIHZhbHVlIGZvciBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWF0Y2hNb2RlIE1hdGNoIG1vZGUgZm9yIGRlZmF1bHQgZmlsdGVyLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBmb3IgZGVmYXVsdCBmaWx0ZXIuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWUobWF0Y2hNb2RlOiAnZXhpc3RzJyB8ICdkb2VzTm90RXhpc3QnKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdiZXR3ZWVuJywgdmFsdWU6IFtGaWx0ZXJNb2RlbCwgRmlsdGVyTW9kZWxdKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdpbicgfCAnbm90SW4nLCB2YWx1ZTogRmlsdGVyTW9kZWxbXSk6IHRoaXM7XG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWUoXG4gICAgICAgIG1hdGNoTW9kZTogJ2xlc3NUaGFuJyB8ICdsZXNzVGhhbk9yRXF1YWxUbycgfCAnZ3JlYXRlclRoYW4nIHwgJ2dyZWF0ZXJUaGFuT3JFcXVhbFRvJyxcbiAgICAgICAgdmFsdWU6IEZpbHRlck1vZGVsIGV4dGVuZHMgbnVtYmVyIHwgRGF0ZSA/IEZpbHRlck1vZGVsIDogbmV2ZXJcbiAgICApOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2NvbnRhaW5zJyB8ICdub3RDb250YWlucycgfCAnc3RhcnRzV2l0aCcgfCAnZW5kc1dpdGgnLCB2YWx1ZTogRmlsdGVyTW9kZWwgZXh0ZW5kcyBzdHJpbmcgPyBGaWx0ZXJNb2RlbCA6IG5ldmVyKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdlcXVhbHMnIHwgJ25vdEVxdWFscycsIHZhbHVlOiBGaWx0ZXJNb2RlbCk6IHRoaXM7XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBmaWx0ZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG1hdGNoIG1vZGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0ZpbHRlck1hdGNoTW9kZVR5cGV9IG1hdGNoTW9kZSAtIFRoZSBtYXRjaCBtb2RlIG9mIHRoZSBmaWx0ZXIuXG4gICAgICogQHBhcmFtIHtGaWx0ZXJNb2RlbCB8IEZpbHRlck1vZGVsW119IFt2YWx1ZV0gLSBUaGUgZGVmYXVsdCB2YWx1ZShzKSBmb3IgdGhlIGZpbHRlci4gVHlwZSBvZiB2YWx1ZSBkaWZmZXJzIGJhc2VkIG9uIG1hdGNoIG1vZGUgYW5kIGZpbHRlciBtb2RlbC5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6IEZpbHRlck1hdGNoTW9kZVR5cGUsIHZhbHVlPzogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhEZWZhdWx0VmFsdWVVbnNhZmUobWF0Y2hNb2RlLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBmaWx0ZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG1hdGNoIG1vZGUuXG4gICAgICpcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIFVOU0FGRSFcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RmlsdGVyTWF0Y2hNb2RlVHlwZX0gbWF0Y2hNb2RlIC0gVGhlIG1hdGNoIG1vZGUgb2YgdGhlIGZpbHRlci5cbiAgICAgKiBAcGFyYW0ge0ZpbHRlck1vZGVsIHwgRmlsdGVyTW9kZWxbXX0gW3ZhbHVlXSAtIFRoZSBkZWZhdWx0IHZhbHVlKHMpIGZvciB0aGUgZmlsdGVyLiBUeXBlIG9mIHZhbHVlIGRpZmZlcnMgYmFzZWQgb24gbWF0Y2ggbW9kZSBhbmQgZmlsdGVyIG1vZGVsLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlVW5zYWZlKG1hdGNoTW9kZT86IHN0cmluZywgdmFsdWU/OiBhbnkgfCBhbnlbXSB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9oYXNEZWZhdWx0VmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9kZWZhdWx0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IG1hdGNoTW9kZTtcbiAgICAgICAgaWYgKG1hdGNoTW9kZSkge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZURlZmF1bHRGaWx0ZXIodmFsdWUsIG1hdGNoTW9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHVybnMgb2YgdGhlIGRlZmF1bHQgdmFsdWUgYW5kIG1hdGNoIG1vZGUgZm9yIGZpbHRlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aG91dERlZmF1bHRWYWx1ZSgpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faGFzRGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlRGVmYXVsdEZpbHRlcih2YWx1ZTogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdIHwgdW5kZWZpbmVkLCBtYXRjaE1vZGU6IEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZSkge1xuICAgICAgICBpZiAobWF0Y2hNb2RlID09PSAnYmV0d2VlbicgJiYgdmFsdWUgIT0gbnVsbCAmJiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlLmZpbHRlcih2ID0+IHYgIT0gbnVsbCkubGVuZ3RoICE9PSAyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBEZWZhdWx0IHZhbHVlIGZvciBmaWx0ZXIgbWF0Y2ggbW9kZSAke21hdGNoTW9kZX0gbXVzdCBwcm92aWRlIGV4YWN0bHkgMiB2YWx1ZXMgaW4gYXJyYXlgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKG1hdGNoTW9kZSA9PT0gJ2luJyB8fCBtYXRjaE1vZGUgPT09ICdub3RJbicpICYmIHZhbHVlICE9IG51bGwgJiYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5maWx0ZXIodiA9PiB2ICE9IG51bGwpLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgRGVmYXVsdCB2YWx1ZSBmb3IgZmlsdGVyIG1hdGNoIG1vZGUgJHttYXRjaE1vZGV9IG11c3QgYmUgYXJyYXkgYW5kIHByb3ZpZGUgYXQgbGVhc3QgMSBub24tbnVsbCB2YWx1ZWApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXRjaE1vZGUgPT09ICdleGlzdHMnIHx8IG1hdGNoTW9kZSA9PT0gJ2RvZXNOb3RFeGlzdCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYXRjaE1vZGUgJiYgdGhpcy5fbWF0Y2hNb2RlcyAmJiB0aGlzLl9tYXRjaE1vZGVzLmluZGV4T2YobWF0Y2hNb2RlKSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBMb2dnZXJTZXJ2aWNlLmdldCgpLmRlYnVnKGBXQVJOSU5HOiBEZWZhdWx0IGZpbHRlciBtYXRjaCBtb2RlICcke21hdGNoTW9kZX0nIGNvdWxkIG5vdCBiZSBhc3NpZ25lZCBmb3IgcHJvcGVydHkgJHt0aGlzLl9wcm9wZXJ0eX0uYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGZvcm1hdCBmb3IgZGlzcGxheSBvZiBmaWx0ZXIgdmFsdWUgKGFwcGxpZXMgdG8gZGF0ZSBhbmQgbnVtYmVyKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JtYXQgRm9ybWF0IChBbmd1bGFyIGZvcm1hdHRpbmcgcnVsZXMgYXBwbHkpLlxuICAgICAqIEBwYXJhbSBhcHBseVRvRmllbGQgSWYgdGhlIGZvcm1hdCBzaG91bGQgYWxzbyBiZSBhcHBsaWVkIHRvIGZpZWxkIG9uIGZpbHRlciBlZGl0aW5nIGZvcm0uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEaXNwbGF5Rm9ybWF0KGZvcm1hdD86IHN0cmluZywgYXBwbHlUb0ZpZWxkPzogYm9vbGVhbik6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaXNwbGF5Rm9ybWF0ID0gZm9ybWF0O1xuICAgICAgICB0aGlzLl9kaXNwbGF5Rm9ybWF0QXBwbHlUb0ZpZWxkID0gYXBwbHlUb0ZpZWxkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGxvY2FsZSBmb3IgZmlsdGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2FsZSBMb2NhbGUuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhMb2NhbGUobG9jYWxlPzogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2xvY2FsZSA9IGxvY2FsZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBmcmFjdGlvbiBmb3IgbnVtYmVyIGZpbHRlciBlZGl0aW5nIGZpZWxkLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1pbiBNaW4gZnJhY3Rpb24gZGlnaXRzIChpLmUuIGRpZ2l0cyBhZnRlciBkZWNpbWFsKS5cbiAgICAgKiBAcGFyYW0gbWF4IE1heCBmcmFjdGlvbiBkaWdpdHMgKGkuZS4gZGlnaXRzIGFmdGVyIGRlY2ltYWwpLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoTnVtYmVyRnJhY3Rpb25zKG1pbj86IG51bWJlciwgbWF4PzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzID0gbWluO1xuICAgICAgICB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cyA9IG1heDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgbnVtYmVyIGdyb3VwaW5nIHNob3VsZCBiZSB1c2VkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZUdyb3VwaW5nIEVuYWJsZXMvZGlzYmFsZWQgdGhlIGZlYXR1cmUuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhOdW1iZXJHcm91cGluZyh1c2VHcm91cGluZyA9IHRydWUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmcgPSB1c2VHcm91cGluZztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGRhdGEgcHJvdmlkZXIgZm9yIGF1dG9jb21wbGV0ZSB0ZXh0IHN1Z2dlc3Rpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlRGF0YVByb3ZpZGVyIERhdGEgcHJvdmlkZXIgZm9yIGF1dG9jb21wbGV0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aEdlbmVyaWNWYWx1ZVByb3ZpZGVyKHZhbHVlRGF0YVByb3ZpZGVyOiBJTG9va3VwRGF0YVByb3ZpZGVyPHN0cmluZywgYW55LCBhbnksICdmaWVsZCc+KTogdGhpcyB7XG4gICAgICAgIGlmICghKHRoaXMuZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZUVudW0uU3RyaW5nIHx8IHRoaXMuZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZUVudW0uTG9va3VwRW51bSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignR2VuZXJpYyB2YWx1ZSBsb29rdXAgY2FuIG9ubHkgYmUgc2V0IGZvciB0aGUgc3RyaW5nIG9yIGxvb2t1cCBlbnVtIGZpbHRlciB0eXBlcy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyID0gdmFsdWVEYXRhUHJvdmlkZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSBwaWNrZXIgZGlzcGxheSBvcHRpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERhdGVQaWNrZXJEaXNwbGF5KG9wdHM/OiBGaWx0ZXJEYXRlUGlja2VyRGlzcGxheU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQgPSBvcHRzPy5hcHBseUZyb21EaXNwbGF5Rm9ybWF0O1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyRm9ybWF0ID0gb3B0cz8uZm9ybWF0O1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyU2hvd1RpbWUgPSBvcHRzPy5zaG93VGltZTtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclNob3dTZWNvbmRzID0gb3B0cz8uc2hvd1NlY29uZHM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZmlsdGVyIGRhdGUgdmFsdWUgZm9ybWF0dGluZyBvcHRpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERhdGVWYWx1ZShvcHRzPzogRmlsdGVyRGF0ZVZhbHVlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0ZVZhbHVlVXRjID0gb3B0cz8udXRjO1xuICAgICAgICB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lID0gb3B0cz8ubm9UaW1lWm9uZTtcbiAgICAgICAgdGhpcy5fZGF0ZVZhbHVlTm9UaW1lID0gb3B0cz8ubm9UaW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHBsYWNlaG9sZGVyIGZvciBmaWx0ZXIgZmllbGQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGxhY2Vob2xkZXIgVGV4dCBmb3IgcGxhY2Vob2xkZXIuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhQbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgY2xhc3MgbmFtZSBmb3IgZmlsdGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNsYXNzTmFtZSBDbGFzcyBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2NsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBjbGFzcyBuYW1lIGZvciBjb2x1bW4gZGlzcGxheSB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNsYXNzTmFtZSBDbGFzcyBuYW1lIGZvciBjb2x1bW4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhDb2x1bW5DbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fY29sdW1uQ2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgY29sdW1uIHdpZHRoIGZvciBjb2x1bW4gZGlzcGxheSB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdpZHRoIFJlbGF0aXZlIHdpZHRoIChpbiBwZXJjZW50YWdlKSBvZiB0YWJsZSB3aWR0aDpcbiAgICAgKiBAcGFyYW0gbWluV2lkdGhcbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aENvbHVtbldpZHRoKHdpZHRoPzogbnVtYmVyLCBtaW5XaWR0aD86IG51bWJlcik6IHRoaXMge1xuICAgICAgICB0aGlzLl9jb2x1bW5XaWR0aCA9IHdpZHRoID8/IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbHVtbk1pbldpZHRoID0gbWluV2lkdGggPz8gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBpbnB1dCB0cmltbWluZyBmb3IgZmlsdGVyIHZhbHVlIGZpZWxkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRyaW1PcHRpb24gVHJpbSBzZXR0aW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoSW5wdXRUcmltbWluZyh0cmltT3B0aW9uOiBJbnB1dFRyaW1UeXBlID0gJ2JvdGgnKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2lucHV0VHJpbSA9IHRyaW1PcHRpb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgcmFuZ2Ugb2YgbWF0Y2ggbW9kZXMgZm9yIHRoaXMgZmlsdGVyLiBJZiBub24gcHJvdmlkZWQsIHRoZSBkZWZhdWx0cyBhcmUgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtYXRjaE1vZGVzIE1hdGNoIG1vZGUgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE1hdGNoTW9kZXMobWF0Y2hNb2Rlcz86IEFycmF5PEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbWF0Y2hNb2RlcyA9IG1hdGNoTW9kZXM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGVmYXVsdCBtYXRjaCBtb2RlIGZvciB0aGlzIGZpbHRlci4gSWYgbm9uIHByb3ZpZGVkLCB0aGUgZGVmYXVsdCBpcyBhcHBsaWVkLiBJZiBjdXN0b20gbWF0Y2ggbW9kZXMgYXJlIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHZhbGlkYXRlZCBhZ2FpbnN0IGl0LlxuICAgICAqXG4gICAgICogQHBhcmFtIG1hdGNoTW9kZSBNYXRjaCBtb2RlIG9wdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRNYXRjaE1vZGUobWF0Y2hNb2RlPzogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlKTogdGhpcyB7XG4gICAgICAgIGlmIChtYXRjaE1vZGUgIT0gbnVsbCAmJiBBcnJheS5pc0FycmF5KHRoaXMuX21hdGNoTW9kZXMpICYmICF0aGlzLl9tYXRjaE1vZGVzLmluY2x1ZGVzKG1hdGNoTW9kZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgRmlsdGVyIG1hdGNoIG1vZGUgJHttYXRjaE1vZGV9IGNhbm5vdCBiZSBzZXQgZm9yIHByb3BlcnR5ICR7dGhpcy5fcHJvcGVydHl9LCBiZWNhdXNlIGN1c3RvbSBtYXRjaCBtb2RlcyBkbyBub3QgaW5jbHVkZSBpdC5gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlID0gbWF0Y2hNb2RlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgdGl0bGUuIElmIG5vbiBwcm92aWRlZCwgdGhlIGRlZmF1bHRzIGFyZSBhcHBsaWVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdGxlIGZvciB0aGUgZmllbGQuXG4gICAgICogQHBhcmFtIHVzZU1vZGVsQmFzZSBVc2UgbW9kZWwncyBpMThuIGJhc2Uga2V5IGFzIGJhc2UgcGF0aCBmb3IgdHJhbnNsYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhUaXRsZSh0aXRsZTogc3RyaW5nLCB1c2VNb2RlbEJhc2U/OiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3RpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMuX3RpdGxlVXNlTW9kZWxCYXNlID0gdXNlTW9kZWxCYXNlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERyb3Bkb3duQ2xhc3NOYW1lKGRyb3Bkb3duQ2xhc3NOYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25DbGFzc05hbWUgPSBkcm9wZG93bkNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIGN1cnJlbnQgZGVzY3JpcHRvciB0byBhIG5ldyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29weSgpOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBuZXcgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4odGhpcy5fcHJvcGVydHkpO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPikge1xuICAgICAgICBkZXNjcmlwdG9yLl9maWx0ZXJUeXBlID0gdGhpcy5fZmlsdGVyVHlwZTtcbiAgICAgICAgZGVzY3JpcHRvci5faGFzRGVmYXVsdFZhbHVlID0gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kZWZhdWx0VmFsdWUgPSB0aGlzLl9kZWZhdWx0VmFsdWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RlZmF1bHRNYXRjaE1vZGUgPSB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kaXNwbGF5Rm9ybWF0ID0gdGhpcy5fZGlzcGxheUZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fbG9jYWxlID0gdGhpcy5fbG9jYWxlO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJVc2VHcm91cGluZyA9IHRoaXMuX251bWJlclVzZUdyb3VwaW5nO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlUGlja2VyRm9ybWF0ID0gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fZGF0ZVBpY2tlclNob3dUaW1lID0gdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVVdGMgPSB0aGlzLl9kYXRlVmFsdWVVdGM7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RhdGVWYWx1ZU5vVGltZXpvbmUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVOb1RpbWUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX3BsYWNlaG9sZGVyID0gdGhpcy5fcGxhY2Vob2xkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2NsYXNzTmFtZSA9IHRoaXMuX2NsYXNzTmFtZTtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uV2lkdGggPSB0aGlzLl9jb2x1bW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uTWluV2lkdGggPSB0aGlzLl9jb2x1bW5NaW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uQ2xhc3NOYW1lID0gdGhpcy5fY29sdW1uQ2xhc3NOYW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9pc0dlbmVyaWNGaWx0ZXIgPSB0aGlzLl9pc0dlbmVyaWNGaWx0ZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyID0gdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgfVxufVxuIl19
@@ -1,42 +1,15 @@
1
1
  import { LookupDataProviderInst } from './lookup.data-provider';
2
- export class LookupDataProvider extends LookupDataProviderInst {
3
- constructor() {
4
- super(undefined, undefined);
5
- }
6
- static create() {
7
- return lookupDataProvider();
8
- }
9
- static fromClass(type) {
10
- return lookupDataProviderFromClass(type);
11
- }
12
- static fromClassWithService(type, serviceType) {
13
- return lookupDataProviderFromClass(type, serviceType);
14
- }
15
- static fromService(serviceType) {
16
- return lookupDataProviderWithService(serviceType);
17
- }
18
- }
19
- export function lookupDataProvider(type, serviceTypeOrOpts,
20
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
- opts) {
22
- if (serviceTypeOrOpts === undefined || typeof serviceTypeOrOpts === 'function') {
23
- return new LookupDataProviderInst(undefined, serviceTypeOrOpts);
24
- }
25
- else {
26
- return new LookupDataProviderInst(undefined, undefined);
27
- }
28
- }
29
- export function lookupDataProviderWithService(serviceType,
30
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
- opts) {
32
- return new LookupDataProviderInst(undefined, serviceType);
33
- }
34
- export function lookupDataProviderFromClass(type, serviceType) {
35
- return new LookupDataProviderInst(type, serviceType);
36
- }
37
- export function lookupDataProviderFromModel(model, serviceTypeOrOpts, opts) {
38
- return typeof serviceTypeOrOpts === 'function'
39
- ? new LookupDataProviderInst(model.type, serviceTypeOrOpts)
40
- : new LookupDataProviderInst(model.type, undefined);
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Zvcm0vYXBpL3NyYy9kYXRhLXByb3ZpZGVycy9sb29rdXAtZGF0YS1wcm92aWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBMkI7SUFDL0Q7UUFDSSxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTTtRQUNoQixPQUFPLGtCQUFrQixFQUF5QixDQUFDO0lBQ3ZELENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUNuQixJQUFzQjtRQUV0QixPQUFPLDJCQUEyQixDQUF3QixJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUM5QixJQUFzQixFQUN0QixXQUFzQztRQUV0QyxPQUFPLDJCQUEyQixDQUFpQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3JCLFdBQXNDO1FBRXRDLE9BQU8sNkJBQTZCLENBQWlDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDSjtBQXdCRCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLElBQTRCLEVBQzVCLGlCQUEwRjtBQUMxRiw2REFBNkQ7QUFDN0QsSUFBOEQ7SUFFOUQsSUFBSSxpQkFBaUIsS0FBSyxTQUFTLElBQUksT0FBTyxpQkFBaUIsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUM3RSxPQUFPLElBQUksc0JBQXNCLENBQTBELFNBQVMsRUFBRSxpQkFBaUMsQ0FBQyxDQUFDO0lBQzdJLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxJQUFJLHNCQUFzQixDQUEwRCxTQUFTLEVBQUUsU0FBeUIsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUN6QyxXQUFzQztBQUN0Qyw2REFBNkQ7QUFDN0QsSUFBOEQ7SUFFOUQsT0FBTyxJQUFJLHNCQUFzQixDQUF1RSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDcEksQ0FBQztBQVNELE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsSUFBc0IsRUFDdEIsV0FBMEI7SUFFMUIsT0FBTyxJQUFJLHNCQUFzQixDQUFpRSxJQUFJLEVBQUUsV0FBMkIsQ0FBQyxDQUFDO0FBQ3pJLENBQUM7QUFXRCxNQUFNLFVBQVUsMkJBQTJCLENBUXpDLEtBQXlDLEVBQUUsaUJBQWdDLEVBQUUsSUFBOEQ7SUFDekksT0FBTyxPQUFPLGlCQUFpQixLQUFLLFVBQVU7UUFDMUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQ3RCLEtBQUssQ0FBQyxJQUF3QixFQUM5QixpQkFBOEMsQ0FDakQ7UUFDSCxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBZ0UsS0FBSyxDQUFDLElBQXdCLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDL0ksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3IsIFR5cGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtMb29rdXBEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICcuL2xvb2t1cC5kYXRhLXByb3ZpZGVyJztcblxuZXhwb3J0IGNsYXNzIExvb2t1cERhdGFQcm92aWRlciBleHRlbmRzIExvb2t1cERhdGFQcm92aWRlckluc3Q8YW55PiB7XG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGU8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oKTogTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlcjxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tQ2xhc3M8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD5cbiAgICApOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KHR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUNsYXNzV2l0aFNlcnZpY2U8TW9kZWwsIFNlcnZpY2UsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgKTogTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KHR5cGUsIHNlcnZpY2VUeXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21TZXJ2aWNlPFNlcnZpY2UsIE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuICAgICk6IExvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlcldpdGhTZXJ2aWNlPFNlcnZpY2UsIE1vZGVsLCBTb3J0cywgRmlsdGVycz4oc2VydmljZVR5cGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgTG9va3VwRGF0YVByb3ZpZGVyQ3JlYXRlT3B0c1R5cGU8VGFibGVNb2RlbCwgU29ydHMgPSBrZXlvZiBUYWJsZU1vZGVsLCBGaWx0ZXJzID0ga2V5b2YgVGFibGVNb2RlbD4gPSB7XG4gICAgZmlsdGVyc1R5cGU/OiBUeXBlRGVzY3JpcHRvcjxGaWx0ZXJzPjtcbiAgICBzb3J0c1R5cGU/OiBUeXBlRGVzY3JpcHRvcjxTb3J0cz47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KCk6IExvb2t1cERhdGFQcm92aWRlckluc3Q8XG4gICAgTW9kZWwsXG4gICAgdW5kZWZpbmVkLFxuICAgIFNvcnRzLFxuICAgIEZpbHRlcnMsXG4gICAgdW5kZWZpbmVkLFxuICAgIHVuZGVmaW5lZFxuPjtcbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBEYXRhUHJvdmlkZXI8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgdHlwZTogVHlwZURlc2NyaXB0b3I8TW9kZWw+LFxuICAgIG9wdHM/OiBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgIHR5cGU6IFR5cGVEZXNjcmlwdG9yPE1vZGVsPixcbiAgICBzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPixcbiAgICBvcHRzPzogTG9va3VwRGF0YVByb3ZpZGVyQ3JlYXRlT3B0c1R5cGU8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzPlxuKTogTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgIHR5cGU/OiBUeXBlRGVzY3JpcHRvcjxNb2RlbD4sXG4gICAgc2VydmljZVR5cGVPck9wdHM/OiBTZXJ2aWNlQ2xhc3MgfCBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBvcHRzPzogTG9va3VwRGF0YVByb3ZpZGVyQ3JlYXRlT3B0c1R5cGU8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzPlxuKSB7XG4gICAgaWYgKHNlcnZpY2VUeXBlT3JPcHRzID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHNlcnZpY2VUeXBlT3JPcHRzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuZXcgTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzPih1bmRlZmluZWQsIHNlcnZpY2VUeXBlT3JPcHRzIGFzIFNlcnZpY2VDbGFzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3M+KHVuZGVmaW5lZCwgdW5kZWZpbmVkIGFzIFNlcnZpY2VDbGFzcyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyV2l0aFNlcnZpY2U8U2VydmljZSwgTW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIG9wdHM/OiBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PiB7XG4gICAgcmV0dXJuIG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+Pih1bmRlZmluZWQsIHNlcnZpY2VUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSA9IGFueSwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3Ncbikge1xuICAgIHJldHVybiBuZXcgTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzcz4odHlwZSwgc2VydmljZVR5cGUgYXMgU2VydmljZUNsYXNzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cERhdGFQcm92aWRlckZyb21Nb2RlbDxNb2RlbCwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsLCBNb2RlbENsYXNzID0gQ2xhc3NUeXBlPE1vZGVsPj4oXG4gICAgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxNb2RlbCwgTW9kZWxDbGFzcz4sXG4gICAgb3B0cz86IExvb2t1cERhdGFQcm92aWRlckNyZWF0ZU9wdHNUeXBlPE1vZGVsLCBTb3J0cywgRmlsdGVycz5cbik6IExvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgU29ydHMsIEZpbHRlcnMsIE1vZGVsQ2xhc3MsIHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyRnJvbU1vZGVsPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2UgPSBhbnksIE1vZGVsQ2xhc3MgPSBDbGFzc1R5cGU8TW9kZWw+PihcbiAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsLCBNb2RlbENsYXNzPixcbiAgICBTZXJ2aWNlQ2xhc3M6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgb3B0cz86IExvb2t1cERhdGFQcm92aWRlckNyZWF0ZU9wdHNUeXBlPE1vZGVsLCBTb3J0cywgRmlsdGVycz5cbik6IExvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PjtcbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBEYXRhUHJvdmlkZXJGcm9tTW9kZWw8XG4gICAgTW9kZWwsXG4gICAgU2VydmljZSA9IGFueSxcbiAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCxcbiAgICBNb2RlbENsYXNzID0gQ2xhc3NUeXBlPE1vZGVsPixcbiAgICBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuPihtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsLCBNb2RlbENsYXNzPiwgc2VydmljZVR5cGVPck9wdHM/OiBTZXJ2aWNlQ2xhc3MsIG9wdHM/OiBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBzZXJ2aWNlVHlwZU9yT3B0cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4oXG4gICAgICAgICAgICAgIG1vZGVsLnR5cGUgYXMgQ2xhc3NUeXBlPE1vZGVsPixcbiAgICAgICAgICAgICAgc2VydmljZVR5cGVPck9wdHMgYXMgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuICAgICAgICAgIClcbiAgICAgICAgOiBuZXcgTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgdW5kZWZpbmVkPihtb2RlbC50eXBlIGFzIENsYXNzVHlwZTxNb2RlbD4sIHVuZGVmaW5lZCk7XG59XG4iXX0=
2
+ /**
3
+ * Creates and returns an instance of `LookupDataProviderInst` with the specified options for managing lookup data.
4
+ *
5
+ * @param {Object} [opts] - The options object to configure the data provider.
6
+ * @param {TypeDescriptor<Model> | ModelDescriptor<Model>} [opts.type] - The descriptor defining the type of model.
7
+ * @param {ServiceClassType<Service>} [opts.service] - The service class type associated with the data provider.
8
+ * @param {TypeDescriptor<CreateModel> | ModelDescriptor<CreateModel>} [opts.filtersType] - The descriptor defining the filters type.
9
+ * @param {TypeDescriptor<UpdateModel> | ModelDescriptor<UpdateModel>} [opts.sortsType] - The descriptor defining the sorts type.
10
+ * @return {LookupDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>} An instance of `LookupDataProviderInst` configured according to the provided options.
11
+ */
12
+ export function lookupDataProvider(opts) {
13
+ return new LookupDataProviderInst(opts?.service);
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Zvcm0vYXBpL3NyYy9kYXRhLXByb3ZpZGVycy9sb29rdXAtZGF0YS1wcm92aWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTlEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FNaEMsSUFLRDtJQUNHLE9BQU8sSUFBSSxzQkFBc0IsQ0FBK0MsSUFBSSxFQUFFLE9BQXVCLENBQUMsQ0FBQztBQUNuSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3IsIFR5cGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtMb29rdXBEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICcuL2xvb2t1cC5kYXRhLXByb3ZpZGVyJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCByZXR1cm5zIGFuIGluc3RhbmNlIG9mIGBMb29rdXBEYXRhUHJvdmlkZXJJbnN0YCB3aXRoIHRoZSBzcGVjaWZpZWQgb3B0aW9ucyBmb3IgbWFuYWdpbmcgbG9va3VwIGRhdGEuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIFRoZSBvcHRpb25zIG9iamVjdCB0byBjb25maWd1cmUgdGhlIGRhdGEgcHJvdmlkZXIuXG4gKiBAcGFyYW0ge1R5cGVEZXNjcmlwdG9yPE1vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxNb2RlbD59IFtvcHRzLnR5cGVdIC0gVGhlIGRlc2NyaXB0b3IgZGVmaW5pbmcgdGhlIHR5cGUgb2YgbW9kZWwuXG4gKiBAcGFyYW0ge1NlcnZpY2VDbGFzc1R5cGU8U2VydmljZT59IFtvcHRzLnNlcnZpY2VdIC0gVGhlIHNlcnZpY2UgY2xhc3MgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgcHJvdmlkZXIuXG4gKiBAcGFyYW0ge1R5cGVEZXNjcmlwdG9yPENyZWF0ZU1vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxDcmVhdGVNb2RlbD59IFtvcHRzLmZpbHRlcnNUeXBlXSAtIFRoZSBkZXNjcmlwdG9yIGRlZmluaW5nIHRoZSBmaWx0ZXJzIHR5cGUuXG4gKiBAcGFyYW0ge1R5cGVEZXNjcmlwdG9yPFVwZGF0ZU1vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxVcGRhdGVNb2RlbD59IFtvcHRzLnNvcnRzVHlwZV0gLSBUaGUgZGVzY3JpcHRvciBkZWZpbmluZyB0aGUgc29ydHMgdHlwZS5cbiAqIEByZXR1cm4ge0xvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBTZXJ2aWNlQ2xhc3M+fSBBbiBpbnN0YW5jZSBvZiBgTG9va3VwRGF0YVByb3ZpZGVySW5zdGAgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBEYXRhUHJvdmlkZXI8XG4gICAgTW9kZWwsXG4gICAgU2VydmljZSA9IGFueSxcbiAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCxcbiAgICBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlIGV4dGVuZHMgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuPihvcHRzPzoge1xuICAgIHR5cGU/OiBUeXBlRGVzY3JpcHRvcjxNb2RlbD4gfCBNb2RlbERlc2NyaXB0b3I8TW9kZWw+O1xuICAgIHNlcnZpY2U/OiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+O1xuICAgIGZpbHRlcnNUeXBlPzogVHlwZURlc2NyaXB0b3I8RmlsdGVycz4gfCBNb2RlbERlc2NyaXB0b3I8RmlsdGVycz47XG4gICAgc29ydHNUeXBlPzogVHlwZURlc2NyaXB0b3I8U29ydHM+IHwgTW9kZWxEZXNjcmlwdG9yPFNvcnRzPjtcbn0pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzPiB7XG4gICAgcmV0dXJuIG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzPihvcHRzPy5zZXJ2aWNlIGFzIFNlcnZpY2VDbGFzcyk7XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { DataProviderInst } from '@mediusinc/mng-commons/core';
2
2
  export class LookupDataProviderInst extends DataProviderInst {
3
- constructor(type, serviceType) {
4
- super(type, serviceType);
3
+ constructor(serviceType) {
4
+ super(serviceType);
5
5
  this._lookup = () => [];
6
6
  }
7
7
  get lookup() {
@@ -12,4 +12,4 @@ export class LookupDataProviderInst extends DataProviderInst {
12
12
  return this;
13
13
  }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9mb3JtL2FwaS9zcmMvZGF0YS1wcm92aWRlcnMvbG9va3VwLmRhdGEtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGdCQUFnQixFQUEyRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJKLE1BQU0sT0FBTyxzQkFRVCxTQUFRLGdCQUEwRDtJQUtsRSxZQUFtQixJQUFnQixFQUFFLFdBQXlCO1FBQzFELEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIbkIsWUFBTyxHQUFtRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFJN0YsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQWtFO1FBQ3pFLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NPcHRUeXBlLCBEYXRhUHJvdmlkZXJJbnN0LCBJTG9va3VwRGF0YVByb3ZpZGVyLCBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGUsIFNlcnZpY2VDbGFzc09wdFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgU2VydmljZSA9IGFueSxcbiAgICAgICAgU29ydHMgPSBrZXlvZiBNb2RlbCxcbiAgICAgICAgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsLFxuICAgICAgICBNb2RlbENsYXNzID0gQ2xhc3NPcHRUeXBlPE1vZGVsPixcbiAgICAgICAgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzT3B0VHlwZTxTZXJ2aWNlPlxuICAgID5cbiAgICBleHRlbmRzIERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzcz5cbiAgICBpbXBsZW1lbnRzIElMb29rdXBEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3M+XG57XG4gICAgcHJvdGVjdGVkIF9sb29rdXA6IExvb2t1cERhdGFQcm92aWRlckxvb2t1cEZuVHlwZTxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+ID0gKCkgPT4gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IodHlwZTogTW9kZWxDbGFzcywgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzcykge1xuICAgICAgICBzdXBlcih0eXBlLCBzZXJ2aWNlVHlwZSk7XG4gICAgfVxuXG4gICAgZ2V0IGxvb2t1cCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cDtcbiAgICB9XG5cbiAgICB3aXRoTG9va3VwKGZuOiBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGU8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPik6IHRoaXMge1xuICAgICAgICB0aGlzLl9sb29rdXAgPSBmbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9mb3JtL2FwaS9zcmMvZGF0YS1wcm92aWRlcnMvbG9va3VwLmRhdGEtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUEyRSxNQUFNLDZCQUE2QixDQUFDO0FBRXZJLE1BQU0sT0FBTyxzQkFDVCxTQUFRLGdCQUE4QztJQUt0RCxZQUFtQixXQUF5QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFIYixZQUFPLEdBQW1FLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUk3RixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBa0U7UUFDekUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhUHJvdmlkZXJJbnN0LCBJTG9va3VwRGF0YVByb3ZpZGVyLCBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGUsIFNlcnZpY2VDbGFzc09wdFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc09wdFR5cGU8U2VydmljZT4+XG4gICAgZXh0ZW5kcyBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTZXJ2aWNlQ2xhc3M+XG4gICAgaW1wbGVtZW50cyBJTG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzPlxue1xuICAgIHByb3RlY3RlZCBfbG9va3VwOiBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGU8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPiA9ICgpID0+IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICAgICAgc3VwZXIoc2VydmljZVR5cGUpO1xuICAgIH1cblxuICAgIGdldCBsb29rdXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb29rdXA7XG4gICAgfVxuXG4gICAgd2l0aExvb2t1cChmbjogTG9va3VwRGF0YVByb3ZpZGVyTG9va3VwRm5UeXBlPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwID0gZm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { DataProviderInst } from '@mediusinc/mng-commons/core';
2
+ export function dataProviderFromClass(type, serviceType) {
3
+ return new DataProviderInst(serviceType);
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mcm9tLWNsYXNzLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGVsL2NsYXNzL3NyYy9kYXRhLXByb3ZpZGVycy9iYXNlLWZyb20tY2xhc3MtZGF0YS1wcm92aWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxnQkFBZ0IsRUFBbUIsTUFBTSw2QkFBNkIsQ0FBQztBQU8xRixNQUFNLFVBQVUscUJBQXFCLENBQWlFLElBQXNCLEVBQUUsV0FBMEI7SUFDcEosT0FBTyxJQUFJLGdCQUFnQixDQUErQixXQUEyQixDQUFDLENBQUM7QUFDM0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBEYXRhUHJvdmlkZXJJbnN0LCBTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsPih0eXBlOiBDbGFzc1R5cGU8TW9kZWw+KTogRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSA9IGFueT4oXG4gICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICBTZXJ2aWNlQ2xhc3M6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSA9IGFueSwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNlcnZpY2VDbGFzcz4oc2VydmljZVR5cGUgYXMgU2VydmljZUNsYXNzKTtcbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { findReflectTypeName } from '@mediusinc/mng-commons/core';
2
+ import { ModelDescriptor } from '@mediusinc/mng-commons/model';
3
+ import { findClassIdAttribute, findClassTitleAttribute } from '../helpers/model';
4
+ export class ModelClassDescriptor extends ModelDescriptor {
5
+ constructor(_type, idProperty, titleProperty, i18nBaseKey) {
6
+ super(idProperty, titleProperty, i18nBaseKey);
7
+ this._classType = _type;
8
+ }
9
+ get classType() {
10
+ return this._classType;
11
+ }
12
+ copy() {
13
+ return new ModelClassDescriptor(this._classType, this._idProperty, this._titleProperty, this._i18nBaseKey);
14
+ }
15
+ }
16
+ export function modelClass(type, opts) {
17
+ let idProperty = opts?.id;
18
+ if (!idProperty && type) {
19
+ idProperty = findClassIdAttribute(type) ?? undefined;
20
+ }
21
+ let titleProp = opts?.title;
22
+ if (!titleProp && type) {
23
+ titleProp = findClassTitleAttribute(type) ?? undefined;
24
+ }
25
+ const i18nBaseKey = opts?.i18nBase != null ? (typeof opts?.i18nBase === 'string' ? opts.i18nBase : findReflectTypeName(opts.i18nBase)) : findReflectTypeName(type);
26
+ return new ModelClassDescriptor(type, idProperty, titleProp, i18nBaseKey ?? undefined);
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY2xhc3MuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGVsL2NsYXNzL3NyYy9kZXNjcmlwdG9ycy9tb2RlbC1jbGFzcy5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsbUJBQW1CLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RixPQUFPLEVBQUMsZUFBZSxFQUE0QixNQUFNLDhCQUE4QixDQUFDO0FBRXhGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRS9FLE1BQU0sT0FBTyxvQkFBNEIsU0FBUSxlQUFzQjtJQUduRSxZQUFtQixLQUF1QixFQUFFLFVBQW1CLEVBQUUsYUFBa0QsRUFBRSxXQUFvQjtRQUNySSxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRWUsSUFBSTtRQUNoQixPQUFPLElBQUksb0JBQW9CLENBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RILENBQUM7Q0FDSjtBQU1ELE1BQU0sVUFBVSxVQUFVLENBQVEsSUFBc0IsRUFBRSxJQUE0QztJQUNsRyxJQUFJLFVBQVUsR0FBRyxJQUFJLEVBQUUsRUFBd0IsQ0FBQztJQUNoRCxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3RCLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxJQUFtQyxDQUFDLElBQUksU0FBUyxDQUFDO0lBQ3hGLENBQUM7SUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLEVBQUUsS0FBdUQsQ0FBQztJQUM5RSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQyxJQUFtQyxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzFGLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FDYixJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBd0IsQ0FBQyxDQUFDO0lBQ3ZLLE9BQU8sSUFBSSxvQkFBb0IsQ0FBUSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxXQUFXLElBQUksU0FBUyxDQUFDLENBQUM7QUFDbEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBJTW9kZWxEZXNjcmlwdG9yLCBmaW5kUmVmbGVjdFR5cGVOYW1lfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3IsIE1vZGVsRGVzY3JpcHRvckNyZWF0ZU9wdHN9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG5pbXBvcnQge2ZpbmRDbGFzc0lkQXR0cmlidXRlLCBmaW5kQ2xhc3NUaXRsZUF0dHJpYnV0ZX0gZnJvbSAnLi4vaGVscGVycy9tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBNb2RlbENsYXNzRGVzY3JpcHRvcjxNb2RlbD4gZXh0ZW5kcyBNb2RlbERlc2NyaXB0b3I8TW9kZWw+IGltcGxlbWVudHMgSU1vZGVsRGVzY3JpcHRvcjxNb2RlbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NsYXNzVHlwZTogQ2xhc3NUeXBlPE1vZGVsPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihfdHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgaWRQcm9wZXJ0eT86IHN0cmluZywgdGl0bGVQcm9wZXJ0eT86IHN0cmluZyB8ICgoaXRlbTogTW9kZWwpID0+IHN0cmluZyksIGkxOG5CYXNlS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKGlkUHJvcGVydHksIHRpdGxlUHJvcGVydHksIGkxOG5CYXNlS2V5KTtcbiAgICAgICAgdGhpcy5fY2xhc3NUeXBlID0gX3R5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjbGFzc1R5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGFzc1R5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvcHkoKTogTW9kZWxDbGFzc0Rlc2NyaXB0b3I8TW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBNb2RlbENsYXNzRGVzY3JpcHRvcjxNb2RlbD4odGhpcy5fY2xhc3NUeXBlLCB0aGlzLl9pZFByb3BlcnR5LCB0aGlzLl90aXRsZVByb3BlcnR5LCB0aGlzLl9pMThuQmFzZUtleSk7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBNb2RlbENsYXNzRGVzY3JpcHRvckNyZWF0ZU9wdHM8TW9kZWw+ID0gT21pdDxNb2RlbERlc2NyaXB0b3JDcmVhdGVPcHRzPE1vZGVsPiwgJ2kxOG5CYXNlJz4gJiB7XG4gICAgaTE4bkJhc2U/OiBzdHJpbmcgfCBDbGFzc1R5cGU8dW5rbm93bj47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxDbGFzczxNb2RlbD4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgb3B0cz86IE1vZGVsQ2xhc3NEZXNjcmlwdG9yQ3JlYXRlT3B0czxNb2RlbD4pOiBNb2RlbENsYXNzRGVzY3JpcHRvcjxNb2RlbD4ge1xuICAgIGxldCBpZFByb3BlcnR5ID0gb3B0cz8uaWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghaWRQcm9wZXJ0eSAmJiB0eXBlKSB7XG4gICAgICAgIGlkUHJvcGVydHkgPSBmaW5kQ2xhc3NJZEF0dHJpYnV0ZSh0eXBlIGFzIHVua25vd24gYXMgQ2xhc3NUeXBlPE1vZGVsPikgPz8gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBsZXQgdGl0bGVQcm9wID0gb3B0cz8udGl0bGUgYXMgc3RyaW5nIHwgKChpdGVtOiBNb2RlbCkgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXRpdGxlUHJvcCAmJiB0eXBlKSB7XG4gICAgICAgIHRpdGxlUHJvcCA9IGZpbmRDbGFzc1RpdGxlQXR0cmlidXRlKHR5cGUgYXMgdW5rbm93biBhcyBDbGFzc1R5cGU8TW9kZWw+KSA/PyB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGkxOG5CYXNlS2V5ID1cbiAgICAgICAgb3B0cz8uaTE4bkJhc2UgIT0gbnVsbCA/ICh0eXBlb2Ygb3B0cz8uaTE4bkJhc2UgPT09ICdzdHJpbmcnID8gb3B0cy5pMThuQmFzZSA6IGZpbmRSZWZsZWN0VHlwZU5hbWUob3B0cy5pMThuQmFzZSkpIDogZmluZFJlZmxlY3RUeXBlTmFtZSh0eXBlIGFzIENsYXNzVHlwZTxNb2RlbD4pO1xuICAgIHJldHVybiBuZXcgTW9kZWxDbGFzc0Rlc2NyaXB0b3I8TW9kZWw+KHR5cGUsIGlkUHJvcGVydHksIHRpdGxlUHJvcCwgaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKTtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { TypeDescriptor } from '@mediusinc/mng-commons/model';
2
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3
+ export function typeFromClass(type) {
4
+ return new TypeDescriptor();
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jbGFzcy5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kZWwvY2xhc3Mvc3JjL2Rlc2NyaXB0b3JzL3R5cGUtY2xhc3MuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsNkRBQTZEO0FBQzdELE1BQU0sVUFBVSxhQUFhLENBQU8sSUFBcUI7SUFDckQsT0FBTyxJQUFJLGNBQWMsRUFBUSxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7VHlwZURlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5leHBvcnQgZnVuY3Rpb24gdHlwZUZyb21DbGFzczxUeXBlPih0eXBlOiBDbGFzc1R5cGU8VHlwZT4pOiBUeXBlRGVzY3JpcHRvcjxUeXBlPiB7XG4gICAgcmV0dXJuIG5ldyBUeXBlRGVzY3JpcHRvcjxUeXBlPigpO1xufVxuIl19
@@ -0,0 +1,53 @@
1
+ import { TypeRegistry } from '@mediusinc/mng-commons/core';
2
+ export function findClassIdAttribute(classType) {
3
+ if (!classType)
4
+ return null;
5
+ const attrDef = getClassAttributeDef(classType);
6
+ if (!attrDef) {
7
+ return null;
8
+ }
9
+ let idAttribute = findAttributeByTypeAndName(attrDef, ['string', 'number'], 'id', 'uuid', 'code', 'sifra');
10
+ if (!idAttribute) {
11
+ // if no id or code, take the first attribute
12
+ idAttribute = attrDef[0];
13
+ }
14
+ return idAttribute?.name ?? null;
15
+ }
16
+ export function findClassTitleAttribute(classType) {
17
+ if (!classType)
18
+ return null;
19
+ const attrDef = getClassAttributeDef(classType);
20
+ if (!attrDef) {
21
+ return null;
22
+ }
23
+ let titleAttribute = findAttributeByTypeAndName(attrDef, ['string'], 'name', 'ime', 'title', 'naziv');
24
+ if (!titleAttribute) {
25
+ // if no name or title, take the first attribute
26
+ titleAttribute = attrDef[0];
27
+ }
28
+ return titleAttribute?.name ?? null;
29
+ }
30
+ export function getClassAttributeDef(classType) {
31
+ if (!classType)
32
+ return null;
33
+ const attrDefByFn = classType.getAttributeTypeMap?.();
34
+ if (attrDefByFn)
35
+ return attrDefByFn;
36
+ const attrDefByProp = classType.attributeTypeMap;
37
+ if (attrDefByProp)
38
+ return attrDefByProp;
39
+ const attrByObjSer = TypeRegistry.get().findAttributesDefinitionByClassType(classType);
40
+ if (attrByObjSer)
41
+ return attrByObjSer;
42
+ return null;
43
+ }
44
+ function findAttributeByTypeAndName(attributes, types, ...names) {
45
+ for (const name of names) {
46
+ const attribute = attributes.find(a => types.some(t => t === a.type) && a.name === name);
47
+ if (attribute) {
48
+ return attribute;
49
+ }
50
+ }
51
+ return null;
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2RlbC9jbGFzcy9zcmMvaGVscGVycy9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRXZGLE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxTQUF3QjtJQUM1RCxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRTVCLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLFdBQVcsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0csSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2YsNkNBQTZDO1FBQzdDLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sV0FBVyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBSSxTQUF3QjtJQUMvRCxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRTVCLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLGNBQWMsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEIsZ0RBQWdEO1FBQ2hELGNBQWMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sY0FBYyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxTQUF3QjtJQUM1RCxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQzVCLE1BQU0sV0FBVyxHQUFJLFNBQWlCLENBQUMsbUJBQW1CLEVBQUUsRUFBMEMsQ0FBQztJQUN2RyxJQUFJLFdBQVc7UUFBRSxPQUFPLFdBQVcsQ0FBQztJQUNwQyxNQUFNLGFBQWEsR0FBSSxTQUFpQixDQUFDLGdCQUF3RCxDQUFDO0lBQ2xHLElBQUksYUFBYTtRQUFFLE9BQU8sYUFBYSxDQUFDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RixJQUFJLFlBQVk7UUFBRSxPQUFPLFlBQVksQ0FBQztJQUN0QyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxVQUErQixFQUFFLEtBQWUsRUFBRSxHQUFHLEtBQWU7SUFDcEcsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc0F0dHJpYnV0ZURlZiwgQ2xhc3NUeXBlLCBUeXBlUmVnaXN0cnl9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2xhc3NJZEF0dHJpYnV0ZTxUPihjbGFzc1R5cGU/OiBDbGFzc1R5cGU8VD4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIWNsYXNzVHlwZSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBhdHRyRGVmID0gZ2V0Q2xhc3NBdHRyaWJ1dGVEZWYoY2xhc3NUeXBlKTtcbiAgICBpZiAoIWF0dHJEZWYpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGlkQXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZUJ5VHlwZUFuZE5hbWUoYXR0ckRlZiwgWydzdHJpbmcnLCAnbnVtYmVyJ10sICdpZCcsICd1dWlkJywgJ2NvZGUnLCAnc2lmcmEnKTtcbiAgICBpZiAoIWlkQXR0cmlidXRlKSB7XG4gICAgICAgIC8vIGlmIG5vIGlkIG9yIGNvZGUsIHRha2UgdGhlIGZpcnN0IGF0dHJpYnV0ZVxuICAgICAgICBpZEF0dHJpYnV0ZSA9IGF0dHJEZWZbMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIGlkQXR0cmlidXRlPy5uYW1lID8/IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2xhc3NUaXRsZUF0dHJpYnV0ZTxUPihjbGFzc1R5cGU/OiBDbGFzc1R5cGU8VD4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIWNsYXNzVHlwZSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBhdHRyRGVmID0gZ2V0Q2xhc3NBdHRyaWJ1dGVEZWYoY2xhc3NUeXBlKTtcbiAgICBpZiAoIWF0dHJEZWYpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IHRpdGxlQXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZUJ5VHlwZUFuZE5hbWUoYXR0ckRlZiwgWydzdHJpbmcnXSwgJ25hbWUnLCAnaW1lJywgJ3RpdGxlJywgJ25heml2Jyk7XG4gICAgaWYgKCF0aXRsZUF0dHJpYnV0ZSkge1xuICAgICAgICAvLyBpZiBubyBuYW1lIG9yIHRpdGxlLCB0YWtlIHRoZSBmaXJzdCBhdHRyaWJ1dGVcbiAgICAgICAgdGl0bGVBdHRyaWJ1dGUgPSBhdHRyRGVmWzBdO1xuICAgIH1cblxuICAgIHJldHVybiB0aXRsZUF0dHJpYnV0ZT8ubmFtZSA/PyBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NBdHRyaWJ1dGVEZWY8VD4oY2xhc3NUeXBlPzogQ2xhc3NUeXBlPFQ+KSB7XG4gICAgaWYgKCFjbGFzc1R5cGUpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGF0dHJEZWZCeUZuID0gKGNsYXNzVHlwZSBhcyBhbnkpLmdldEF0dHJpYnV0ZVR5cGVNYXA/LigpIGFzIEFycmF5PENsYXNzQXR0cmlidXRlRGVmPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAoYXR0ckRlZkJ5Rm4pIHJldHVybiBhdHRyRGVmQnlGbjtcbiAgICBjb25zdCBhdHRyRGVmQnlQcm9wID0gKGNsYXNzVHlwZSBhcyBhbnkpLmF0dHJpYnV0ZVR5cGVNYXAgYXMgQXJyYXk8Q2xhc3NBdHRyaWJ1dGVEZWY+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChhdHRyRGVmQnlQcm9wKSByZXR1cm4gYXR0ckRlZkJ5UHJvcDtcbiAgICBjb25zdCBhdHRyQnlPYmpTZXIgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZEF0dHJpYnV0ZXNEZWZpbml0aW9uQnlDbGFzc1R5cGUoY2xhc3NUeXBlKTtcbiAgICBpZiAoYXR0ckJ5T2JqU2VyKSByZXR1cm4gYXR0ckJ5T2JqU2VyO1xuICAgIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5kQXR0cmlidXRlQnlUeXBlQW5kTmFtZShhdHRyaWJ1dGVzOiBDbGFzc0F0dHJpYnV0ZURlZltdLCB0eXBlczogc3RyaW5nW10sIC4uLm5hbWVzOiBzdHJpbmdbXSk6IENsYXNzQXR0cmlidXRlRGVmIHwgbnVsbCB7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXMuZmluZChhID0+IHR5cGVzLnNvbWUodCA9PiB0ID09PSBhLnR5cGUpICYmIGEubmFtZSA9PT0gbmFtZSk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ // data providers
2
+ export * from './data-providers/base-from-class-data-provider.factory';
3
+ // descriptors
4
+ export * from './descriptors/model-class.descriptor';
5
+ export * from './descriptors/type-class.descriptor';
6
+ // helpers
7
+ export * from './helpers/model';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2RlbC9jbGFzcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCLGNBQWMsd0RBQXdELENBQUM7QUFFdkUsY0FBYztBQUNkLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxVQUFVO0FBQ1YsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGRhdGEgcHJvdmlkZXJzXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtcHJvdmlkZXJzL2Jhc2UtZnJvbS1jbGFzcy1kYXRhLXByb3ZpZGVyLmZhY3RvcnknO1xuXG4vLyBkZXNjcmlwdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy9tb2RlbC1jbGFzcy5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvdHlwZS1jbGFzcy5kZXNjcmlwdG9yJztcblxuLy8gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL21vZGVsJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLW1vZGVsLWNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvY2xhc3Mvc3JjL21lZGl1c2luYy1tbmctY29tbW9ucy1tb2RlbC1jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,8 +1,13 @@
1
1
  import { DataProviderInst } from '@mediusinc/mng-commons/core';
2
- export function dataProvider(type, serviceType) {
3
- return new DataProviderInst(undefined, serviceType);
2
+ /**
3
+ * Creates and returns an instance of `DataProviderInst` with the specified options for managing editor data.
4
+ *
5
+ * @param {Object} [opts] - The options object to configure the data provider.
6
+ * @param {TypeDescriptor<Model> | ModelDescriptor<Model>} [opts.type] - The descriptor defining the type of model.
7
+ * @param {ServiceClassType<Service>} [opts.service] - The service class type associated with the data provider.
8
+ * @return {DataProviderInst<Model, Service, ServiceClass>} An instance of `EditorDataProviderInst` configured according to the provided options.
9
+ */
10
+ export function dataProvider(opts) {
11
+ return new DataProviderInst(opts?.service);
4
12
  }
5
- export function dataProviderFromModel(model, serviceType) {
6
- return new DataProviderInst(model.type, serviceType);
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mcm9tLXR5cGUtZGF0YS1wcm92aWRlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL2RhdGEtcHJvdmlkZXJzL2Jhc2UtZnJvbS10eXBlLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksZ0JBQWdCLEVBQW1CLE1BQU0sNkJBQTZCLENBQUM7QUFXMUYsTUFBTSxVQUFVLFlBQVksQ0FBaUUsSUFBNEIsRUFBRSxXQUEwQjtJQUNqSixPQUFPLElBQUksZ0JBQWdCLENBQTBDLFNBQVMsRUFBRSxXQUEyQixDQUFDLENBQUM7QUFDakgsQ0FBQztBQU9ELE1BQU0sVUFBVSxxQkFBcUIsQ0FDakMsS0FBeUMsRUFDekMsV0FBMEI7SUFFMUIsT0FBTyxJQUFJLGdCQUFnQixDQUFpRCxLQUFLLENBQUMsSUFBd0IsRUFBRSxXQUEyQixDQUFDLENBQUM7QUFDN0ksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBEYXRhUHJvdmlkZXJJbnN0LCBTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge01vZGVsRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvbW9kZWwuZGVzY3JpcHRvcic7XG5pbXBvcnQge1R5cGVEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycy90eXBlLmRlc2NyaXB0b3InO1xuXG5leHBvcnQgZnVuY3Rpb24gZGF0YVByb3ZpZGVyPE1vZGVsPigpOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiBkYXRhUHJvdmlkZXI8TW9kZWw+KHR5cGU6IFR5cGVEZXNjcmlwdG9yPE1vZGVsPik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZSA9IGFueT4oXG4gICAgdHlwZTogVHlwZURlc2NyaXB0b3I8TW9kZWw+LFxuICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4pOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZSA9IGFueSwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4odHlwZT86IFR5cGVEZXNjcmlwdG9yPE1vZGVsPiwgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzPih1bmRlZmluZWQsIHNlcnZpY2VUeXBlIGFzIFNlcnZpY2VDbGFzcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhUHJvdmlkZXJGcm9tTW9kZWw8TW9kZWwsIE1vZGVsQ2xhc3MgPSBDbGFzc1R5cGU8TW9kZWw+Pihtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsLCBNb2RlbENsYXNzPik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgTW9kZWxDbGFzcywgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiBkYXRhUHJvdmlkZXJGcm9tTW9kZWw8TW9kZWwsIFNlcnZpY2UgPSBhbnksIE1vZGVsQ2xhc3MgPSBDbGFzc1R5cGU8TW9kZWw+PihcbiAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsLCBNb2RlbENsYXNzPixcbiAgICBTZXJ2aWNlQ2xhc3M6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIE1vZGVsQ2xhc3MsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckZyb21Nb2RlbDxNb2RlbCwgU2VydmljZSA9IGFueSwgTW9kZWxDbGFzcyA9IENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8TW9kZWwsIE1vZGVsQ2xhc3M+LFxuICAgIHNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzXG4pIHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzcz4obW9kZWwudHlwZSBhcyBDbGFzc1R5cGU8TW9kZWw+LCBzZXJ2aWNlVHlwZSBhcyBTZXJ2aWNlQ2xhc3MpO1xufVxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mcm9tLXR5cGUtZGF0YS1wcm92aWRlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL2RhdGEtcHJvdmlkZXJzL2Jhc2UtZnJvbS10eXBlLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQW1CLE1BQU0sNkJBQTZCLENBQUM7QUFLL0U7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQStHLElBRzFJO0lBQ0csT0FBTyxJQUFJLGdCQUFnQixDQUErQixJQUFJLEVBQUUsT0FBdUIsQ0FBQyxDQUFDO0FBQzdGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFQcm92aWRlckluc3QsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7TW9kZWxEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycy9tb2RlbC5kZXNjcmlwdG9yJztcbmltcG9ydCB7VHlwZURlc2NyaXB0b3J9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGUuZGVzY3JpcHRvcic7XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgcmV0dXJucyBhbiBpbnN0YW5jZSBvZiBgRGF0YVByb3ZpZGVySW5zdGAgd2l0aCB0aGUgc3BlY2lmaWVkIG9wdGlvbnMgZm9yIG1hbmFnaW5nIGVkaXRvciBkYXRhLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBUaGUgb3B0aW9ucyBvYmplY3QgdG8gY29uZmlndXJlIHRoZSBkYXRhIHByb3ZpZGVyLlxuICogQHBhcmFtIHtUeXBlRGVzY3JpcHRvcjxNb2RlbD4gfCBNb2RlbERlc2NyaXB0b3I8TW9kZWw+fSBbb3B0cy50eXBlXSAtIFRoZSBkZXNjcmlwdG9yIGRlZmluaW5nIHRoZSB0eXBlIG9mIG1vZGVsLlxuICogQHBhcmFtIHtTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+fSBbb3B0cy5zZXJ2aWNlXSAtIFRoZSBzZXJ2aWNlIGNsYXNzIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHByb3ZpZGVyLlxuICogQHJldHVybiB7RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU2VydmljZUNsYXNzPn0gQW4gaW5zdGFuY2Ugb2YgYEVkaXRvckRhdGFQcm92aWRlckluc3RgIGNvbmZpZ3VyZWQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBvcHRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlID0gdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlIGV4dGVuZHMgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4ob3B0cz86IHtcbiAgICB0eXBlPzogVHlwZURlc2NyaXB0b3I8TW9kZWw+IHwgTW9kZWxEZXNjcmlwdG9yPE1vZGVsPjtcbiAgICBzZXJ2aWNlPzogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPjtcbn0pOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTZXJ2aWNlQ2xhc3M+IHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNlcnZpY2VDbGFzcz4ob3B0cz8uc2VydmljZSBhcyBTZXJ2aWNlQ2xhc3MpO1xufVxuIl19