@gnwebsoft/ui 4.0.21 → 4.0.23

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 (321) hide show
  1. package/package.json +1 -1
  2. package/dist/chunk-BWEFHFD4.js +0 -2399
  3. package/dist/chunk-FMN47XRJ.cjs +0 -72
  4. package/dist/chunk-FYU2OIMD.js +0 -15
  5. package/dist/chunk-HDL5E7XD.js +0 -523
  6. package/dist/chunk-LUW7V5GI.cjs +0 -15
  7. package/dist/chunk-PW777IOX.js +0 -140
  8. package/dist/chunk-QYHJIPSZ.cjs +0 -140
  9. package/dist/chunk-RVGPXTBE.js +0 -2535
  10. package/dist/chunk-T5H5X3VR.js +0 -72
  11. package/dist/chunk-TQQUGQTW.cjs +0 -2535
  12. package/dist/chunk-UZ2KNGOF.cjs +0 -523
  13. package/dist/chunk-W5EM6HLW.cjs +0 -2399
  14. package/dist/core/api/ApiClient.d.ts +0 -329
  15. package/dist/core/api/ApiClient.d.ts.map +0 -1
  16. package/dist/core/api/CorrelationIdGenerator.d.ts +0 -52
  17. package/dist/core/api/CorrelationIdGenerator.d.ts.map +0 -1
  18. package/dist/core/api/Errors/ErrorNormalizer.d.ts +0 -106
  19. package/dist/core/api/Errors/ErrorNormalizer.d.ts.map +0 -1
  20. package/dist/core/api/Interceptors/InterceptorManager.d.ts +0 -236
  21. package/dist/core/api/Interceptors/InterceptorManager.d.ts.map +0 -1
  22. package/dist/core/api/Models/FilterModel.d.ts +0 -22
  23. package/dist/core/api/Models/FilterModel.d.ts.map +0 -1
  24. package/dist/core/api/Models/QueryParams.d.ts +0 -13
  25. package/dist/core/api/Models/QueryParams.d.ts.map +0 -1
  26. package/dist/core/api/Models/index.d.ts +0 -3
  27. package/dist/core/api/Models/index.d.ts.map +0 -1
  28. package/dist/core/api/RequestManager.d.ts +0 -142
  29. package/dist/core/api/RequestManager.d.ts.map +0 -1
  30. package/dist/core/api/Retry/RetryHandler.d.ts +0 -100
  31. package/dist/core/api/Retry/RetryHandler.d.ts.map +0 -1
  32. package/dist/core/api/Signals/SignalManager.d.ts +0 -153
  33. package/dist/core/api/Signals/SignalManager.d.ts.map +0 -1
  34. package/dist/core/api/Utils/ResponseParser.d.ts +0 -105
  35. package/dist/core/api/Utils/ResponseParser.d.ts.map +0 -1
  36. package/dist/core/api/Utils/UrlBuilder.d.ts +0 -111
  37. package/dist/core/api/Utils/UrlBuilder.d.ts.map +0 -1
  38. package/dist/core/api/createApiClient.d.ts +0 -247
  39. package/dist/core/api/createApiClient.d.ts.map +0 -1
  40. package/dist/core/api/index.d.ts +0 -7
  41. package/dist/core/api/index.d.ts.map +0 -1
  42. package/dist/core/api/types/ApiError.d.ts +0 -17
  43. package/dist/core/api/types/ApiError.d.ts.map +0 -1
  44. package/dist/core/api/types/ApiResponse.d.ts +0 -76
  45. package/dist/core/api/types/ApiResponse.d.ts.map +0 -1
  46. package/dist/core/api/types/CancelToken.d.ts +0 -15
  47. package/dist/core/api/types/CancelToken.d.ts.map +0 -1
  48. package/dist/core/api/types/ErrorInterceptor.d.ts +0 -3
  49. package/dist/core/api/types/ErrorInterceptor.d.ts.map +0 -1
  50. package/dist/core/api/types/ErrorResponseData.d.ts +0 -68
  51. package/dist/core/api/types/ErrorResponseData.d.ts.map +0 -1
  52. package/dist/core/api/types/RequestConfig.d.ts +0 -21
  53. package/dist/core/api/types/RequestConfig.d.ts.map +0 -1
  54. package/dist/core/api/types/RequestInterceptor.d.ts +0 -3
  55. package/dist/core/api/types/RequestInterceptor.d.ts.map +0 -1
  56. package/dist/core/api/types/ResponseInterceptor.d.ts +0 -3
  57. package/dist/core/api/types/ResponseInterceptor.d.ts.map +0 -1
  58. package/dist/core/api/types/ValidationErrors.d.ts +0 -7
  59. package/dist/core/api/types/ValidationErrors.d.ts.map +0 -1
  60. package/dist/core/api/types/index.d.ts +0 -10
  61. package/dist/core/api/types/index.d.ts.map +0 -1
  62. package/dist/core/api/useValidationErrors.d.ts +0 -11
  63. package/dist/core/api/useValidationErrors.d.ts.map +0 -1
  64. package/dist/core/components/AuthorizedView/AuthorizedView.d.ts +0 -7
  65. package/dist/core/components/AuthorizedView/AuthorizedView.d.ts.map +0 -1
  66. package/dist/core/components/AuthorizedView/index.d.ts +0 -2
  67. package/dist/core/components/AuthorizedView/index.d.ts.map +0 -1
  68. package/dist/core/components/CancelButton/CancelButton.d.ts +0 -4
  69. package/dist/core/components/CancelButton/CancelButton.d.ts.map +0 -1
  70. package/dist/core/components/CancelButton/index.d.ts +0 -2
  71. package/dist/core/components/CancelButton/index.d.ts.map +0 -1
  72. package/dist/core/components/ClearButton/ClearButton.d.ts +0 -63
  73. package/dist/core/components/ClearButton/ClearButton.d.ts.map +0 -1
  74. package/dist/core/components/ClearButton/index.d.ts +0 -2
  75. package/dist/core/components/ClearButton/index.d.ts.map +0 -1
  76. package/dist/core/components/Containers/SimpleContainer.d.ts +0 -10
  77. package/dist/core/components/Containers/SimpleContainer.d.ts.map +0 -1
  78. package/dist/core/components/Containers/index.d.ts +0 -2
  79. package/dist/core/components/Containers/index.d.ts.map +0 -1
  80. package/dist/core/components/FilterButton/FilterButton.d.ts +0 -86
  81. package/dist/core/components/FilterButton/FilterButton.d.ts.map +0 -1
  82. package/dist/core/components/FilterButton/index.d.ts +0 -2
  83. package/dist/core/components/FilterButton/index.d.ts.map +0 -1
  84. package/dist/core/components/FilterDisplay/FilterChip.d.ts +0 -9
  85. package/dist/core/components/FilterDisplay/FilterChip.d.ts.map +0 -1
  86. package/dist/core/components/FilterDisplay/FilterDisplay.d.ts +0 -10
  87. package/dist/core/components/FilterDisplay/FilterDisplay.d.ts.map +0 -1
  88. package/dist/core/components/FilterDisplay/index.d.ts +0 -3
  89. package/dist/core/components/FilterDisplay/index.d.ts.map +0 -1
  90. package/dist/core/components/FilterWrapper/FilterWrapper.d.ts +0 -99
  91. package/dist/core/components/FilterWrapper/FilterWrapper.d.ts.map +0 -1
  92. package/dist/core/components/FilterWrapper/index.d.ts +0 -2
  93. package/dist/core/components/FilterWrapper/index.d.ts.map +0 -1
  94. package/dist/core/components/Footer/Footer.d.ts +0 -3
  95. package/dist/core/components/Footer/Footer.d.ts.map +0 -1
  96. package/dist/core/components/Footer/index.d.ts +0 -2
  97. package/dist/core/components/Footer/index.d.ts.map +0 -1
  98. package/dist/core/components/LabelText/LabelText.d.ts +0 -103
  99. package/dist/core/components/LabelText/LabelText.d.ts.map +0 -1
  100. package/dist/core/components/LabelText/index.d.ts +0 -2
  101. package/dist/core/components/LabelText/index.d.ts.map +0 -1
  102. package/dist/core/components/RenderIf/RenderIf.d.ts +0 -7
  103. package/dist/core/components/RenderIf/RenderIf.d.ts.map +0 -1
  104. package/dist/core/components/RenderIf/index.d.ts +0 -2
  105. package/dist/core/components/RenderIf/index.d.ts.map +0 -1
  106. package/dist/core/components/SectionBox/SectionBox.d.ts +0 -15
  107. package/dist/core/components/SectionBox/SectionBox.d.ts.map +0 -1
  108. package/dist/core/components/SectionBox/index.d.ts +0 -2
  109. package/dist/core/components/SectionBox/index.d.ts.map +0 -1
  110. package/dist/core/components/SimpleTabs/SimpleTabs.d.ts +0 -17
  111. package/dist/core/components/SimpleTabs/SimpleTabs.d.ts.map +0 -1
  112. package/dist/core/components/SimpleTabs/index.d.ts +0 -2
  113. package/dist/core/components/SimpleTabs/index.d.ts.map +0 -1
  114. package/dist/core/components/SubmitButton/SubmitButton.d.ts +0 -6
  115. package/dist/core/components/SubmitButton/SubmitButton.d.ts.map +0 -1
  116. package/dist/core/components/SubmitButton/index.d.ts +0 -2
  117. package/dist/core/components/SubmitButton/index.d.ts.map +0 -1
  118. package/dist/core/components/WithRef/WithRef.d.ts +0 -14
  119. package/dist/core/components/WithRef/WithRef.d.ts.map +0 -1
  120. package/dist/core/components/WithRef/index.d.ts +0 -2
  121. package/dist/core/components/WithRef/index.d.ts.map +0 -1
  122. package/dist/core/components/index.d.ts +0 -15
  123. package/dist/core/components/index.d.ts.map +0 -1
  124. package/dist/core/config.d.ts +0 -24
  125. package/dist/core/config.d.ts.map +0 -1
  126. package/dist/core/hooks/index.d.ts +0 -3
  127. package/dist/core/hooks/index.d.ts.map +0 -1
  128. package/dist/core/hooks/makeQuery.d.ts +0 -12
  129. package/dist/core/hooks/makeQuery.d.ts.map +0 -1
  130. package/dist/core/hooks/useApiClient.d.ts +0 -3
  131. package/dist/core/hooks/useApiClient.d.ts.map +0 -1
  132. package/dist/core/hooks/useFormErrorHandler.d.ts +0 -35
  133. package/dist/core/hooks/useFormErrorHandler.d.ts.map +0 -1
  134. package/dist/core/hooks/useListView.d.ts +0 -20
  135. package/dist/core/hooks/useListView.d.ts.map +0 -1
  136. package/dist/core/index.cjs +0 -123
  137. package/dist/core/index.d.ts +0 -8
  138. package/dist/core/index.d.ts.map +0 -1
  139. package/dist/core/index.js +0 -123
  140. package/dist/core/models.d.ts +0 -5
  141. package/dist/core/models.d.ts.map +0 -1
  142. package/dist/core/types/FilterLabel.d.ts +0 -6
  143. package/dist/core/types/FilterLabel.d.ts.map +0 -1
  144. package/dist/core/types/ListModels.d.ts +0 -18
  145. package/dist/core/types/ListModels.d.ts.map +0 -1
  146. package/dist/core/types/OptionsRequest.d.ts +0 -4
  147. package/dist/core/types/OptionsRequest.d.ts.map +0 -1
  148. package/dist/core/types/index.d.ts +0 -4
  149. package/dist/core/types/index.d.ts.map +0 -1
  150. package/dist/core/utils/CacheUtility/index.d.ts +0 -15
  151. package/dist/core/utils/CacheUtility/index.d.ts.map +0 -1
  152. package/dist/core/utils/calculateFilterCount.d.ts +0 -2
  153. package/dist/core/utils/calculateFilterCount.d.ts.map +0 -1
  154. package/dist/core/utils/format-time.d.ts +0 -79
  155. package/dist/core/utils/format-time.d.ts.map +0 -1
  156. package/dist/core/utils/getEmptyObject.d.ts +0 -7
  157. package/dist/core/utils/getEmptyObject.d.ts.map +0 -1
  158. package/dist/core/utils/index.d.ts +0 -7
  159. package/dist/core/utils/index.d.ts.map +0 -1
  160. package/dist/core/utils/useStableRowCount.d.ts +0 -9
  161. package/dist/core/utils/useStableRowCount.d.ts.map +0 -1
  162. package/dist/core/utils/watch/core.d.ts +0 -22
  163. package/dist/core/utils/watch/core.d.ts.map +0 -1
  164. package/dist/core/utils/watch/index.d.ts +0 -49
  165. package/dist/core/utils/watch/index.d.ts.map +0 -1
  166. package/dist/core/utils/watch/utilities.d.ts +0 -34
  167. package/dist/core/utils/watch/utilities.d.ts.map +0 -1
  168. package/dist/hooks/index.cjs +0 -11
  169. package/dist/hooks/index.d.ts +0 -3
  170. package/dist/hooks/index.d.ts.map +0 -1
  171. package/dist/hooks/index.js +0 -11
  172. package/dist/hooks/useTransform/enhanced.d.ts +0 -133
  173. package/dist/hooks/useTransform/enhanced.d.ts.map +0 -1
  174. package/dist/hooks/useTransform/index.d.ts +0 -93
  175. package/dist/hooks/useTransform/index.d.ts.map +0 -1
  176. package/dist/index.cjs +0 -265
  177. package/dist/index.d.ts +0 -6
  178. package/dist/index.d.ts.map +0 -1
  179. package/dist/index.js +0 -265
  180. package/dist/types/AsyncMultiSelectPayload.d.ts +0 -5
  181. package/dist/types/AsyncMultiSelectPayload.d.ts.map +0 -1
  182. package/dist/types/AsyncSelectPayload.d.ts +0 -5
  183. package/dist/types/AsyncSelectPayload.d.ts.map +0 -1
  184. package/dist/types/OperationResponse.d.ts +0 -5
  185. package/dist/types/OperationResponse.d.ts.map +0 -1
  186. package/dist/types/OptionItem.d.ts +0 -66
  187. package/dist/types/OptionItem.d.ts.map +0 -1
  188. package/dist/types/api.d.ts +0 -127
  189. package/dist/types/api.d.ts.map +0 -1
  190. package/dist/types/events.d.ts +0 -74
  191. package/dist/types/events.d.ts.map +0 -1
  192. package/dist/types/index.cjs +0 -31
  193. package/dist/types/index.d.ts +0 -14
  194. package/dist/types/index.d.ts.map +0 -1
  195. package/dist/types/index.js +0 -31
  196. package/dist/types/utilities.d.ts +0 -458
  197. package/dist/types/utilities.d.ts.map +0 -1
  198. package/dist/utils/flattenObjectKeys.d.ts +0 -63
  199. package/dist/utils/flattenObjectKeys.d.ts.map +0 -1
  200. package/dist/utils/getTimezone.d.ts +0 -4
  201. package/dist/utils/getTimezone.d.ts.map +0 -1
  202. package/dist/utils/handleServerErrors.d.ts +0 -70
  203. package/dist/utils/handleServerErrors.d.ts.map +0 -1
  204. package/dist/utils/index.cjs +0 -55
  205. package/dist/utils/index.d.ts +0 -9
  206. package/dist/utils/index.d.ts.map +0 -1
  207. package/dist/utils/index.js +0 -55
  208. package/dist/utils/propertyExists.d.ts +0 -35
  209. package/dist/utils/propertyExists.d.ts.map +0 -1
  210. package/dist/utils/readValueAsDate.d.ts +0 -4
  211. package/dist/utils/readValueAsDate.d.ts.map +0 -1
  212. package/dist/utils/removeLeadingTrailingSlashes.d.ts +0 -2
  213. package/dist/utils/removeLeadingTrailingSlashes.d.ts.map +0 -1
  214. package/dist/utils/schemaTools.d.ts +0 -209
  215. package/dist/utils/schemaTools.d.ts.map +0 -1
  216. package/dist/utils/typeGuards.d.ts +0 -316
  217. package/dist/utils/typeGuards.d.ts.map +0 -1
  218. package/dist/utils/watch/core.d.ts +0 -22
  219. package/dist/utils/watch/core.d.ts.map +0 -1
  220. package/dist/utils/watch/index.d.ts +0 -49
  221. package/dist/utils/watch/index.d.ts.map +0 -1
  222. package/dist/utils/watch/utilities.d.ts +0 -34
  223. package/dist/utils/watch/utilities.d.ts.map +0 -1
  224. package/dist/wrappers/AsyncMultiSelect/AsyncMultiSelect.d.ts +0 -9
  225. package/dist/wrappers/AsyncMultiSelect/AsyncMultiSelect.d.ts.map +0 -1
  226. package/dist/wrappers/AsyncMultiSelect/index.d.ts +0 -3
  227. package/dist/wrappers/AsyncMultiSelect/index.d.ts.map +0 -1
  228. package/dist/wrappers/AsyncMultiSelect/types.d.ts +0 -19
  229. package/dist/wrappers/AsyncMultiSelect/types.d.ts.map +0 -1
  230. package/dist/wrappers/AsyncSelect/index.d.ts +0 -9
  231. package/dist/wrappers/AsyncSelect/index.d.ts.map +0 -1
  232. package/dist/wrappers/AsyncSelect/types.d.ts +0 -20
  233. package/dist/wrappers/AsyncSelect/types.d.ts.map +0 -1
  234. package/dist/wrappers/Button.d.ts +0 -49
  235. package/dist/wrappers/Button.d.ts.map +0 -1
  236. package/dist/wrappers/CheckboxElement/CheckboxElement.d.ts +0 -102
  237. package/dist/wrappers/CheckboxElement/CheckboxElement.d.ts.map +0 -1
  238. package/dist/wrappers/CheckboxElement/index.d.ts +0 -3
  239. package/dist/wrappers/CheckboxElement/index.d.ts.map +0 -1
  240. package/dist/wrappers/CheckboxElement/types.d.ts +0 -76
  241. package/dist/wrappers/CheckboxElement/types.d.ts.map +0 -1
  242. package/dist/wrappers/CheckboxGroup/CheckboxGroup.d.ts +0 -98
  243. package/dist/wrappers/CheckboxGroup/CheckboxGroup.d.ts.map +0 -1
  244. package/dist/wrappers/CheckboxGroup/EnhancedCheckboxGroup.d.ts +0 -49
  245. package/dist/wrappers/CheckboxGroup/EnhancedCheckboxGroup.d.ts.map +0 -1
  246. package/dist/wrappers/CheckboxGroup/enhanced-types.d.ts +0 -171
  247. package/dist/wrappers/CheckboxGroup/enhanced-types.d.ts.map +0 -1
  248. package/dist/wrappers/CheckboxGroup/index.d.ts +0 -3
  249. package/dist/wrappers/CheckboxGroup/index.d.ts.map +0 -1
  250. package/dist/wrappers/CheckboxGroup/types.d.ts +0 -106
  251. package/dist/wrappers/CheckboxGroup/types.d.ts.map +0 -1
  252. package/dist/wrappers/DatePickerElement/DatePickerElement.d.ts +0 -131
  253. package/dist/wrappers/DatePickerElement/DatePickerElement.d.ts.map +0 -1
  254. package/dist/wrappers/DatePickerElement/DatePickerElementCore.d.ts +0 -57
  255. package/dist/wrappers/DatePickerElement/DatePickerElementCore.d.ts.map +0 -1
  256. package/dist/wrappers/DatePickerElement/hooks/index.d.ts +0 -24
  257. package/dist/wrappers/DatePickerElement/hooks/index.d.ts.map +0 -1
  258. package/dist/wrappers/DatePickerElement/hooks/useDatePickerStyles.d.ts +0 -63
  259. package/dist/wrappers/DatePickerElement/hooks/useDatePickerStyles.d.ts.map +0 -1
  260. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValidation.d.ts +0 -79
  261. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValidation.d.ts.map +0 -1
  262. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValue.d.ts +0 -73
  263. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValue.d.ts.map +0 -1
  264. package/dist/wrappers/DatePickerElement/index.d.ts +0 -47
  265. package/dist/wrappers/DatePickerElement/index.d.ts.map +0 -1
  266. package/dist/wrappers/DatePickerElement/types.d.ts +0 -183
  267. package/dist/wrappers/DatePickerElement/types.d.ts.map +0 -1
  268. package/dist/wrappers/DatePickerElement/utils.d.ts +0 -89
  269. package/dist/wrappers/DatePickerElement/utils.d.ts.map +0 -1
  270. package/dist/wrappers/DateTimePickerElement/index.d.ts +0 -1
  271. package/dist/wrappers/DateTimePickerElement/index.d.ts.map +0 -1
  272. package/dist/wrappers/DateTimePickerElement/types.d.ts +0 -1
  273. package/dist/wrappers/DateTimePickerElement/types.d.ts.map +0 -1
  274. package/dist/wrappers/Field/index.d.ts +0 -42
  275. package/dist/wrappers/Field/index.d.ts.map +0 -1
  276. package/dist/wrappers/NumberFieldElement/NumberFieldElement.d.ts +0 -177
  277. package/dist/wrappers/NumberFieldElement/NumberFieldElement.d.ts.map +0 -1
  278. package/dist/wrappers/NumberFieldElement/index.d.ts +0 -3
  279. package/dist/wrappers/NumberFieldElement/index.d.ts.map +0 -1
  280. package/dist/wrappers/OTPInputElement/HelperText.d.ts +0 -8
  281. package/dist/wrappers/OTPInputElement/HelperText.d.ts.map +0 -1
  282. package/dist/wrappers/OTPInputElement/OTPInputElement.d.ts +0 -32
  283. package/dist/wrappers/OTPInputElement/OTPInputElement.d.ts.map +0 -1
  284. package/dist/wrappers/OTPInputElement/index.d.ts +0 -3
  285. package/dist/wrappers/OTPInputElement/index.d.ts.map +0 -1
  286. package/dist/wrappers/PasswordElement/PasswordElement.d.ts +0 -104
  287. package/dist/wrappers/PasswordElement/PasswordElement.d.ts.map +0 -1
  288. package/dist/wrappers/PasswordElement/index.d.ts +0 -2
  289. package/dist/wrappers/PasswordElement/index.d.ts.map +0 -1
  290. package/dist/wrappers/RadioButtonGroup/RadioButtonGroup.d.ts +0 -38
  291. package/dist/wrappers/RadioButtonGroup/RadioButtonGroup.d.ts.map +0 -1
  292. package/dist/wrappers/RadioButtonGroup/index.d.ts +0 -2
  293. package/dist/wrappers/RadioButtonGroup/index.d.ts.map +0 -1
  294. package/dist/wrappers/SelectCascadeElement/SelectCascadeElement.d.ts +0 -22
  295. package/dist/wrappers/SelectCascadeElement/SelectCascadeElement.d.ts.map +0 -1
  296. package/dist/wrappers/SelectCascadeElement/index.d.ts +0 -2
  297. package/dist/wrappers/SelectCascadeElement/index.d.ts.map +0 -1
  298. package/dist/wrappers/SelectElement/SelectElement.d.ts +0 -93
  299. package/dist/wrappers/SelectElement/SelectElement.d.ts.map +0 -1
  300. package/dist/wrappers/SelectElement/index.d.ts +0 -2
  301. package/dist/wrappers/SelectElement/index.d.ts.map +0 -1
  302. package/dist/wrappers/SelectMultiElement/SelectMultiElement.d.ts +0 -21
  303. package/dist/wrappers/SelectMultiElement/SelectMultiElement.d.ts.map +0 -1
  304. package/dist/wrappers/SelectMultiElement/index.d.ts +0 -2
  305. package/dist/wrappers/SelectMultiElement/index.d.ts.map +0 -1
  306. package/dist/wrappers/TextFieldElement/TextFieldElement.d.ts +0 -179
  307. package/dist/wrappers/TextFieldElement/TextFieldElement.d.ts.map +0 -1
  308. package/dist/wrappers/TextFieldElement/index.d.ts +0 -3
  309. package/dist/wrappers/TextFieldElement/index.d.ts.map +0 -1
  310. package/dist/wrappers/TimePickerElement/TimePickerElement.d.ts +0 -30
  311. package/dist/wrappers/TimePickerElement/TimePickerElement.d.ts.map +0 -1
  312. package/dist/wrappers/TimePickerElement/index.d.ts +0 -2
  313. package/dist/wrappers/TimePickerElement/index.d.ts.map +0 -1
  314. package/dist/wrappers/index.cjs +0 -59
  315. package/dist/wrappers/index.d.ts +0 -15
  316. package/dist/wrappers/index.d.ts.map +0 -1
  317. package/dist/wrappers/index.js +0 -59
  318. package/dist/wrappers/types/common.d.ts +0 -87
  319. package/dist/wrappers/types/common.d.ts.map +0 -1
  320. package/dist/wrappers/types/index.d.ts +0 -8
  321. package/dist/wrappers/types/index.d.ts.map +0 -1
@@ -1,2399 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
-
4
- var _chunkQYHJIPSZcjs = require('./chunk-QYHJIPSZ.cjs');
5
-
6
-
7
- var _chunkLUW7V5GIcjs = require('./chunk-LUW7V5GI.cjs');
8
-
9
- // src/wrappers/types/common.ts
10
- function isValidOption(value) {
11
- return typeof value === "object" && value !== null && "Label" in value && "Value" in value && typeof value.Label === "string" && (typeof value.Value === "string" || typeof value.Value === "number" || typeof value.Value === "boolean");
12
- }
13
- function normalizeOptions(options, labelField = "Label", valueField = "Value") {
14
- return options.map((option) => ({
15
- Label: String(_nullishCoalesce(option[labelField], () => ( ""))),
16
- Value: option[valueField],
17
- disabled: Boolean(option.disabled)
18
- }));
19
- }
20
-
21
- // src/wrappers/AsyncMultiSelect/AsyncMultiSelect.tsx
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
- var _material = require('@mui/material');
30
- var _match = require('autosuggest-highlight/match'); var _match2 = _interopRequireDefault(_match);
31
- var _parse = require('autosuggest-highlight/parse'); var _parse2 = _interopRequireDefault(_parse);
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
- var _react = require('react');
40
- var _reacthookform = require('react-hook-form');
41
- var _jsxruntime = require('react/jsx-runtime');
42
- var Component = function AsyncSelectMultiElement(props) {
43
- const {
44
- name,
45
- disabled,
46
- control,
47
- placeholder,
48
- label,
49
- queryFn,
50
- variant,
51
- labelField = "Label",
52
- valueField = "Value",
53
- ...rest
54
- } = props;
55
- const {
56
- field,
57
- fieldState: { error }
58
- } = _reacthookform.useController.call(void 0, {
59
- name,
60
- control
61
- });
62
- const theme = _material.useTheme.call(void 0, );
63
- const [selectedOptions, setSelectedOptions] = _react.useState.call(void 0, []);
64
- const [inputValue, setInputValue] = _react.useState.call(void 0, "");
65
- const [options, setOptions] = _react.useState.call(void 0, []);
66
- const [loading, setLoading] = _react.useState.call(void 0, false);
67
- const loadedValuesRef = _react.useRef.call(void 0, []);
68
- const isInitialPopulationActive = _react.useRef.call(void 0, false);
69
- const lastFetchedSearchTermRef = _react.useRef.call(void 0, null);
70
- const initialLoadCompleteRef = _react.useRef.call(void 0, false);
71
- const selectedOptionsRef = _react.useRef.call(void 0, []);
72
- const getOptionValue = _react.useCallback.call(void 0,
73
- (option) => option ? String(option[valueField]) : "",
74
- [valueField]
75
- );
76
- const getOptionLabel = _react.useCallback.call(void 0,
77
- (option) => option ? String(option[labelField]) : "",
78
- [labelField]
79
- );
80
- const fetchData = _react.useMemo.call(void 0,
81
- () => _material.debounce.call(void 0,
82
- (payload, callback) => {
83
- queryFn(payload).then((c) => {
84
- if (Array.isArray(c)) {
85
- callback(c);
86
- } else if (c && Array.isArray(c.data)) {
87
- callback(
88
- c.data
89
- );
90
- } else if (c && Array.isArray(c.Data)) {
91
- callback(
92
- c.Data
93
- );
94
- } else {
95
- callback([]);
96
- }
97
- });
98
- },
99
- 400
100
- ),
101
- [queryFn]
102
- );
103
- _react.useEffect.call(void 0, () => {
104
- selectedOptionsRef.current = selectedOptions;
105
- }, [selectedOptions]);
106
- _react.useEffect.call(void 0, () => {
107
- const formValues = Array.isArray(field.value) ? field.value : [];
108
- if (initialLoadCompleteRef.current && JSON.stringify(formValues) === JSON.stringify(loadedValuesRef.current)) {
109
- return;
110
- }
111
- if (formValues.length === 0) {
112
- setSelectedOptions([]);
113
- setOptions([]);
114
- loadedValuesRef.current = [];
115
- lastFetchedSearchTermRef.current = null;
116
- initialLoadCompleteRef.current = true;
117
- return;
118
- }
119
- let active = true;
120
- setLoading(true);
121
- isInitialPopulationActive.current = true;
122
- loadedValuesRef.current = formValues;
123
- initialLoadCompleteRef.current = true;
124
- fetchData({ Query: null, SelectedValue: formValues }, (results) => {
125
- if (active) {
126
- const fetchedOptions = results || [];
127
- setSelectedOptions([...fetchedOptions]);
128
- setOptions(fetchedOptions);
129
- }
130
- setLoading(false);
131
- isInitialPopulationActive.current = false;
132
- });
133
- return () => {
134
- active = false;
135
- };
136
- }, [field.value, fetchData]);
137
- _react.useEffect.call(void 0, () => {
138
- if (isInitialPopulationActive.current || !initialLoadCompleteRef.current) {
139
- return;
140
- }
141
- if (!inputValue) {
142
- if (selectedOptionsRef.current.length === 0) {
143
- setOptions([]);
144
- } else {
145
- setOptions(selectedOptionsRef.current);
146
- }
147
- lastFetchedSearchTermRef.current = null;
148
- return;
149
- }
150
- if (inputValue === lastFetchedSearchTermRef.current) {
151
- return;
152
- }
153
- let active = true;
154
- setLoading(true);
155
- fetchData({ Query: inputValue, SelectedValue: null }, (searchResults) => {
156
- if (active) {
157
- const results = searchResults || [];
158
- const currentSelected = selectedOptionsRef.current;
159
- const selectedOptionIds = new Set(
160
- currentSelected.map((opt) => getOptionValue(opt))
161
- );
162
- const combined = [...currentSelected];
163
- results.forEach((result) => {
164
- if (!selectedOptionIds.has(getOptionValue(result))) {
165
- combined.push(result);
166
- }
167
- });
168
- setOptions(combined);
169
- lastFetchedSearchTermRef.current = inputValue;
170
- }
171
- setLoading(false);
172
- });
173
- return () => {
174
- active = false;
175
- };
176
- }, [inputValue, fetchData, getOptionValue]);
177
- const handleChange = (_, newSelectedOptions) => {
178
- setSelectedOptions(newSelectedOptions);
179
- const newValues = newSelectedOptions.map((c) => c[valueField]);
180
- field.onChange(newValues.length === 0 ? null : newValues);
181
- loadedValuesRef.current = newValues;
182
- setOptions(newSelectedOptions);
183
- setInputValue("");
184
- lastFetchedSearchTermRef.current = null;
185
- };
186
- const isDisabled = _react.useMemo.call(void 0, () => {
187
- return _nullishCoalesce(disabled, () => ( false));
188
- }, [disabled]);
189
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
190
- _material.Autocomplete,
191
- {
192
- multiple: true,
193
- loading,
194
- getOptionLabel,
195
- isOptionEqualToValue: (option, val) => getOptionValue(option) === getOptionValue(val),
196
- options,
197
- value: selectedOptions,
198
- disabled,
199
- filterSelectedOptions: true,
200
- filterOptions: (x) => x,
201
- noOptionsText: "Type Something...",
202
- onChange: handleChange,
203
- sx: {
204
- "&.Mui-disabled": {
205
- cursor: "not-allowed !important"
206
- },
207
- "& .MuiInputBase-root.Mui-disabled": {
208
- backgroundColor: theme.palette.action.disabledBackground,
209
- cursor: "not-allowed !important"
210
- },
211
- "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
212
- cursor: "not-allowed !important"
213
- },
214
- "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
215
- borderColor: error ? "red" : void 0
216
- },
217
- "& .MuiFilledInput-root.Mui-disabled": {
218
- borderColor: error ? "red" : void 0
219
- }
220
- },
221
- onInputChange: (_, newInputValue) => setInputValue(newInputValue),
222
- renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
223
- _material.TextField,
224
- {
225
- ...params,
226
- label,
227
- error: !!error,
228
- helperText: error ? error.message : "",
229
- placeholder,
230
- InputProps: {
231
- ...params.InputProps,
232
- endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
233
- loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }) : null,
234
- params.InputProps.endAdornment
235
- ] })
236
- },
237
- variant: variant ? variant : isDisabled ? "filled" : "outlined"
238
- }
239
- ),
240
- renderOption: (props2, option, state) => {
241
- const { key, ...optionProps } = props2;
242
- const optionLabel = getOptionLabel(option);
243
- const matches = _match2.default.call(void 0, optionLabel, state.inputValue, {
244
- insideWords: true
245
- });
246
- const parts = _parse2.default.call(void 0, optionLabel, matches);
247
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ...optionProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: parts.map((part, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
248
- "span",
249
- {
250
- style: {
251
- fontWeight: part.highlight ? 700 : 400
252
- },
253
- children: part.text
254
- },
255
- index
256
- )) }) }, key);
257
- },
258
- ...rest
259
- }
260
- );
261
- };
262
- var AsyncSelectMultiElement2 = ({
263
- gridProps,
264
- ...props
265
- }) => {
266
- if (gridProps) {
267
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
268
- _material.Grid,
269
- {
270
- ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
271
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
272
- Component,
273
- {
274
- ...props
275
- }
276
- )
277
- }
278
- );
279
- }
280
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component, { ...props });
281
- };
282
- AsyncSelectMultiElement2.displayName = "AsyncSelectMulti";
283
-
284
- // src/wrappers/CheckboxElement/CheckboxElement.tsx
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
- var Component2 = function CheckboxElement(props) {
296
- const {
297
- name,
298
- control,
299
- label,
300
- labelProps,
301
- helperText,
302
- parseError,
303
- transform,
304
- disabled,
305
- onChange: customOnChange,
306
- ...rest
307
- } = props;
308
- const {
309
- field,
310
- fieldState: { error }
311
- } = _reacthookform.useController.call(void 0, {
312
- name,
313
- control,
314
- disabled
315
- });
316
- if (field.value == null || field.value == void 0) {
317
- field.onChange(false);
318
- }
319
- const customOutputTransform = _optionalChain([transform, 'optionalAccess', _2 => _2.output]);
320
- const { value, onChange } = _chunkQYHJIPSZcjs.useTransform.call(void 0, {
321
- value: field.value,
322
- onChange: field.onChange,
323
- transform: {
324
- input: typeof _optionalChain([transform, 'optionalAccess', _3 => _3.input]) === "function" ? transform.input : (value2) => !!value2,
325
- output: typeof customOutputTransform === "function" ? (eventOrValue, _value) => {
326
- const event = eventOrValue;
327
- const checked = _value;
328
- return customOutputTransform(event, checked);
329
- } : (eventOrValue, _value) => {
330
- const checked = _value;
331
- return checked;
332
- }
333
- }
334
- });
335
- const handleChange = (event, checked) => {
336
- onChange(event, checked);
337
- if (typeof customOnChange === "function") {
338
- customOnChange(event, checked);
339
- }
340
- };
341
- const displayError = error ? typeof parseError === "function" ? parseError(error) : error.message : null;
342
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, disabled, children: [
343
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormGroup, { row: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
344
- _material.FormControlLabel,
345
- {
346
- label: label || "",
347
- ...labelProps,
348
- disabled,
349
- control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
350
- _material.Checkbox,
351
- {
352
- ...rest,
353
- color: rest.color || "primary",
354
- checked: value,
355
- disabled,
356
- onChange: handleChange,
357
- ref: field.ref
358
- }
359
- )
360
- }
361
- ) }),
362
- (displayError || helperText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { error: !!error, children: displayError || helperText })
363
- ] });
364
- };
365
- var CheckboxElement2 = ({
366
- gridProps = {},
367
- ...props
368
- }) => {
369
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component2, { ...props }) });
370
- };
371
-
372
- // src/wrappers/CheckboxGroup/CheckboxGroup.tsx
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
-
381
-
382
-
383
-
384
-
385
- var Component3 = function CheckboxGroup(props) {
386
- const {
387
- name,
388
- control,
389
- label,
390
- required,
391
- formLabelProps,
392
- labelProps,
393
- labelKey = "Label",
394
- valueKey = "Value",
395
- options,
396
- ...rest
397
- } = props;
398
- const {
399
- field,
400
- fieldState: { error }
401
- } = _reacthookform.useController.call(void 0, {
402
- name,
403
- control,
404
- disabled: rest.disabled
405
- });
406
- const selectedValuesAsString = (Array.isArray(field.value) ? field.value : []).map(String);
407
- const handleChange = _react.useCallback.call(void 0,
408
- (event) => {
409
- const changedValueString = event.target.value;
410
- const isChecked = event.target.checked;
411
- const newSelectedValuesString = isChecked ? [...selectedValuesAsString, changedValueString] : selectedValuesAsString.filter((v) => v !== changedValueString);
412
- const optionsAreNumeric = options.length > 0 && typeof options[0][valueKey] === "number";
413
- if (optionsAreNumeric) {
414
- const newValuesAsNumbers = newSelectedValuesString.map((v) => parseInt(v, 10)).filter((v) => !isNaN(v));
415
- field.onChange(newValuesAsNumbers);
416
- } else {
417
- field.onChange(newSelectedValuesString);
418
- }
419
- },
420
- [field, options, valueKey, selectedValuesAsString]
421
- );
422
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, children: [
423
- label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormLabel, { ...formLabelProps, required, error: !!error, children: label }),
424
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormGroup, { row: true, children: options && options.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
425
- _material.FormControlLabel,
426
- {
427
- label: option[labelKey],
428
- ...labelProps,
429
- control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
430
- _material.Checkbox,
431
- {
432
- ...rest,
433
- color: rest.color || "primary",
434
- value: option[valueKey],
435
- checked: selectedValuesAsString.includes(
436
- String(option[valueKey])
437
- ),
438
- onChange: handleChange
439
- }
440
- )
441
- },
442
- `${option[valueKey]}`
443
- )) }),
444
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { error: !!error, children: error.message })
445
- ] });
446
- };
447
- var CheckboxGroupElement = ({
448
- gridProps = {},
449
- ...props
450
- }) => {
451
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component3, { ...props }) });
452
- };
453
- CheckboxGroupElement.displayName = "CheckboxGroup";
454
-
455
- // src/wrappers/DatePickerElement/DatePickerElement.tsx
456
-
457
-
458
-
459
- // src/wrappers/DatePickerElement/DatePickerElementCore.tsx
460
-
461
- var _xdatepickers = require('@mui/x-date-pickers');
462
-
463
-
464
-
465
- // src/wrappers/DatePickerElement/hooks/useDatePickerValue.ts
466
- var _internals = require('@mui/x-date-pickers/internals');
467
-
468
- function readDatePickerValueAsDate(adapter, value) {
469
- if (value === null || value === void 0) {
470
- return null;
471
- }
472
- if (typeof value === "string") {
473
- if (value === "") {
474
- return null;
475
- }
476
- const parsedDate = adapter.utils.date(value);
477
- return parsedDate;
478
- }
479
- return value;
480
- }
481
- function useDatePickerValue(options) {
482
- const { field, transform } = options;
483
- const adapter = _internals.useLocalizationContext.call(void 0, );
484
- const value = _react.useMemo.call(void 0, () => {
485
- if (typeof _optionalChain([transform, 'optionalAccess', _4 => _4.input]) === "function") {
486
- return transform.input(field.value);
487
- }
488
- return readDatePickerValueAsDate(adapter, field.value);
489
- }, [field.value, _optionalChain([transform, 'optionalAccess', _5 => _5.input]), adapter]);
490
- const onChange = _react.useCallback.call(void 0,
491
- (newValue, context) => {
492
- if (typeof _optionalChain([transform, 'optionalAccess', _6 => _6.output]) === "function") {
493
- const transformedValue = transform.output(newValue, context);
494
- field.onChange(transformedValue);
495
- } else {
496
- field.onChange(newValue);
497
- }
498
- },
499
- // eslint-disable-next-line react-hooks/exhaustive-deps
500
- [field.onChange, _optionalChain([transform, 'optionalAccess', _7 => _7.output])]
501
- );
502
- return {
503
- value,
504
- onChange
505
- };
506
- }
507
-
508
- // src/wrappers/DatePickerElement/hooks/useDatePickerValidation.ts
509
-
510
- var DEFAULT_ERROR_MESSAGES = {
511
- invalidDate: "Please enter a valid date",
512
- minDate: "Date must be after the minimum allowed date",
513
- maxDate: "Date must be before the maximum allowed date",
514
- disabledDate: "This date is not allowed",
515
- required: "This field is required"
516
- };
517
- function useDatePickerValidation(options) {
518
- const { fieldState, validation, parseError, value } = options;
519
- const validationResult = _react.useMemo.call(void 0, () => {
520
- const { error: fieldError, invalid } = fieldState;
521
- let currentError = fieldError;
522
- if (!fieldError && value && validation) {
523
- const { minDate, maxDate, shouldDisableDate, errorMessages } = validation;
524
- if (minDate && value < minDate) {
525
- currentError = {
526
- type: "minDate",
527
- message: _optionalChain([errorMessages, 'optionalAccess', _8 => _8.minDate]) || DEFAULT_ERROR_MESSAGES.minDate
528
- };
529
- } else if (maxDate && value > maxDate) {
530
- currentError = {
531
- type: "maxDate",
532
- message: _optionalChain([errorMessages, 'optionalAccess', _9 => _9.maxDate]) || DEFAULT_ERROR_MESSAGES.maxDate
533
- };
534
- } else if (shouldDisableDate && shouldDisableDate(value)) {
535
- currentError = {
536
- type: "disabledDate",
537
- message: _optionalChain([errorMessages, 'optionalAccess', _10 => _10.disabledDate]) || DEFAULT_ERROR_MESSAGES.disabledDate
538
- };
539
- }
540
- }
541
- const hasError = Boolean(currentError);
542
- return {
543
- hasError,
544
- error: currentError,
545
- invalid: invalid || hasError
546
- };
547
- }, [fieldState, validation, value]);
548
- const errorMessage = _react.useMemo.call(void 0, () => {
549
- if (!validationResult.error) {
550
- return null;
551
- }
552
- if (parseError) {
553
- return parseError(validationResult.error);
554
- }
555
- if (typeof validationResult.error === "string") {
556
- return validationResult.error;
557
- }
558
- if ("message" in validationResult.error && validationResult.error.message) {
559
- return validationResult.error.message;
560
- }
561
- if ("type" in validationResult.error) {
562
- const errorType = validationResult.error.type;
563
- switch (errorType) {
564
- case "required":
565
- return DEFAULT_ERROR_MESSAGES.required;
566
- case "minDate":
567
- return DEFAULT_ERROR_MESSAGES.minDate;
568
- case "maxDate":
569
- return DEFAULT_ERROR_MESSAGES.maxDate;
570
- case "disabledDate":
571
- return DEFAULT_ERROR_MESSAGES.disabledDate;
572
- case "invalidDate":
573
- default:
574
- return DEFAULT_ERROR_MESSAGES.invalidDate;
575
- }
576
- }
577
- return DEFAULT_ERROR_MESSAGES.invalidDate;
578
- }, [validationResult.error, parseError]);
579
- return {
580
- ...validationResult,
581
- errorMessage
582
- };
583
- }
584
-
585
- // src/wrappers/DatePickerElement/hooks/useDatePickerStyles.ts
586
-
587
-
588
- function useDatePickerStyles(options = {}) {
589
- const { disabled, hasError, loading, textReadOnly, sx: customSx } = options;
590
- const theme = _material.useTheme.call(void 0, );
591
- const computedSx = _react.useMemo.call(void 0, () => {
592
- const baseStyles = {
593
- // Input field styling
594
- "& .MuiOutlinedInput-root": {
595
- backgroundColor: disabled ? theme.palette.action.disabledBackground : "transparent",
596
- // Transition for smooth state changes
597
- transition: theme.transitions.create([
598
- "background-color",
599
- "border-color",
600
- "color"
601
- ], {
602
- duration: theme.transitions.duration.short
603
- }),
604
- // Error state styling
605
- ...hasError && {
606
- borderColor: theme.palette.error.main,
607
- "&:hover": {
608
- borderColor: theme.palette.error.main
609
- },
610
- "&.Mui-focused": {
611
- borderColor: theme.palette.error.main,
612
- boxShadow: `0 0 0 2px ${theme.palette.error.main}25`
613
- // 25 is 15% opacity in hex
614
- }
615
- },
616
- // Loading state styling
617
- ...loading && {
618
- opacity: 0.7,
619
- pointerEvents: "none"
620
- }
621
- },
622
- // Input element styling
623
- "& .MuiInputBase-input": {
624
- cursor: disabled ? "not-allowed" : textReadOnly ? "pointer" : "text",
625
- // Read-only specific styling
626
- ...textReadOnly && !disabled && {
627
- cursor: "pointer",
628
- userSelect: "none",
629
- caretColor: "transparent"
630
- // Hide text cursor in read-only mode
631
- },
632
- // Loading state
633
- ...loading && {
634
- cursor: "wait"
635
- }
636
- },
637
- // Required field asterisk styling
638
- "& .MuiInputLabel-asterisk": {
639
- color: theme.palette.error.main,
640
- fontSize: "1.2em"
641
- },
642
- // Label styling with better contrast
643
- "& .MuiInputLabel-root": {
644
- color: hasError ? theme.palette.error.main : theme.palette.text.secondary,
645
- // Ensure proper contrast for disabled state
646
- ...disabled && {
647
- color: theme.palette.text.disabled
648
- }
649
- },
650
- // Helper text styling
651
- "& .MuiFormHelperText-root": {
652
- marginLeft: theme.spacing(1),
653
- marginRight: theme.spacing(1),
654
- // Error state
655
- ...hasError && {
656
- color: theme.palette.error.main
657
- }
658
- },
659
- // Calendar icon styling
660
- "& .MuiInputAdornment-root": {
661
- color: disabled ? theme.palette.action.disabled : hasError ? theme.palette.error.main : theme.palette.action.active
662
- },
663
- // Focus ring for accessibility
664
- "& .MuiOutlinedInput-root.Mui-focused": {
665
- outline: `2px solid ${theme.palette.primary.main}50`,
666
- // 50 is 31% opacity
667
- outlineOffset: "2px"
668
- },
669
- // Enhanced contrast for dark themes
670
- ...theme.palette.mode === "dark" && {
671
- "& .MuiOutlinedInput-root": {
672
- borderWidth: 2
673
- }
674
- }
675
- };
676
- return customSx ? [baseStyles, customSx] : baseStyles;
677
- }, [
678
- theme,
679
- disabled,
680
- hasError,
681
- loading,
682
- textReadOnly,
683
- customSx
684
- ]);
685
- const className = _react.useMemo.call(void 0, () => {
686
- const classes = [];
687
- if (disabled) classes.push("DatePickerElement--disabled");
688
- if (hasError) classes.push("DatePickerElement--error");
689
- if (loading) classes.push("DatePickerElement--loading");
690
- if (textReadOnly) classes.push("DatePickerElement--readOnly");
691
- return classes.length > 0 ? classes.join(" ") : void 0;
692
- }, [disabled, hasError, loading, textReadOnly]);
693
- return {
694
- sx: computedSx,
695
- className
696
- };
697
- }
698
-
699
- // src/wrappers/DatePickerElement/DatePickerElementCore.tsx
700
-
701
- var DatePickerElementCore = _react.forwardRef.call(void 0,
702
- (props, ref) => {
703
- const {
704
- name,
705
- required = false,
706
- control,
707
- parseError,
708
- transform,
709
- validation,
710
- label,
711
- placeholder,
712
- textReadOnly = false,
713
- helperText,
714
- inputProps = {},
715
- slotProps = {},
716
- datePickerProps = {},
717
- variant = "outlined",
718
- loading = false,
719
- LoadingComponent,
720
- ...restProps
721
- } = props;
722
- const {
723
- disabled,
724
- inputRef: externalInputRef,
725
- onClose,
726
- ...restDatePickerProps
727
- } = datePickerProps;
728
- const { field, fieldState } = _reacthookform.useController.call(void 0, {
729
- name,
730
- control,
731
- defaultValue: null
732
- // Let react-hook-form handle the default value typing
733
- });
734
- const { value, onChange: onValueChange } = useDatePickerValue({
735
- field,
736
- transform
737
- });
738
- const { hasError, errorMessage, invalid } = useDatePickerValidation({
739
- fieldState,
740
- validation,
741
- parseError,
742
- value
743
- });
744
- const { className } = useDatePickerStyles({
745
- disabled,
746
- hasError,
747
- loading,
748
- textReadOnly
749
- });
750
- const handleInputRef = _material.useForkRef.call(void 0, field.ref, externalInputRef);
751
- const handleChange = _react.useCallback.call(void 0,
752
- (newValue, context) => {
753
- onValueChange(newValue, context);
754
- },
755
- [onValueChange]
756
- );
757
- const handleClose = _react.useCallback.call(void 0,
758
- (...args) => {
759
- field.onBlur();
760
- if (onClose) {
761
- onClose(...args);
762
- }
763
- },
764
- // eslint-disable-next-line react-hooks/exhaustive-deps
765
- [field.onBlur, onClose]
766
- );
767
- const handleTextFieldBlur = _react.useCallback.call(void 0,
768
- (event) => {
769
- field.onBlur();
770
- if (typeof inputProps.onBlur === "function") {
771
- inputProps.onBlur(event);
772
- }
773
- },
774
- // eslint-disable-next-line react-hooks/exhaustive-deps
775
- [field.onBlur, inputProps.onBlur]
776
- );
777
- const memoizedSlotProps = _react.useMemo.call(void 0,
778
- () => ({
779
- ...slotProps,
780
- actionBar: {
781
- actions: ["clear", "today", "cancel", "accept"],
782
- ...slotProps.actionBar
783
- },
784
- textField: {
785
- ...inputProps,
786
- required,
787
- placeholder,
788
- fullWidth: true,
789
- variant,
790
- onBlur: handleTextFieldBlur,
791
- error: hasError,
792
- helperText: hasError ? errorMessage : helperText,
793
- inputProps: {
794
- readOnly: textReadOnly,
795
- "aria-invalid": invalid,
796
- "aria-describedby": hasError ? `${name}-error` : void 0,
797
- ...inputProps.inputProps
798
- },
799
- // Add loading indicator if provided
800
- ...loading && LoadingComponent && {
801
- InputProps: {
802
- endAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingComponent, {}),
803
- ...inputProps.InputProps
804
- }
805
- },
806
- ...slotProps.textField
807
- }
808
- }),
809
- [
810
- slotProps,
811
- inputProps,
812
- required,
813
- placeholder,
814
- variant,
815
- handleTextFieldBlur,
816
- hasError,
817
- errorMessage,
818
- helperText,
819
- textReadOnly,
820
- invalid,
821
- name,
822
- loading,
823
- LoadingComponent
824
- ]
825
- );
826
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
827
- _xdatepickers.DatePicker,
828
- {
829
- ...restProps,
830
- ...restDatePickerProps,
831
- ref,
832
- name,
833
- value,
834
- onChange: handleChange,
835
- onClose: handleClose,
836
- inputRef: handleInputRef,
837
- label,
838
- disabled,
839
- className,
840
- slotProps: memoizedSlotProps,
841
- "aria-invalid": invalid,
842
- "aria-describedby": hasError ? `${name}-error` : void 0
843
- }
844
- );
845
- }
846
- );
847
- DatePickerElementCore.displayName = "DatePickerElementCore";
848
-
849
- // src/wrappers/DatePickerElement/DatePickerElement.tsx
850
-
851
- var DatePickerElement = _react.forwardRef.call(void 0, (props, ref) => {
852
- const {
853
- gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
854
- ...coreProps
855
- } = props;
856
- if (gridProps === false) {
857
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
858
- DatePickerElementCore,
859
- {
860
- ref,
861
- ...coreProps
862
- }
863
- );
864
- }
865
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
866
- _material.Grid,
867
- {
868
- ref,
869
- ...gridProps,
870
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
871
- DatePickerElementCore,
872
- {
873
- ...coreProps
874
- }
875
- )
876
- }
877
- );
878
- });
879
- DatePickerElement.displayName = "DatePickerElement";
880
-
881
- // src/wrappers/DatePickerElement/utils.ts
882
- function isValidDate(value) {
883
- if (value === null || value === void 0) {
884
- return false;
885
- }
886
- if (value instanceof Date) {
887
- return !isNaN(value.getTime());
888
- }
889
- if (typeof value === "object" && value !== null) {
890
- if ("isValid" in value && typeof value.isValid === "function") {
891
- return value.isValid();
892
- }
893
- if ("isValid" in value && typeof value.isValid === "boolean") {
894
- return value.isValid;
895
- }
896
- }
897
- return false;
898
- }
899
- function isParsableDateString(value) {
900
- if (typeof value !== "string" || value === "") {
901
- return false;
902
- }
903
- const isoDateRegex = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?(?:Z|[+-]\d{2}:\d{2})?)?$/;
904
- if (isoDateRegex.test(value)) {
905
- return true;
906
- }
907
- const parsed = new Date(value);
908
- return !isNaN(parsed.getTime());
909
- }
910
- function createDateInputTransform(adapter) {
911
- return (value) => {
912
- if (value === null || value === void 0) {
913
- return null;
914
- }
915
- if (typeof value === "string") {
916
- if (value === "") {
917
- return null;
918
- }
919
- try {
920
- const parsed = adapter.utils.date(value);
921
- return isValidDate(parsed) ? parsed : null;
922
- } catch (e2) {
923
- return null;
924
- }
925
- }
926
- if (isValidDate(value)) {
927
- return value;
928
- }
929
- return null;
930
- };
931
- }
932
- function createDateOutputTransform(format) {
933
- return (value) => {
934
- if (value === null || value === void 0) {
935
- return null;
936
- }
937
- if (!isValidDate(value)) {
938
- return null;
939
- }
940
- if (!format) {
941
- return value;
942
- }
943
- try {
944
- if (value instanceof Date) {
945
- if (format === "iso") {
946
- return value.toISOString();
947
- }
948
- if (format === "date-only") {
949
- return value.toISOString().split("T")[0];
950
- }
951
- }
952
- if (typeof value.format === "function") {
953
- return value.format(format);
954
- }
955
- if (typeof value.format === "function") {
956
- return value.format(format);
957
- }
958
- if (typeof value.toFormat === "function") {
959
- return value.toFormat(format);
960
- }
961
- return value;
962
- } catch (e3) {
963
- return null;
964
- }
965
- };
966
- }
967
- function createDefaultDatePickerConfig() {
968
- return {
969
- // Default slot props for consistent behavior
970
- slotProps: {
971
- actionBar: {
972
- actions: ["clear", "today", "cancel", "accept"]
973
- },
974
- textField: {
975
- fullWidth: true,
976
- variant: "outlined"
977
- }
978
- },
979
- // Default grid props for layout consistency
980
- gridProps: {
981
- size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }
982
- },
983
- // Default validation configuration
984
- validation: {
985
- errorMessages: {
986
- invalidDate: "Please enter a valid date",
987
- minDate: "Date must be after the minimum allowed date",
988
- maxDate: "Date must be before the maximum allowed date",
989
- disabledDate: "This date is not allowed"
990
- }
991
- }
992
- };
993
- }
994
- function extractErrorMessage(error) {
995
- if (error === null || error === void 0) {
996
- return "";
997
- }
998
- if (typeof error === "string") {
999
- return error;
1000
- }
1001
- if (typeof error === "object" && error !== null) {
1002
- if ("message" in error && typeof error.message === "string") {
1003
- return error.message;
1004
- }
1005
- if ("type" in error && typeof error.type === "string") {
1006
- const errorType = error.type;
1007
- switch (errorType) {
1008
- case "invalidDate":
1009
- return "Please enter a valid date";
1010
- case "minDate":
1011
- return "Date is too early";
1012
- case "maxDate":
1013
- return "Date is too late";
1014
- case "disabledDate":
1015
- return "This date is not available";
1016
- default:
1017
- return "Invalid date selection";
1018
- }
1019
- }
1020
- }
1021
- return "Invalid input";
1022
- }
1023
- function createStableKey(config) {
1024
- try {
1025
- return JSON.stringify(config, (key, value) => {
1026
- if (typeof value === "object" && value !== null && !Array.isArray(value)) {
1027
- const sorted = {};
1028
- Object.keys(value).sort().forEach((k) => {
1029
- sorted[k] = value[k];
1030
- });
1031
- return sorted;
1032
- }
1033
- return value;
1034
- });
1035
- } catch (e4) {
1036
- return Object.keys(config).sort().join("-");
1037
- }
1038
- }
1039
-
1040
- // src/wrappers/PasswordElement/PasswordElement.tsx
1041
- var _Visibility = require('@mui/icons-material/Visibility'); var _Visibility2 = _interopRequireDefault(_Visibility);
1042
- var _VisibilityOff = require('@mui/icons-material/VisibilityOff'); var _VisibilityOff2 = _interopRequireDefault(_VisibilityOff);
1043
-
1044
-
1045
-
1046
-
1047
-
1048
-
1049
-
1050
-
1051
-
1052
-
1053
- var Component4 = function PasswordEl(props) {
1054
- const {
1055
- iconColor,
1056
- renderIcon = (password2) => password2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Visibility2.default, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _VisibilityOff2.default, {}),
1057
- slotProps,
1058
- name,
1059
- control,
1060
- inputRef,
1061
- onBlur,
1062
- ...rest
1063
- } = props;
1064
- const [password, setPassword] = _react.useState.call(void 0, true);
1065
- const endAdornment = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.InputAdornment, { position: "end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1066
- _material.IconButton,
1067
- {
1068
- onMouseDown: (e) => e.preventDefault(),
1069
- onClick: () => setPassword(!password),
1070
- tabIndex: -1,
1071
- color: _nullishCoalesce(iconColor, () => ( "default")),
1072
- children: renderIcon(password)
1073
- }
1074
- ) });
1075
- const {
1076
- field,
1077
- fieldState: { error }
1078
- } = _reacthookform.useController.call(void 0, {
1079
- name,
1080
- control
1081
- });
1082
- const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1083
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1084
- _material.TextField,
1085
- {
1086
- ...rest,
1087
- inputRef: handleInputRef,
1088
- type: password ? "password" : "text",
1089
- value: _nullishCoalesce(field.value, () => ( "")),
1090
- fullWidth: true,
1091
- variant: _nullishCoalesce(rest.variant, () => ( "outlined")),
1092
- onChange: (event) => {
1093
- field.onChange(event);
1094
- if (typeof rest.onChange === "function") {
1095
- rest.onChange(event);
1096
- }
1097
- },
1098
- onBlur: (event) => {
1099
- field.onBlur();
1100
- if (typeof onBlur === "function") {
1101
- onBlur(event);
1102
- }
1103
- },
1104
- ...typeof slotProps === "undefined" ? {
1105
- InputProps: {
1106
- endAdornment
1107
- }
1108
- } : {
1109
- slotProps: {
1110
- ...slotProps,
1111
- input: {
1112
- endAdornment,
1113
- ..._optionalChain([slotProps, 'optionalAccess', _11 => _11.input])
1114
- }
1115
- }
1116
- },
1117
- error: !!error,
1118
- helperText: error ? error.message : ""
1119
- }
1120
- );
1121
- };
1122
- var PasswordElement = ({
1123
- gridProps = {},
1124
- ...props
1125
- }) => {
1126
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component4, { ...props }) });
1127
- };
1128
-
1129
- // src/wrappers/RadioButtonGroup/RadioButtonGroup.tsx
1130
-
1131
-
1132
-
1133
-
1134
-
1135
-
1136
-
1137
-
1138
-
1139
-
1140
-
1141
- var Component5 = function RadioButtonGroup(props) {
1142
- const {
1143
- options,
1144
- label,
1145
- name,
1146
- labelKey = "label",
1147
- valueKey = "id",
1148
- disabledKey = "disabled",
1149
- required,
1150
- emptyOptionLabel,
1151
- returnObject,
1152
- row = true,
1153
- control,
1154
- type,
1155
- labelProps,
1156
- disabled,
1157
- formLabelProps,
1158
- radioProps,
1159
- transform,
1160
- ...rest
1161
- } = props;
1162
- const {
1163
- field,
1164
- fieldState: { error }
1165
- } = _reacthookform.useController.call(void 0, {
1166
- name,
1167
- disabled,
1168
- control
1169
- });
1170
- const { value, onChange } = _chunkQYHJIPSZcjs.useTransform.call(void 0, {
1171
- value: field.value,
1172
- onChange: field.onChange,
1173
- transform: {
1174
- input: typeof _optionalChain([transform, 'optionalAccess', _12 => _12.input]) === "function" ? transform.input : (value2) => {
1175
- return value2 || "";
1176
- },
1177
- output: typeof _optionalChain([transform, 'optionalAccess', _13 => _13.output]) === "function" ? _optionalChain([transform, 'optionalAccess', _14 => _14.output]) : (_event, value2) => {
1178
- if (value2 && type === "number") {
1179
- return Number(value2);
1180
- }
1181
- if (value2 && type === "boolean") {
1182
- return Boolean(value2);
1183
- }
1184
- return value2;
1185
- }
1186
- }
1187
- });
1188
- const onRadioChange = (event, radioValue) => {
1189
- const returnValue = returnObject ? options.find((option) => option[valueKey] === radioValue) : radioValue;
1190
- onChange(event, returnValue);
1191
- if (typeof rest.onChange === "function") {
1192
- rest.onChange(returnValue);
1193
- }
1194
- };
1195
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, children: [
1196
- label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormLabel, { ...formLabelProps, required, error: !!error, children: label }),
1197
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.RadioGroup, { onChange: onRadioChange, name, row, value, children: [
1198
- emptyOptionLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1199
- _material.FormControlLabel,
1200
- {
1201
- ...labelProps,
1202
- control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1203
- _material.Radio,
1204
- {
1205
- ...radioProps,
1206
- checked: !value
1207
- }
1208
- ),
1209
- label: emptyOptionLabel,
1210
- value: ""
1211
- }
1212
- ),
1213
- options.map((option) => {
1214
- const optionKey = option[valueKey];
1215
- const optionDisabled = option[disabledKey] || false;
1216
- let val = returnObject ? _optionalChain([value, 'optionalAccess', _15 => _15[valueKey]]) : value;
1217
- if (type === "number" && val !== void 0) {
1218
- val = Number(val);
1219
- } else if (type === "boolean" && val !== void 0) {
1220
- val = Boolean(val);
1221
- }
1222
- const isChecked = val === optionKey;
1223
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1224
- _material.FormControlLabel,
1225
- {
1226
- ...labelProps,
1227
- control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1228
- _material.Radio,
1229
- {
1230
- ...radioProps,
1231
- disabled: disabled || optionDisabled,
1232
- checked: isChecked
1233
- }
1234
- ),
1235
- value: optionKey,
1236
- label: option[labelKey]
1237
- },
1238
- String(optionKey)
1239
- );
1240
- })
1241
- ] }),
1242
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { children: error.message })
1243
- ] });
1244
- };
1245
- var RadioButtonGroup2 = ({
1246
- gridProps = {},
1247
- ...props
1248
- }) => {
1249
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1250
- Component5,
1251
- {
1252
- ...props
1253
- }
1254
- ) });
1255
- };
1256
- RadioButtonGroup2.displayName = "RadioButtonGroup";
1257
-
1258
- // src/wrappers/SelectCascadeElement/SelectCascadeElement.tsx
1259
-
1260
- var _styles = require('@mui/material/styles');
1261
-
1262
-
1263
-
1264
- var Component6 = function SelectCascadeElement(props) {
1265
- const theme = _styles.useTheme.call(void 0, );
1266
- const {
1267
- labelField = "Label",
1268
- valueField = "Value",
1269
- name,
1270
- onBlur,
1271
- onChange,
1272
- disabled,
1273
- options: optionsInput,
1274
- control,
1275
- loading = false,
1276
- placeholder,
1277
- label,
1278
- dependsOn,
1279
- textFieldProps = {},
1280
- variant,
1281
- isNullable = false,
1282
- ...rest
1283
- } = props;
1284
- const { required, ...restTextProps } = textFieldProps;
1285
- const options = _react.useMemo.call(void 0, () => optionsInput || [], [optionsInput]);
1286
- const getOptionKey = _react.useCallback.call(void 0,
1287
- (option) => {
1288
- if (typeof option === "string" || typeof option === "number")
1289
- return option;
1290
- const key = option ? option[valueField] : void 0;
1291
- return key !== void 0 && key !== null ? String(key) : "";
1292
- },
1293
- [valueField]
1294
- );
1295
- const getOptionLabel = _react.useCallback.call(void 0,
1296
- (option) => {
1297
- if (typeof option === "string") return option;
1298
- return option ? String(option[labelField]) : "";
1299
- },
1300
- [labelField]
1301
- );
1302
- const isOptionEqualToValue = (option, value) => getOptionKey(option) === getOptionKey(value);
1303
- const {
1304
- field,
1305
- fieldState: { error }
1306
- } = _reacthookform.useController.call(void 0, {
1307
- name,
1308
- control
1309
- });
1310
- const { field: dependentField } = _reacthookform.useController.call(void 0, {
1311
- name: dependsOn,
1312
- control
1313
- });
1314
- const parentValueRef = _react.useRef.call(void 0, dependentField.value);
1315
- _react.useEffect.call(void 0, () => {
1316
- if (parentValueRef.current !== dependentField.value) {
1317
- field.onChange(null);
1318
- parentValueRef.current = dependentField.value;
1319
- }
1320
- }, [dependentField.value, field]);
1321
- _react.useEffect.call(void 0, () => {
1322
- const hasValue = field.value !== null && field.value !== void 0 && field.value !== "";
1323
- if (options.length === 1 && !hasValue) {
1324
- if (disabled) return;
1325
- field.onChange(getOptionKey(options[0]));
1326
- }
1327
- }, [options, disabled, getOptionKey, field.onChange, dependentField.value]);
1328
- const isDisabled = _react.useMemo.call(void 0, () => {
1329
- if (disabled) return true;
1330
- if (dependentField.value === null || dependentField.value === void 0 || dependentField.value === "")
1331
- return true;
1332
- if (options.length === 1 && !isNullable) {
1333
- return true;
1334
- }
1335
- return false;
1336
- }, [disabled, dependentField.value, options.length, isNullable]);
1337
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1338
- _material.Autocomplete,
1339
- {
1340
- ...rest,
1341
- value: options.map((option) => getOptionKey(option) === field.value ? option : null).find(Boolean) || null,
1342
- loading,
1343
- options,
1344
- getOptionKey,
1345
- getOptionLabel,
1346
- isOptionEqualToValue,
1347
- ref: field.ref,
1348
- disabled: isDisabled,
1349
- sx: {
1350
- "&.Mui-disabled": {
1351
- cursor: "not-allowed !important"
1352
- },
1353
- "& .MuiInputBase-root.Mui-disabled": {
1354
- backgroundColor: theme.palette.action.disabledBackground,
1355
- cursor: "not-allowed !important"
1356
- },
1357
- "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
1358
- cursor: "not-allowed !important"
1359
- },
1360
- "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
1361
- borderColor: error ? "red" : void 0
1362
- },
1363
- "& .MuiFilledInput-root.Mui-disabled": {
1364
- borderColor: error ? "red" : void 0
1365
- }
1366
- },
1367
- onChange: (event, newValue, reason) => {
1368
- field.onChange(newValue ? getOptionKey(newValue) : null);
1369
- if (onChange && typeof onChange === "function") {
1370
- onChange(event, newValue, reason);
1371
- }
1372
- },
1373
- onBlur: (event) => {
1374
- field.onBlur();
1375
- if (typeof onBlur === "function") {
1376
- onBlur(event);
1377
- }
1378
- },
1379
- fullWidth: true,
1380
- renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1381
- _material.TextField,
1382
- {
1383
- ...params,
1384
- ...restTextProps,
1385
- fullWidth: true,
1386
- error: !!error,
1387
- required: required || options.length == 0,
1388
- helperText: error ? error.message : "",
1389
- placeholder,
1390
- label,
1391
- variant: variant ? variant : isDisabled ? "filled" : "outlined"
1392
- }
1393
- )
1394
- }
1395
- );
1396
- };
1397
- var SelectCascadeElement2 = ({
1398
- gridProps = {},
1399
- ...props
1400
- }) => {
1401
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component6, { ...props }) });
1402
- };
1403
- SelectCascadeElement2.displayName = "SelectCascadeElement";
1404
-
1405
- // src/wrappers/SelectElement/SelectElement.tsx
1406
-
1407
-
1408
-
1409
-
1410
-
1411
- var Component7 = function SelectElement(props) {
1412
- const theme = _styles.useTheme.call(void 0, );
1413
- const {
1414
- name,
1415
- control,
1416
- onChange,
1417
- options: optionsInput,
1418
- label,
1419
- variant,
1420
- disabled,
1421
- labelField = "Label",
1422
- valueField = "Value",
1423
- placeholder,
1424
- textFieldProps = {},
1425
- isNullable = false,
1426
- ...rest
1427
- } = props;
1428
- const { required, ...restTextProps } = textFieldProps;
1429
- const options = _react.useMemo.call(void 0, () => optionsInput || [], [optionsInput]);
1430
- const {
1431
- field,
1432
- fieldState: { error }
1433
- } = _reacthookform.useController.call(void 0, {
1434
- name,
1435
- control
1436
- });
1437
- const getOptionValue = _react.useCallback.call(void 0,
1438
- (option) => {
1439
- if (typeof option === "string") return option;
1440
- return option ? option[valueField] : null;
1441
- },
1442
- [valueField]
1443
- );
1444
- const getOptionLabel = _react.useCallback.call(void 0,
1445
- (option) => {
1446
- if (typeof option === "string") return option;
1447
- return option ? String(option[labelField]) : "";
1448
- },
1449
- [labelField]
1450
- );
1451
- _react.useEffect.call(void 0, () => {
1452
- const hasValue = field.value !== null && field.value !== void 0 && field.value !== "";
1453
- if (options.length === 1 && !hasValue) {
1454
- if (disabled) return;
1455
- field.onChange(getOptionValue(options[0]));
1456
- }
1457
- }, [options, disabled, getOptionValue, field.onChange]);
1458
- const isDisabled = _react.useMemo.call(void 0, () => {
1459
- if (disabled) return true;
1460
- if (options.length === 0) return true;
1461
- if (options.length === 1 && !isNullable) return true;
1462
- return false;
1463
- }, [disabled, options.length, isNullable]);
1464
- const autocompleteValue = _react.useMemo.call(void 0,
1465
- () => _nullishCoalesce(options.find((option) => getOptionValue(option) === field.value), () => ( null)),
1466
- [field.value, options, getOptionValue]
1467
- );
1468
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1469
- _material.Autocomplete,
1470
- {
1471
- ...rest,
1472
- filterSelectedOptions: false,
1473
- options,
1474
- value: autocompleteValue,
1475
- onChange: (event, newValue, reason) => {
1476
- const option = newValue;
1477
- field.onChange(option ? getOptionValue(option) : null);
1478
- _optionalChain([onChange, 'optionalCall', _16 => _16(event, newValue, reason)]);
1479
- },
1480
- disabled: isDisabled,
1481
- sx: {
1482
- "&.Mui-disabled": {
1483
- cursor: "not-allowed !important"
1484
- },
1485
- "& .MuiInputBase-root.Mui-disabled": {
1486
- backgroundColor: theme.palette.action.disabledBackground,
1487
- cursor: "not-allowed !important"
1488
- },
1489
- "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
1490
- cursor: "not-allowed !important"
1491
- },
1492
- "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
1493
- borderColor: error ? "red" : void 0
1494
- },
1495
- "& .MuiFilledInput-root.Mui-disabled": {
1496
- borderColor: error ? "red" : void 0
1497
- }
1498
- },
1499
- getOptionLabel: (option) => getOptionLabel(option),
1500
- ref: field.ref,
1501
- isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
1502
- renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1503
- _material.TextField,
1504
- {
1505
- ...params,
1506
- ...restTextProps,
1507
- fullWidth: true,
1508
- required,
1509
- error: !!error,
1510
- helperText: error ? error.message : "",
1511
- label,
1512
- placeholder,
1513
- variant: variant ? variant : isDisabled ? "filled" : "outlined"
1514
- }
1515
- )
1516
- }
1517
- );
1518
- };
1519
- var SelectElement2 = ({
1520
- gridProps = {},
1521
- ...props
1522
- }) => {
1523
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component7, { ...props }) });
1524
- };
1525
- SelectElement2.displayName = "SelectElement";
1526
-
1527
- // src/wrappers/SelectMultiElement/SelectMultiElement.tsx
1528
- var _CheckBox = require('@mui/icons-material/CheckBox'); var _CheckBox2 = _interopRequireDefault(_CheckBox);
1529
- var _CheckBoxOutlineBlank = require('@mui/icons-material/CheckBoxOutlineBlank'); var _CheckBoxOutlineBlank2 = _interopRequireDefault(_CheckBoxOutlineBlank);
1530
-
1531
-
1532
-
1533
-
1534
-
1535
-
1536
-
1537
-
1538
-
1539
-
1540
-
1541
- var Component8 = function SelectMultiElement(props) {
1542
- const {
1543
- name,
1544
- control,
1545
- onBlur,
1546
- disabled,
1547
- options: optionsInput,
1548
- loading = false,
1549
- placeholder,
1550
- label,
1551
- isNullable,
1552
- variant,
1553
- labelField = "Label",
1554
- valueField = "Value",
1555
- ...rest
1556
- } = props;
1557
- const theme = _material.useTheme.call(void 0, );
1558
- const options = _react.useMemo.call(void 0, () => optionsInput || [], [optionsInput]);
1559
- const {
1560
- field,
1561
- fieldState: { error }
1562
- } = _reacthookform.useController.call(void 0, {
1563
- name,
1564
- control
1565
- });
1566
- const getOptionValue = (option) => {
1567
- if (typeof option === "string") return option;
1568
- return option ? option[valueField] : null;
1569
- };
1570
- const getOptionLabel = (option) => {
1571
- if (typeof option === "string") return option;
1572
- return option ? String(option[labelField]) : "";
1573
- };
1574
- const isDisabled = _react.useMemo.call(void 0, () => {
1575
- if (disabled) return true;
1576
- if (options.length === 0) return true;
1577
- if (options.length === 1 && !isNullable) return true;
1578
- return false;
1579
- }, [disabled, options.length, isNullable]);
1580
- const selectedValue = field.value && Array.isArray(field.value) ? options.filter((option) => field.value.includes(getOptionValue(option))) : [];
1581
- _react.useEffect.call(void 0, () => {
1582
- const hasValue = Array.isArray(field.value) && field.value.length > 0;
1583
- if (options.length === 1 && !hasValue && !isNullable) {
1584
- field.onChange([getOptionValue(options[0])]);
1585
- }
1586
- }, [options, getOptionValue, field.onChange, isNullable]);
1587
- const handleChange = (_, selectedOptions, reason) => {
1588
- if (reason === "clear") {
1589
- field.onChange(null);
1590
- } else if (reason === "selectOption" || reason === "removeOption") {
1591
- const newValues = selectedOptions.map((option) => getOptionValue(option));
1592
- field.onChange(newValues.length === 0 ? null : newValues);
1593
- }
1594
- };
1595
- const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CheckBoxOutlineBlank2.default, { fontSize: "small" });
1596
- const checkedIcon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CheckBox2.default, { fontSize: "small" });
1597
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1598
- _material.Autocomplete,
1599
- {
1600
- multiple: true,
1601
- value: selectedValue,
1602
- loading,
1603
- options,
1604
- getOptionLabel,
1605
- isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
1606
- filterSelectedOptions: true,
1607
- disableCloseOnSelect: true,
1608
- ref: field.ref,
1609
- disabled: isDisabled,
1610
- onChange: handleChange,
1611
- onBlur: (event) => {
1612
- field.onBlur();
1613
- if (typeof onBlur === "function") {
1614
- onBlur(event);
1615
- }
1616
- },
1617
- sx: {
1618
- "&.Mui-disabled": {
1619
- cursor: "not-allowed !important"
1620
- },
1621
- "& .MuiInputBase-root.Mui-disabled": {
1622
- backgroundColor: theme.palette.action.disabledBackground,
1623
- cursor: "not-allowed !important"
1624
- },
1625
- "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
1626
- cursor: "not-allowed !important"
1627
- },
1628
- "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
1629
- borderColor: error ? "red" : void 0
1630
- },
1631
- "& .MuiFilledInput-root.Mui-disabled": {
1632
- borderColor: error ? "red" : void 0
1633
- }
1634
- },
1635
- fullWidth: true,
1636
- renderOption: (props1, option, { selected }) => {
1637
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { ...props1, children: [
1638
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1639
- _material.Checkbox,
1640
- {
1641
- icon,
1642
- checkedIcon,
1643
- checked: selected
1644
- }
1645
- ),
1646
- getOptionLabel(option)
1647
- ] });
1648
- },
1649
- renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1650
- _material.TextField,
1651
- {
1652
- ...params,
1653
- label,
1654
- error: !!error,
1655
- helperText: error ? error.message : "",
1656
- placeholder,
1657
- InputProps: {
1658
- ...params.InputProps,
1659
- endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
1660
- loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }) : null,
1661
- params.InputProps.endAdornment
1662
- ] })
1663
- },
1664
- variant: variant ? variant : isDisabled ? "filled" : "outlined"
1665
- }
1666
- ),
1667
- ...rest
1668
- }
1669
- );
1670
- };
1671
- var SelectMultiElement2 = ({
1672
- gridProps = {},
1673
- ...props
1674
- }) => {
1675
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component8, { ...props }) });
1676
- };
1677
- SelectMultiElement2.displayName = "SelectMultiElement";
1678
-
1679
- // src/wrappers/TextFieldElement/TextFieldElement.tsx
1680
-
1681
-
1682
-
1683
- var Component9 = function TextFieldElement(props) {
1684
- const {
1685
- parseError,
1686
- name,
1687
- control,
1688
- component: TextFieldComponent = _material.TextField,
1689
- transform,
1690
- fieldType = "text",
1691
- // Default to text type
1692
- defaultValue,
1693
- label,
1694
- placeholder,
1695
- textFieldProps = {},
1696
- variant,
1697
- onChange: customOnChange,
1698
- enableWarnings = process.env.NODE_ENV === "development",
1699
- ...rest
1700
- } = props;
1701
- const {
1702
- type,
1703
- required,
1704
- helperText,
1705
- inputRef,
1706
- onInput,
1707
- onBlur,
1708
- disabled,
1709
- ...restTextProps
1710
- } = textFieldProps;
1711
- const {
1712
- field,
1713
- fieldState: { error }
1714
- } = _reacthookform.useController.call(void 0, {
1715
- name,
1716
- control
1717
- });
1718
- const { value, onChange } = _chunkQYHJIPSZcjs.useEnhancedTransform.call(void 0,
1719
- {
1720
- value: field.value,
1721
- onChange: field.onChange,
1722
- transform: transform ? {
1723
- input: transform.input,
1724
- output: transform.output
1725
- } : void 0,
1726
- fieldType: !transform ? type === "number" ? "number" : fieldType : void 0,
1727
- // Auto-detect number type
1728
- defaultValue,
1729
- enableWarnings
1730
- }
1731
- );
1732
- const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1733
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1734
- TextFieldComponent,
1735
- {
1736
- ...rest,
1737
- ...restTextProps,
1738
- name: field.name,
1739
- value,
1740
- onChange: (event) => {
1741
- const input = event.target.value;
1742
- if (input === "") {
1743
- field.onChange(null);
1744
- } else {
1745
- onChange(event);
1746
- }
1747
- if (typeof customOnChange === "function") {
1748
- customOnChange(event);
1749
- }
1750
- return;
1751
- },
1752
- onBlur: (event) => {
1753
- field.onBlur();
1754
- if (typeof onBlur === "function") {
1755
- onBlur(event);
1756
- }
1757
- },
1758
- onInput: (event) => {
1759
- if (typeof onInput === "function") {
1760
- onInput(event);
1761
- }
1762
- },
1763
- disabled,
1764
- label,
1765
- placeholder,
1766
- fullWidth: true,
1767
- required,
1768
- type,
1769
- error: !!error,
1770
- helperText: error ? parseError ? parseError(error) : error.message : helperText,
1771
- inputRef: handleInputRef,
1772
- variant: variant ? variant : "outlined"
1773
- }
1774
- );
1775
- };
1776
- var TextFieldElement2 = ({
1777
- gridProps = {},
1778
- ...props
1779
- }) => {
1780
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component9, { ...props }) });
1781
- };
1782
-
1783
- // src/wrappers/TimePickerElement/TimePickerElement.tsx
1784
-
1785
-
1786
-
1787
-
1788
-
1789
- var Component10 = function TimePickerElement(props) {
1790
- const {
1791
- name,
1792
- required,
1793
- inputProps,
1794
- control,
1795
- textReadOnly,
1796
- label,
1797
- placeholder,
1798
- slotProps,
1799
- timePickerProps = {},
1800
- transform,
1801
- ...rest
1802
- } = props;
1803
- const adapter = _internals.useLocalizationContext.call(void 0, );
1804
- const { disabled, inputRef, onClose, ...restTimePickerProps } = timePickerProps;
1805
- const {
1806
- field,
1807
- fieldState: { error }
1808
- } = _reacthookform.useController.call(void 0, {
1809
- name,
1810
- control,
1811
- defaultValue: null
1812
- });
1813
- const { value, onChange } = _chunkQYHJIPSZcjs.useTransform.call(void 0, {
1814
- value: field.value,
1815
- onChange: field.onChange,
1816
- transform: {
1817
- input: typeof _optionalChain([transform, 'optionalAccess', _17 => _17.input]) === "function" ? transform.input : (newValue) => _chunkLUW7V5GIcjs.readValueAsDate.call(void 0, adapter, newValue),
1818
- output: (eventOrValue, value2) => {
1819
- const actualValue = value2 !== void 0 ? value2 : eventOrValue;
1820
- if (actualValue === null) return null;
1821
- return actualValue;
1822
- }
1823
- }
1824
- });
1825
- const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1826
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1827
- _xdatepickers.TimePicker,
1828
- {
1829
- ...rest,
1830
- ...restTimePickerProps,
1831
- ...field,
1832
- value,
1833
- label,
1834
- disabled,
1835
- ...timePickerProps,
1836
- inputRef: handleInputRef,
1837
- onClose: (...args) => {
1838
- field.onBlur();
1839
- if (onClose) {
1840
- onClose(...args);
1841
- }
1842
- },
1843
- onChange: (newValue, context) => {
1844
- onChange(newValue, context);
1845
- if (typeof timePickerProps.onChange === "function") {
1846
- timePickerProps.onChange(newValue, context);
1847
- }
1848
- },
1849
- slotProps: {
1850
- ...slotProps,
1851
- actionBar: {
1852
- actions: ["clear", "cancel", "accept"]
1853
- },
1854
- textField: {
1855
- ...inputProps,
1856
- required,
1857
- placeholder,
1858
- fullWidth: true,
1859
- onBlur: (event) => {
1860
- field.onBlur();
1861
- if (typeof _optionalChain([inputProps, 'optionalAccess', _18 => _18.onBlur]) === "function") {
1862
- inputProps.onBlur(event);
1863
- }
1864
- },
1865
- error: !!error,
1866
- helperText: error ? error.message : _optionalChain([inputProps, 'optionalAccess', _19 => _19.helperText]) || rest.helperText,
1867
- inputProps: {
1868
- readOnly: !!textReadOnly,
1869
- ..._optionalChain([inputProps, 'optionalAccess', _20 => _20.inputProps])
1870
- }
1871
- }
1872
- }
1873
- }
1874
- );
1875
- };
1876
- var TimePickerElement2 = ({
1877
- gridProps = {},
1878
- ...props
1879
- }) => {
1880
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component10, { ...props }) });
1881
- };
1882
- TimePickerElement2.displayName = "TimePickerElement";
1883
-
1884
- // src/wrappers/AsyncSelect/index.tsx
1885
-
1886
-
1887
-
1888
-
1889
-
1890
-
1891
-
1892
- var _utils = require('@mui/material/utils');
1893
-
1894
-
1895
-
1896
-
1897
-
1898
-
1899
-
1900
-
1901
-
1902
-
1903
-
1904
-
1905
- var Component11 = function AsyncSelectElement(props) {
1906
- const {
1907
- name,
1908
- disabled,
1909
- control,
1910
- placeholder,
1911
- // initialValue,
1912
- // isNullable,
1913
- label,
1914
- queryFn,
1915
- variant,
1916
- labelField = "Label",
1917
- valueField = "Value",
1918
- ...rest
1919
- } = props;
1920
- const {
1921
- field,
1922
- fieldState: { error }
1923
- } = _reacthookform.useController.call(void 0, {
1924
- name,
1925
- control
1926
- });
1927
- const theme = _material.useTheme.call(void 0, );
1928
- const [loading, setLoading] = _react.useState.call(void 0, false);
1929
- const [selectedOption, setSelectedOption] = _react.useState.call(void 0, null);
1930
- const [inputValue, setInputValue] = _react.useState.call(void 0, "");
1931
- const [options, setOptions] = _react.useState.call(void 0, []);
1932
- const [open, setOpen] = _react.useState.call(void 0, false);
1933
- const loadedValueRef = _react.useRef.call(void 0,
1934
- void 0
1935
- );
1936
- const fetchData = _react.useMemo.call(void 0,
1937
- () => _utils.debounce.call(void 0,
1938
- (payload, callback) => {
1939
- queryFn(payload).then((c) => callback(c));
1940
- },
1941
- 400
1942
- ),
1943
- [queryFn]
1944
- );
1945
- const getOptionValue = _react.useCallback.call(void 0,
1946
- (option) => {
1947
- return option ? String(option[valueField]) : "";
1948
- },
1949
- [valueField]
1950
- );
1951
- const getOptionLabel = _react.useCallback.call(void 0,
1952
- (option) => {
1953
- return option ? String(option[labelField]) : "";
1954
- },
1955
- [labelField]
1956
- );
1957
- _react.useEffect.call(void 0, () => {
1958
- const currentValue = field.value;
1959
- if (currentValue && loadedValueRef.current !== currentValue) {
1960
- if (selectedOption && getOptionValue(selectedOption) === currentValue) {
1961
- loadedValueRef.current = currentValue;
1962
- return;
1963
- }
1964
- const active = true;
1965
- setLoading(true);
1966
- loadedValueRef.current = currentValue;
1967
- fetchData({ Query: null, SelectedValue: currentValue }, (results) => {
1968
- if (!active) return;
1969
- setLoading(false);
1970
- const matchedOption = _optionalChain([results, 'optionalAccess', _21 => _21.find, 'call', _22 => _22(
1971
- (option) => String(getOptionValue(option)) === String(currentValue)
1972
- )]);
1973
- if (matchedOption) {
1974
- setOptions([matchedOption]);
1975
- setSelectedOption(matchedOption);
1976
- setInputValue(getOptionLabel(matchedOption));
1977
- }
1978
- });
1979
- return;
1980
- }
1981
- if (inputValue !== (selectedOption ? getOptionLabel(selectedOption) : "")) {
1982
- if (inputValue === "") {
1983
- setOptions([]);
1984
- setLoading(false);
1985
- return;
1986
- }
1987
- const active = true;
1988
- setLoading(true);
1989
- fetchData({ Query: inputValue, SelectedValue: null }, (results) => {
1990
- if (!active) return;
1991
- setLoading(false);
1992
- setOptions(results || []);
1993
- });
1994
- return;
1995
- }
1996
- if (!currentValue && selectedOption) {
1997
- setSelectedOption(null);
1998
- setInputValue("");
1999
- setOptions([]);
2000
- loadedValueRef.current = void 0;
2001
- }
2002
- }, [
2003
- field.value,
2004
- inputValue,
2005
- fetchData,
2006
- getOptionLabel,
2007
- getOptionValue,
2008
- selectedOption,
2009
- labelField,
2010
- valueField
2011
- ]);
2012
- const isDisabled = _react.useMemo.call(void 0, () => {
2013
- return _nullishCoalesce(disabled, () => ( false));
2014
- }, [disabled]);
2015
- const handleChange = _react.useCallback.call(void 0,
2016
- (_, newSelectedOption) => {
2017
- setSelectedOption(newSelectedOption);
2018
- const newValue = newSelectedOption ? getOptionValue(newSelectedOption) : null;
2019
- field.onChange(newValue);
2020
- loadedValueRef.current = newValue;
2021
- if (newSelectedOption) {
2022
- setInputValue(getOptionLabel(newSelectedOption));
2023
- } else {
2024
- setInputValue("");
2025
- setOptions([]);
2026
- }
2027
- },
2028
- [field, getOptionValue, getOptionLabel]
2029
- );
2030
- const handleInputChange = _react.useCallback.call(void 0,
2031
- (_, newInputValue) => {
2032
- setInputValue(newInputValue);
2033
- },
2034
- []
2035
- );
2036
- const handleBlur = _react.useCallback.call(void 0, () => {
2037
- if (selectedOption) {
2038
- setInputValue(getOptionLabel(selectedOption));
2039
- } else {
2040
- setInputValue("");
2041
- }
2042
- }, [selectedOption, getOptionLabel]);
2043
- const handleOpen = _react.useCallback.call(void 0, () => {
2044
- setOpen(true);
2045
- }, []);
2046
- const handleClose = _react.useCallback.call(void 0, () => {
2047
- setOpen(false);
2048
- }, []);
2049
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2050
- _material.Autocomplete,
2051
- {
2052
- ...rest,
2053
- fullWidth: true,
2054
- open,
2055
- onOpen: handleOpen,
2056
- onClose: handleClose,
2057
- onBlur: handleBlur,
2058
- loading,
2059
- getOptionLabel,
2060
- getOptionKey: getOptionValue,
2061
- isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
2062
- autoComplete: true,
2063
- disabled: isDisabled,
2064
- includeInputInList: true,
2065
- options,
2066
- value: selectedOption,
2067
- filterSelectedOptions: true,
2068
- filterOptions: (x) => x,
2069
- onChange: handleChange,
2070
- onInputChange: handleInputChange,
2071
- sx: {
2072
- "&.Mui-disabled": {
2073
- cursor: "not-allowed !important"
2074
- },
2075
- "& .MuiInputBase-root.Mui-disabled": {
2076
- backgroundColor: theme.palette.action.disabledBackground,
2077
- cursor: "not-allowed !important"
2078
- },
2079
- "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
2080
- cursor: "not-allowed !important"
2081
- },
2082
- "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
2083
- borderColor: error ? "red" : void 0
2084
- },
2085
- "& .MuiFilledInput-root.Mui-disabled": {
2086
- borderColor: error ? "red" : void 0
2087
- }
2088
- },
2089
- noOptionsText: "Type Something...",
2090
- renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2091
- _material.TextField,
2092
- {
2093
- ...params,
2094
- label,
2095
- error: !!error,
2096
- helperText: error ? error.message : "",
2097
- placeholder,
2098
- slotProps: {
2099
- input: {
2100
- ...params.InputProps,
2101
- endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
2102
- loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }) : null,
2103
- params.InputProps.endAdornment
2104
- ] })
2105
- }
2106
- },
2107
- variant: variant ? variant : isDisabled ? "filled" : "outlined"
2108
- }
2109
- ),
2110
- renderOption: (renderProps, option) => {
2111
- const { key, ...optionProps } = renderProps;
2112
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ...optionProps, children: option[labelField] }, key);
2113
- }
2114
- }
2115
- );
2116
- };
2117
- var AsyncSelectElement2 = ({
2118
- gridProps = {},
2119
- ...props
2120
- }) => {
2121
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2122
- Component11,
2123
- {
2124
- ...props
2125
- }
2126
- ) });
2127
- };
2128
- AsyncSelectElement2.displayName = "AsyncSelectElement";
2129
-
2130
- // src/wrappers/NumberFieldElement/NumberFieldElement.tsx
2131
-
2132
-
2133
-
2134
- var Component12 = function NumberFieldElement(props) {
2135
- const {
2136
- parseError,
2137
- name,
2138
- control,
2139
- component: TextFieldComponent = _material.TextField,
2140
- transform,
2141
- fieldType = "text",
2142
- // Default to text type
2143
- defaultValue,
2144
- label,
2145
- placeholder,
2146
- textFieldProps = {},
2147
- variant,
2148
- onChange: customOnChange,
2149
- enableWarnings = process.env.NODE_ENV === "development",
2150
- maxLength,
2151
- ...rest
2152
- } = props;
2153
- const {
2154
- type = "number",
2155
- required,
2156
- helperText,
2157
- inputRef,
2158
- onInput,
2159
- onBlur,
2160
- disabled,
2161
- ...restTextProps
2162
- } = textFieldProps;
2163
- const {
2164
- field,
2165
- fieldState: { error }
2166
- } = _reacthookform.useController.call(void 0, {
2167
- name,
2168
- control
2169
- });
2170
- const { value, onChange } = _chunkQYHJIPSZcjs.useEnhancedTransform.call(void 0,
2171
- {
2172
- value: field.value,
2173
- onChange: field.onChange,
2174
- transform: transform ? {
2175
- input: transform.input,
2176
- output: transform.output
2177
- } : void 0,
2178
- fieldType: !transform ? type === "number" ? maxLength && maxLength > 5 ? "text" : "number" : fieldType : void 0,
2179
- // Auto-detect number type
2180
- defaultValue,
2181
- enableWarnings
2182
- }
2183
- );
2184
- const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
2185
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2186
- TextFieldComponent,
2187
- {
2188
- ...rest,
2189
- ...restTextProps,
2190
- name: field.name,
2191
- value,
2192
- onChange: (event) => {
2193
- const input = event.target.value;
2194
- if (input === "") {
2195
- field.onChange(null);
2196
- }
2197
- onChange(event);
2198
- if (typeof customOnChange === "function") {
2199
- customOnChange(event);
2200
- }
2201
- },
2202
- onBlur: (event) => {
2203
- field.onBlur();
2204
- if (typeof onBlur === "function") {
2205
- onBlur(event);
2206
- }
2207
- },
2208
- onInput: (event) => {
2209
- if (type === "number" && maxLength && event.target.value.length > maxLength) {
2210
- event.target.value = event.target.value.slice(0, maxLength);
2211
- }
2212
- if (typeof onInput === "function") {
2213
- onInput(event);
2214
- }
2215
- },
2216
- onWheel: (e) => {
2217
- e.target.blur();
2218
- },
2219
- onKeyDown: (e) => {
2220
- if (["e", "E", "ArrowDown", "ArrowUp"].includes(e.key)) {
2221
- e.preventDefault();
2222
- }
2223
- },
2224
- disabled,
2225
- label,
2226
- placeholder,
2227
- fullWidth: true,
2228
- required,
2229
- type,
2230
- error: !!error,
2231
- helperText: error ? parseError ? parseError(error) : error.message : helperText,
2232
- inputRef: handleInputRef,
2233
- slotProps: { htmlInput: { maxLength } },
2234
- variant: variant ? variant : "outlined"
2235
- }
2236
- );
2237
- };
2238
- var NumberFieldElement2 = ({
2239
- gridProps = {},
2240
- ...props
2241
- }) => {
2242
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component12, { ...props }) });
2243
- };
2244
-
2245
- // src/wrappers/OTPInputElement/OTPInputElement.tsx
2246
-
2247
-
2248
-
2249
- var _muionetimepasswordinput = require('mui-one-time-password-input');
2250
-
2251
-
2252
- // src/wrappers/OTPInputElement/HelperText.tsx
2253
- var _FormHelperText = require('@mui/material/FormHelperText'); var _FormHelperText2 = _interopRequireDefault(_FormHelperText);
2254
-
2255
- function HelperText({
2256
- sx,
2257
- helperText,
2258
- errorMessage,
2259
- disableGutters,
2260
- ...other
2261
- }) {
2262
- if (errorMessage || helperText) {
2263
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2264
- _FormHelperText2.default,
2265
- {
2266
- error: !!errorMessage,
2267
- sx: [
2268
- {
2269
- mx: disableGutters ? 0 : 1.75
2270
- },
2271
- ...Array.isArray(sx) ? sx : [sx]
2272
- ],
2273
- ...other,
2274
- children: errorMessage || helperText
2275
- }
2276
- );
2277
- }
2278
- return null;
2279
- }
2280
-
2281
- // src/wrappers/OTPInputElement/OTPInputElement.tsx
2282
-
2283
- var Component13 = function OTPInputElement(props) {
2284
- const {
2285
- // parseError,
2286
- name,
2287
- control,
2288
- slotProps,
2289
- helperText,
2290
- maxSize = 56,
2291
- placeholder = "-",
2292
- ...rest
2293
- } = props;
2294
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2295
- _reacthookform.Controller,
2296
- {
2297
- name,
2298
- control,
2299
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2300
- _material.Box,
2301
- {
2302
- ..._optionalChain([slotProps, 'optionalAccess', _23 => _23.wrapper]),
2303
- sx: [
2304
- {
2305
- display: "flex",
2306
- justifyContent: "center",
2307
- [`& .${_material.inputBaseClasses.input}`]: {
2308
- p: 0,
2309
- height: "auto",
2310
- aspectRatio: "1/1",
2311
- maxWidth: maxSize
2312
- }
2313
- },
2314
- ...Array.isArray(_optionalChain([slotProps, 'optionalAccess', _24 => _24.wrapper, 'optionalAccess', _25 => _25.sx])) ? _nullishCoalesce(_optionalChain([slotProps, 'optionalAccess', _26 => _26.wrapper, 'optionalAccess', _27 => _27.sx]), () => ( [])) : [_optionalChain([slotProps, 'optionalAccess', _28 => _28.wrapper, 'optionalAccess', _29 => _29.sx])]
2315
- ],
2316
- children: [
2317
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2318
- _muionetimepasswordinput.MuiOtpInput,
2319
- {
2320
- ...field,
2321
- autoFocus: true,
2322
- gap: 1.5,
2323
- length: 4,
2324
- TextFieldsProps: {
2325
- placeholder,
2326
- error: !!error,
2327
- ..._optionalChain([slotProps, 'optionalAccess', _30 => _30.textfield])
2328
- },
2329
- ...rest
2330
- }
2331
- ),
2332
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2333
- HelperText,
2334
- {
2335
- ..._optionalChain([slotProps, 'optionalAccess', _31 => _31.helperText]),
2336
- errorMessage: _optionalChain([error, 'optionalAccess', _32 => _32.message]),
2337
- helperText
2338
- }
2339
- )
2340
- ]
2341
- }
2342
- )
2343
- }
2344
- );
2345
- };
2346
- var OTPInputElement2 = ({
2347
- gridProps = {},
2348
- ...props
2349
- }) => {
2350
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component13, { ...props }) });
2351
- };
2352
-
2353
- // src/wrappers/Field/index.ts
2354
- var Field = {
2355
- Text: TextFieldElement2,
2356
- Number: NumberFieldElement2,
2357
- Checkbox: CheckboxElement2,
2358
- Date: DatePickerElement,
2359
- RadioGroup: RadioButtonGroup2,
2360
- Password: PasswordElement,
2361
- Time: TimePickerElement2,
2362
- Select: SelectElement2,
2363
- SelectMulti: SelectMultiElement2,
2364
- SelectCascade: SelectCascadeElement2,
2365
- AsyncSelect: AsyncSelectElement2,
2366
- AsyncMultiSelect: AsyncSelectMultiElement2,
2367
- CheckboxGroup: CheckboxGroupElement,
2368
- OTPInput: OTPInputElement2
2369
- };
2370
-
2371
-
2372
-
2373
-
2374
-
2375
-
2376
-
2377
-
2378
-
2379
-
2380
-
2381
-
2382
-
2383
-
2384
-
2385
-
2386
-
2387
-
2388
-
2389
-
2390
-
2391
-
2392
-
2393
-
2394
-
2395
-
2396
-
2397
-
2398
- exports.isValidOption = isValidOption; exports.normalizeOptions = normalizeOptions; exports.AsyncSelectMultiElement = AsyncSelectMultiElement2; exports.CheckboxElement = CheckboxElement2; exports.CheckboxGroupElement = CheckboxGroupElement; exports.readDatePickerValueAsDate = readDatePickerValueAsDate; exports.useDatePickerValue = useDatePickerValue; exports.useDatePickerValidation = useDatePickerValidation; exports.useDatePickerStyles = useDatePickerStyles; exports.DatePickerElementCore = DatePickerElementCore; exports.DatePickerElement = DatePickerElement; exports.isValidDate = isValidDate; exports.isParsableDateString = isParsableDateString; exports.createDateInputTransform = createDateInputTransform; exports.createDateOutputTransform = createDateOutputTransform; exports.createDefaultDatePickerConfig = createDefaultDatePickerConfig; exports.extractErrorMessage = extractErrorMessage; exports.createStableKey = createStableKey; exports.PasswordElement = PasswordElement; exports.RadioButtonGroup = RadioButtonGroup2; exports.SelectCascadeElement = SelectCascadeElement2; exports.SelectElement = SelectElement2; exports.SelectMultiElement = SelectMultiElement2; exports.TextFieldElement = TextFieldElement2; exports.TimePickerElement = TimePickerElement2; exports.Field = Field;
2399
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcR05XZWJTb2Z0LlVJXFxwYWNrYWdlc1xcdWlcXGRpc3RcXGNodW5rLVc1RU02SExXLmNqcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNFO0FBQ0E7QUFDRix3REFBNkI7QUFDN0I7QUFDRTtBQUNGLHdEQUE2QjtBQUM3QjtBQUNBO0FBQ0EsU0FBUyxhQUFhLENBQUMsS0FBSyxFQUFFO0FBQzlCLEVBQUUsT0FBTyxPQUFPLE1BQU0sSUFBSSxTQUFTLEdBQUcsTUFBTSxJQUFJLEtBQUssR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUcsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLFNBQVMsR0FBRyxDQUFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sSUFBSSxTQUFTLEdBQUcsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLFNBQVMsR0FBRyxPQUFPLEtBQUssQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO0FBQzNPO0FBQ0EsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9FLEVBQUUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUNsQyxJQUFJLEtBQUssRUFBRSxNQUFNLGtCQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUUsVUFBRyxJQUFFLENBQUM7QUFDM0MsSUFBSSxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQztBQUM3QixJQUFJLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVE7QUFDckMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0YseUNBQXNCO0FBQ3RCLGtHQUErQztBQUMvQyxrR0FBK0M7QUFDL0M7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRiw4QkFBYztBQUNkLGdEQUErQztBQUMvQywrQ0FBNkM7QUFDN0MsSUFBSSxVQUFVLEVBQUUsU0FBUyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUU7QUFDeEQsRUFBRSxNQUFNO0FBQ1IsSUFBSSxJQUFJO0FBQ1IsSUFBSSxRQUFRO0FBQ1osSUFBSSxPQUFPO0FBQ1gsSUFBSSxXQUFXO0FBQ2YsSUFBSSxLQUFLO0FBQ1QsSUFBSSxPQUFPO0FBQ1gsSUFBSSxPQUFPO0FBQ1gsSUFBSSxXQUFXLEVBQUUsT0FBTztBQUN4QixJQUFJLFdBQVcsRUFBRSxPQUFPO0FBQ3hCLElBQUksR0FBRztBQUNQLEVBQUUsRUFBRSxFQUFFLEtBQUs7QUFDWCxFQUFFLE1BQU07QUFDUixJQUFJLEtBQUs7QUFDVCxJQUFJLFVBQVUsRUFBRSxFQUFFLE1BQU07QUFDeEIsRUFBRSxFQUFFLEVBQUUsMENBQWE7QUFDbkIsSUFBSSxJQUFJO0FBQ1IsSUFBSTtBQUNKLEVBQUUsQ0FBQyxDQUFDO0FBQ0osRUFBRSxNQUFNLE1BQU0sRUFBRSxnQ0FBUSxDQUFFO0FBQzFCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLDZCQUFRLENBQUUsQ0FBQyxDQUFDO0FBQzVELEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsRUFBRSw2QkFBUSxFQUFHLENBQUM7QUFDbEQsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLDZCQUFRLENBQUUsQ0FBQyxDQUFDO0FBQzVDLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSw2QkFBUSxLQUFNLENBQUM7QUFDL0MsRUFBRSxNQUFNLGdCQUFnQixFQUFFLDJCQUFNLENBQUUsQ0FBQyxDQUFDO0FBQ3BDLEVBQUUsTUFBTSwwQkFBMEIsRUFBRSwyQkFBTSxLQUFNLENBQUM7QUFDakQsRUFBRSxNQUFNLHlCQUF5QixFQUFFLDJCQUFNLElBQUssQ0FBQztBQUMvQyxFQUFFLE1BQU0sdUJBQXVCLEVBQUUsMkJBQU0sS0FBTSxDQUFDO0FBQzlDLEVBQUUsTUFBTSxtQkFBbUIsRUFBRSwyQkFBTSxDQUFFLENBQUMsQ0FBQztBQUN2QyxFQUFFLE1BQU0sZUFBZSxFQUFFLGdDQUFXO0FBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFDeEQsSUFBSSxDQUFDLFVBQVU7QUFDZixFQUFFLENBQUM7QUFDSCxFQUFFLE1BQU0sZUFBZSxFQUFFLGdDQUFXO0FBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFDeEQsSUFBSSxDQUFDLFVBQVU7QUFDZixFQUFFLENBQUM7QUFDSCxFQUFFLE1BQU0sVUFBVSxFQUFFLDRCQUFPO0FBQzNCLElBQUksQ0FBQyxFQUFFLEdBQUcsZ0NBQVE7QUFDbEIsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRztBQUM3QixRQUFRLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRztBQUNyQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQ2hDLFlBQVksUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN2QixVQUFVLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ2pELFlBQVksUUFBUTtBQUNwQixjQUFjLENBQUMsQ0FBQztBQUNoQixZQUFZLENBQUM7QUFDYixVQUFVLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ2pELFlBQVksUUFBUTtBQUNwQixjQUFjLENBQUMsQ0FBQztBQUNoQixZQUFZLENBQUM7QUFDYixVQUFVLEVBQUUsS0FBSztBQUNqQixZQUFZLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixVQUFVO0FBQ1YsUUFBUSxDQUFDLENBQUM7QUFDVixNQUFNLENBQUM7QUFDUCxNQUFNO0FBQ04sSUFBSSxDQUFDO0FBQ0wsSUFBSSxDQUFDLE9BQU87QUFDWixFQUFFLENBQUM7QUFDSCxFQUFFLDhCQUFTLENBQUUsRUFBRSxHQUFHO0FBQ2xCLElBQUksa0JBQWtCLENBQUMsUUFBUSxFQUFFLGVBQWU7QUFDaEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN2QixFQUFFLDhCQUFTLENBQUUsRUFBRSxHQUFHO0FBQ2xCLElBQUksTUFBTSxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDcEUsSUFBSSxHQUFHLENBQUMsc0JBQXNCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDbEgsTUFBTSxNQUFNO0FBQ1osSUFBSTtBQUNKLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFO0FBQ2pDLE1BQU0sa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsTUFBTSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUNsQyxNQUFNLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxJQUFJO0FBQzdDLE1BQU0sc0JBQXNCLENBQUMsUUFBUSxFQUFFLElBQUk7QUFDM0MsTUFBTSxNQUFNO0FBQ1osSUFBSTtBQUNKLElBQUksSUFBSSxPQUFPLEVBQUUsSUFBSTtBQUNyQixJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDcEIsSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsSUFBSTtBQUM1QyxJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUUsVUFBVTtBQUN4QyxJQUFJLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxJQUFJO0FBQ3pDLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRztBQUN2RSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUU7QUFDbEIsUUFBUSxNQUFNLGVBQWUsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLFFBQVEsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDO0FBQy9DLFFBQVEsVUFBVSxDQUFDLGNBQWMsQ0FBQztBQUNsQyxNQUFNO0FBQ04sTUFBTSxVQUFVLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLE1BQU0seUJBQXlCLENBQUMsUUFBUSxFQUFFLEtBQUs7QUFDL0MsSUFBSSxDQUFDLENBQUM7QUFDTixJQUFJLE9BQU8sQ0FBQyxFQUFFLEdBQUc7QUFDakIsTUFBTSxPQUFPLEVBQUUsS0FBSztBQUNwQixJQUFJLENBQUM7QUFDTCxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDOUIsRUFBRSw4QkFBUyxDQUFFLEVBQUUsR0FBRztBQUNsQixJQUFJLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUU7QUFDOUUsTUFBTSxNQUFNO0FBQ1osSUFBSTtBQUNKLElBQUksR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFO0FBQ3JCLE1BQU0sR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFO0FBQ25ELFFBQVEsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sRUFBRSxLQUFLO0FBQ2IsUUFBUSxVQUFVLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0FBQzlDLE1BQU07QUFDTixNQUFNLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxJQUFJO0FBQzdDLE1BQU0sTUFBTTtBQUNaLElBQUk7QUFDSixJQUFJLEdBQUcsQ0FBQyxXQUFXLElBQUksd0JBQXdCLENBQUMsT0FBTyxFQUFFO0FBQ3pELE1BQU0sTUFBTTtBQUNaLElBQUk7QUFDSixJQUFJLElBQUksT0FBTyxFQUFFLElBQUk7QUFDckIsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDO0FBQ3BCLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRztBQUM3RSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUU7QUFDbEIsUUFBUSxNQUFNLFFBQVEsRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLFFBQVEsTUFBTSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO0FBQzFELFFBQVEsTUFBTSxrQkFBa0IsRUFBRSxJQUFJLEdBQUc7QUFDekMsVUFBVSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQztBQUMxRCxRQUFRLENBQUM7QUFDVCxRQUFRLE1BQU0sU0FBUyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUM7QUFDN0MsUUFBUSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUc7QUFDcEMsVUFBVSxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7QUFDOUQsWUFBWSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztBQUNqQyxVQUFVO0FBQ1YsUUFBUSxDQUFDLENBQUM7QUFDVixRQUFRLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDNUIsUUFBUSx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsVUFBVTtBQUNyRCxNQUFNO0FBQ04sTUFBTSxVQUFVLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxDQUFDO0FBQ04sSUFBSSxPQUFPLENBQUMsRUFBRSxHQUFHO0FBQ2pCLE1BQU0sT0FBTyxFQUFFLEtBQUs7QUFDcEIsSUFBSSxDQUFDO0FBQ0wsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzdDLEVBQUUsTUFBTSxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsR0FBRztBQUNsRCxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO0FBQzFDLElBQUksTUFBTSxVQUFVLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xFLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDO0FBQzdELElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRSxTQUFTO0FBQ3ZDLElBQUksVUFBVSxDQUFDLGtCQUFrQixDQUFDO0FBQ2xDLElBQUksYUFBYSxDQUFDLEVBQUUsQ0FBQztBQUNyQixJQUFJLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxJQUFJO0FBQzNDLEVBQUUsQ0FBQztBQUNILEVBQUUsTUFBTSxXQUFXLEVBQUUsNEJBQU8sQ0FBRSxFQUFFLEdBQUc7QUFDbkMsSUFBSSx3QkFBTyxRQUFTLFVBQUcsT0FBSztBQUM1QixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2hCLEVBQUUsdUJBQXVCLDZCQUFHO0FBQzVCLElBQUksc0JBQVk7QUFDaEIsSUFBSTtBQUNKLE1BQU0sUUFBUSxFQUFFLElBQUk7QUFDcEIsTUFBTSxPQUFPO0FBQ2IsTUFBTSxjQUFjO0FBQ3BCLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUM7QUFDM0YsTUFBTSxPQUFPO0FBQ2IsTUFBTSxLQUFLLEVBQUUsZUFBZTtBQUM1QixNQUFNLFFBQVE7QUFDZCxNQUFNLHFCQUFxQixFQUFFLElBQUk7QUFDakMsTUFBTSxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO0FBQzdCLE1BQU0sYUFBYSxFQUFFLG1CQUFtQjtBQUN4QyxNQUFNLFFBQVEsRUFBRSxZQUFZO0FBQzVCLE1BQU0sRUFBRSxFQUFFO0FBQ1YsUUFBUSxnQkFBZ0IsRUFBRTtBQUMxQixVQUFVLE1BQU0sRUFBRTtBQUNsQixRQUFRLENBQUM7QUFDVCxRQUFRLG1DQUFtQyxFQUFFO0FBQzdDLFVBQVUsZUFBZSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtBQUNsRSxVQUFVLE1BQU0sRUFBRTtBQUNsQixRQUFRLENBQUM7QUFDVCxRQUFRLGdEQUFnRCxFQUFFO0FBQzFELFVBQVUsTUFBTSxFQUFFO0FBQ2xCLFFBQVEsQ0FBQztBQUNULFFBQVEsd0VBQXdFLEVBQUU7QUFDbEYsVUFBVSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLO0FBQzVDLFFBQVEsQ0FBQztBQUNULFFBQVEscUNBQXFDLEVBQUU7QUFDL0MsVUFBVSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLO0FBQzVDLFFBQVE7QUFDUixNQUFNLENBQUM7QUFDUCxNQUFNLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDO0FBQ3ZFLE1BQU0sV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLG1CQUFtQiw2QkFBRztBQUNsRCxRQUFRLG1CQUFTO0FBQ2pCLFFBQVE7QUFDUixVQUFVLEdBQUcsTUFBTTtBQUNuQixVQUFVLEtBQUs7QUFDZixVQUFVLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztBQUN4QixVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFO0FBQ2hELFVBQVUsV0FBVztBQUNyQixVQUFVLFVBQVUsRUFBRTtBQUN0QixZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVU7QUFDaEMsWUFBWSxZQUFZLGtCQUFrQiw4QkFBSSxlQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUU7QUFDckUsY0FBYyxRQUFRLGtCQUFrQiw2QkFBRywwQkFBaUIsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSTtBQUNwRyxjQUFjLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDaEMsWUFBWSxFQUFFLENBQUM7QUFDZixVQUFVLENBQUM7QUFDWCxVQUFVLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7QUFDL0QsUUFBUTtBQUNSLE1BQU0sQ0FBQztBQUNQLE1BQU0sWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRztBQUMvQyxRQUFRLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQUUsRUFBRSxNQUFNO0FBQzlDLFFBQVEsTUFBTSxZQUFZLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQztBQUNsRCxRQUFRLE1BQU0sUUFBUSxFQUFFLDZCQUFLLFdBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFO0FBQzdELFVBQVUsV0FBVyxFQUFFO0FBQ3ZCLFFBQVEsQ0FBQyxDQUFDO0FBQ1YsUUFBUSxNQUFNLE1BQU0sRUFBRSw2QkFBSyxXQUFZLEVBQUUsT0FBTyxDQUFDO0FBQ2pELFFBQVEsdUJBQXVCLDZCQUFHLElBQUssRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFFLFFBQVEsa0JBQWtCLDZCQUFHLEtBQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsNkJBQUc7QUFDMUosVUFBVSxNQUFNO0FBQ2hCLFVBQVU7QUFDVixZQUFZLEtBQUssRUFBRTtBQUNuQixjQUFjLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRTtBQUNqRCxZQUFZLENBQUM7QUFDYixZQUFZLFFBQVEsRUFBRSxJQUFJLENBQUM7QUFDM0IsVUFBVSxDQUFDO0FBQ1gsVUFBVTtBQUNWLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLE1BQU0sQ0FBQztBQUNQLE1BQU0sR0FBRztBQUNULElBQUk7QUFDSixFQUFFLENBQUM7QUFDSCxDQUFDO0FBQ0QsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO0FBQ2hDLEVBQUUsU0FBUztBQUNYLEVBQUUsR0FBRztBQUNMLENBQUMsRUFBRSxHQUFHO0FBQ04sRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFO0FBQ2pCLElBQUksdUJBQXVCLDZCQUFHO0FBQzlCLE1BQU0sY0FBSTtBQUNWLE1BQU07QUFDTixRQUFRLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQztBQUM3RSxRQUFRLFFBQVEsa0JBQWtCLDZCQUFHO0FBQ3JDLFVBQVUsU0FBUztBQUNuQixVQUFVO0FBQ1YsWUFBWSxHQUFHO0FBQ2YsVUFBVTtBQUNWLFFBQVE7QUFDUixNQUFNO0FBQ04sSUFBSSxDQUFDO0FBQ0wsRUFBRTtBQUNGLEVBQUUsdUJBQXVCLDZCQUFHLFNBQVUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUNELHdCQUF3QixDQUFDLFlBQVksRUFBRSxrQkFBa0I7QUFDekQ7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Y7QUFDQTtBQUNBO0FBQ0EsSUFBSSxXQUFXLEVBQUUsU0FBUyxlQUFlLENBQUMsS0FBSyxFQUFFO0FBQ2pELEVBQUUsTUFBTTtBQUNSLElBQUksSUFBSTtBQUNSLElBQUksT0FBTztBQUNYLElBQUksS0FBSztBQUNULElBQUksVUFBVTtBQUNkLElBQUksVUFBVTtBQUNkLElBQUksVUFBVTtBQUNkLElBQUksU0FBUztBQUNiLElBQUksUUFBUTtBQUNaLElBQUksUUFBUSxFQUFFLGNBQWM7QUFDNUIsSUFBSSxHQUFHO0FBQ1AsRUFBRSxFQUFFLEVBQUUsS0FBSztBQUNYLEVBQUUsTUFBTTtBQUNSLElBQUksS0FBSztBQUNULElBQUksVUFBVSxFQUFFLEVBQUUsTUFBTTtBQUN4QixFQUFFLEVBQUUsRUFBRSwwQ0FBYztBQUNwQixJQUFJLElBQUk7QUFDUixJQUFJLE9BQU87QUFDWCxJQUFJO0FBQ0osRUFBRSxDQUFDLENBQUM7QUFDSixFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFO0FBQ3BELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDekIsRUFBRTtBQUNGLEVBQUUsTUFBTSxzQkFBc0Isa0JBQUUsU0FBUyw2QkFBRSxRQUFNO0FBQ2pELEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSw0Q0FBWTtBQUMxQyxJQUFJLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztBQUN0QixJQUFJLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtBQUM1QixJQUFJLFNBQVMsRUFBRTtBQUNmLE1BQU0sS0FBSyxFQUFFLHVCQUFPLFNBQVMsNkJBQUUsUUFBTSxJQUFJLFdBQVcsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU07QUFDNUYsTUFBTSxNQUFNLEVBQUUsT0FBTyxzQkFBc0IsSUFBSSxXQUFXLEVBQUUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUc7QUFDdEYsUUFBUSxNQUFNLE1BQU0sRUFBRSxZQUFZO0FBQ2xDLFFBQVEsTUFBTSxRQUFRLEVBQUUsTUFBTTtBQUM5QixRQUFRLE9BQU8scUJBQXFCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztBQUNwRCxNQUFNLEVBQUUsRUFBRSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRztBQUNwQyxRQUFRLE1BQU0sUUFBUSxFQUFFLE1BQU07QUFDOUIsUUFBUSxPQUFPLE9BQU87QUFDdEIsTUFBTTtBQUNOLElBQUk7QUFDSixFQUFFLENBQUMsQ0FBQztBQUNKLEVBQUUsTUFBTSxhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUc7QUFDM0MsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztBQUM1QixJQUFJLEdBQUcsQ0FBQyxPQUFPLGVBQWUsSUFBSSxVQUFVLEVBQUU7QUFDOUMsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztBQUNwQyxJQUFJO0FBQ0osRUFBRSxDQUFDO0FBQ0gsRUFBRSxNQUFNLGFBQWEsRUFBRSxNQUFNLEVBQUUsT0FBTyxXQUFXLElBQUksV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUk7QUFDMUcsRUFBRSx1QkFBdUIsOEJBQUsscUJBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7QUFDbEYsb0JBQW9CLDZCQUFJLG1CQUFVLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsa0JBQWtCLDZCQUFJO0FBQy9FLE1BQU0sMEJBQWdCO0FBQ3RCLE1BQU07QUFDTixRQUFRLEtBQUssRUFBRSxNQUFNLEdBQUcsRUFBRTtBQUMxQixRQUFRLEdBQUcsVUFBVTtBQUNyQixRQUFRLFFBQVE7QUFDaEIsUUFBUSxPQUFPLGtCQUFrQiw2QkFBSTtBQUNyQyxVQUFVLGtCQUFRO0FBQ2xCLFVBQVU7QUFDVixZQUFZLEdBQUcsSUFBSTtBQUNuQixZQUFZLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVM7QUFDMUMsWUFBWSxPQUFPLEVBQUUsS0FBSztBQUMxQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRLEVBQUUsWUFBWTtBQUNsQyxZQUFZLEdBQUcsRUFBRSxLQUFLLENBQUM7QUFDdkIsVUFBVTtBQUNWLFFBQVE7QUFDUixNQUFNO0FBQ04sSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxFQUFFLG1CQUFtQiw2QkFBSSx3QkFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsR0FBRyxXQUFXLENBQUM7QUFDakksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNOLENBQUM7QUFDRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFDeEIsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQ2hCLEVBQUUsR0FBRztBQUNMLENBQUMsRUFBRSxHQUFHO0FBQ04sRUFBRSx1QkFBdUIsNkJBQUksY0FBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLFNBQVMsRUFBRSxRQUFRLGtCQUFrQiw2QkFBSSxVQUFXLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMxSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksV0FBVyxFQUFFLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRTtBQUMvQyxFQUFFLE1BQU07QUFDUixJQUFJLElBQUk7QUFDUixJQUFJLE9BQU87QUFDWCxJQUFJLEtBQUs7QUFDVCxJQUFJLFFBQVE7QUFDWixJQUFJLGNBQWM7QUFDbEIsSUFBSSxVQUFVO0FBQ2QsSUFBSSxTQUFTLEVBQUUsT0FBTztBQUN0QixJQUFJLFNBQVMsRUFBRSxPQUFPO0FBQ3RCLElBQUksT0FBTztBQUNYLElBQUksR0FBRztBQUNQLEVBQUUsRUFBRSxFQUFFLEtBQUs7QUFDWCxFQUFFLE1BQU07QUFDUixJQUFJLEtBQUs7QUFDVCxJQUFJLFVBQVUsRUFBRSxFQUFFLE1BQU07QUFDeEIsRUFBRSxFQUFFLEVBQUUsMENBQWM7QUFDcEIsSUFBSSxJQUFJO0FBQ1IsSUFBSSxPQUFPO0FBQ1gsSUFBSSxRQUFRLEVBQUUsSUFBSSxDQUFDO0FBQ25CLEVBQUUsQ0FBQyxDQUFDO0FBQ0osRUFBRSxNQUFNLHVCQUF1QixFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDNUYsRUFBRSxNQUFNLGFBQWEsRUFBRSxnQ0FBWTtBQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUc7QUFDZixNQUFNLE1BQU0sbUJBQW1CLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLO0FBQ25ELE1BQU0sTUFBTSxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO0FBQzVDLE1BQU0sTUFBTSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFHLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLEVBQUUsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDO0FBQ2xLLE1BQU0sTUFBTSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxRQUFRO0FBQzlGLE1BQU0sR0FBRyxDQUFDLGlCQUFpQixFQUFFO0FBQzdCLFFBQVEsTUFBTSxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0csUUFBUSxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO0FBQzFDLE1BQU0sRUFBRSxLQUFLO0FBQ2IsUUFBUSxLQUFLLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDO0FBQy9DLE1BQU07QUFDTixJQUFJLENBQUM7QUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCO0FBQ3JELEVBQUUsQ0FBQztBQUNILEVBQUUsdUJBQXVCLDhCQUFLLHFCQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7QUFDekUsSUFBSSxNQUFNLG1CQUFtQiw2QkFBSSxtQkFBVSxFQUFFLEVBQUUsR0FBRyxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM5RyxvQkFBb0IsNkJBQUksbUJBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLG1CQUFtQiw2QkFBSTtBQUNuSCxNQUFNLDBCQUFpQjtBQUN2QixNQUFNO0FBQ04sUUFBUSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUMvQixRQUFRLEdBQUcsVUFBVTtBQUNyQixRQUFRLE9BQU8sa0JBQWtCLDZCQUFJO0FBQ3JDLFVBQVUsa0JBQVM7QUFDbkIsVUFBVTtBQUNWLFlBQVksR0FBRyxJQUFJO0FBQ25CLFlBQVksS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUztBQUMxQyxZQUFZLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDO0FBQ25DLFlBQVksT0FBTyxFQUFFLHNCQUFzQixDQUFDLFFBQVE7QUFDcEQsY0FBYyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUNyQyxZQUFZLENBQUM7QUFDYixZQUFZLFFBQVEsRUFBRTtBQUN0QixVQUFVO0FBQ1YsUUFBUTtBQUNSLE1BQU0sQ0FBQztBQUNQLE1BQU0sQ0FBQyxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0E7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0E7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLG9CQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsY0FBQTtBQUNBLGNBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0Esd0JBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSwwQkFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsY0FBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGNBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSw0QkFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGtCQUFBO0FBQ0Esa0JBQUE7QUFDQSxrQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLDRCQUFBO0FBQ0EsY0FBQTtBQUNBLGNBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJEOlxcUHJvamVjdHNcXEdOV2ViU29mdC5VSVxccGFja2FnZXNcXHVpXFxkaXN0XFxjaHVuay1XNUVNNkhMVy5janMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdfQ==