@messaia/cdk 18.2.3 → 19.0.0-rc01

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 (659) hide show
  1. package/fesm2022/messaia-cdk.mjs +1147 -932
  2. package/fesm2022/messaia-cdk.mjs.map +1 -1
  3. package/lib/base/components/base.component.d.ts +1 -1
  4. package/lib/base/components/generic-embedded-list.component.d.ts +1 -1
  5. package/lib/base/components/generic-form-base.component.d.ts +1 -1
  6. package/lib/base/components/generic-form.component.d.ts +1 -1
  7. package/lib/base/components/generic-list.component.d.ts +7 -3
  8. package/lib/base/components/generic-reactive-form.component.d.ts +1 -1
  9. package/lib/base/helpers/auth-helper.d.ts +1 -1
  10. package/lib/chips/components/chips.component.d.ts +5 -16
  11. package/lib/common/functions/utils.d.ts +1 -1
  12. package/lib/common/helpers/app-storage.d.ts +1 -1
  13. package/lib/common/styles/_layout.scss +1 -1
  14. package/lib/common/styles/_variables.scss +4 -25
  15. package/lib/common/styles/colors/_colors-dark.scss +2 -0
  16. package/lib/common/styles/colors/_colors.scss +4 -4
  17. package/lib/common/styles/core/_button.scss +7 -21
  18. package/lib/common/styles/core/_card.scss +13 -97
  19. package/lib/common/styles/core/_core.scss +8 -21
  20. package/lib/common/styles/core/_sidenav.scss +9 -7
  21. package/lib/common/styles/core/_structure.scss +4 -11
  22. package/lib/common/styles/font/_font.scss +5 -13
  23. package/lib/common/styles/m2/_common-theme.scss +10 -10
  24. package/lib/common/styles/m3/_common-theme.scss +27 -10
  25. package/lib/common/styles/platform.scss +10 -8
  26. package/lib/common/styles/utilities/_general.scss +55 -51
  27. package/lib/common/styles/utilities/_pull.scss +23 -30
  28. package/lib/common/styles/utilities/_push.scss +23 -30
  29. package/lib/common/styles/utilities/_size.scss +3 -3
  30. package/lib/common/styles/utilities/_utilities.scss +14 -14
  31. package/lib/common/theming/_m2-all-theme.scss +4 -11
  32. package/lib/common/theming/_m3-all-theme.scss +18 -0
  33. package/lib/form-validators/directives/base-directive.d.ts +1 -1
  34. package/lib/form-validators/directives/template-validations/base-validator.directive.d.ts +1 -1
  35. package/lib/form-validators/directives/template-validations/control-expression-process.d.ts +1 -1
  36. package/lib/form-validators/services/rx-form-array.d.ts +2 -2
  37. package/lib/form-validators/util/reset-form.d.ts +3 -3
  38. package/lib/forms/directives/mat-form-field-editor.directive.d.ts +31 -28
  39. package/lib/forms/helpers/abstract-mat-form-field.d.ts +147 -91
  40. package/lib/forms/helpers/abstract-select-form-field.component.d.ts +144 -67
  41. package/lib/forms/helpers/value-accessor-base.d.ts +1 -1
  42. package/lib/layout/_m2-layout-theme.scss +14 -50
  43. package/lib/layout/layout-toggle.class.d.ts +1 -1
  44. package/lib/list/components/list.component.d.ts +3 -15
  45. package/lib/select/components/select.component.d.ts +3 -16
  46. package/lib/table/components/filter-select/filter-select.component.d.ts +2 -3
  47. package/package.json +3 -5
  48. package/esm2022/lib/base/base.module.mjs +0 -114
  49. package/esm2022/lib/base/components/base.component.mjs +0 -904
  50. package/esm2022/lib/base/components/dynamic-table-config-dialog/dynamic-table-config-dialog.comnponent.mjs +0 -123
  51. package/esm2022/lib/base/components/generic-embedded-list.component.mjs +0 -197
  52. package/esm2022/lib/base/components/generic-form-base.component.mjs +0 -891
  53. package/esm2022/lib/base/components/generic-form.component.mjs +0 -44
  54. package/esm2022/lib/base/components/generic-list.component.mjs +0 -966
  55. package/esm2022/lib/base/components/generic-reactive-form.component.mjs +0 -101
  56. package/esm2022/lib/base/components/task-dialog/task-dialog.component.mjs +0 -147
  57. package/esm2022/lib/base/constants/common.mjs +0 -92
  58. package/esm2022/lib/base/constants/global-roles.mjs +0 -9
  59. package/esm2022/lib/base/enums/message-type.mjs +0 -7
  60. package/esm2022/lib/base/helpers/auth-helper.mjs +0 -53
  61. package/esm2022/lib/base/interceptors/base.interceptor.mjs +0 -168
  62. package/esm2022/lib/base/interceptors/caching-interceptor.mjs +0 -67
  63. package/esm2022/lib/base/interceptors/loading.interceptor.mjs +0 -64
  64. package/esm2022/lib/base/interfaces/ibase-component.mjs +0 -2
  65. package/esm2022/lib/base/interfaces/igeneric-form-base.mjs +0 -2
  66. package/esm2022/lib/base/interfaces/igeneric-list-component.mjs +0 -2
  67. package/esm2022/lib/base/interfaces/igeneric-reactive-form-base.mjs +0 -2
  68. package/esm2022/lib/base/models/auth-user.mjs +0 -18
  69. package/esm2022/lib/base/models/task-dialog-data.mjs +0 -85
  70. package/esm2022/lib/base/public_api.mjs +0 -2
  71. package/esm2022/lib/base/services/file.service.mjs +0 -18
  72. package/esm2022/lib/base/services/loading-screen.service.mjs +0 -45
  73. package/esm2022/lib/base/services/print.service.mjs +0 -41
  74. package/esm2022/lib/chips/chips.module.mjs +0 -77
  75. package/esm2022/lib/chips/components/chips.component.mjs +0 -702
  76. package/esm2022/lib/chips/directives/autocomplete-option.directive.mjs +0 -18
  77. package/esm2022/lib/chips/directives/chip.directive.mjs +0 -18
  78. package/esm2022/lib/chips/public_api.mjs +0 -3
  79. package/esm2022/lib/common/animations/collapse/collapse.animation.mjs +0 -33
  80. package/esm2022/lib/common/animations/common/interfaces.mjs +0 -2
  81. package/esm2022/lib/common/behaviors/constructor.mjs +0 -2
  82. package/esm2022/lib/common/behaviors/control-value-accesor.mixin.mjs +0 -41
  83. package/esm2022/lib/common/behaviors/disabled.mixin.mjs +0 -24
  84. package/esm2022/lib/common/common.module.mjs +0 -176
  85. package/esm2022/lib/common/constants/constants.mjs +0 -3
  86. package/esm2022/lib/common/directives/autofocus.directive.mjs +0 -62
  87. package/esm2022/lib/common/directives/delayed-hover.directive.mjs +0 -133
  88. package/esm2022/lib/common/directives/disable-control.directive.mjs +0 -35
  89. package/esm2022/lib/common/enums/app-event-type.mjs +0 -6
  90. package/esm2022/lib/common/enums/filter-glue.mjs +0 -16
  91. package/esm2022/lib/common/enums/filter-operator.mjs +0 -15
  92. package/esm2022/lib/common/enums/salutation.mjs +0 -7
  93. package/esm2022/lib/common/functions/decorators.mjs +0 -22
  94. package/esm2022/lib/common/functions/functions.mjs +0 -22
  95. package/esm2022/lib/common/functions/utils.mjs +0 -271
  96. package/esm2022/lib/common/helpers/app-storage.mjs +0 -77
  97. package/esm2022/lib/common/helpers/delegate.mjs +0 -2
  98. package/esm2022/lib/common/helpers/dynamic-builder.mjs +0 -52
  99. package/esm2022/lib/common/helpers/dynamic-component-compiler.mjs +0 -11
  100. package/esm2022/lib/common/models/action-item.mjs +0 -77
  101. package/esm2022/lib/common/models/app-event.mjs +0 -21
  102. package/esm2022/lib/common/models/app-setting.mjs +0 -92
  103. package/esm2022/lib/common/models/audit-entity.mjs +0 -53
  104. package/esm2022/lib/common/models/audit-user.mjs +0 -24
  105. package/esm2022/lib/common/models/base-entity.mjs +0 -40
  106. package/esm2022/lib/common/models/common-error.mjs +0 -29
  107. package/esm2022/lib/common/models/common-handler-context.mjs +0 -45
  108. package/esm2022/lib/common/models/displayname-number-projection.mjs +0 -56
  109. package/esm2022/lib/common/models/displayname-projection.mjs +0 -38
  110. package/esm2022/lib/common/models/entity.mjs +0 -2
  111. package/esm2022/lib/common/models/enum-item.mjs +0 -2
  112. package/esm2022/lib/common/models/enum-metadata.mjs +0 -44
  113. package/esm2022/lib/common/models/filter-field.mjs +0 -2
  114. package/esm2022/lib/common/models/filter.mjs +0 -2
  115. package/esm2022/lib/common/models/icommon-handler-context.mjs +0 -2
  116. package/esm2022/lib/common/models/icon.mjs +0 -42
  117. package/esm2022/lib/common/models/key-value.mjs +0 -11
  118. package/esm2022/lib/common/models/modifiable-entity.mjs +0 -22
  119. package/esm2022/lib/common/models/name-number-projection.mjs +0 -35
  120. package/esm2022/lib/common/models/name-projection.mjs +0 -25
  121. package/esm2022/lib/common/models/permission.mjs +0 -29
  122. package/esm2022/lib/common/models/save-action.mjs +0 -7
  123. package/esm2022/lib/common/models/suffix-button.mjs +0 -15
  124. package/esm2022/lib/common/models/title-projection.mjs +0 -25
  125. package/esm2022/lib/common/pipes/bind.mjs +0 -31
  126. package/esm2022/lib/common/pipes/data-source.pipe.mjs +0 -15
  127. package/esm2022/lib/common/pipes/enum.pipe.mjs +0 -41
  128. package/esm2022/lib/common/pipes/file-size.pipe.mjs +0 -35
  129. package/esm2022/lib/common/pipes/filter.pipe.mjs +0 -54
  130. package/esm2022/lib/common/pipes/first-letter.mjs +0 -24
  131. package/esm2022/lib/common/pipes/form-array.pipe.mjs +0 -14
  132. package/esm2022/lib/common/pipes/form-control.pipe.mjs +0 -14
  133. package/esm2022/lib/common/pipes/form-group.pipe.mjs +0 -14
  134. package/esm2022/lib/common/pipes/func.pipe.mjs +0 -14
  135. package/esm2022/lib/common/pipes/join.pipe.mjs +0 -26
  136. package/esm2022/lib/common/pipes/keys.mjs +0 -18
  137. package/esm2022/lib/common/pipes/map.pipe.mjs +0 -48
  138. package/esm2022/lib/common/pipes/month-name.pipe.mjs +0 -25
  139. package/esm2022/lib/common/pipes/nested-property.mjs +0 -29
  140. package/esm2022/lib/common/pipes/only-number.mjs +0 -58
  141. package/esm2022/lib/common/pipes/order.pipe.mjs +0 -269
  142. package/esm2022/lib/common/pipes/placeholder.pipe.mjs +0 -26
  143. package/esm2022/lib/common/pipes/property-join.pipe.mjs +0 -27
  144. package/esm2022/lib/common/pipes/safe-html.pipe.mjs +0 -32
  145. package/esm2022/lib/common/pipes/split.pipe.mjs +0 -25
  146. package/esm2022/lib/common/pipes/time.pipe.mjs +0 -21
  147. package/esm2022/lib/common/pipes/titlecase.pipe.mjs +0 -14
  148. package/esm2022/lib/common/pipes/truncate.pipe.mjs +0 -15
  149. package/esm2022/lib/common/pipes/values.mjs +0 -14
  150. package/esm2022/lib/common/public_api.mjs +0 -41
  151. package/esm2022/lib/common/services/base.service.mjs +0 -19
  152. package/esm2022/lib/common/services/context-helper.mjs +0 -17
  153. package/esm2022/lib/common/services/enum.service.mjs +0 -81
  154. package/esm2022/lib/common/services/event-queue.service.mjs +0 -31
  155. package/esm2022/lib/common/services/service-locator.mjs +0 -25
  156. package/esm2022/lib/common/templates/templates.mjs +0 -87
  157. package/esm2022/lib/dialogs/alert-dialog/alert-dialog.component.mjs +0 -46
  158. package/esm2022/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -60
  159. package/esm2022/lib/dialogs/dialog.component.mjs +0 -59
  160. package/esm2022/lib/dialogs/dialogs.module.mjs +0 -72
  161. package/esm2022/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -44
  162. package/esm2022/lib/dialogs/public_api.mjs +0 -2
  163. package/esm2022/lib/dialogs/services/dialog.service.mjs +0 -154
  164. package/esm2022/lib/file/file-input.component.mjs +0 -334
  165. package/esm2022/lib/file/file.module.mjs +0 -37
  166. package/esm2022/lib/file/public_api.mjs +0 -2
  167. package/esm2022/lib/form-validators/abstract/typed-form.mjs +0 -13
  168. package/esm2022/lib/form-validators/algorithm/luhn-algorithm.mjs +0 -33
  169. package/esm2022/lib/form-validators/const/app-validators.const.mjs +0 -68
  170. package/esm2022/lib/form-validators/const/app.const.mjs +0 -65
  171. package/esm2022/lib/form-validators/const/config-names.const.mjs +0 -33
  172. package/esm2022/lib/form-validators/const/config-required-fields.const.mjs +0 -35
  173. package/esm2022/lib/form-validators/const/decorators.const.mjs +0 -23
  174. package/esm2022/lib/form-validators/const/events.const.mjs +0 -53
  175. package/esm2022/lib/form-validators/const/html-elements.const.mjs +0 -25
  176. package/esm2022/lib/form-validators/const/iban-country-wise-regex.const.mjs +0 -80
  177. package/esm2022/lib/form-validators/const/index.mjs +0 -6
  178. package/esm2022/lib/form-validators/const/operators.const.mjs +0 -7
  179. package/esm2022/lib/form-validators/const/validation-alphabet-locale.const.mjs +0 -9
  180. package/esm2022/lib/form-validators/const/validator.const.mjs +0 -29
  181. package/esm2022/lib/form-validators/core/annotation-types.mjs +0 -75
  182. package/esm2022/lib/form-validators/core/default-container.mjs +0 -500
  183. package/esm2022/lib/form-validators/decorators/allOf.decorator.mjs +0 -10
  184. package/esm2022/lib/form-validators/decorators/alpha.decorator.mjs +0 -10
  185. package/esm2022/lib/form-validators/decorators/alphaNumeric.decorator.mjs +0 -10
  186. package/esm2022/lib/form-validators/decorators/and.decorator.mjs +0 -6
  187. package/esm2022/lib/form-validators/decorators/ascii.decorator.mjs +0 -6
  188. package/esm2022/lib/form-validators/decorators/async.decorator.mjs +0 -6
  189. package/esm2022/lib/form-validators/decorators/base-decorator.function.mjs +0 -7
  190. package/esm2022/lib/form-validators/decorators/choice.decorator.mjs +0 -10
  191. package/esm2022/lib/form-validators/decorators/compare.decorator.mjs +0 -6
  192. package/esm2022/lib/form-validators/decorators/compose.decorator.mjs +0 -6
  193. package/esm2022/lib/form-validators/decorators/contains.decorator.mjs +0 -10
  194. package/esm2022/lib/form-validators/decorators/credit-card.decorator.mjs +0 -10
  195. package/esm2022/lib/form-validators/decorators/cusip.decorator.mjs +0 -6
  196. package/esm2022/lib/form-validators/decorators/custom.decorator.mjs +0 -10
  197. package/esm2022/lib/form-validators/decorators/dataUri.decorator.mjs +0 -6
  198. package/esm2022/lib/form-validators/decorators/date.decorator.mjs +0 -10
  199. package/esm2022/lib/form-validators/decorators/different.decorator.mjs +0 -6
  200. package/esm2022/lib/form-validators/decorators/digit.decorator.mjs +0 -6
  201. package/esm2022/lib/form-validators/decorators/email.decorator.mjs +0 -6
  202. package/esm2022/lib/form-validators/decorators/endsWith.decorator.mjs +0 -10
  203. package/esm2022/lib/form-validators/decorators/even.decorator.mjs +0 -6
  204. package/esm2022/lib/form-validators/decorators/extension.decorator.mjs +0 -10
  205. package/esm2022/lib/form-validators/decorators/factor.decorator.mjs +0 -10
  206. package/esm2022/lib/form-validators/decorators/file.decorator.mjs +0 -10
  207. package/esm2022/lib/form-validators/decorators/fileSize.decorator.mjs +0 -10
  208. package/esm2022/lib/form-validators/decorators/greater-than-equal-to.decorator.mjs +0 -10
  209. package/esm2022/lib/form-validators/decorators/greater-than.decorator.mjs +0 -10
  210. package/esm2022/lib/form-validators/decorators/grid.decorator.mjs +0 -6
  211. package/esm2022/lib/form-validators/decorators/hexColor.decorator.mjs +0 -6
  212. package/esm2022/lib/form-validators/decorators/image.decorator.mjs +0 -10
  213. package/esm2022/lib/form-validators/decorators/index.mjs +0 -93
  214. package/esm2022/lib/form-validators/decorators/json.decorator.mjs +0 -6
  215. package/esm2022/lib/form-validators/decorators/latLong.decorator.mjs +0 -6
  216. package/esm2022/lib/form-validators/decorators/latitude.decorator.mjs +0 -6
  217. package/esm2022/lib/form-validators/decorators/leapYear.decorator.mjs +0 -6
  218. package/esm2022/lib/form-validators/decorators/less-than-equal-to.decorator.mjs +0 -10
  219. package/esm2022/lib/form-validators/decorators/less-than.decorator.mjs +0 -10
  220. package/esm2022/lib/form-validators/decorators/longitude.decorator.mjs +0 -6
  221. package/esm2022/lib/form-validators/decorators/lowercase.decorator.mjs +0 -6
  222. package/esm2022/lib/form-validators/decorators/mac.decorator.mjs +0 -6
  223. package/esm2022/lib/form-validators/decorators/mask.decorator.mjs +0 -6
  224. package/esm2022/lib/form-validators/decorators/maxDate.decorator.mjs +0 -10
  225. package/esm2022/lib/form-validators/decorators/maxLength.decorator.mjs +0 -10
  226. package/esm2022/lib/form-validators/decorators/maxNumber.decorator.mjs +0 -10
  227. package/esm2022/lib/form-validators/decorators/maxTime.decorator.mjs +0 -10
  228. package/esm2022/lib/form-validators/decorators/minDate.decorator.mjs +0 -10
  229. package/esm2022/lib/form-validators/decorators/minLength.decorator.mjs +0 -10
  230. package/esm2022/lib/form-validators/decorators/minNumber.decorator.mjs +0 -10
  231. package/esm2022/lib/form-validators/decorators/minTime.decorator.mjs +0 -10
  232. package/esm2022/lib/form-validators/decorators/model.decorator.mjs +0 -7
  233. package/esm2022/lib/form-validators/decorators/non-validation-decorators/disable.decorator.mjs +0 -8
  234. package/esm2022/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.mjs +0 -8
  235. package/esm2022/lib/form-validators/decorators/non-validation-decorators/error.decorator.mjs +0 -8
  236. package/esm2022/lib/form-validators/decorators/non-validation-decorators/update-on.decorator.mjs +0 -6
  237. package/esm2022/lib/form-validators/decorators/noneOf.decorator.mjs +0 -10
  238. package/esm2022/lib/form-validators/decorators/not.decorator.mjs +0 -6
  239. package/esm2022/lib/form-validators/decorators/notEmpty.decorator.mjs +0 -6
  240. package/esm2022/lib/form-validators/decorators/numeric.decorator.mjs +0 -10
  241. package/esm2022/lib/form-validators/decorators/odd.decorator.mjs +0 -6
  242. package/esm2022/lib/form-validators/decorators/oneOf.decorator.mjs +0 -10
  243. package/esm2022/lib/form-validators/decorators/or.decorator.mjs +0 -6
  244. package/esm2022/lib/form-validators/decorators/password.decorator.mjs +0 -10
  245. package/esm2022/lib/form-validators/decorators/pattern.decorator.mjs +0 -10
  246. package/esm2022/lib/form-validators/decorators/port.decorator.mjs +0 -6
  247. package/esm2022/lib/form-validators/decorators/primeNumber.decorator.mjs +0 -6
  248. package/esm2022/lib/form-validators/decorators/prop-array.decorator.mjs +0 -18
  249. package/esm2022/lib/form-validators/decorators/prop-object.decorator.mjs +0 -8
  250. package/esm2022/lib/form-validators/decorators/prop.decorator.mjs +0 -18
  251. package/esm2022/lib/form-validators/decorators/range.decorator.mjs +0 -10
  252. package/esm2022/lib/form-validators/decorators/required.decorator.mjs +0 -6
  253. package/esm2022/lib/form-validators/decorators/requiredTrue.decorator.mjs +0 -6
  254. package/esm2022/lib/form-validators/decorators/rule.decorator.mjs +0 -6
  255. package/esm2022/lib/form-validators/decorators/sanitize/blacklist.decorator.mjs +0 -8
  256. package/esm2022/lib/form-validators/decorators/sanitize/escape.decorator.mjs +0 -8
  257. package/esm2022/lib/form-validators/decorators/sanitize/ltrim.decorator.mjs +0 -8
  258. package/esm2022/lib/form-validators/decorators/sanitize/prefix.decorator.mjs +0 -8
  259. package/esm2022/lib/form-validators/decorators/sanitize/rtrim.decorator.mjs +0 -8
  260. package/esm2022/lib/form-validators/decorators/sanitize/sanitize.decorator.mjs +0 -8
  261. package/esm2022/lib/form-validators/decorators/sanitize/stripLow.decorator.mjs +0 -8
  262. package/esm2022/lib/form-validators/decorators/sanitize/suffix.decorator.mjs +0 -8
  263. package/esm2022/lib/form-validators/decorators/sanitize/toBoolean.decorator.mjs +0 -8
  264. package/esm2022/lib/form-validators/decorators/sanitize/toDate.decorator.mjs +0 -8
  265. package/esm2022/lib/form-validators/decorators/sanitize/toDouble.decorator.mjs +0 -8
  266. package/esm2022/lib/form-validators/decorators/sanitize/toFloat.decorator.mjs +0 -8
  267. package/esm2022/lib/form-validators/decorators/sanitize/toInt.decorator.mjs +0 -8
  268. package/esm2022/lib/form-validators/decorators/sanitize/toString.decorator.mjs +0 -8
  269. package/esm2022/lib/form-validators/decorators/sanitize/trim.decorator.mjs +0 -8
  270. package/esm2022/lib/form-validators/decorators/sanitize/whitelist.decorator.mjs +0 -8
  271. package/esm2022/lib/form-validators/decorators/startsWith.decorator.mjs +0 -10
  272. package/esm2022/lib/form-validators/decorators/time.decorator.mjs +0 -10
  273. package/esm2022/lib/form-validators/decorators/unique.decorator.mjs +0 -6
  274. package/esm2022/lib/form-validators/decorators/uppercase.decorator.mjs +0 -6
  275. package/esm2022/lib/form-validators/decorators/url.decorator.mjs +0 -10
  276. package/esm2022/lib/form-validators/directives/base-directive.mjs +0 -75
  277. package/esm2022/lib/form-validators/directives/control-host.directive.mjs +0 -55
  278. package/esm2022/lib/form-validators/directives/html-control-template.directive.mjs +0 -36
  279. package/esm2022/lib/form-validators/directives/rx-form.directive.mjs +0 -234
  280. package/esm2022/lib/form-validators/directives/template-validations/async-validation.directive.mjs +0 -40
  281. package/esm2022/lib/form-validators/directives/template-validations/base-validator.directive.mjs +0 -76
  282. package/esm2022/lib/form-validators/directives/template-validations/control-expression-process.mjs +0 -60
  283. package/esm2022/lib/form-validators/directives/template-validations/file-control.directive.mjs +0 -122
  284. package/esm2022/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +0 -74
  285. package/esm2022/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +0 -394
  286. package/esm2022/lib/form-validators/domain/disable-provider.mjs +0 -198
  287. package/esm2022/lib/form-validators/domain/element-processor/decimal.provider.mjs +0 -134
  288. package/esm2022/lib/form-validators/domain/element-processor/mask.provider.mjs +0 -453
  289. package/esm2022/lib/form-validators/domain/form-data.mjs +0 -93
  290. package/esm2022/lib/form-validators/enums/error-message-binding-strategy.mjs +0 -11
  291. package/esm2022/lib/form-validators/enums/index.mjs +0 -5
  292. package/esm2022/lib/form-validators/enums/ip-version.mjs +0 -7
  293. package/esm2022/lib/form-validators/enums/numeric-value-type.mjs +0 -7
  294. package/esm2022/lib/form-validators/enums/reset-type.mjs +0 -10
  295. package/esm2022/lib/form-validators/enums/url-validation-type.mjs +0 -7
  296. package/esm2022/lib/form-validators/models/config/alpha-config.mjs +0 -2
  297. package/esm2022/lib/form-validators/models/config/array-config.mjs +0 -2
  298. package/esm2022/lib/form-validators/models/config/base-config-fn.mjs +0 -2
  299. package/esm2022/lib/form-validators/models/config/base-config.mjs +0 -2
  300. package/esm2022/lib/form-validators/models/config/base-date-config.mjs +0 -2
  301. package/esm2022/lib/form-validators/models/config/choice-config.mjs +0 -2
  302. package/esm2022/lib/form-validators/models/config/compare-config.mjs +0 -2
  303. package/esm2022/lib/form-validators/models/config/component-config.mjs +0 -2
  304. package/esm2022/lib/form-validators/models/config/compose-config.mjs +0 -2
  305. package/esm2022/lib/form-validators/models/config/contains-config.mjs +0 -2
  306. package/esm2022/lib/form-validators/models/config/credit-card-config.mjs +0 -2
  307. package/esm2022/lib/form-validators/models/config/custom-config.mjs +0 -2
  308. package/esm2022/lib/form-validators/models/config/date-config.mjs +0 -2
  309. package/esm2022/lib/form-validators/models/config/default-config.mjs +0 -2
  310. package/esm2022/lib/form-validators/models/config/digit-config.mjs +0 -2
  311. package/esm2022/lib/form-validators/models/config/disable-config.mjs +0 -2
  312. package/esm2022/lib/form-validators/models/config/element-class-config.mjs +0 -2
  313. package/esm2022/lib/form-validators/models/config/email-config.mjs +0 -2
  314. package/esm2022/lib/form-validators/models/config/error-config.mjs +0 -2
  315. package/esm2022/lib/form-validators/models/config/extension-config.mjs +0 -2
  316. package/esm2022/lib/form-validators/models/config/factor-config.mjs +0 -2
  317. package/esm2022/lib/form-validators/models/config/field-config.mjs +0 -2
  318. package/esm2022/lib/form-validators/models/config/file-config.mjs +0 -2
  319. package/esm2022/lib/form-validators/models/config/hex-color-config.mjs +0 -2
  320. package/esm2022/lib/form-validators/models/config/iban-config.mjs +0 -2
  321. package/esm2022/lib/form-validators/models/config/image-config.mjs +0 -2
  322. package/esm2022/lib/form-validators/models/config/index.mjs +0 -35
  323. package/esm2022/lib/form-validators/models/config/ip-config.mjs +0 -2
  324. package/esm2022/lib/form-validators/models/config/logical-operator-config.mjs +0 -2
  325. package/esm2022/lib/form-validators/models/config/mask-config.mjs +0 -2
  326. package/esm2022/lib/form-validators/models/config/max-date-config.mjs +0 -2
  327. package/esm2022/lib/form-validators/models/config/message-config.mjs +0 -2
  328. package/esm2022/lib/form-validators/models/config/min-date-config.mjs +0 -2
  329. package/esm2022/lib/form-validators/models/config/model-config.mjs +0 -2
  330. package/esm2022/lib/form-validators/models/config/number-config.mjs +0 -2
  331. package/esm2022/lib/form-validators/models/config/numeric-config.mjs +0 -2
  332. package/esm2022/lib/form-validators/models/config/password-config.mjs +0 -2
  333. package/esm2022/lib/form-validators/models/config/pattern-config.mjs +0 -2
  334. package/esm2022/lib/form-validators/models/config/prop-config.mjs +0 -2
  335. package/esm2022/lib/form-validators/models/config/props-config.mjs +0 -2
  336. package/esm2022/lib/form-validators/models/config/range-config.mjs +0 -2
  337. package/esm2022/lib/form-validators/models/config/relational-operator-config.mjs +0 -2
  338. package/esm2022/lib/form-validators/models/config/required-config.mjs +0 -2
  339. package/esm2022/lib/form-validators/models/config/rule-config.mjs +0 -2
  340. package/esm2022/lib/form-validators/models/config/sanitize-config.mjs +0 -2
  341. package/esm2022/lib/form-validators/models/config/size-config.mjs +0 -2
  342. package/esm2022/lib/form-validators/models/config/string-comparison-config.mjs +0 -2
  343. package/esm2022/lib/form-validators/models/config/string-value-config.mjs +0 -2
  344. package/esm2022/lib/form-validators/models/config/time-config.mjs +0 -2
  345. package/esm2022/lib/form-validators/models/config/todate-config.mjs +0 -2
  346. package/esm2022/lib/form-validators/models/config/unique-config.mjs +0 -2
  347. package/esm2022/lib/form-validators/models/config/update-on-config.mjs +0 -2
  348. package/esm2022/lib/form-validators/models/config/url-config.mjs +0 -2
  349. package/esm2022/lib/form-validators/models/control-info.mjs +0 -2
  350. package/esm2022/lib/form-validators/models/data-sanitizer.mjs +0 -2
  351. package/esm2022/lib/form-validators/models/decorator-configuration.mjs +0 -2
  352. package/esm2022/lib/form-validators/models/form-builder-configuration.mjs +0 -58
  353. package/esm2022/lib/form-validators/models/index.mjs +0 -3
  354. package/esm2022/lib/form-validators/models/instance-container.mjs +0 -2
  355. package/esm2022/lib/form-validators/models/interface/array-prop-instance-config.interface.mjs +0 -2
  356. package/esm2022/lib/form-validators/models/interface/auto-instance-config.interface.mjs +0 -2
  357. package/esm2022/lib/form-validators/models/interface/form-data-config.mjs +0 -2
  358. package/esm2022/lib/form-validators/models/interface/i-abstract-control.mjs +0 -30
  359. package/esm2022/lib/form-validators/models/interface/i-form-group.mjs +0 -2
  360. package/esm2022/lib/form-validators/models/interface/instance-argument.interface.mjs +0 -2
  361. package/esm2022/lib/form-validators/models/interface/object-prop-instance-config.interface.mjs +0 -2
  362. package/esm2022/lib/form-validators/models/interface/options.mjs +0 -2
  363. package/esm2022/lib/form-validators/models/password-validation.model.mjs +0 -2
  364. package/esm2022/lib/form-validators/models/prop-validation-config.mjs +0 -2
  365. package/esm2022/lib/form-validators/models/property-info.mjs +0 -2
  366. package/esm2022/lib/form-validators/public_api.mjs +0 -26
  367. package/esm2022/lib/form-validators/reactive-form-validators/allOf.validator.mjs +0 -33
  368. package/esm2022/lib/form-validators/reactive-form-validators/alpha.validator.mjs +0 -15
  369. package/esm2022/lib/form-validators/reactive-form-validators/alphaNumeric.validator.mjs +0 -15
  370. package/esm2022/lib/form-validators/reactive-form-validators/and.validator.mjs +0 -38
  371. package/esm2022/lib/form-validators/reactive-form-validators/ascii.validator.mjs +0 -15
  372. package/esm2022/lib/form-validators/reactive-form-validators/async/base.async.validator.mjs +0 -45
  373. package/esm2022/lib/form-validators/reactive-form-validators/choice.validator.mjs +0 -31
  374. package/esm2022/lib/form-validators/reactive-form-validators/compare.validator.mjs +0 -32
  375. package/esm2022/lib/form-validators/reactive-form-validators/compose.validator.mjs +0 -34
  376. package/esm2022/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +0 -63
  377. package/esm2022/lib/form-validators/reactive-form-validators/contains.validator.mjs +0 -22
  378. package/esm2022/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +0 -48
  379. package/esm2022/lib/form-validators/reactive-form-validators/cusip.validator.mjs +0 -38
  380. package/esm2022/lib/form-validators/reactive-form-validators/custom.validator.mjs +0 -25
  381. package/esm2022/lib/form-validators/reactive-form-validators/dataUri.validator.mjs +0 -9
  382. package/esm2022/lib/form-validators/reactive-form-validators/date.validator.mjs +0 -8
  383. package/esm2022/lib/form-validators/reactive-form-validators/different.validator.mjs +0 -19
  384. package/esm2022/lib/form-validators/reactive-form-validators/digit.validator.mjs +0 -9
  385. package/esm2022/lib/form-validators/reactive-form-validators/email.validator.mjs +0 -9
  386. package/esm2022/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +0 -23
  387. package/esm2022/lib/form-validators/reactive-form-validators/even.validator.mjs +0 -15
  388. package/esm2022/lib/form-validators/reactive-form-validators/extension.validator.mjs +0 -40
  389. package/esm2022/lib/form-validators/reactive-form-validators/factor.validator.mjs +0 -37
  390. package/esm2022/lib/form-validators/reactive-form-validators/file.validator.mjs +0 -26
  391. package/esm2022/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +0 -34
  392. package/esm2022/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.mjs +0 -8
  393. package/esm2022/lib/form-validators/reactive-form-validators/greater-than.validator.mjs +0 -8
  394. package/esm2022/lib/form-validators/reactive-form-validators/grid.validator.mjs +0 -31
  395. package/esm2022/lib/form-validators/reactive-form-validators/hexcolor.validator.mjs +0 -9
  396. package/esm2022/lib/form-validators/reactive-form-validators/iban.validator.mjs +0 -28
  397. package/esm2022/lib/form-validators/reactive-form-validators/image.validator.mjs +0 -52
  398. package/esm2022/lib/form-validators/reactive-form-validators/index.mjs +0 -66
  399. package/esm2022/lib/form-validators/reactive-form-validators/ip.validator.mjs +0 -28
  400. package/esm2022/lib/form-validators/reactive-form-validators/json.validator.mjs +0 -26
  401. package/esm2022/lib/form-validators/reactive-form-validators/latLong.validator.mjs +0 -18
  402. package/esm2022/lib/form-validators/reactive-form-validators/latitude.validator.mjs +0 -9
  403. package/esm2022/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +0 -16
  404. package/esm2022/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.mjs +0 -8
  405. package/esm2022/lib/form-validators/reactive-form-validators/less-than.validator.mjs +0 -8
  406. package/esm2022/lib/form-validators/reactive-form-validators/longitude.validator.mjs +0 -9
  407. package/esm2022/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +0 -15
  408. package/esm2022/lib/form-validators/reactive-form-validators/mac.validator.mjs +0 -9
  409. package/esm2022/lib/form-validators/reactive-form-validators/mask.validator.mjs +0 -14
  410. package/esm2022/lib/form-validators/reactive-form-validators/maxDate.validator.mjs +0 -8
  411. package/esm2022/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +0 -17
  412. package/esm2022/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +0 -17
  413. package/esm2022/lib/form-validators/reactive-form-validators/maxTime.validator.mjs +0 -8
  414. package/esm2022/lib/form-validators/reactive-form-validators/minDate.validator.mjs +0 -8
  415. package/esm2022/lib/form-validators/reactive-form-validators/minLength.validator.mjs +0 -16
  416. package/esm2022/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +0 -16
  417. package/esm2022/lib/form-validators/reactive-form-validators/minTime.validator.mjs +0 -8
  418. package/esm2022/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +0 -24
  419. package/esm2022/lib/form-validators/reactive-form-validators/not.validator.mjs +0 -25
  420. package/esm2022/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +0 -17
  421. package/esm2022/lib/form-validators/reactive-form-validators/numeric.validator.mjs +0 -22
  422. package/esm2022/lib/form-validators/reactive-form-validators/odd.validator.mjs +0 -17
  423. package/esm2022/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +0 -26
  424. package/esm2022/lib/form-validators/reactive-form-validators/or.validator.mjs +0 -25
  425. package/esm2022/lib/form-validators/reactive-form-validators/password.validator.mjs +0 -35
  426. package/esm2022/lib/form-validators/reactive-form-validators/pattern.validator.mjs +0 -19
  427. package/esm2022/lib/form-validators/reactive-form-validators/port.validator.mjs +0 -19
  428. package/esm2022/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +0 -27
  429. package/esm2022/lib/form-validators/reactive-form-validators/range.validator.mjs +0 -17
  430. package/esm2022/lib/form-validators/reactive-form-validators/required.validator.mjs +0 -17
  431. package/esm2022/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +0 -16
  432. package/esm2022/lib/form-validators/reactive-form-validators/rule.validator.mjs +0 -22
  433. package/esm2022/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +0 -25
  434. package/esm2022/lib/form-validators/reactive-form-validators/time.validator.mjs +0 -19
  435. package/esm2022/lib/form-validators/reactive-form-validators/unique.validator.mjs +0 -77
  436. package/esm2022/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +0 -16
  437. package/esm2022/lib/form-validators/reactive-form-validators/url.validator.mjs +0 -28
  438. package/esm2022/lib/form-validators/services/base-form-builder.mjs +0 -220
  439. package/esm2022/lib/form-validators/services/entity.service.mjs +0 -76
  440. package/esm2022/lib/form-validators/services/form-control.mjs +0 -370
  441. package/esm2022/lib/form-validators/services/form-group.mjs +0 -2
  442. package/esm2022/lib/form-validators/services/reactive-form.module.mjs +0 -52
  443. package/esm2022/lib/form-validators/services/rx-form-array.mjs +0 -114
  444. package/esm2022/lib/form-validators/services/rx-form-builder.mjs +0 -1035
  445. package/esm2022/lib/form-validators/services/rx-form-group.mjs +0 -451
  446. package/esm2022/lib/form-validators/services/typed-form-builder.mjs +0 -25
  447. package/esm2022/lib/form-validators/util/alphabet-regex.locale.mjs +0 -29
  448. package/esm2022/lib/form-validators/util/app-util.mjs +0 -161
  449. package/esm2022/lib/form-validators/util/check-length.mjs +0 -11
  450. package/esm2022/lib/form-validators/util/config-provider.mjs +0 -37
  451. package/esm2022/lib/form-validators/util/date-checker.function.mjs +0 -52
  452. package/esm2022/lib/form-validators/util/date-provider.mjs +0 -108
  453. package/esm2022/lib/form-validators/util/form-const.mjs +0 -3
  454. package/esm2022/lib/form-validators/util/form-provider.mjs +0 -87
  455. package/esm2022/lib/form-validators/util/index.mjs +0 -7
  456. package/esm2022/lib/form-validators/util/instance-provider.function.mjs +0 -63
  457. package/esm2022/lib/form-validators/util/ip-checker.mjs +0 -19
  458. package/esm2022/lib/form-validators/util/linq.mjs +0 -157
  459. package/esm2022/lib/form-validators/util/object-maker.mjs +0 -68
  460. package/esm2022/lib/form-validators/util/reactive-form-config.mjs +0 -25
  461. package/esm2022/lib/form-validators/util/regex-rules.mjs +0 -37
  462. package/esm2022/lib/form-validators/util/regex-validator.mjs +0 -74
  463. package/esm2022/lib/form-validators/util/relational-checker.function.mjs +0 -92
  464. package/esm2022/lib/form-validators/util/reset-form.mjs +0 -57
  465. package/esm2022/lib/form-validators/util/sanitizers.mjs +0 -140
  466. package/esm2022/lib/form-validators/util/time-checker.function.mjs +0 -50
  467. package/esm2022/lib/form-validators/util/type.mjs +0 -2
  468. package/esm2022/lib/form-validators/util/validator-value-checker.mjs +0 -21
  469. package/esm2022/lib/form-validators/validators-extension/allOf-validator.extension.mjs +0 -11
  470. package/esm2022/lib/form-validators/validators-extension/alpha-validator.extension.mjs +0 -11
  471. package/esm2022/lib/form-validators/validators-extension/alphaNumeric-validator.extension.mjs +0 -11
  472. package/esm2022/lib/form-validators/validators-extension/and-validator.extension.mjs +0 -7
  473. package/esm2022/lib/form-validators/validators-extension/ascii-validator.extension.mjs +0 -7
  474. package/esm2022/lib/form-validators/validators-extension/base-validator.function.mjs +0 -34
  475. package/esm2022/lib/form-validators/validators-extension/choice-validator.extension.mjs +0 -11
  476. package/esm2022/lib/form-validators/validators-extension/compare-validator.extension.mjs +0 -7
  477. package/esm2022/lib/form-validators/validators-extension/compose-validator.extension.mjs +0 -7
  478. package/esm2022/lib/form-validators/validators-extension/contains-validator.extension.mjs +0 -11
  479. package/esm2022/lib/form-validators/validators-extension/credit-card-validator.extension.mjs +0 -11
  480. package/esm2022/lib/form-validators/validators-extension/cusip-validator.extension.mjs +0 -7
  481. package/esm2022/lib/form-validators/validators-extension/custom-validator.extension.mjs +0 -11
  482. package/esm2022/lib/form-validators/validators-extension/dataUri-validator.extension.mjs +0 -7
  483. package/esm2022/lib/form-validators/validators-extension/date-validator.extension.mjs +0 -11
  484. package/esm2022/lib/form-validators/validators-extension/different-validator.extension.mjs +0 -7
  485. package/esm2022/lib/form-validators/validators-extension/digit-validator.extension.mjs +0 -7
  486. package/esm2022/lib/form-validators/validators-extension/email-validator.extension.mjs +0 -7
  487. package/esm2022/lib/form-validators/validators-extension/endsWith-validator.extension.mjs +0 -11
  488. package/esm2022/lib/form-validators/validators-extension/even-validator.extension.mjs +0 -7
  489. package/esm2022/lib/form-validators/validators-extension/extension-validator.extension.mjs +0 -10
  490. package/esm2022/lib/form-validators/validators-extension/factor-validator.extension.mjs +0 -11
  491. package/esm2022/lib/form-validators/validators-extension/file-validator.extension.mjs +0 -10
  492. package/esm2022/lib/form-validators/validators-extension/fileSize-validator.extension.mjs +0 -10
  493. package/esm2022/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.mjs +0 -11
  494. package/esm2022/lib/form-validators/validators-extension/greater-than-validator.extension.mjs +0 -11
  495. package/esm2022/lib/form-validators/validators-extension/grid-validator.extension.mjs +0 -7
  496. package/esm2022/lib/form-validators/validators-extension/hexcolor-validator.extension.mjs +0 -7
  497. package/esm2022/lib/form-validators/validators-extension/iban-validator.extension.mjs +0 -11
  498. package/esm2022/lib/form-validators/validators-extension/image-validator.extension.mjs +0 -10
  499. package/esm2022/lib/form-validators/validators-extension/index.mjs +0 -68
  500. package/esm2022/lib/form-validators/validators-extension/ip-validator.extension.mjs +0 -11
  501. package/esm2022/lib/form-validators/validators-extension/json-validator.extension.mjs +0 -7
  502. package/esm2022/lib/form-validators/validators-extension/latLong-validator.extension.mjs +0 -7
  503. package/esm2022/lib/form-validators/validators-extension/latitude-validator.extension.mjs +0 -7
  504. package/esm2022/lib/form-validators/validators-extension/leapYear-validator.extension.mjs +0 -7
  505. package/esm2022/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.mjs +0 -11
  506. package/esm2022/lib/form-validators/validators-extension/less-than-validator.extension.mjs +0 -11
  507. package/esm2022/lib/form-validators/validators-extension/longitude-validator.extension.mjs +0 -7
  508. package/esm2022/lib/form-validators/validators-extension/lowercase-validator.extension.mjs +0 -7
  509. package/esm2022/lib/form-validators/validators-extension/mac-validator.extension.mjs +0 -7
  510. package/esm2022/lib/form-validators/validators-extension/mask-validator.extension.mjs +0 -7
  511. package/esm2022/lib/form-validators/validators-extension/maxDate-validator.extension.mjs +0 -11
  512. package/esm2022/lib/form-validators/validators-extension/maxLength-validator.extension.mjs +0 -11
  513. package/esm2022/lib/form-validators/validators-extension/maxNumber-validator.extension.mjs +0 -11
  514. package/esm2022/lib/form-validators/validators-extension/maxTime-validator.extension.mjs +0 -11
  515. package/esm2022/lib/form-validators/validators-extension/minDate-validator.extension.mjs +0 -11
  516. package/esm2022/lib/form-validators/validators-extension/minLength-validator.extension.mjs +0 -11
  517. package/esm2022/lib/form-validators/validators-extension/minNumber-validator.extension.mjs +0 -11
  518. package/esm2022/lib/form-validators/validators-extension/minTime-validator.extension.mjs +0 -11
  519. package/esm2022/lib/form-validators/validators-extension/noneOf-validator.extension.mjs +0 -11
  520. package/esm2022/lib/form-validators/validators-extension/not-validator.extension.mjs +0 -7
  521. package/esm2022/lib/form-validators/validators-extension/notEmpty-validator.extension.mjs +0 -7
  522. package/esm2022/lib/form-validators/validators-extension/numeric-validator.extension.mjs +0 -11
  523. package/esm2022/lib/form-validators/validators-extension/odd-validator.extension.mjs +0 -7
  524. package/esm2022/lib/form-validators/validators-extension/oneOf-validator.extension.mjs +0 -11
  525. package/esm2022/lib/form-validators/validators-extension/or-validator.extension.mjs +0 -7
  526. package/esm2022/lib/form-validators/validators-extension/password-validator.extension.mjs +0 -11
  527. package/esm2022/lib/form-validators/validators-extension/pattern-validator.extension.mjs +0 -11
  528. package/esm2022/lib/form-validators/validators-extension/port-validator.extension.mjs +0 -7
  529. package/esm2022/lib/form-validators/validators-extension/primeNumber-validator.extension.mjs +0 -7
  530. package/esm2022/lib/form-validators/validators-extension/range-validator.extension.mjs +0 -11
  531. package/esm2022/lib/form-validators/validators-extension/required-validator.extension.mjs +0 -7
  532. package/esm2022/lib/form-validators/validators-extension/requiredTrue-validator.extension.mjs +0 -7
  533. package/esm2022/lib/form-validators/validators-extension/rxweb-validators.mjs +0 -108
  534. package/esm2022/lib/form-validators/validators-extension/startsWith-validator.extension.mjs +0 -11
  535. package/esm2022/lib/form-validators/validators-extension/time-validator.extension.mjs +0 -11
  536. package/esm2022/lib/form-validators/validators-extension/unique-validator.extension.mjs +0 -7
  537. package/esm2022/lib/form-validators/validators-extension/uppercase-validator.extension.mjs +0 -7
  538. package/esm2022/lib/form-validators/validators-extension/url-validator.extension.mjs +0 -11
  539. package/esm2022/lib/form-validators/validators-function/alpha-validation.function.mjs +0 -71
  540. package/esm2022/lib/form-validators/validators-function/regex-validation.function.mjs +0 -33
  541. package/esm2022/lib/forms/components/datepicker/datepicker-header.component.mjs +0 -84
  542. package/esm2022/lib/forms/components/generic-form/generic-form.component.mjs +0 -602
  543. package/esm2022/lib/forms/constants/constants.mjs +0 -4
  544. package/esm2022/lib/forms/directives/mat-form-field-editor.directive.mjs +0 -197
  545. package/esm2022/lib/forms/directives/mat-form-field-readonly.directive.mjs +0 -34
  546. package/esm2022/lib/forms/directives/parse-decimal-directive.mjs +0 -87
  547. package/esm2022/lib/forms/directives/vd-generic-form-custom-field.directive.mjs +0 -35
  548. package/esm2022/lib/forms/enums/form-field-type.mjs +0 -23
  549. package/esm2022/lib/forms/forms.module.mjs +0 -168
  550. package/esm2022/lib/forms/functions/decorators.mjs +0 -136
  551. package/esm2022/lib/forms/functions/functions.mjs +0 -72
  552. package/esm2022/lib/forms/helpers/abstract-mat-form-field.mjs +0 -308
  553. package/esm2022/lib/forms/helpers/abstract-select-form-field.component.mjs +0 -492
  554. package/esm2022/lib/forms/helpers/value-accessor-base.mjs +0 -146
  555. package/esm2022/lib/forms/models/form-definition.mjs +0 -63
  556. package/esm2022/lib/forms/models/form-field-definition.mjs +0 -468
  557. package/esm2022/lib/forms/models/form-field-group-definition.mjs +0 -55
  558. package/esm2022/lib/forms/pipes/field-func.pipe.mjs +0 -23
  559. package/esm2022/lib/forms/pipes/group-filter.pipe.mjs +0 -34
  560. package/esm2022/lib/forms/public_api.mjs +0 -5
  561. package/esm2022/lib/forms/validators/empty-string-reset.directive.mjs +0 -25
  562. package/esm2022/lib/forms/validators/equal-validator.directive.mjs +0 -69
  563. package/esm2022/lib/forms/validators/native-element-injector.directive.mjs +0 -41
  564. package/esm2022/lib/forms/validators/unique-validator-directive.mjs +0 -88
  565. package/esm2022/lib/http/http.module.mjs +0 -15
  566. package/esm2022/lib/http/models/response.mjs +0 -24
  567. package/esm2022/lib/http/public_api.mjs +0 -2
  568. package/esm2022/lib/http/services/generic.service.mjs +0 -331
  569. package/esm2022/lib/layout/dynamic-menu/dynamic-menu.component.mjs +0 -103
  570. package/esm2022/lib/layout/layout-card-over/layout-card-over.component.mjs +0 -49
  571. package/esm2022/lib/layout/layout-compact/layout-compact.component.mjs +0 -193
  572. package/esm2022/lib/layout/layout-footer/layout-footer.component.mjs +0 -37
  573. package/esm2022/lib/layout/layout-manage-list/layout-manage-list.component.mjs +0 -150
  574. package/esm2022/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +0 -108
  575. package/esm2022/lib/layout/layout-nav/layout-nav.component.mjs +0 -146
  576. package/esm2022/lib/layout/layout-nav-list/layout-nav-list.component.mjs +0 -141
  577. package/esm2022/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +0 -105
  578. package/esm2022/lib/layout/layout-toggle.class.mjs +0 -89
  579. package/esm2022/lib/layout/layout.component.mjs +0 -230
  580. package/esm2022/lib/layout/layout.directives.mjs +0 -81
  581. package/esm2022/lib/layout/layout.module.mjs +0 -144
  582. package/esm2022/lib/layout/list-toolbar/list-toolbar.component.mjs +0 -47
  583. package/esm2022/lib/layout/navigation-drawer/navigation-drawer.component.mjs +0 -275
  584. package/esm2022/lib/layout/public_api.mjs +0 -2
  585. package/esm2022/lib/list/components/list.component.mjs +0 -78
  586. package/esm2022/lib/list/directives/vd-list-option.directive.mjs +0 -23
  587. package/esm2022/lib/list/list.module.mjs +0 -36
  588. package/esm2022/lib/list/public_api.mjs +0 -3
  589. package/esm2022/lib/media/directives/media-toggle.directive.mjs +0 -154
  590. package/esm2022/lib/media/media.module.mjs +0 -35
  591. package/esm2022/lib/media/public_api.mjs +0 -2
  592. package/esm2022/lib/media/services/media.service.mjs +0 -110
  593. package/esm2022/lib/menu/components/menu.component.mjs +0 -95
  594. package/esm2022/lib/menu/enums/menu-scope.mjs +0 -6
  595. package/esm2022/lib/menu/menu.module.mjs +0 -64
  596. package/esm2022/lib/menu/models/menu-client.mjs +0 -39
  597. package/esm2022/lib/menu/models/menu-department.mjs +0 -39
  598. package/esm2022/lib/menu/models/menu-item-client.mjs +0 -39
  599. package/esm2022/lib/menu/models/menu-item-department.mjs +0 -39
  600. package/esm2022/lib/menu/models/menu-item.mjs +0 -351
  601. package/esm2022/lib/menu/models/menu-settings.mjs +0 -13
  602. package/esm2022/lib/menu/models/menu.mjs +0 -224
  603. package/esm2022/lib/menu/public_api.mjs +0 -3
  604. package/esm2022/lib/menu/resolvers/menu-form-includes.resolve.mjs +0 -50
  605. package/esm2022/lib/menu/resolvers/menu-item-form-includes.resolve.mjs +0 -50
  606. package/esm2022/lib/menu/resolvers/menu-list-projection.resolve.mjs +0 -51
  607. package/esm2022/lib/menu/resolvers/menu-settings.resolve.mjs +0 -24
  608. package/esm2022/lib/menu/services/menu-items.service.mjs +0 -19
  609. package/esm2022/lib/menu/services/menu.resolve.mjs +0 -68
  610. package/esm2022/lib/menu/services/menu.service.mjs +0 -19
  611. package/esm2022/lib/search/public_api.mjs +0 -2
  612. package/esm2022/lib/search/search.module.mjs +0 -33
  613. package/esm2022/lib/select/components/select.component.mjs +0 -215
  614. package/esm2022/lib/select/directives/vd-select-option.directive.mjs +0 -23
  615. package/esm2022/lib/select/directives/vd-select-trigger.directive.mjs +0 -23
  616. package/esm2022/lib/select/public_api.mjs +0 -4
  617. package/esm2022/lib/select/select.module.mjs +0 -48
  618. package/esm2022/lib/table/components/dynamic-table/dynamic-table.component.mjs +0 -810
  619. package/esm2022/lib/table/components/filter-clear/filter-clear.component.mjs +0 -36
  620. package/esm2022/lib/table/components/filter-date/filter-date.component.mjs +0 -146
  621. package/esm2022/lib/table/components/filter-input/filter-input.component.mjs +0 -198
  622. package/esm2022/lib/table/components/filter-select/filter-select.component.mjs +0 -375
  623. package/esm2022/lib/table/constants/constants.mjs +0 -3
  624. package/esm2022/lib/table/directives/data-source-filter.directive.mjs +0 -49
  625. package/esm2022/lib/table/directives/vd-table-field.directive.mjs +0 -35
  626. package/esm2022/lib/table/enums/grid.mjs +0 -12
  627. package/esm2022/lib/table/enums/table-column-type.mjs +0 -17
  628. package/esm2022/lib/table/functions/decorators.mjs +0 -163
  629. package/esm2022/lib/table/functions/functions.mjs +0 -28
  630. package/esm2022/lib/table/models/facet-value.mjs +0 -47
  631. package/esm2022/lib/table/models/facet.mjs +0 -48
  632. package/esm2022/lib/table/models/pagination.mjs +0 -27
  633. package/esm2022/lib/table/models/table-column-config.mjs +0 -128
  634. package/esm2022/lib/table/models/table-column.mjs +0 -270
  635. package/esm2022/lib/table/models/table-config.mjs +0 -41
  636. package/esm2022/lib/table/models/table-definition.mjs +0 -110
  637. package/esm2022/lib/table/models/table-query-config.mjs +0 -26
  638. package/esm2022/lib/table/paginator-intl.mjs +0 -41
  639. package/esm2022/lib/table/public_api.mjs +0 -2
  640. package/esm2022/lib/table/table.data-source.mjs +0 -326
  641. package/esm2022/lib/table/table.module.mjs +0 -165
  642. package/esm2022/lib/table/table.static-data-source.mjs +0 -198
  643. package/esm2022/messaia-cdk.mjs +0 -5
  644. package/esm2022/public_api.mjs +0 -19
  645. package/lib/common/styles/_elevation.scss +0 -147
  646. package/lib/common/styles/_rtl.scss +0 -28
  647. package/lib/common/styles/_styles.scss +0 -12
  648. package/lib/common/styles/_theme-functions.scss +0 -4
  649. package/lib/common/styles/_typography.scss +0 -76
  650. package/lib/common/styles/core/_content.scss +0 -42
  651. package/lib/common/styles/core/_divider.scss +0 -14
  652. package/lib/common/styles/core/_icons.scss +0 -27
  653. package/lib/common/styles/core/_list.scss +0 -8
  654. package/lib/common/styles/core/_toolbar.scss +0 -31
  655. package/lib/common/styles/core/_whiteframe.scss +0 -111
  656. package/lib/common/styles/m2/_theme-functions.scss +0 -21
  657. package/lib/common/styles/m3/_theme-functions.scss +0 -21
  658. package/lib/common/theming/_all-theme.scss +0 -27
  659. package/lib/common/typography/_all-typography.scss +0 -33
@@ -1,215 +0,0 @@
1
- import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { ChangeDetectorRef, Component, ContentChild, ElementRef, Injector, Input, Optional, Self, ViewChild } from '@angular/core';
3
- import { FormGroupDirective, NgControl, NgForm } from '@angular/forms';
4
- import { ErrorStateMatcher } from '@angular/material/core';
5
- import { MatFormFieldControl } from '@angular/material/form-field';
6
- import { MAT_SELECT_CONFIG, MatSelect } from '@angular/material/select';
7
- import { AbstractSelectFormField } from '../../forms/helpers/abstract-select-form-field.component';
8
- import { VdSelectOptionDirective } from '../directives/vd-select-option.directive';
9
- import { VdSelectTriggerDirective } from '../directives/vd-select-trigger.directive';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/forms";
12
- import * as i2 from "@angular/material/core";
13
- import * as i3 from "@angular/cdk/a11y";
14
- import * as i4 from "@angular/common";
15
- import * as i5 from "@angular/material/select";
16
- import * as i6 from "@angular/material/icon";
17
- export class VdSelectComponent extends AbstractSelectFormField {
18
- injector;
19
- /**
20
- * CSS class applied to the trigger element.
21
- */
22
- _triggerCssClass;
23
- /**
24
- * Mode of the trigger, default is 'chip'.
25
- */
26
- _triggerMode;
27
- /**
28
- * Template for rendering options.
29
- */
30
- optionTemplate;
31
- /**
32
- * Template for rendering the trigger.
33
- */
34
- triggerTemplate;
35
- /**
36
- * Reference to the MatSelect element.
37
- */
38
- selectEl;
39
- /**
40
- * Reference to the filter input element.
41
- */
42
- filterInput;
43
- /**
44
- * CSS class applied to the trigger element.
45
- */
46
- get triggerCssClass() { return this._triggerCssClass; }
47
- set triggerCssClass(triggerCssClass) {
48
- this._triggerCssClass = triggerCssClass;
49
- this.stateChanges.next();
50
- }
51
- /**
52
- * Mode of the trigger.
53
- */
54
- get triggerMode() { return this._triggerMode; }
55
- set triggerMode(triggerMode) {
56
- /* Update the trigger mode value */
57
- this._triggerMode = triggerMode;
58
- /* Update the CSS class based on the trigger mode */
59
- this.triggerCssClass = triggerMode;
60
- /* If trigger mode is defined, append it to the control type */
61
- if (triggerMode) {
62
- this.controlType = `${this.controlType}-${triggerMode}`;
63
- }
64
- /* Notify that the state has changed */
65
- this.stateChanges.next();
66
- }
67
- /**
68
- * Gets the display values of the selected options for the trigger.
69
- *
70
- * @returns The display values of the selected options
71
- */
72
- get triggerValues() { return this.selectedOptions?.map(option => option[this.optionValueProperty]); }
73
- /**
74
- * Retrieves the currently selected options from the filtered options.
75
- * If multiple options are selected, returns them as an array.
76
- * If a single option is selected, returns it as an array with one element.
77
- *
78
- * @returns An array of selected items from the filtered options.
79
- */
80
- get selectedOptions() {
81
- const selected = this.selectEl?.selected;
82
- const selectedValues = Array.isArray(selected) ? selected.map(option => option.value) : selected ? [selected.value] : [];
83
- return this.filteredOptions?.filter((filteredOption) => {
84
- if (this.compareWith) {
85
- return selectedValues.some(selectedValue => this.compareWith(selectedValue, filteredOption));
86
- }
87
- else {
88
- return selectedValues.includes(filteredOption[this.optionValueProperty]);
89
- }
90
- }) ?? [];
91
- }
92
- /**
93
- * Checks if the select element is empty.
94
- *
95
- * @returns true if the select element is empty, false otherwise.
96
- */
97
- get empty() {
98
- return this._readonly ? !this.currentValue : !this.selectEl?._selectionModel || this.selectEl?._selectionModel?.isEmpty();
99
- }
100
- /**
101
- * Constructor to initialize the VdSelectComponent.
102
- *
103
- * @param injector Dependency injector
104
- * @param ngControl Angular form control directive
105
- * @param parentForm Parent form
106
- * @param parentFormGroup Parent form group
107
- * @param defaultErrorStateMatcher Default error state matcher
108
- * @param focusMonitor Focus monitor for managing focus state
109
- * @param elementRef Reference to the component element
110
- * @param changeDetectorRef Change detector reference
111
- */
112
- constructor(injector, ngControl, parentForm, parentFormGroup, defaultErrorStateMatcher, focusMonitor, elementRef, changeDetectorRef) {
113
- super('vd-select', injector, ngControl, parentForm, parentFormGroup, defaultErrorStateMatcher, focusMonitor, elementRef, changeDetectorRef);
114
- this.injector = injector;
115
- }
116
- /**
117
- * Lifecycle hook that is called after Angular has initialized the component's view.
118
- * Sets up an event listener to focus the filter input when the select element is opened.
119
- */
120
- ngAfterViewInit() {
121
- this.selectEl?.openedChange?.subscribe(x => {
122
- if (x && this.filterable) {
123
- this.filterInput?.nativeElement?.focus();
124
- }
125
- });
126
- }
127
- /**
128
- * Writes the value to the component. Part of the ControlValueAccessor interface.
129
- *
130
- * @param value The value to be written
131
- */
132
- writeValue(value) {
133
- super.writeValue(value);
134
- if (!this.value) {
135
- this.selectEl?.writeValue(null);
136
- }
137
- this.changeDetectorRef.detectChanges();
138
- }
139
- /**
140
- * Sets focus on the select element and opens the dropdown.
141
- */
142
- focus() {
143
- this.selectEl?.focus();
144
- this.selectEl?.open();
145
- }
146
- /**
147
- * Handles the launch button click event.
148
- * Emits the selected options through the onLaunch event emitter.
149
- *
150
- * @param value The value to be emitted
151
- */
152
- handleLaunchClicked(value) {
153
- if (this.multiple) {
154
- this.onLaunch.emit(this.options.filter((x) => (value || []).includes(x[this.optionValueProperty])));
155
- }
156
- else {
157
- this.onLaunch.emit(this.options.find((x) => x[this.optionValueProperty] == value));
158
- }
159
- }
160
- /**
161
- * Handles the filter event to filter the options based on the input.
162
- *
163
- * @param $event The filter event
164
- */
165
- handleFilter($event) {
166
- const searchText = $event?.target?.value ?? '';
167
- this.filteredOptions = this.options.filter((x) => {
168
- const fieldValue = this.searchField ? this.searchField(x) : x[this.optionTextProperty];
169
- return fieldValue?.toLowerCase().includes(searchText.toLowerCase());
170
- });
171
- }
172
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectComponent, deps: [{ token: i0.Injector }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: i3.FocusMonitor }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
173
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VdSelectComponent, selector: "vd-select", inputs: { triggerCssClass: "triggerCssClass", triggerMode: "triggerMode" }, providers: [
174
- { provide: MatFormFieldControl, useExisting: VdSelectComponent },
175
- {
176
- provide: MAT_SELECT_CONFIG,
177
- useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
178
- }
179
- ], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdSelectOptionDirective, descendants: true }, { propertyName: "triggerTemplate", first: true, predicate: VdSelectTriggerDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelect, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-select [placeholder]=\"placeholder\" i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelect\" (selectionChange)=\"handleChange($event)\" [hidden]=\"readonly\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled\" flex>\r\n <!-- #region Filter input -->\r\n <div class=\"mat-mdc-form-field mat-form-field-appearance-fill\" flex>\r\n <div class=\"mat-mdc-text-field-wrapper mdc-text-field mdc-text-field--filled mdc-text-field--no-label\">\r\n <div class=\"mat-mdc-form-field-focus-overlay\"></div>\r\n <div class=\"mat-mdc-form-field-flex\">\r\n <div class=\"mat-mdc-form-field-infix\" layout=\"row\" flex>\r\n <input matInput #filterInput type=\"text\" placeholder=\"Filter...\" class=\"mat-mdc-input-element vd-select-filter mat-mdc-form-field-input-control mdc-text-field__input\" (keyup)=\"handleFilter($event)\" flex>\r\n <mat-icon *ngIf=\"filterInput?.value\" (click)=\"filterInput!.value = ''; handleFilter($event);\" fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"mdc-line-ripple\"></div>\r\n </div>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Trigger for launch button -->\r\n <mat-select-trigger *ngIf=\"(onLaunch?.observers?.length??0) > 0\" [class]=\"triggerCssClass\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n </span>\r\n <span *ngIf=\"!last\">&nbsp;&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n <mat-icon class=\"vd-select-launch\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Custom trigger template -->\r\n <mat-select-trigger *ngIf=\"!onLaunch?.observers?.length && triggerTemplate?.templateRef\" [class]=\"triggerCssClass\">\r\n <ng-template *ngIf=\"triggerTemplate?.templateRef\" [ngTemplateOutlet]=\"triggerTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ trigger: selectedOptions }\"></ng-template>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option template as trigger -->\r\n <mat-select-trigger *ngIf=\"!onLaunch?.observers?.length && !triggerTemplate?.templateRef && optionTemplate?.templateRef\" [class]=\"triggerCssClass\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Dynamic icon -->\r\n <ng-template *ngIf=\"optionIcon\" #optionIconTemplate [ngTemplateOutlet]=\"optionIconTemplate\" let-optionIcon=\"optionIcon\" [ngTemplateOutletContext]=\"{ optionIcon: optionIcon(option) }\">\r\n <mat-icon *ngIf=\"optionIcon.svgIcon\" [svgIcon]=\"optionIcon.svgIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <mat-icon *ngIf=\"optionIcon.matIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\">{{optionIcon.matIcon}}</mat-icon>\r\n </ng-template>\r\n <!-- #endregion -->\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option, text: option[optionTextProperty] }\"></ng-template>\r\n </span>\r\n <span *ngIf=\"!last\">&nbsp;&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Trigger for icons -->\r\n <mat-select-trigger *ngIf=\"!triggerTemplate?.templateRef && !optionTemplate?.templateRef\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Dynamic icon -->\r\n <ng-template *ngIf=\"optionIcon\" #optionIconTemplate [ngTemplateOutlet]=\"optionIconTemplate\" let-optionIcon=\"optionIcon\" [ngTemplateOutletContext]=\"{ optionIcon: optionIcon(option) }\">\r\n <mat-icon *ngIf=\"optionIcon.svgIcon\" [svgIcon]=\"optionIcon.svgIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <mat-icon *ngIf=\"optionIcon.matIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\">{{optionIcon.matIcon}}</mat-icon>\r\n </ng-template>\r\n <!-- #endregion -->\r\n\r\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n </span>\r\n <span *ngIf=\"!last\">&nbsp;&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Default option -->\r\n <mat-option class=\"tc-grey-500\" *ngIf=\"!multiple && defaultOption\" i18n=\"@@pleaseSelect\">--- Please Select ---</mat-option>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Options -->\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"mapper ? option : option[optionValueProperty]\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option, text: option[optionTextProperty] }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n <!-- #endregion -->\r\n</mat-select>\r\n\r\n<!-- #region Read only value -->\r\n<div *ngIf=\"readonly\">\r\n <div *ngIf=\"currentValue\">\r\n <div class=\"readonly-value\">\r\n <span *ngIf=\"!optionTemplate?.templateRef && !triggerTemplate?.templateRef\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{currentValue[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"currentValue[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <span>&nbsp;&nbsp;</span>\r\n <span i18n=\"@@selection\">{currentValue[optionTextProperty], select, option {option} other {{{currentValue[optionTextProperty]}}}}</span>\r\n </span>\r\n <span *ngIf=\"!last\">,&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n </span>\r\n <ng-template *ngIf=\"triggerTemplate?.templateRef\" [ngTemplateOutlet]=\"triggerTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ trigger: currentValue }\"></ng-template>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef && !triggerTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: currentValue, text: currentValue[optionTextProperty] }\"></ng-template>\r\n </div>\r\n <mat-icon *ngIf=\"(onLaunch?.observers?.length??0) > 0\" class=\"vd-select-launch-readonly\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </div>\r\n <div *ngIf=\"!currentValue\">&nbsp;</div>\r\n</div>\r\n<!-- #endregion -->", styles: [".vd-select-launch{position:absolute;right:30px;top:-5px;font-size:18px;cursor:pointer}.readonly-value{padding-right:24px;opacity:.6;min-height:15px}.vd-select-launch-readonly{position:absolute;right:0;top:9px;font-size:18px;cursor:pointer}.vd-select-filter-wrap{background:inherit;position:sticky;top:-8px;box-sizing:border-box;z-index:100}.vd-select-filter-wrap .vd-select-filter-inner{z-index:100;display:flex;flex-direction:row;align-items:center;background:inherit}.vd-select-filter-wrap .vd-select-filter-inner .vd-select-filter{box-shadow:none;padding:16px 16px 16px 0;box-sizing:border-box;width:100%;border:none;background-color:inherit;color:inherit}.vd-select-filter-wrap .vd-select-filter-inner .vd-select-filter:focus-visible{border:none;outline:none}.vd-select-filter-wrap .mat-divider{display:block;width:100%;border-top-width:1px;border-top-style:solid;box-sizing:border-box}::ng-deep .mat-mdc-select-trigger{display:flex!important}::ng-deep .mat-mdc-select-trigger .mat-icon{display:flex;margin-right:8px}::ng-deep .mat-mdc-form-field-type-vd-select-chip .mat-mdc-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}::ng-deep .mat-mdc-form-field-type-vd-select-chip .mat-mdc-chip{padding-top:0!important;padding-bottom:0!important;margin-top:2px!important;margin-bottom:2px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
180
- }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectComponent, decorators: [{
182
- type: Component,
183
- args: [{ selector: 'vd-select', providers: [
184
- { provide: MatFormFieldControl, useExisting: VdSelectComponent },
185
- {
186
- provide: MAT_SELECT_CONFIG,
187
- useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
188
- }
189
- ], template: "<mat-select [placeholder]=\"placeholder\" i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelect\" (selectionChange)=\"handleChange($event)\" [hidden]=\"readonly\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled\" flex>\r\n <!-- #region Filter input -->\r\n <div class=\"mat-mdc-form-field mat-form-field-appearance-fill\" flex>\r\n <div class=\"mat-mdc-text-field-wrapper mdc-text-field mdc-text-field--filled mdc-text-field--no-label\">\r\n <div class=\"mat-mdc-form-field-focus-overlay\"></div>\r\n <div class=\"mat-mdc-form-field-flex\">\r\n <div class=\"mat-mdc-form-field-infix\" layout=\"row\" flex>\r\n <input matInput #filterInput type=\"text\" placeholder=\"Filter...\" class=\"mat-mdc-input-element vd-select-filter mat-mdc-form-field-input-control mdc-text-field__input\" (keyup)=\"handleFilter($event)\" flex>\r\n <mat-icon *ngIf=\"filterInput?.value\" (click)=\"filterInput!.value = ''; handleFilter($event);\" fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"mdc-line-ripple\"></div>\r\n </div>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Trigger for launch button -->\r\n <mat-select-trigger *ngIf=\"(onLaunch?.observers?.length??0) > 0\" [class]=\"triggerCssClass\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n </span>\r\n <span *ngIf=\"!last\">&nbsp;&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n <mat-icon class=\"vd-select-launch\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Custom trigger template -->\r\n <mat-select-trigger *ngIf=\"!onLaunch?.observers?.length && triggerTemplate?.templateRef\" [class]=\"triggerCssClass\">\r\n <ng-template *ngIf=\"triggerTemplate?.templateRef\" [ngTemplateOutlet]=\"triggerTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ trigger: selectedOptions }\"></ng-template>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option template as trigger -->\r\n <mat-select-trigger *ngIf=\"!onLaunch?.observers?.length && !triggerTemplate?.templateRef && optionTemplate?.templateRef\" [class]=\"triggerCssClass\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Dynamic icon -->\r\n <ng-template *ngIf=\"optionIcon\" #optionIconTemplate [ngTemplateOutlet]=\"optionIconTemplate\" let-optionIcon=\"optionIcon\" [ngTemplateOutletContext]=\"{ optionIcon: optionIcon(option) }\">\r\n <mat-icon *ngIf=\"optionIcon.svgIcon\" [svgIcon]=\"optionIcon.svgIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <mat-icon *ngIf=\"optionIcon.matIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\">{{optionIcon.matIcon}}</mat-icon>\r\n </ng-template>\r\n <!-- #endregion -->\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option, text: option[optionTextProperty] }\"></ng-template>\r\n </span>\r\n <span *ngIf=\"!last\">&nbsp;&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Trigger for icons -->\r\n <mat-select-trigger *ngIf=\"!triggerTemplate?.templateRef && !optionTemplate?.templateRef\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Dynamic icon -->\r\n <ng-template *ngIf=\"optionIcon\" #optionIconTemplate [ngTemplateOutlet]=\"optionIconTemplate\" let-optionIcon=\"optionIcon\" [ngTemplateOutletContext]=\"{ optionIcon: optionIcon(option) }\">\r\n <mat-icon *ngIf=\"optionIcon.svgIcon\" [svgIcon]=\"optionIcon.svgIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <mat-icon *ngIf=\"optionIcon.matIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\">{{optionIcon.matIcon}}</mat-icon>\r\n </ng-template>\r\n <!-- #endregion -->\r\n\r\n <span i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n </span>\r\n <span *ngIf=\"!last\">&nbsp;&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n </mat-select-trigger>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Default option -->\r\n <mat-option class=\"tc-grey-500\" *ngIf=\"!multiple && defaultOption\" i18n=\"@@pleaseSelect\">--- Please Select ---</mat-option>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Options -->\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"mapper ? option : option[optionValueProperty]\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{option[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"option[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option, text: option[optionTextProperty] }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n <!-- #endregion -->\r\n</mat-select>\r\n\r\n<!-- #region Read only value -->\r\n<div *ngIf=\"readonly\">\r\n <div *ngIf=\"currentValue\">\r\n <div class=\"readonly-value\">\r\n <span *ngIf=\"!optionTemplate?.templateRef && !triggerTemplate?.templateRef\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <ng-container *ngFor=\"let option of selectedOptions; let i = index; let last = last\">\r\n <span layout=\"row\" layout-align=\"start center\">\r\n <!-- #region Property icon -->\r\n <mat-icon *ngIf=\"matIconKey && !svgIconKey\" [fontSet]=\"fontSet || 'material-symbols-outlined'\">{{currentValue[matIconKey]}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIconKey && !matIconKey\" [svgIcon]=\"currentValue[svgIconKey]\" [fontSet]=\"fontSet || 'material-symbols-outlined'\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Option icon -->\r\n <mat-icon *ngIf=\"option.icon?.matIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\">{{option.icon?.matIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"option.icon?.svgIcon\" [svgIcon]=\"option.icon?.svgIcon\" [fontSet]=\"option.icon?.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: option.icon?.iconColor??'' }\"></mat-icon>\r\n <!-- #endregion -->\r\n\r\n <span>&nbsp;&nbsp;</span>\r\n <span i18n=\"@@selection\">{currentValue[optionTextProperty], select, option {option} other {{{currentValue[optionTextProperty]}}}}</span>\r\n </span>\r\n <span *ngIf=\"!last\">,&nbsp;</span>\r\n </ng-container>\r\n </span>\r\n </span>\r\n <ng-template *ngIf=\"triggerTemplate?.templateRef\" [ngTemplateOutlet]=\"triggerTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ trigger: currentValue }\"></ng-template>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef && !triggerTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: currentValue, text: currentValue[optionTextProperty] }\"></ng-template>\r\n </div>\r\n <mat-icon *ngIf=\"(onLaunch?.observers?.length??0) > 0\" class=\"vd-select-launch-readonly\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </div>\r\n <div *ngIf=\"!currentValue\">&nbsp;</div>\r\n</div>\r\n<!-- #endregion -->", styles: [".vd-select-launch{position:absolute;right:30px;top:-5px;font-size:18px;cursor:pointer}.readonly-value{padding-right:24px;opacity:.6;min-height:15px}.vd-select-launch-readonly{position:absolute;right:0;top:9px;font-size:18px;cursor:pointer}.vd-select-filter-wrap{background:inherit;position:sticky;top:-8px;box-sizing:border-box;z-index:100}.vd-select-filter-wrap .vd-select-filter-inner{z-index:100;display:flex;flex-direction:row;align-items:center;background:inherit}.vd-select-filter-wrap .vd-select-filter-inner .vd-select-filter{box-shadow:none;padding:16px 16px 16px 0;box-sizing:border-box;width:100%;border:none;background-color:inherit;color:inherit}.vd-select-filter-wrap .vd-select-filter-inner .vd-select-filter:focus-visible{border:none;outline:none}.vd-select-filter-wrap .mat-divider{display:block;width:100%;border-top-width:1px;border-top-style:solid;box-sizing:border-box}::ng-deep .mat-mdc-select-trigger{display:flex!important}::ng-deep .mat-mdc-select-trigger .mat-icon{display:flex;margin-right:8px}::ng-deep .mat-mdc-form-field-type-vd-select-chip .mat-mdc-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}::ng-deep .mat-mdc-form-field-type-vd-select-chip .mat-mdc-chip{padding-top:0!important;padding-bottom:0!important;margin-top:2px!important;margin-bottom:2px!important}\n"] }]
190
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgControl, decorators: [{
191
- type: Optional
192
- }, {
193
- type: Self
194
- }] }, { type: i1.NgForm, decorators: [{
195
- type: Optional
196
- }] }, { type: i1.FormGroupDirective, decorators: [{
197
- type: Optional
198
- }] }, { type: i2.ErrorStateMatcher }, { type: i3.FocusMonitor }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { optionTemplate: [{
199
- type: ContentChild,
200
- args: [VdSelectOptionDirective]
201
- }], triggerTemplate: [{
202
- type: ContentChild,
203
- args: [VdSelectTriggerDirective]
204
- }], selectEl: [{
205
- type: ViewChild,
206
- args: [MatSelect, { static: false }]
207
- }], filterInput: [{
208
- type: ViewChild,
209
- args: ['filterInput', { static: false }]
210
- }], triggerCssClass: [{
211
- type: Input
212
- }], triggerMode: [{
213
- type: Input
214
- }] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3NlbGVjdC9jb21wb25lbnRzL3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9zZWxlY3QvY29tcG9uZW50cy9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7QUFjckYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHVCQUE0QjtJQW9IdkQ7SUFsSFg7O09BRUc7SUFDTyxnQkFBZ0IsQ0FBVTtJQUVwQzs7T0FFRztJQUNPLFlBQVksQ0FBVTtJQUVoQzs7T0FFRztJQUVJLGNBQWMsQ0FBMkI7SUFFaEQ7O09BRUc7SUFFSSxlQUFlLENBQTRCO0lBRWxEOztPQUVHO0lBRUksUUFBUSxDQUFhO0lBRTVCOztPQUVHO0lBRUksV0FBVyxDQUFjO0lBRWhDOztPQUVHO0lBQ0gsSUFDVyxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQzlELElBQVcsZUFBZSxDQUFDLGVBQWU7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csV0FBVyxLQUF5QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzFFLElBQVcsV0FBVyxDQUFDLFdBQStCO1FBQ3JELG1DQUFtQztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUVoQyxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7UUFFbkMsK0RBQStEO1FBQy9ELElBQUksV0FBVyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFLENBQUM7UUFDekQsQ0FBQztRQUVELHVDQUF1QztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxhQUFhLEtBQVksT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVuSDs7Ozs7O09BTUc7SUFDSCxJQUFXLGVBQWU7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7UUFDekMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXpILE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxjQUFtQixFQUFFLEVBQUU7WUFDM0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFZLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDL0YsQ0FBQztpQkFBTSxDQUFDO2dCQUNQLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUMxRSxDQUFDO1FBQ0YsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMzSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxZQUNXLFFBQWtCLEVBQ1IsU0FBb0IsRUFDNUIsVUFBa0IsRUFDbEIsZUFBbUMsRUFDL0Msd0JBQTJDLEVBQzNDLFlBQTBCLEVBQzFCLFVBQXNCLEVBQ3RCLGlCQUFvQztRQUVwQyxLQUFLLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFUbEksYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQVU3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZTtRQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzFDLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQVU7UUFDcEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxtQkFBbUIsQ0FBQyxLQUFVO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7SUFDRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVksQ0FBQyxNQUFjO1FBQ2pDLE1BQU0sVUFBVSxHQUFZLE1BQU0sRUFBRSxNQUEyQixFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ3JELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN2RixPQUFPLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzBIQTVMVyxpQkFBaUI7OEdBQWpCLGlCQUFpQixnSEFSbEI7WUFDVixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7WUFDaEU7Z0JBQ0MsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUU7YUFDM0Q7U0FDRCxzRUFpQmEsdUJBQXVCLGtGQU12Qix3QkFBd0IsMEZBTTNCLFNBQVMsb0tDakRyQix1clpBaUttQjs7MkZEM0lOLGlCQUFpQjtrQkFaN0IsU0FBUzsrQkFDQyxXQUFXLGFBR1Y7d0JBQ1YsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxtQkFBbUIsRUFBRTt3QkFDaEU7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUU7eUJBQzNEO3FCQUNEOzswQkF1SEMsUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUNSLFFBQVE7NkpBdkdILGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsdUJBQXVCO2dCQU85QixlQUFlO3NCQURyQixZQUFZO3VCQUFDLHdCQUF3QjtnQkFPL0IsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT2hDLFdBQVc7c0JBRGpCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPaEMsZUFBZTtzQkFEekIsS0FBSztnQkFXSyxXQUFXO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1BVF9TRUxFQ1RfQ09ORklHLCBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFNlbGVjdEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL2Zvcm1zL2hlbHBlcnMvYWJzdHJhY3Qtc2VsZWN0LWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmRTZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3ZkLXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVmRTZWxlY3RUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy92ZC1zZWxlY3QtdHJpZ2dlci5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICd2ZC1zZWxlY3QnLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBWZFNlbGVjdENvbXBvbmVudCB9LFxyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBNQVRfU0VMRUNUX0NPTkZJRyxcclxuXHRcdFx0dXNlVmFsdWU6IHsgb3ZlcmxheVBhbmVsQ2xhc3M6ICd2ZC1zZWxlY3QtZmlsdGVyLW92ZXJsYXknIH1cclxuXHRcdH1cclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZFNlbGVjdENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2VsZWN0Rm9ybUZpZWxkPGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcblx0LyoqXHJcblx0ICogQ1NTIGNsYXNzIGFwcGxpZWQgdG8gdGhlIHRyaWdnZXIgZWxlbWVudC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3RyaWdnZXJDc3NDbGFzcz86IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogTW9kZSBvZiB0aGUgdHJpZ2dlciwgZGVmYXVsdCBpcyAnY2hpcCcuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF90cmlnZ2VyTW9kZT86ICdjaGlwJztcclxuXHJcblx0LyoqXHJcblx0ICogVGVtcGxhdGUgZm9yIHJlbmRlcmluZyBvcHRpb25zLlxyXG5cdCAqL1xyXG5cdEBDb250ZW50Q2hpbGQoVmRTZWxlY3RPcHRpb25EaXJlY3RpdmUpXHJcblx0cHVibGljIG9wdGlvblRlbXBsYXRlPzogVmRTZWxlY3RPcHRpb25EaXJlY3RpdmU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRlbXBsYXRlIGZvciByZW5kZXJpbmcgdGhlIHRyaWdnZXIuXHJcblx0ICovXHJcblx0QENvbnRlbnRDaGlsZChWZFNlbGVjdFRyaWdnZXJEaXJlY3RpdmUpXHJcblx0cHVibGljIHRyaWdnZXJUZW1wbGF0ZT86IFZkU2VsZWN0VHJpZ2dlckRpcmVjdGl2ZTtcclxuXHJcblx0LyoqIFxyXG5cdCAqIFJlZmVyZW5jZSB0byB0aGUgTWF0U2VsZWN0IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZChNYXRTZWxlY3QsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG5cdHB1YmxpYyBzZWxlY3RFbD86IE1hdFNlbGVjdDtcclxuXHJcblx0LyoqIFxyXG5cdCAqIFJlZmVyZW5jZSB0byB0aGUgZmlsdGVyIGlucHV0IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZCgnZmlsdGVySW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuXHRwdWJsaWMgZmlsdGVySW5wdXQ/OiBFbGVtZW50UmVmO1xyXG5cclxuXHQvKipcclxuXHQgKiBDU1MgY2xhc3MgYXBwbGllZCB0byB0aGUgdHJpZ2dlciBlbGVtZW50LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCB0cmlnZ2VyQ3NzQ2xhc3MoKSB7IHJldHVybiB0aGlzLl90cmlnZ2VyQ3NzQ2xhc3M7IH1cclxuXHRwdWJsaWMgc2V0IHRyaWdnZXJDc3NDbGFzcyh0cmlnZ2VyQ3NzQ2xhc3MpIHtcclxuXHRcdHRoaXMuX3RyaWdnZXJDc3NDbGFzcyA9IHRyaWdnZXJDc3NDbGFzcztcclxuXHRcdHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE1vZGUgb2YgdGhlIHRyaWdnZXIuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IHRyaWdnZXJNb2RlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl90cmlnZ2VyTW9kZTsgfVxyXG5cdHB1YmxpYyBzZXQgdHJpZ2dlck1vZGUodHJpZ2dlck1vZGU6ICdjaGlwJyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0LyogVXBkYXRlIHRoZSB0cmlnZ2VyIG1vZGUgdmFsdWUgKi9cclxuXHRcdHRoaXMuX3RyaWdnZXJNb2RlID0gdHJpZ2dlck1vZGU7XHJcblxyXG5cdFx0LyogVXBkYXRlIHRoZSBDU1MgY2xhc3MgYmFzZWQgb24gdGhlIHRyaWdnZXIgbW9kZSAqL1xyXG5cdFx0dGhpcy50cmlnZ2VyQ3NzQ2xhc3MgPSB0cmlnZ2VyTW9kZTtcclxuXHJcblx0XHQvKiBJZiB0cmlnZ2VyIG1vZGUgaXMgZGVmaW5lZCwgYXBwZW5kIGl0IHRvIHRoZSBjb250cm9sIHR5cGUgKi9cclxuXHRcdGlmICh0cmlnZ2VyTW9kZSkge1xyXG5cdFx0XHR0aGlzLmNvbnRyb2xUeXBlID0gYCR7dGhpcy5jb250cm9sVHlwZX0tJHt0cmlnZ2VyTW9kZX1gO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIE5vdGlmeSB0aGF0IHRoZSBzdGF0ZSBoYXMgY2hhbmdlZCAqL1xyXG5cdFx0dGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyB0aGUgZGlzcGxheSB2YWx1ZXMgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxyXG5cdCAqIFxyXG5cdCAqIEByZXR1cm5zIFRoZSBkaXNwbGF5IHZhbHVlcyBvZiB0aGUgc2VsZWN0ZWQgb3B0aW9uc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgdHJpZ2dlclZhbHVlcygpOiBhbnlbXSB7IHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ucz8ubWFwKG9wdGlvbiA9PiBvcHRpb25bdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XSk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogUmV0cmlldmVzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgb3B0aW9ucyBmcm9tIHRoZSBmaWx0ZXJlZCBvcHRpb25zLlxyXG5cdCAqIElmIG11bHRpcGxlIG9wdGlvbnMgYXJlIHNlbGVjdGVkLCByZXR1cm5zIHRoZW0gYXMgYW4gYXJyYXkuXHJcblx0ICogSWYgYSBzaW5nbGUgb3B0aW9uIGlzIHNlbGVjdGVkLCByZXR1cm5zIGl0IGFzIGFuIGFycmF5IHdpdGggb25lIGVsZW1lbnQuXHJcblx0ICogXHJcblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2Ygc2VsZWN0ZWQgaXRlbXMgZnJvbSB0aGUgZmlsdGVyZWQgb3B0aW9ucy5cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IHNlbGVjdGVkT3B0aW9ucygpOiBhbnlbXSB7XHJcblx0XHRjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0RWw/LnNlbGVjdGVkO1xyXG5cdFx0Y29uc3Qgc2VsZWN0ZWRWYWx1ZXMgPSBBcnJheS5pc0FycmF5KHNlbGVjdGVkKSA/IHNlbGVjdGVkLm1hcChvcHRpb24gPT4gb3B0aW9uLnZhbHVlKSA6IHNlbGVjdGVkID8gW3NlbGVjdGVkLnZhbHVlXSA6IFtdO1xyXG5cclxuXHRcdHJldHVybiB0aGlzLmZpbHRlcmVkT3B0aW9ucz8uZmlsdGVyKChmaWx0ZXJlZE9wdGlvbjogYW55KSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmNvbXBhcmVXaXRoKSB7XHJcblx0XHRcdFx0cmV0dXJuIHNlbGVjdGVkVmFsdWVzLnNvbWUoc2VsZWN0ZWRWYWx1ZSA9PiB0aGlzLmNvbXBhcmVXaXRoIShzZWxlY3RlZFZhbHVlLCBmaWx0ZXJlZE9wdGlvbikpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHJldHVybiBzZWxlY3RlZFZhbHVlcy5pbmNsdWRlcyhmaWx0ZXJlZE9wdGlvblt0aGlzLm9wdGlvblZhbHVlUHJvcGVydHldKTtcclxuXHRcdFx0fVxyXG5cdFx0fSkgPz8gW107XHJcblx0fVxyXG5cclxuXHQvKiogXHJcblx0ICogQ2hlY2tzIGlmIHRoZSBzZWxlY3QgZWxlbWVudCBpcyBlbXB0eS5cclxuXHQgKiBcclxuXHQgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBzZWxlY3QgZWxlbWVudCBpcyBlbXB0eSwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fcmVhZG9ubHkgPyAhdGhpcy5jdXJyZW50VmFsdWUgOiAhdGhpcy5zZWxlY3RFbD8uX3NlbGVjdGlvbk1vZGVsIHx8IHRoaXMuc2VsZWN0RWw/Ll9zZWxlY3Rpb25Nb2RlbD8uaXNFbXB0eSgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3IgdG8gaW5pdGlhbGl6ZSB0aGUgVmRTZWxlY3RDb21wb25lbnQuXHJcblx0ICogXHJcblx0ICogQHBhcmFtIGluamVjdG9yIERlcGVuZGVuY3kgaW5qZWN0b3JcclxuXHQgKiBAcGFyYW0gbmdDb250cm9sIEFuZ3VsYXIgZm9ybSBjb250cm9sIGRpcmVjdGl2ZVxyXG5cdCAqIEBwYXJhbSBwYXJlbnRGb3JtIFBhcmVudCBmb3JtXHJcblx0ICogQHBhcmFtIHBhcmVudEZvcm1Hcm91cCBQYXJlbnQgZm9ybSBncm91cFxyXG5cdCAqIEBwYXJhbSBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIgRGVmYXVsdCBlcnJvciBzdGF0ZSBtYXRjaGVyXHJcblx0ICogQHBhcmFtIGZvY3VzTW9uaXRvciBGb2N1cyBtb25pdG9yIGZvciBtYW5hZ2luZyBmb2N1cyBzdGF0ZVxyXG5cdCAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50IGVsZW1lbnRcclxuXHQgKiBAcGFyYW0gY2hhbmdlRGV0ZWN0b3JSZWYgQ2hhbmdlIGRldGVjdG9yIHJlZmVyZW5jZVxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuXHRcdEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcblx0XHRAT3B0aW9uYWwoKSBwYXJlbnRGb3JtOiBOZ0Zvcm0sXHJcblx0XHRAT3B0aW9uYWwoKSBwYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuXHRcdGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXHJcblx0XHRmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcclxuXHRcdGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcblx0XHRjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuXHQpIHtcclxuXHRcdHN1cGVyKCd2ZC1zZWxlY3QnLCBpbmplY3RvciwgbmdDb250cm9sLCBwYXJlbnRGb3JtLCBwYXJlbnRGb3JtR3JvdXAsIGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlciwgZm9jdXNNb25pdG9yLCBlbGVtZW50UmVmLCBjaGFuZ2VEZXRlY3RvclJlZik7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBBbmd1bGFyIGhhcyBpbml0aWFsaXplZCB0aGUgY29tcG9uZW50J3Mgdmlldy5cclxuXHQgKiBTZXRzIHVwIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGZvY3VzIHRoZSBmaWx0ZXIgaW5wdXQgd2hlbiB0aGUgc2VsZWN0IGVsZW1lbnQgaXMgb3BlbmVkLlxyXG5cdCAqL1xyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VsZWN0RWw/Lm9wZW5lZENoYW5nZT8uc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRpZiAoeCAmJiB0aGlzLmZpbHRlcmFibGUpIHtcclxuXHRcdFx0XHR0aGlzLmZpbHRlcklucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdyaXRlcyB0aGUgdmFsdWUgdG8gdGhlIGNvbXBvbmVudC4gUGFydCBvZiB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlLlxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gYmUgd3JpdHRlblxyXG5cdCAqL1xyXG5cdHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblxyXG5cdFx0aWYgKCF0aGlzLnZhbHVlKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0RWw/LndyaXRlVmFsdWUobnVsbCk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBTZXRzIGZvY3VzIG9uIHRoZSBzZWxlY3QgZWxlbWVudCBhbmQgb3BlbnMgdGhlIGRyb3Bkb3duLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VsZWN0RWw/LmZvY3VzKCk7XHJcblx0XHR0aGlzLnNlbGVjdEVsPy5vcGVuKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBIYW5kbGVzIHRoZSBsYXVuY2ggYnV0dG9uIGNsaWNrIGV2ZW50LlxyXG5cdCAqIEVtaXRzIHRoZSBzZWxlY3RlZCBvcHRpb25zIHRocm91Z2ggdGhlIG9uTGF1bmNoIGV2ZW50IGVtaXR0ZXIuXHJcblx0ICogXHJcblx0ICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBlbWl0dGVkXHJcblx0ICovXHJcblx0cHVibGljIGhhbmRsZUxhdW5jaENsaWNrZWQodmFsdWU6IGFueSk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcclxuXHRcdFx0dGhpcy5vbkxhdW5jaC5lbWl0KHRoaXMub3B0aW9ucy5maWx0ZXIoKHg6IGFueSkgPT4gKHZhbHVlIHx8IFtdKS5pbmNsdWRlcyh4W3RoaXMub3B0aW9uVmFsdWVQcm9wZXJ0eV0pKSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLm9uTGF1bmNoLmVtaXQodGhpcy5vcHRpb25zLmZpbmQoKHg6IGFueSkgPT4geFt0aGlzLm9wdGlvblZhbHVlUHJvcGVydHldID09IHZhbHVlKSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBIYW5kbGVzIHRoZSBmaWx0ZXIgZXZlbnQgdG8gZmlsdGVyIHRoZSBvcHRpb25zIGJhc2VkIG9uIHRoZSBpbnB1dC5cclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gJGV2ZW50IFRoZSBmaWx0ZXIgZXZlbnRcclxuXHQgKi9cclxuXHRwdWJsaWMgaGFuZGxlRmlsdGVyKCRldmVudD86IEV2ZW50KTogdm9pZCB7XHJcblx0XHRjb25zdCBzZWFyY2hUZXh0OiBzdHJpbmcgPSAoJGV2ZW50Py50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlID8/ICcnO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKCh4OiBhbnkpID0+IHtcclxuXHRcdFx0Y29uc3QgZmllbGRWYWx1ZSA9IHRoaXMuc2VhcmNoRmllbGQgPyB0aGlzLnNlYXJjaEZpZWxkKHgpIDogeFt0aGlzLm9wdGlvblRleHRQcm9wZXJ0eV07XHJcblx0XHRcdHJldHVybiBmaWVsZFZhbHVlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSk7XHJcblx0XHR9KTtcclxuXHR9XHJcbn0iLCI8bWF0LXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBpMThuLXBsYWNlaG9sZGVyIFsobmdNb2RlbCldPVwidmFsdWVcIiAjc2VsZWN0PVwibWF0U2VsZWN0XCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiIFtoaWRkZW5dPVwicmVhZG9ubHlcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVdpdGg/P2RlZmF1bHRDb21wYXJlV2l0aFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGZsZXg+XHJcbiAgICA8IS0tICNyZWdpb24gRmlsdGVyIGlucHV0IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hdC1tZGMtZm9ybS1maWVsZCBtYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxcIiBmbGV4PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtbWRjLXRleHQtZmllbGQtd3JhcHBlciBtZGMtdGV4dC1maWVsZCBtZGMtdGV4dC1maWVsZC0tZmlsbGVkIG1kYy10ZXh0LWZpZWxkLS1uby1sYWJlbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LW1kYy1mb3JtLWZpZWxkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1tZGMtZm9ybS1maWVsZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LW1kYy1mb3JtLWZpZWxkLWluZml4XCIgbGF5b3V0PVwicm93XCIgZmxleD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgI2ZpbHRlcklucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJGaWx0ZXIuLi5cIiBjbGFzcz1cIm1hdC1tZGMtaW5wdXQtZWxlbWVudCB2ZC1zZWxlY3QtZmlsdGVyIG1hdC1tZGMtZm9ybS1maWVsZC1pbnB1dC1jb250cm9sIG1kYy10ZXh0LWZpZWxkX19pbnB1dFwiIChrZXl1cCk9XCJoYW5kbGVGaWx0ZXIoJGV2ZW50KVwiIGZsZXg+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZmlsdGVySW5wdXQ/LnZhbHVlXCIgKGNsaWNrKT1cImZpbHRlcklucHV0IS52YWx1ZSA9ICcnOyBoYW5kbGVGaWx0ZXIoJGV2ZW50KTtcIiBmb250U2V0PVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1kYy1saW5lLXJpcHBsZVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG4gICAgPCEtLSAjcmVnaW9uIFRyaWdnZXIgZm9yIGxhdW5jaCBidXR0b24gLS0+XHJcbiAgICA8bWF0LXNlbGVjdC10cmlnZ2VyICpuZ0lmPVwiKG9uTGF1bmNoPy5vYnNlcnZlcnM/Lmxlbmd0aD8/MCkgPiAwXCIgW2NsYXNzXT1cInRyaWdnZXJDc3NDbGFzc1wiPlxyXG4gICAgICAgIDxzcGFuIGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zOyBsZXQgaSA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBQcm9wZXJ0eSBpY29uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1hdEljb25LZXkgJiYgIXN2Z0ljb25LZXlcIiBbZm9udFNldF09XCJmb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ1wiPnt7b3B0aW9uW21hdEljb25LZXldfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInN2Z0ljb25LZXkgJiYgIW1hdEljb25LZXlcIiBbc3ZnSWNvbl09XCJvcHRpb25bc3ZnSWNvbktleV1cIiBbZm9udFNldF09XCJmb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tICNyZWdpb24gT3B0aW9uIGljb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9uLmljb24/Lm1hdEljb25cIiBbZm9udFNldF09XCJvcHRpb24uaWNvbj8uZm9udFNldCB8fCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCdcIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiBvcHRpb24uaWNvbj8uaWNvbkNvbG9yPz8nJyB9XCI+e3tvcHRpb24uaWNvbj8ubWF0SWNvbn19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb24uaWNvbj8uc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbi5pY29uPy5zdmdJY29uXCIgW2ZvbnRTZXRdPVwib3B0aW9uLmljb24/LmZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCIgW25nU3R5bGVdPVwieyBjb2xvcjogb3B0aW9uLmljb24/Lmljb25Db2xvcj8/JycgfVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBpMThuPVwiQEBzZWxlY3Rpb25cIj57b3B0aW9uW29wdGlvblRleHRQcm9wZXJ0eV0sIHNlbGVjdCwgb3B0aW9uIHtvcHRpb259IG90aGVyIHt7e29wdGlvbltvcHRpb25UZXh0UHJvcGVydHldfX19fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxhc3RcIj4mbmJzcDsmbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ2ZC1zZWxlY3QtbGF1bmNoXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgaGFuZGxlTGF1bmNoQ2xpY2tlZCh2YWx1ZSlcIj5sYXVuY2g8L21hdC1pY29uPlxyXG4gICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG4gICAgPCEtLSAjcmVnaW9uIEN1c3RvbSB0cmlnZ2VyIHRlbXBsYXRlIC0tPlxyXG4gICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj1cIiFvbkxhdW5jaD8ub2JzZXJ2ZXJzPy5sZW5ndGggJiYgdHJpZ2dlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIFtjbGFzc109XCJ0cmlnZ2VyQ3NzQ2xhc3NcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJ0cmlnZ2VyVGVtcGxhdGU/LnRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJpZ2dlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZiFcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB0cmlnZ2VyOiBzZWxlY3RlZE9wdGlvbnMgfVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cclxuICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcbiAgICA8IS0tICNyZWdpb24gT3B0aW9uIHRlbXBsYXRlIGFzIHRyaWdnZXIgLS0+XHJcbiAgICA8bWF0LXNlbGVjdC10cmlnZ2VyICpuZ0lmPVwiIW9uTGF1bmNoPy5vYnNlcnZlcnM/Lmxlbmd0aCAmJiAhdHJpZ2dlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZiAmJiBvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWZcIiBbY2xhc3NdPVwidHJpZ2dlckNzc0NsYXNzXCI+XHJcbiAgICAgICAgPHNwYW4gbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnM7IGxldCBpID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAjcmVnaW9uIFByb3BlcnR5IGljb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWF0SWNvbktleSAmJiAhc3ZnSWNvbktleVwiIFtmb250U2V0XT1cImZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCI+e3tvcHRpb25bbWF0SWNvbktleV19fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic3ZnSWNvbktleSAmJiAhbWF0SWNvbktleVwiIFtzdmdJY29uXT1cIm9wdGlvbltzdmdJY29uS2V5XVwiIFtmb250U2V0XT1cImZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBPcHRpb24gaWNvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb24uaWNvbj8ubWF0SWNvblwiIFtmb250U2V0XT1cIm9wdGlvbi5pY29uPy5mb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ1wiIFtuZ1N0eWxlXT1cInsgY29sb3I6IG9wdGlvbi5pY29uPy5pY29uQ29sb3I/PycnIH1cIj57e29wdGlvbi5pY29uPy5tYXRJY29ufX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uPy5zdmdJY29uXCIgW3N2Z0ljb25dPVwib3B0aW9uLmljb24/LnN2Z0ljb25cIiBbZm9udFNldF09XCJvcHRpb24uaWNvbj8uZm9udFNldCB8fCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCdcIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiBvcHRpb24uaWNvbj8uaWNvbkNvbG9yPz8nJyB9XCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBEeW5hbWljIGljb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uSWNvblwiICNvcHRpb25JY29uVGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uSWNvblRlbXBsYXRlXCIgbGV0LW9wdGlvbkljb249XCJvcHRpb25JY29uXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uSWNvbjogb3B0aW9uSWNvbihvcHRpb24pIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9uSWNvbi5zdmdJY29uXCIgW3N2Z0ljb25dPVwib3B0aW9uSWNvbi5zdmdJY29uXCIgW2ZvbnRTZXRdPVwib3B0aW9uSWNvbi5mb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbkljb24ubWF0SWNvblwiIFtmb250U2V0XT1cIm9wdGlvbkljb24uZm9udFNldCB8fCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCdcIj57e29wdGlvbkljb24ubWF0SWNvbn19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWYhXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uOiBvcHRpb24sIHRleHQ6IG9wdGlvbltvcHRpb25UZXh0UHJvcGVydHldIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiPiZuYnNwOyZuYnNwOzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG4gICAgPCEtLSAjcmVnaW9uIFRyaWdnZXIgZm9yIGljb25zIC0tPlxyXG4gICAgPG1hdC1zZWxlY3QtdHJpZ2dlciAqbmdJZj1cIiF0cmlnZ2VyVGVtcGxhdGU/LnRlbXBsYXRlUmVmICYmICFvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWZcIj5cclxuICAgICAgICA8c3BhbiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlbGVjdGVkT3B0aW9uczsgbGV0IGkgPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tICNyZWdpb24gUHJvcGVydHkgaWNvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJtYXRJY29uS2V5ICYmICFzdmdJY29uS2V5XCIgW2ZvbnRTZXRdPVwiZm9udFNldCB8fCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCdcIj57e29wdGlvblttYXRJY29uS2V5XX19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uS2V5ICYmICFtYXRJY29uS2V5XCIgW3N2Z0ljb25dPVwib3B0aW9uW3N2Z0ljb25LZXldXCIgW2ZvbnRTZXRdPVwiZm9udFNldCB8fCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCdcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAjcmVnaW9uIE9wdGlvbiBpY29uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uPy5tYXRJY29uXCIgW2ZvbnRTZXRdPVwib3B0aW9uLmljb24/LmZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCIgW25nU3R5bGVdPVwieyBjb2xvcjogb3B0aW9uLmljb24/Lmljb25Db2xvcj8/JycgfVwiPnt7b3B0aW9uLmljb24/Lm1hdEljb259fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9uLmljb24/LnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb24uaWNvbj8uc3ZnSWNvblwiIFtmb250U2V0XT1cIm9wdGlvbi5pY29uPy5mb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ1wiIFtuZ1N0eWxlXT1cInsgY29sb3I6IG9wdGlvbi5pY29uPy5pY29uQ29sb3I/PycnIH1cIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAjcmVnaW9uIER5bmFtaWMgaWNvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25JY29uXCIgI29wdGlvbkljb25UZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25JY29uVGVtcGxhdGVcIiBsZXQtb3B0aW9uSWNvbj1cIm9wdGlvbkljb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb25JY29uOiBvcHRpb25JY29uKG9wdGlvbikgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25JY29uLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb25JY29uLnN2Z0ljb25cIiBbZm9udFNldF09XCJvcHRpb25JY29uLmZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9uSWNvbi5tYXRJY29uXCIgW2ZvbnRTZXRdPVwib3B0aW9uSWNvbi5mb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ1wiPnt7b3B0aW9uSWNvbi5tYXRJY29ufX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBpMThuPVwiQEBzZWxlY3Rpb25cIj57b3B0aW9uW29wdGlvblRleHRQcm9wZXJ0eV0sIHNlbGVjdCwgb3B0aW9uIHtvcHRpb259IG90aGVyIHt7e29wdGlvbltvcHRpb25UZXh0UHJvcGVydHldfX19fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxhc3RcIj4mbmJzcDsmbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgIDwhLS0gI3JlZ2lvbiBEZWZhdWx0IG9wdGlvbiAtLT5cclxuICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwidGMtZ3JleS01MDBcIiAqbmdJZj1cIiFtdWx0aXBsZSAmJiBkZWZhdWx0T3B0aW9uXCIgaTE4bj1cIkBAcGxlYXNlU2VsZWN0XCI+LS0tIFBsZWFzZSBTZWxlY3QgLS0tPC9tYXQtb3B0aW9uPlxyXG4gICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgIDwhLS0gI3JlZ2lvbiBPcHRpb25zIC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gbGV0LWZpcnN0PVwiZmlyc3RcIiBuZ0ZvciBbbmdGb3JPZl09XCJmaWx0ZXJlZE9wdGlvbnNcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwibWFwcGVyID8gb3B0aW9uIDogb3B0aW9uW29wdGlvblZhbHVlUHJvcGVydHldXCI+XHJcbiAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBQcm9wZXJ0eSBpY29uIC0tPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJtYXRJY29uS2V5ICYmICFzdmdJY29uS2V5XCIgW2ZvbnRTZXRdPVwiZm9udFNldCB8fCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCdcIj57e29wdGlvblttYXRJY29uS2V5XX19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic3ZnSWNvbktleSAmJiAhbWF0SWNvbktleVwiIFtzdmdJY29uXT1cIm9wdGlvbltzdmdJY29uS2V5XVwiIFtmb250U2V0XT1cImZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSAjcmVnaW9uIE9wdGlvbiBpY29uIC0tPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb24uaWNvbj8ubWF0SWNvblwiIFtmb250U2V0XT1cIm9wdGlvbi5pY29uPy5mb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ1wiIFtuZ1N0eWxlXT1cInsgY29sb3I6IG9wdGlvbi5pY29uPy5pY29uQ29sb3I/PycnIH1cIj57e29wdGlvbi5pY29uPy5tYXRJY29ufX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb24uaWNvbj8uc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbi5pY29uPy5zdmdJY29uXCIgW2ZvbnRTZXRdPVwib3B0aW9uLmljb24/LmZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCIgW25nU3R5bGVdPVwieyBjb2xvcjogb3B0aW9uLmljb24/Lmljb25Db2xvcj8/JycgfVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW9wdGlvblRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIGkxOG49XCJAQHNlbGVjdGlvblwiPntvcHRpb25bb3B0aW9uVGV4dFByb3BlcnR5XSwgc2VsZWN0LCBvcHRpb24ge29wdGlvbn0gb3RoZXIge3t7b3B0aW9uW29wdGlvblRleHRQcm9wZXJ0eV19fX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWYhXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uOiBvcHRpb24sIHRleHQ6IG9wdGlvbltvcHRpb25UZXh0UHJvcGVydHldIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcbjwvbWF0LXNlbGVjdD5cclxuXHJcbjwhLS0gI3JlZ2lvbiBSZWFkIG9ubHkgdmFsdWUgLS0+XHJcbjxkaXYgKm5nSWY9XCJyZWFkb25seVwiPlxyXG4gICAgPGRpdiAqbmdJZj1cImN1cnJlbnRWYWx1ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWFkb25seS12YWx1ZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWYgJiYgIXRyaWdnZXJUZW1wbGF0ZT8udGVtcGxhdGVSZWZcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnM7IGxldCBpID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBQcm9wZXJ0eSBpY29uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWF0SWNvbktleSAmJiAhc3ZnSWNvbktleVwiIFtmb250U2V0XT1cImZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCI+e3tjdXJyZW50VmFsdWVbbWF0SWNvbktleV19fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uS2V5ICYmICFtYXRJY29uS2V5XCIgW3N2Z0ljb25dPVwiY3VycmVudFZhbHVlW3N2Z0ljb25LZXldXCIgW2ZvbnRTZXRdPVwiZm9udFNldCB8fCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCdcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBPcHRpb24gaWNvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbi5pY29uPy5tYXRJY29uXCIgW2ZvbnRTZXRdPVwib3B0aW9uLmljb24/LmZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCIgW25nU3R5bGVdPVwieyBjb2xvcjogb3B0aW9uLmljb24/Lmljb25Db2xvcj8/JycgfVwiPnt7b3B0aW9uLmljb24/Lm1hdEljb259fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb24uaWNvbj8uc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbi5pY29uPy5zdmdJY29uXCIgW2ZvbnRTZXRdPVwib3B0aW9uLmljb24/LmZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnXCIgW25nU3R5bGVdPVwieyBjb2xvcjogb3B0aW9uLmljb24/Lmljb25Db2xvcj8/JycgfVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7Jm5ic3A7PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaTE4bj1cIkBAc2VsZWN0aW9uXCI+e2N1cnJlbnRWYWx1ZVtvcHRpb25UZXh0UHJvcGVydHldLCBzZWxlY3QsIG9wdGlvbiB7b3B0aW9ufSBvdGhlciB7e3tjdXJyZW50VmFsdWVbb3B0aW9uVGV4dFByb3BlcnR5XX19fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiPiwmbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwidHJpZ2dlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyaWdnZXJUZW1wbGF0ZT8udGVtcGxhdGVSZWYhXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdHJpZ2dlcjogY3VycmVudFZhbHVlIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWYgJiYgIXRyaWdnZXJUZW1wbGF0ZT8udGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWYhXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uOiBjdXJyZW50VmFsdWUsIHRleHQ6IGN1cnJlbnRWYWx1ZVtvcHRpb25UZXh0UHJvcGVydHldIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIihvbkxhdW5jaD8ub2JzZXJ2ZXJzPy5sZW5ndGg/PzApID4gMFwiIGNsYXNzPVwidmQtc2VsZWN0LWxhdW5jaC1yZWFkb25seVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGhhbmRsZUxhdW5jaENsaWNrZWQodmFsdWUpXCI+bGF1bmNoPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFjdXJyZW50VmFsdWVcIj4mbmJzcDs8L2Rpdj5cclxuPC9kaXY+XHJcbjwhLS0gI2VuZHJlZ2lvbiAtLT4iXX0=
@@ -1,23 +0,0 @@
1
- import { CdkPortal } from "@angular/cdk/portal";
2
- import { Directive, TemplateRef, ViewContainerRef } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- /**
5
- * VdSelectOptionDirective class
6
- */
7
- export class VdSelectOptionDirective extends CdkPortal {
8
- /**
9
- * Constructor
10
- * @param templateRef
11
- * @param viewContainerRef
12
- */
13
- constructor(templateRef, viewContainerRef) {
14
- super(templateRef, viewContainerRef);
15
- }
16
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectOptionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
17
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: VdSelectOptionDirective, selector: "[vd-select-option]ng-template", usesInheritance: true, ngImport: i0 });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectOptionDirective, decorators: [{
20
- type: Directive,
21
- args: [{ selector: '[vd-select-option]ng-template' }]
22
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmQtc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9zZWxlY3QvZGlyZWN0aXZlcy92ZC1zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFNBQVM7SUFDbEQ7Ozs7T0FJRztJQUNILFlBQVksV0FBNkIsRUFBRSxnQkFBa0M7UUFDekUsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7MEhBUlEsdUJBQXVCOzhHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsK0JBQStCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBWZFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSBjbGFzc1xyXG4gKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3ZkLXNlbGVjdC1vcHRpb25dbmctdGVtcGxhdGUnIH0pXHJcbmV4cG9ydCBjbGFzcyBWZFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSBleHRlbmRzIENka1BvcnRhbCB7XHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdG9yXHJcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVSZWYgXHJcbiAgICAgKiBAcGFyYW0gdmlld0NvbnRhaW5lclJlZiBcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICAgICAgICBzdXBlcih0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lclJlZik7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,23 +0,0 @@
1
- import { CdkPortal } from "@angular/cdk/portal";
2
- import { Directive, TemplateRef, ViewContainerRef } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- /**
5
- * VdSelectTriggerDirective class
6
- */
7
- export class VdSelectTriggerDirective extends CdkPortal {
8
- /**
9
- * Constructor
10
- * @param templateRef
11
- * @param viewContainerRef
12
- */
13
- constructor(templateRef, viewContainerRef) {
14
- super(templateRef, viewContainerRef);
15
- }
16
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectTriggerDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
17
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: VdSelectTriggerDirective, selector: "[vd-select-trigger]ng-template", usesInheritance: true, ngImport: i0 });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectTriggerDirective, decorators: [{
20
- type: Directive,
21
- args: [{ selector: '[vd-select-trigger]ng-template' }]
22
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmQtc2VsZWN0LXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvc2VsZWN0L2RpcmVjdGl2ZXMvdmQtc2VsZWN0LXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFekU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQUNuRDs7OztPQUlHO0lBQ0gsWUFBWSxXQUE2QixFQUFFLGdCQUFrQztRQUN6RSxLQUFLLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDekMsQ0FBQzswSEFSUSx3QkFBd0I7OEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1BvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIFZkU2VsZWN0VHJpZ2dlckRpcmVjdGl2ZSBjbGFzc1xyXG4gKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3ZkLXNlbGVjdC10cmlnZ2VyXW5nLXRlbXBsYXRlJyB9KVxyXG5leHBvcnQgY2xhc3MgVmRTZWxlY3RUcmlnZ2VyRGlyZWN0aXZlIGV4dGVuZHMgQ2RrUG9ydGFsIHtcclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZVJlZiBcclxuICAgICAqIEBwYXJhbSB2aWV3Q29udGFpbmVyUmVmIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Piwgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gICAgICAgIHN1cGVyKHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyUmVmKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './directives/vd-select-option.directive';
2
- export * from './directives/vd-select-trigger.directive';
3
- export * from './select.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3NlbGVjdC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3ZkLXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3ZkLXNlbGVjdC10cmlnZ2VyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Lm1vZHVsZSc7XHJcblxyXG4iXX0=
@@ -1,48 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import { MatSelectModule } from '@angular/material/select';
7
- import { VdSelectComponent } from './components/select.component';
8
- import { VdSelectOptionDirective } from './directives/vd-select-option.directive';
9
- import { VdSelectTriggerDirective } from './directives/vd-select-trigger.directive';
10
- import * as i0 from "@angular/core";
11
- export { VdSelectComponent };
12
- const EXPORTED_DECLARATIONS = [
13
- VdSelectComponent,
14
- VdSelectOptionDirective,
15
- VdSelectTriggerDirective
16
- ];
17
- export class VdSelectModule {
18
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: VdSelectModule, declarations: [VdSelectComponent,
20
- VdSelectOptionDirective,
21
- VdSelectTriggerDirective], imports: [CommonModule,
22
- FormsModule,
23
- MatSelectModule,
24
- MatIconModule,
25
- MatButtonModule], exports: [VdSelectComponent,
26
- VdSelectOptionDirective,
27
- VdSelectTriggerDirective] });
28
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectModule, imports: [CommonModule,
29
- FormsModule,
30
- MatSelectModule,
31
- MatIconModule,
32
- MatButtonModule] });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdSelectModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- imports: [
38
- CommonModule,
39
- FormsModule,
40
- MatSelectModule,
41
- MatIconModule,
42
- MatButtonModule
43
- ],
44
- exports: [EXPORTED_DECLARATIONS],
45
- declarations: [EXPORTED_DECLARATIONS]
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3NlbGVjdC9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFFcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUM7QUFFN0IsTUFBTSxxQkFBcUIsR0FBRztJQUM3QixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN4QixDQUFDO0FBYUYsTUFBTSxPQUFPLGNBQWM7MEhBQWQsY0FBYzsySEFBZCxjQUFjLGlCQWhCMUIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2Qix3QkFBd0IsYUFLdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWUsYUFYaEIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2Qix3QkFBd0I7MkhBY1osY0FBYyxZQVR6QixZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTs7MkZBS0osY0FBYztrQkFYMUIsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNoQyxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBWZFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmRTZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmQtc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBWZFNlbGVjdFRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmQtc2VsZWN0LXRyaWdnZXIuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCB7IFZkU2VsZWN0Q29tcG9uZW50IH07XHJcblxyXG5jb25zdCBFWFBPUlRFRF9ERUNMQVJBVElPTlMgPSBbXHJcblx0VmRTZWxlY3RDb21wb25lbnQsXHJcblx0VmRTZWxlY3RPcHRpb25EaXJlY3RpdmUsXHJcblx0VmRTZWxlY3RUcmlnZ2VyRGlyZWN0aXZlXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0TWF0U2VsZWN0TW9kdWxlLFxyXG5cdFx0TWF0SWNvbk1vZHVsZSxcclxuXHRcdE1hdEJ1dHRvbk1vZHVsZVxyXG5cdF0sXHJcblx0ZXhwb3J0czogW0VYUE9SVEVEX0RFQ0xBUkFUSU9OU10sXHJcblx0ZGVjbGFyYXRpb25zOiBbRVhQT1JURURfREVDTEFSQVRJT05TXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmRTZWxlY3RNb2R1bGUgeyB9Il19