@cloudbase/weda-ui 2.0.28 → 3.1.0

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 (411) hide show
  1. package/package.json +12 -13
  2. package/src/configs/actions/showModal.json +0 -48
  3. package/src/configs/actions/showToast.json +0 -41
  4. package/src/configs/components/auth.json +0 -16
  5. package/src/configs/components/button.json +0 -239
  6. package/src/configs/components/calendar.json +0 -81
  7. package/src/configs/components/carousel.json +0 -292
  8. package/src/configs/components/chart/bar.json +0 -721
  9. package/src/configs/components/chart/line.json +0 -674
  10. package/src/configs/components/chart/pie.json +0 -494
  11. package/src/configs/components/chart/statisticsCard.json +0 -376
  12. package/src/configs/components/container.json +0 -50
  13. package/src/configs/components/dataView.json +0 -151
  14. package/src/configs/components/drawer.json +0 -115
  15. package/src/configs/components/form/checkbox.json +0 -173
  16. package/src/configs/components/form/form.json +0 -45
  17. package/src/configs/components/form/input.json +0 -154
  18. package/src/configs/components/form/label.json +0 -22
  19. package/src/configs/components/form/location.json +0 -155
  20. package/src/configs/components/form/radio.json +0 -203
  21. package/src/configs/components/form/richText.json +0 -125
  22. package/src/configs/components/form/select.json +0 -411
  23. package/src/configs/components/form/switch.json +0 -58
  24. package/src/configs/components/form/textarea.json +0 -116
  25. package/src/configs/components/form/tips.json +0 -34
  26. package/src/configs/components/form/uploader.json +0 -169
  27. package/src/configs/components/form/uploaderFile.json +0 -158
  28. package/src/configs/components/graphicCard.json +0 -413
  29. package/src/configs/components/image.json +0 -179
  30. package/src/configs/components/link.json +0 -79
  31. package/src/configs/components/listView.json +0 -281
  32. package/src/configs/components/lottery.json +0 -157
  33. package/src/configs/components/modal.json +0 -83
  34. package/src/configs/components/navLayout.json +0 -368
  35. package/src/configs/components/navigationBar.json +0 -62
  36. package/src/configs/components/picker/datePicker.json +0 -33
  37. package/src/configs/components/picker/picker.json +0 -18
  38. package/src/configs/components/picker/timePicker.json +0 -23
  39. package/src/configs/components/richtextview.json +0 -26
  40. package/src/configs/components/scrollVeiw.json +0 -253
  41. package/src/configs/components/slot.json +0 -17
  42. package/src/configs/components/swiper.json +0 -90
  43. package/src/configs/components/tabs.json +0 -121
  44. package/src/configs/components/text.json +0 -95
  45. package/src/configs/components/wedaVideo.json +0 -89
  46. package/src/configs/components/wxOpenApi/phone.json +0 -127
  47. package/src/configs/components/wxOpenApi/phoneCode.json +0 -109
  48. package/src/configs/components/wxOpenApi/share.json +0 -157
  49. package/src/configs/components/wxOpenApi/userInfo.json +0 -156
  50. package/src/configs/index.js +0 -111
  51. package/src/index.js +0 -4
  52. package/src/mp/README.md +0 -1
  53. package/src/mp/actions/showModal/index.js +0 -3
  54. package/src/mp/actions/showToast/index.js +0 -3
  55. package/src/mp/components/button/index.js +0 -91
  56. package/src/mp/components/button/index.json +0 -4
  57. package/src/mp/components/button/index.wxml +0 -22
  58. package/src/mp/components/button/index.wxss +0 -13
  59. package/src/mp/components/calendar/arrowright--line.svg +0 -11
  60. package/src/mp/components/calendar/index.js +0 -268
  61. package/src/mp/components/calendar/index.json +0 -5
  62. package/src/mp/components/calendar/index.wxml +0 -35
  63. package/src/mp/components/calendar/index.wxss +0 -179
  64. package/src/mp/components/carousel/index.js +0 -88
  65. package/src/mp/components/carousel/index.json +0 -7
  66. package/src/mp/components/carousel/index.wxml +0 -6
  67. package/src/mp/components/chart/bar/index.js +0 -257
  68. package/src/mp/components/chart/bar/index.json +0 -6
  69. package/src/mp/components/chart/bar/index.wxml +0 -3
  70. package/src/mp/components/chart/bar/index.wxss +0 -9
  71. package/src/mp/components/chart/common/config/bar.js +0 -50
  72. package/src/mp/components/chart/common/config/global.js +0 -16
  73. package/src/mp/components/chart/common/config/line.js +0 -48
  74. package/src/mp/components/chart/common/config/pie.js +0 -36
  75. package/src/mp/components/chart/common/core/eChartBar.js +0 -258
  76. package/src/mp/components/chart/common/core/eChartBase.js +0 -389
  77. package/src/mp/components/chart/common/core/eChartLine.js +0 -223
  78. package/src/mp/components/chart/common/core/eChartPie.js +0 -169
  79. package/src/mp/components/chart/common/lib/echarts.min.js +0 -18
  80. package/src/mp/components/chart/ec-canvas/ec-canvas.js +0 -277
  81. package/src/mp/components/chart/ec-canvas/ec-canvas.json +0 -4
  82. package/src/mp/components/chart/ec-canvas/ec-canvas.wxml +0 -4
  83. package/src/mp/components/chart/ec-canvas/ec-canvas.wxss +0 -4
  84. package/src/mp/components/chart/ec-canvas/wx-canvas.js +0 -109
  85. package/src/mp/components/chart/line/index.js +0 -247
  86. package/src/mp/components/chart/line/index.json +0 -6
  87. package/src/mp/components/chart/line/index.wxml +0 -3
  88. package/src/mp/components/chart/line/index.wxss +0 -9
  89. package/src/mp/components/chart/pie/index.js +0 -182
  90. package/src/mp/components/chart/pie/index.json +0 -6
  91. package/src/mp/components/chart/pie/index.wxml +0 -3
  92. package/src/mp/components/chart/pie/index.wxss +0 -9
  93. package/src/mp/components/chart/statisticsCard/index.js +0 -253
  94. package/src/mp/components/chart/statisticsCard/index.json +0 -4
  95. package/src/mp/components/chart/statisticsCard/index.wxml +0 -9
  96. package/src/mp/components/chart/statisticsCard/index.wxss +0 -42
  97. package/src/mp/components/container/index.js +0 -20
  98. package/src/mp/components/container/index.json +0 -4
  99. package/src/mp/components/container/index.wxml +0 -3
  100. package/src/mp/components/dataView/index.js +0 -34
  101. package/src/mp/components/dataView/index.json +0 -7
  102. package/src/mp/components/dataView/index.wxml +0 -3
  103. package/src/mp/components/dataView/index.wxss +0 -0
  104. package/src/mp/components/form/checkbox/index.js +0 -124
  105. package/src/mp/components/form/checkbox/index.json +0 -7
  106. package/src/mp/components/form/checkbox/index.wxml +0 -13
  107. package/src/mp/components/form/checkbox/index.wxss +0 -1
  108. package/src/mp/components/form/form/index.js +0 -18
  109. package/src/mp/components/form/form/index.json +0 -4
  110. package/src/mp/components/form/form/index.wxml +0 -5
  111. package/src/mp/components/form/form/index.wxss +0 -1
  112. package/src/mp/components/form/formcell/index.js +0 -54
  113. package/src/mp/components/form/formcell/index.json +0 -4
  114. package/src/mp/components/form/formcell/index.wxml +0 -11
  115. package/src/mp/components/form/formcell/index.wxss +0 -31
  116. package/src/mp/components/form/input/index.js +0 -110
  117. package/src/mp/components/form/input/index.json +0 -7
  118. package/src/mp/components/form/input/index.wxml +0 -24
  119. package/src/mp/components/form/input/index.wxss +0 -22
  120. package/src/mp/components/form/location/components/mapChoose/index.js +0 -201
  121. package/src/mp/components/form/location/components/mapChoose/index.json +0 -4
  122. package/src/mp/components/form/location/components/mapChoose/index.wxml +0 -42
  123. package/src/mp/components/form/location/components/mapChoose/index.wxss +0 -188
  124. package/src/mp/components/form/location/index.js +0 -388
  125. package/src/mp/components/form/location/index.json +0 -6
  126. package/src/mp/components/form/location/index.wxml +0 -21
  127. package/src/mp/components/form/location/index.wxss +0 -89
  128. package/src/mp/components/form/radio/index.js +0 -124
  129. package/src/mp/components/form/radio/index.json +0 -7
  130. package/src/mp/components/form/radio/index.wxml +0 -13
  131. package/src/mp/components/form/radio/index.wxss +0 -1
  132. package/src/mp/components/form/select/index.js +0 -677
  133. package/src/mp/components/form/select/index.json +0 -7
  134. package/src/mp/components/form/select/index.wxml +0 -12
  135. package/src/mp/components/form/select/index.wxss +0 -16
  136. package/src/mp/components/form/select/region/index.js +0 -107
  137. package/src/mp/components/form/switch/index.js +0 -75
  138. package/src/mp/components/form/switch/index.json +0 -7
  139. package/src/mp/components/form/switch/index.wxml +0 -11
  140. package/src/mp/components/form/switch/index.wxss +0 -1
  141. package/src/mp/components/form/textarea/index.js +0 -90
  142. package/src/mp/components/form/textarea/index.json +0 -7
  143. package/src/mp/components/form/textarea/index.wxml +0 -8
  144. package/src/mp/components/form/textarea/index.wxss +0 -10
  145. package/src/mp/components/form/tips/index.js +0 -41
  146. package/src/mp/components/form/tips/index.json +0 -4
  147. package/src/mp/components/form/tips/index.wxml +0 -1
  148. package/src/mp/components/form/tips/index.wxss +0 -1
  149. package/src/mp/components/form/uploader/index.js +0 -158
  150. package/src/mp/components/form/uploader/index.json +0 -10
  151. package/src/mp/components/form/uploader/index.wxml +0 -14
  152. package/src/mp/components/form/uploader/index.wxss +0 -36
  153. package/src/mp/components/form/uploader/weui-uploader.js +0 -219
  154. package/src/mp/components/form/uploader/weui-uploader.json +0 -7
  155. package/src/mp/components/form/uploader/weui-uploader.wxml +0 -45
  156. package/src/mp/components/form/uploader/weui-uploader.wxss +0 -1
  157. package/src/mp/components/form/uploaderFile/index.js +0 -313
  158. package/src/mp/components/form/uploaderFile/index.json +0 -9
  159. package/src/mp/components/form/uploaderFile/index.wxml +0 -45
  160. package/src/mp/components/form/uploaderFile/index.wxss +0 -105
  161. package/src/mp/components/graphicCard/chevron-right.svg +0 -3
  162. package/src/mp/components/graphicCard/index.js +0 -203
  163. package/src/mp/components/graphicCard/index.json +0 -4
  164. package/src/mp/components/graphicCard/index.wxml +0 -25
  165. package/src/mp/components/graphicCard/index.wxss +0 -157
  166. package/src/mp/components/image/index.js +0 -182
  167. package/src/mp/components/image/index.json +0 -7
  168. package/src/mp/components/image/index.wxml +0 -9
  169. package/src/mp/components/image/index.wxss +0 -49
  170. package/src/mp/components/listView/arrow-right-line.svg +0 -3
  171. package/src/mp/components/listView/index.js +0 -274
  172. package/src/mp/components/listView/index.json +0 -4
  173. package/src/mp/components/listView/index.wxml +0 -38
  174. package/src/mp/components/listView/index.wxss +0 -155
  175. package/src/mp/components/listView/more-line.svg +0 -3
  176. package/src/mp/components/lottery/index.js +0 -270
  177. package/src/mp/components/lottery/index.json +0 -4
  178. package/src/mp/components/lottery/index.wxml +0 -41
  179. package/src/mp/components/lottery/index.wxss +0 -323
  180. package/src/mp/components/modal/index.js +0 -39
  181. package/src/mp/components/modal/index.json +0 -4
  182. package/src/mp/components/modal/index.wxml +0 -1
  183. package/src/mp/components/navLayout/index.js +0 -120
  184. package/src/mp/components/navLayout/index.json +0 -7
  185. package/src/mp/components/navLayout/index.wxml +0 -23
  186. package/src/mp/components/navLayout/index.wxss +0 -1193
  187. package/src/mp/components/navigationBar/index.js +0 -204
  188. package/src/mp/components/navigationBar/index.json +0 -5
  189. package/src/mp/components/navigationBar/index.wxml +0 -80
  190. package/src/mp/components/navigationBar/index.wxss +0 -1257
  191. package/src/mp/components/richText/index.js +0 -67
  192. package/src/mp/components/richText/index.json +0 -4
  193. package/src/mp/components/richText/index.wxml +0 -3
  194. package/src/mp/components/richText/index.wxss +0 -27
  195. package/src/mp/components/scrollView/index.js +0 -119
  196. package/src/mp/components/scrollView/index.json +0 -4
  197. package/src/mp/components/scrollView/index.wxml +0 -38
  198. package/src/mp/components/slot/index.js +0 -20
  199. package/src/mp/components/slot/index.json +0 -4
  200. package/src/mp/components/slot/index.wxml +0 -3
  201. package/src/mp/components/swiper/index.js +0 -65
  202. package/src/mp/components/swiper/index.json +0 -4
  203. package/src/mp/components/swiper/index.wxml +0 -3
  204. package/src/mp/components/tabs/index.js +0 -59
  205. package/src/mp/components/tabs/index.json +0 -4
  206. package/src/mp/components/tabs/index.wxml +0 -12
  207. package/src/mp/components/tabs/index.wxss +0 -57
  208. package/src/mp/components/text/index.js +0 -40
  209. package/src/mp/components/text/index.json +0 -4
  210. package/src/mp/components/text/index.wxml +0 -1
  211. package/src/mp/components/text/index.wxss +0 -26
  212. package/src/mp/components/wedaVideo/index.js +0 -86
  213. package/src/mp/components/wedaVideo/index.json +0 -4
  214. package/src/mp/components/wedaVideo/index.wxml +0 -4
  215. package/src/mp/components/wedaVideo/index.wxss +0 -20
  216. package/src/mp/components/wxOpenApi/phone/index.js +0 -109
  217. package/src/mp/components/wxOpenApi/phone/index.json +0 -4
  218. package/src/mp/components/wxOpenApi/phone/index.wxml +0 -4
  219. package/src/mp/components/wxOpenApi/phone/index.wxss +0 -22
  220. package/src/mp/components/wxOpenApi/phoneCode/index.js +0 -89
  221. package/src/mp/components/wxOpenApi/phoneCode/index.json +0 -4
  222. package/src/mp/components/wxOpenApi/phoneCode/index.wxml +0 -4
  223. package/src/mp/components/wxOpenApi/phoneCode/index.wxss +0 -22
  224. package/src/mp/components/wxOpenApi/share/index.js +0 -117
  225. package/src/mp/components/wxOpenApi/share/index.json +0 -4
  226. package/src/mp/components/wxOpenApi/share/index.wxml +0 -4
  227. package/src/mp/components/wxOpenApi/share/index.wxss +0 -22
  228. package/src/mp/components/wxOpenApi/userInfo/index.js +0 -88
  229. package/src/mp/components/wxOpenApi/userInfo/index.json +0 -4
  230. package/src/mp/components/wxOpenApi/userInfo/index.wxml +0 -4
  231. package/src/mp/components/wxOpenApi/userInfo/index.wxss +0 -22
  232. package/src/mp/index.json +0 -52
  233. package/src/mp/package.json +0 -6
  234. package/src/mp/style/weda-ui.wxss +0 -71
  235. package/src/mp/utils/classnames.js +0 -39
  236. package/src/mp/utils/constant.js +0 -20
  237. package/src/mp/utils/dayjs.min.js +0 -1
  238. package/src/mp/utils/debounce.js +0 -133
  239. package/src/mp/utils/deepEqual.js +0 -42
  240. package/src/mp/utils/destr.js +0 -49
  241. package/src/mp/utils/dr_square_point.js +0 -29
  242. package/src/mp/utils/handleEvents.js +0 -32
  243. package/src/mp/utils/lodash.js +0 -2
  244. package/src/mp/utils/platform.js +0 -45
  245. package/src/mp/utils/qqmap-wx-jssdk1.2/qqmap-wx-jssdk.js +0 -1336
  246. package/src/mp/utils/spark-md5.js +0 -776
  247. package/src/mp/utils/tcb.js +0 -90
  248. package/src/setupTests.js +0 -14
  249. package/src/web/actions/index.js +0 -2
  250. package/src/web/actions/showModal/index.tsx +0 -118
  251. package/src/web/actions/showToast/index.js +0 -3
  252. package/src/web/components/auth/index.css +0 -0
  253. package/src/web/components/auth/index.js +0 -66
  254. package/src/web/components/button/index.css +0 -27
  255. package/src/web/components/button/index.tsx +0 -119
  256. package/src/web/components/calendar/index.css +0 -416
  257. package/src/web/components/calendar/index.jsx +0 -312
  258. package/src/web/components/calendar/util.js +0 -90
  259. package/src/web/components/carousel/index.css +0 -119
  260. package/src/web/components/carousel/index.tsx +0 -417
  261. package/src/web/components/chart/bar/index.tsx +0 -140
  262. package/src/web/components/chart/common/config/bar.js +0 -49
  263. package/src/web/components/chart/common/config/global.js +0 -16
  264. package/src/web/components/chart/common/config/line.js +0 -50
  265. package/src/web/components/chart/common/config/pie.js +0 -37
  266. package/src/web/components/chart/common/core/eChartBar.js +0 -259
  267. package/src/web/components/chart/common/core/eChartBase.ts +0 -396
  268. package/src/web/components/chart/common/core/eChartLine.js +0 -225
  269. package/src/web/components/chart/common/core/eChartPie.js +0 -173
  270. package/src/web/components/chart/common/core/type.ts +0 -34
  271. package/src/web/components/chart/common/echart.css +0 -106
  272. package/src/web/components/chart/common/echarts.ts +0 -31
  273. package/src/web/components/chart/common/useChart.tsx +0 -87
  274. package/src/web/components/chart/line/index.tsx +0 -136
  275. package/src/web/components/chart/pie/index.tsx +0 -99
  276. package/src/web/components/chart/statisticsCard/index.css +0 -63
  277. package/src/web/components/chart/statisticsCard/index.tsx +0 -307
  278. package/src/web/components/chart/statisticsCard/interface.ts +0 -14
  279. package/src/web/components/container/index.tsx +0 -34
  280. package/src/web/components/dataView/index.tsx +0 -20
  281. package/src/web/components/dataView/interface.ts +0 -6
  282. package/src/web/components/drawer/index.tsx +0 -68
  283. package/src/web/components/form/checkbox/index.tsx +0 -210
  284. package/src/web/components/form/enumSelect/MultipleSelect.jsx +0 -89
  285. package/src/web/components/form/enumSelect/NormalSelect.tsx +0 -92
  286. package/src/web/components/form/enumSelect/SelectContainer.jsx +0 -43
  287. package/src/web/components/form/enumSelect/index.jsx +0 -9
  288. package/src/web/components/form/enumSelect/props/defaultProps.js +0 -39
  289. package/src/web/components/form/enumSelect/props/propsTypes.js +0 -50
  290. package/src/web/components/form/form/index.css +0 -9
  291. package/src/web/components/form/form/index.tsx +0 -51
  292. package/src/web/components/form/formcell/index.css +0 -85
  293. package/src/web/components/form/formcell/index.tsx +0 -85
  294. package/src/web/components/form/input/index.css +0 -40
  295. package/src/web/components/form/input/index.tsx +0 -166
  296. package/src/web/components/form/location/common/mapChoose.css +0 -180
  297. package/src/web/components/form/location/common/mapChoose.jsx +0 -343
  298. package/src/web/components/form/location/common/mapView.jsx +0 -190
  299. package/src/web/components/form/location/common/propsConfig.js +0 -54
  300. package/src/web/components/form/location/common/selectModal.css +0 -44
  301. package/src/web/components/form/location/common/selectModal.jsx +0 -73
  302. package/src/web/components/form/location/common/useLocationInfo.js +0 -104
  303. package/src/web/components/form/location/components/LocationH5/index.css +0 -239
  304. package/src/web/components/form/location/components/LocationH5/location.h5.jsx +0 -413
  305. package/src/web/components/form/location/components/LocationPC/Header.jsx +0 -96
  306. package/src/web/components/form/location/components/LocationPC/index.css +0 -44
  307. package/src/web/components/form/location/components/LocationPC/location.PC.jsx +0 -332
  308. package/src/web/components/form/location/constants.js +0 -4
  309. package/src/web/components/form/location/index.css +0 -0
  310. package/src/web/components/form/location/index.jsx +0 -25
  311. package/src/web/components/form/radio/index.css +0 -12
  312. package/src/web/components/form/radio/index.tsx +0 -179
  313. package/src/web/components/form/renderDecorator.tsx +0 -28
  314. package/src/web/components/form/select/h5.tsx +0 -602
  315. package/src/web/components/form/select/index.css +0 -27
  316. package/src/web/components/form/select/index.tsx +0 -510
  317. package/src/web/components/form/select/region/index.ts +0 -152
  318. package/src/web/components/form/select/time.jsx +0 -145
  319. package/src/web/components/form/select/year.tsx +0 -172
  320. package/src/web/components/form/switch/index.tsx +0 -100
  321. package/src/web/components/form/textarea/index.css +0 -11
  322. package/src/web/components/form/textarea/index.tsx +0 -127
  323. package/src/web/components/form/tips/index.css +0 -4
  324. package/src/web/components/form/tips/index.tsx +0 -34
  325. package/src/web/components/form/types.d.ts +0 -12
  326. package/src/web/components/form/uploader/index.css +0 -118
  327. package/src/web/components/form/uploader/index.tsx +0 -65
  328. package/src/web/components/form/uploader/uploader.h5.tsx +0 -290
  329. package/src/web/components/form/uploader/uploader.pc.tsx +0 -287
  330. package/src/web/components/form/uploaderFile/fail.svg +0 -12
  331. package/src/web/components/form/uploaderFile/index.css +0 -422
  332. package/src/web/components/form/uploaderFile/index.jsx +0 -25
  333. package/src/web/components/form/uploaderFile/pending.svg +0 -18
  334. package/src/web/components/form/uploaderFile/success.svg +0 -12
  335. package/src/web/components/form/uploaderFile/uploadFile.h5.tsx +0 -606
  336. package/src/web/components/form/uploaderFile/uploadFile.pc.tsx +0 -520
  337. package/src/web/components/graphicCard/index.css +0 -159
  338. package/src/web/components/graphicCard/index.tsx +0 -310
  339. package/src/web/components/image/image.tsx +0 -187
  340. package/src/web/components/image/index.css +0 -54
  341. package/src/web/components/image/index.tsx +0 -121
  342. package/src/web/components/index.js +0 -95
  343. package/src/web/components/link/index.css +0 -8
  344. package/src/web/components/link/index.tsx +0 -119
  345. package/src/web/components/listView/arrow-right-line.svg +0 -3
  346. package/src/web/components/listView/index.css +0 -143
  347. package/src/web/components/listView/index.tsx +0 -346
  348. package/src/web/components/listView/interface.ts +0 -98
  349. package/src/web/components/lottery/index.css +0 -333
  350. package/src/web/components/lottery/index.tsx +0 -567
  351. package/src/web/components/lottery/lotteryUtil.ts +0 -130
  352. package/src/web/components/modal/index.tsx +0 -60
  353. package/src/web/components/navLayout/index.css +0 -332
  354. package/src/web/components/navLayout/index.tsx +0 -247
  355. package/src/web/components/navigationBar/chevron-right--double.svg +0 -3
  356. package/src/web/components/navigationBar/common.tsx +0 -203
  357. package/src/web/components/navigationBar/h5Menu.tsx +0 -179
  358. package/src/web/components/navigationBar/horizontalMenu.tsx +0 -201
  359. package/src/web/components/navigationBar/index.css +0 -762
  360. package/src/web/components/navigationBar/index.tsx +0 -231
  361. package/src/web/components/navigationBar/type.d.ts +0 -118
  362. package/src/web/components/navigationBar/verticalMenu.tsx +0 -81
  363. package/src/web/components/phone/index.css +0 -0
  364. package/src/web/components/phone/index.tsx +0 -22
  365. package/src/web/components/phoneCode/index.css +0 -0
  366. package/src/web/components/phoneCode/index.tsx +0 -22
  367. package/src/web/components/picker/datePicker.tsx +0 -48
  368. package/src/web/components/picker/picker.tsx +0 -59
  369. package/src/web/components/picker/timePicker.tsx +0 -56
  370. package/src/web/components/richText/const.ts +0 -3
  371. package/src/web/components/richText/index.css +0 -93
  372. package/src/web/components/richText/index.jsx +0 -473
  373. package/src/web/components/richTextView/index.css +0 -63
  374. package/src/web/components/richTextView/index.tsx +0 -63
  375. package/src/web/components/scrollView/index.tsx +0 -148
  376. package/src/web/components/share/index.css +0 -0
  377. package/src/web/components/share/index.tsx +0 -38
  378. package/src/web/components/slot/index.tsx +0 -19
  379. package/src/web/components/swiper/index.css +0 -106
  380. package/src/web/components/swiper/index.tsx +0 -291
  381. package/src/web/components/tabs/index.css +0 -64
  382. package/src/web/components/tabs/index.tsx +0 -35
  383. package/src/web/components/tabs/tabs.h5.tsx +0 -84
  384. package/src/web/components/tabs/tabs.pc.tsx +0 -74
  385. package/src/web/components/text/index.css +0 -26
  386. package/src/web/components/text/index.tsx +0 -60
  387. package/src/web/components/uploaderFileView/index.css +0 -11
  388. package/src/web/components/uploaderFileView/index.jsx +0 -84
  389. package/src/web/components/uploaderView/index.css +0 -31
  390. package/src/web/components/uploaderView/index.tsx +0 -92
  391. package/src/web/components/userInfo/index.css +0 -0
  392. package/src/web/components/userInfo/index.tsx +0 -30
  393. package/src/web/components/wedaVideo/index.css +0 -42
  394. package/src/web/components/wedaVideo/index.tsx +0 -208
  395. package/src/web/index.js +0 -4
  396. package/src/web/types.d.ts +0 -21
  397. package/src/web/utils/classnames.js +0 -39
  398. package/src/web/utils/constant.ts +0 -23
  399. package/src/web/utils/debounce.js +0 -98
  400. package/src/web/utils/events.js +0 -2
  401. package/src/web/utils/getLocalCounter.js +0 -5
  402. package/src/web/utils/isObjectEqual.js +0 -15
  403. package/src/web/utils/loading-fallback.tsx +0 -2
  404. package/src/web/utils/lodash.ts +0 -2
  405. package/src/web/utils/platform.js +0 -170
  406. package/src/web/utils/tcb.js +0 -86
  407. package/src/web/utils/tmap.js +0 -4
  408. package/src/web/utils/useSetState.ts +0 -18
  409. package/src/web/utils/useSyncValue.ts +0 -17
  410. package/src/web/utils/weui.js +0 -3
  411. package/src/web/weda-ui.css +0 -90
@@ -1,231 +0,0 @@
1
- import React, { useState, useEffect } from 'react';
2
- import type { CommonPropsType } from '../../types';
3
- import classNames from '../../utils/classnames';
4
- import { ConfigProvider } from 'tea-component';
5
- import { usePlatform, isInIde } from '../../utils/platform';
6
- import { getAppCustomNav } from '../../utils/tcb';
7
- import type { IMenuItem, INavigationStyle } from './type';
8
- import './index.css';
9
- import VerticalMenu from './verticalMenu';
10
- import HorizontalMenu from './horizontalMenu';
11
- import H5Menu from './h5Menu';
12
- import { expandMenu, findMenuItemByPath } from './common';
13
- import destr from 'destr';
14
- /**
15
- * Web端
16
- */
17
- const CLASS_PREFIX = 'weda-menu';
18
-
19
- // 默认导航数据
20
- const defaultNavigationBar: {
21
- navigationStyle: INavigationStyle;
22
- menuData: IMenuItem[];
23
- } = {
24
- menuData: [],
25
- navigationStyle: {
26
- isHorizontal: false,
27
- showMenuIcon: true,
28
- menuFontSize: 16,
29
- menuBackgroundColor: '#fff',
30
- menuColor: '#000',
31
- menuHoverColor: '#f3f3f3',
32
- showTitle: true,
33
- title: '菜单标题',
34
- showLogo: true,
35
- logoPath: '',
36
- logoUrl:
37
- 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg',
38
- titleFontSize: 18,
39
- titleColor: '#000',
40
- logoWidth: 32,
41
- logoHeight: 32,
42
- },
43
- };
44
- // 默认高亮当前路由对应的菜单
45
- const defaultSelectedMenu = (menu: IMenuItem[]) => {
46
- try {
47
- const url = window.location.href;
48
- let selectedKey = url.substring(url.lastIndexOf('/'));
49
- const targetMenu = findMenuItemByPath(menu, selectedKey);
50
- if (targetMenu) {
51
- selectedKey = targetMenu.key;
52
- }
53
- return selectedKey;
54
- } catch (error) {
55
- return '';
56
- }
57
- };
58
- /**
59
- * 导航菜单
60
- */
61
- export default function NavigationBar({
62
- navigationbar,
63
- contentSlot,
64
- className,
65
- style,
66
- callApi = { getAppCustomNav },
67
- }: PropsType) {
68
- const platform = usePlatform();
69
- const [menuData, setMenuData] = useState<IMenuItem[]>([]);
70
- const [mobileMenuData, setMobileMenuData] = useState<IMenuItem[]>([]);
71
- // 是否启用多端
72
- const [isMultiTerminal, setIsMultiTerminal] = useState(false);
73
- const [navigationStyle, setNavigationStyle] = useState<INavigationStyle>(
74
- defaultNavigationBar.navigationStyle
75
- );
76
- // 菜单选中
77
- const [selected, setSelected] = useState<string>('');
78
- // 导航样式
79
- const { isHorizontal = false } = navigationStyle;
80
- const cls = classNames({
81
- [CLASS_PREFIX]: true,
82
- [className]: className,
83
- [`${CLASS_PREFIX}-mobile`]: platform === 'h5',
84
- [`${CLASS_PREFIX}-horizontal`]: isHorizontal,
85
- });
86
- // 导航容器样式
87
- const navigationWrapStyle: React.CSSProperties = {
88
- display: 'flex',
89
- height: '100vh',
90
- flexDirection: isHorizontal || platform === 'h5' ? 'column' : 'row',
91
- position: 'relative',
92
- ...style,
93
- };
94
-
95
- // 更新导航菜单
96
- const updateNavigationData = () => {
97
- callApi
98
- .getAppCustomNav()
99
- .then((res) => {
100
- const { Content } = res;
101
- const navigationData = destr(Content);
102
- if (navigationData?.navigationStyle) {
103
- // 设置默认选中
104
- let selectedKey = '';
105
- if (navigationData?.menuData?.length) {
106
- selectedKey = defaultSelectedMenu(navigationData?.menuData);
107
- }
108
- setSelected(selectedKey);
109
-
110
- // 设置默认展开状态
111
- let menus = navigationData?.menuData || [];
112
- menus = expandMenu(menus, { key: selectedKey }, true);
113
- setMenuData(menus);
114
- setNavigationStyle({
115
- ...defaultNavigationBar.navigationStyle,
116
- ...navigationData?.navigationStyle,
117
- });
118
- // 如果启用多端独立菜单导航,则设置移动端数据
119
- if (navigationData?.isMultiTerminal) {
120
- let mobileMenus = navigationData?.mobileMenuData || [];
121
- mobileMenus = expandMenu(mobileMenus, { key: selectedKey }, true);
122
- setMobileMenuData(mobileMenus);
123
- setIsMultiTerminal(true);
124
- }
125
- }
126
- })
127
- .catch((error) => {
128
- console.log(error);
129
- });
130
- };
131
- /**
132
- * 每次渲染组件通过接口拉取数据
133
- */
134
- useEffect(() => {
135
- updateNavigationData();
136
- }, []);
137
- useEffect(() => {
138
- if (isInIde()) {
139
- // setMenuData(navigationbar?.menuData);
140
- // setNavigationStyle(navigationbar?.navigationStyle);
141
- updateNavigationData();
142
- }
143
- }, [navigationbar]);
144
-
145
- // 初始化css变量
146
- useEffect(() => {
147
- if (navigationStyle.menuHoverColor) {
148
- const body = document.getElementsByTagName('body')[0];
149
- if (body) {
150
- body.style.setProperty(
151
- '--weda-navigation-menu-hover-color',
152
- navigationStyle.menuHoverColor
153
- );
154
- body.style.setProperty(
155
- '--weda-navigation-menu-selected-color',
156
- navigationStyle.menuHoverColor
157
- );
158
- body.style.setProperty(
159
- '--weda-navigation-menu-background-color',
160
- navigationStyle.menuBackgroundColor
161
- );
162
- }
163
- }
164
- }, [navigationStyle.menuHoverColor, navigationStyle.menuBackgroundColor]);
165
-
166
- const renderMenu = () => {
167
- return (
168
- <>
169
- <div
170
- className={cls}
171
- style={navigationWrapStyle}
172
- data-testid="navigationBar"
173
- >
174
- <div
175
- className={`${CLASS_PREFIX}__wrapper`}
176
- style={{
177
- background: navigationStyle?.menuBackgroundColor || '#fff',
178
- }}
179
- >
180
- {platform !== 'h5' && !isHorizontal && (
181
- <VerticalMenu
182
- menuData={menuData}
183
- navigationStyle={navigationStyle}
184
- setMenuData={setMenuData}
185
- selected={selected}
186
- setSelected={setSelected}
187
- />
188
- )}
189
- {platform !== 'h5' && isHorizontal && (
190
- <HorizontalMenu
191
- menuData={menuData}
192
- navigationStyle={navigationStyle}
193
- selected={selected}
194
- setSelected={setSelected}
195
- />
196
- )}
197
- {platform === 'h5' && (
198
- <H5Menu
199
- menuData={isMultiTerminal ? mobileMenuData : menuData}
200
- navigationStyle={navigationStyle}
201
- setMenuData={setMenuData}
202
- className={className}
203
- selected={selected}
204
- setSelected={setSelected}
205
- />
206
- )}
207
- </div>
208
- <div className="menu-solt">{contentSlot}</div>
209
- </div>
210
- </>
211
- );
212
- };
213
-
214
- return (
215
- <ConfigProvider classPrefix="wedatea2td">
216
- {!isInIde() &&
217
- (menuData?.length > 0 || mobileMenuData?.length > 0) &&
218
- renderMenu()}
219
- {isInIde() && renderMenu()}
220
- </ConfigProvider>
221
- );
222
- }
223
-
224
- export interface PropsType extends CommonPropsType {
225
- contentSlot?: string;
226
- navigationbar: {
227
- navigationStyle: INavigationStyle;
228
- menuData: IMenuItem[];
229
- };
230
- callApi: any;
231
- }
@@ -1,118 +0,0 @@
1
- export interface IMenuItem {
2
- /**
3
- * 节点的 id
4
- */
5
- key: string;
6
-
7
- /**
8
- * 菜单标题
9
- */
10
- title?: string | any;
11
-
12
- /**
13
- * 菜单类型
14
- * group 分组
15
- * link 外链菜单
16
- * basemenu 无链接菜单
17
- * route 内链菜单
18
- */
19
- type?: string;
20
-
21
- /**
22
- * 是否外跳
23
- */
24
- linkTargetBlank?: boolean;
25
- /**
26
- * 路由路径
27
- */
28
- path?: string;
29
- /**
30
- * 外部链接
31
- */
32
- linkUrl?: string;
33
- /**
34
- * 图标链接
35
- */
36
- iconUrl?: string;
37
- /**
38
- * 图标path
39
- */
40
- iconPath?: string;
41
- /**
42
- * 子菜单
43
- */
44
- children?: IMenuItem[];
45
-
46
- /**
47
- * 层级
48
- */
49
- level: number;
50
-
51
- /**
52
- * 展开状态
53
- */
54
- opened?: boolean;
55
- }
56
-
57
- export interface INavigationStyle {
58
- /**
59
- * 是否横向菜单
60
- */
61
- isHorizontal: boolean;
62
- /**
63
- * 是否展示菜单图标
64
- */
65
- showMenuIcon: boolean;
66
- /**
67
- * 菜单字号
68
- */
69
- menuFontSize: number;
70
- /**
71
- * 菜单背景色
72
- */
73
- menuBackgroundColor: string;
74
- /**
75
- * 菜单字体颜色
76
- */
77
- menuColor: string;
78
- /**
79
- * 菜单选中颜色
80
- */
81
- menuHoverColor: string;
82
- /**
83
- * 标题
84
- */
85
- showTitle: boolean;
86
- /**
87
- * 名称
88
- */
89
- title: string;
90
- /**
91
- * 是否展示图标
92
- */
93
- showLogo: boolean;
94
- /**
95
- * 图标地址
96
- */
97
- logoUrl: string;
98
- /**
99
- * 图标path
100
- */
101
- logoPath: string;
102
- /**
103
- * 标题字号
104
- */
105
- titleFontSize: number;
106
- /**
107
- * 标题颜色
108
- */
109
- titleColor: string;
110
- /**
111
- * 图标宽度
112
- */
113
- logoWidth: number;
114
- /**
115
- * 图标高度
116
- */
117
- logoHeight: number;
118
- }
@@ -1,81 +0,0 @@
1
- import React from 'react';
2
- import { Menu } from 'tea-component';
3
- import type { IMenuItem, INavigationStyle } from './type';
4
- import {
5
- renderMenuTitle,
6
- renderLogo,
7
- renderTitle,
8
- navigateTo,
9
- expandMenu,
10
- } from './common';
11
- const CLASS_PREFIX = 'weda-menu';
12
-
13
- /**
14
- * pc端纵向导航
15
- */
16
- const VerticalMenu: React.FC<{
17
- menuData: IMenuItem[];
18
- navigationStyle: INavigationStyle;
19
- setMenuData: (menus: IMenuItem[]) => void;
20
- selected: string;
21
- setSelected: (selectedKey: string) => void;
22
- }> = ({ menuData, navigationStyle, setMenuData, selected, setSelected }) => {
23
- // 菜单背景色
24
- const menuStyle: React.CSSProperties = {
25
- background: navigationStyle.menuBackgroundColor || '#fff',
26
- };
27
- // 渲染subMenu
28
- const renderSubMenu = (item: IMenuItem, hasThereNode = false) => {
29
- const { key, children, opened } = item;
30
- return children.length > 0 ? (
31
- <Menu.SubMenu
32
- className={hasThereNode ? `${CLASS_PREFIX}__submenu` : ''}
33
- key={key}
34
- title={renderMenuTitle(navigationStyle, item, true)}
35
- opened={opened}
36
- onOpenedChange={(opened) => {
37
- const menus = expandMenu(menuData, { ...item, opened });
38
- setMenuData(menus);
39
- }}
40
- >
41
- {children?.map((el: any) => renderSubMenu(el, true))}
42
- </Menu.SubMenu>
43
- ) : (
44
- renderMenuItem(item)
45
- );
46
- };
47
- // 渲染MenuItem
48
- const renderMenuItem = (item: IMenuItem) => {
49
- const { key } = item;
50
- return (
51
- <Menu.Item
52
- key={key}
53
- title={renderMenuTitle(navigationStyle, item, true)}
54
- selected={item.key === selected}
55
- onClick={() => {
56
- if (item.key !== selected) {
57
- setSelected(item.key);
58
- navigateTo(item);
59
- }
60
- }}
61
- />
62
- );
63
- };
64
-
65
- return (
66
- <Menu
67
- style={menuStyle}
68
- className={`${CLASS_PREFIX}__menu-content`}
69
- title={renderTitle(navigationStyle) || ' '}
70
- icon={renderLogo(navigationStyle, `${CLASS_PREFIX}__main-icon`)}
71
- >
72
- {menuData?.map((item: any) => {
73
- return item?.children?.length > 0
74
- ? renderSubMenu(item)
75
- : renderMenuItem(item);
76
- })}
77
- </Menu>
78
- );
79
- };
80
-
81
- export default VerticalMenu;
File without changes
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
- import Button from '../../components/button';
3
- import { CommonPropsType } from '../../types';
4
-
5
- const Phone = (props: PropsType) => <Button {...props} />;
6
-
7
- export interface PropsType extends CommonPropsType {
8
- /**
9
- * 按钮标题
10
- */
11
- text?: string;
12
- /**
13
- * 按钮风格
14
- */
15
- type?: 'primary' | 'warn' | 'wechat' | 'default';
16
- /**
17
- * 按钮大小
18
- */
19
- size?: 'default' | 'mini' | 'large';
20
- }
21
-
22
- export default Phone;
File without changes
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
- import Button from '../../components/button';
3
- import { CommonPropsType } from '../../types';
4
-
5
- const PhoneCode = (props: PropsType) => <Button {...props} />;
6
-
7
- export interface PropsType extends CommonPropsType {
8
- /**
9
- * 按钮标题
10
- */
11
- text?: string;
12
- /**
13
- * 按钮风格
14
- */
15
- type?: 'primary' | 'warn' | 'wechat' | 'default';
16
- /**
17
- * 按钮大小
18
- */
19
- size?: 'default' | 'mini' | 'large';
20
- }
21
-
22
- export default PhoneCode;
@@ -1,48 +0,0 @@
1
- import * as React from 'react';
2
- import weui from '../../utils/weui';
3
-
4
- import classNames from '../../utils/classnames';
5
- import type { CommonPropsType } from '../../types';
6
-
7
- export interface PropsType extends CommonPropsType {
8
- start: string;
9
- end: string;
10
- defaultValue: string;
11
- title: string;
12
- children?: React.ReactNode | undefined;
13
- }
14
-
15
- export default function DatePicker(props: PropsType) {
16
- const { start, end, defaultValue, title, children, className } = props;
17
- const click = function () {
18
- let fixedDefaultValue = undefined;
19
- if (defaultValue) {
20
- const defaultDate = new Date(defaultValue);
21
- fixedDefaultValue = [
22
- defaultDate.getFullYear(),
23
- defaultDate.getMonth() + 1,
24
- defaultDate.getDate(),
25
- ];
26
- }
27
-
28
- weui.datePicker({
29
- ...{
30
- start,
31
- end,
32
- title,
33
- },
34
- ...(fixedDefaultValue ? { defaultValue: fixedDefaultValue } : {}),
35
- });
36
- };
37
- const cls = classNames({
38
- 'weda-ui': true,
39
- 'weda-date-picker': true,
40
- [className]: className,
41
- });
42
-
43
- return (
44
- <div className={cls} onClick={click}>
45
- {children}
46
- </div>
47
- );
48
- }
@@ -1,59 +0,0 @@
1
- import * as React from 'react';
2
- import weui from '../../utils/weui';
3
- import classNames from '../../utils/classnames';
4
- import type { CommonPropsType } from '../../types';
5
-
6
- export interface PropsType extends CommonPropsType {
7
- title?: string;
8
- }
9
-
10
- export default function Picker(props: PropsType) {
11
- const { title, children, className } = props;
12
- const click = function () {
13
- weui.picker(
14
- [
15
- {
16
- label: '飞机票',
17
- value: 0,
18
- },
19
- {
20
- label: '火车票',
21
- value: 1,
22
- },
23
- {
24
- label: '的士票',
25
- value: 2,
26
- },
27
- {
28
- label: '公交票 (disabled)',
29
- disabled: true,
30
- value: 3,
31
- },
32
- {
33
- label: '其他',
34
- value: 4,
35
- },
36
- ],
37
- {
38
- onChange() {
39
- // console.log(result);
40
- },
41
- onConfirm() {
42
- // console.log(result);
43
- },
44
- title,
45
- }
46
- );
47
- };
48
- const cls = classNames({
49
- 'weda-ui': true,
50
- 'weda-picker': true,
51
- [className]: className,
52
- });
53
-
54
- return (
55
- <div className={cls} onClick={click}>
56
- {children}
57
- </div>
58
- );
59
- }
@@ -1,56 +0,0 @@
1
- import * as React from 'react';
2
- import weui from '../../utils/weui';
3
-
4
- import classNames from '../../utils/classnames';
5
- import type { CommonPropsType } from '../../types';
6
-
7
- export interface PropsType extends CommonPropsType {
8
- defaultValue?: string;
9
- title?: string;
10
- }
11
- export default function TimePicker(props: PropsType) {
12
- const { title, defaultValue = '', children, className } = props;
13
-
14
- const click = function () {
15
- const hour = [];
16
- const min = [];
17
- const sec = [];
18
- for (let i = 0; i < 60; i++) {
19
- if (i < 24) {
20
- hour.push({ label: i, value: i });
21
- }
22
- min.push({ label: i, value: i });
23
- sec.push({ label: i, value: i });
24
- }
25
-
26
- let fixedDefaultValue;
27
- if (defaultValue) {
28
- fixedDefaultValue = defaultValue.split(':');
29
- } else {
30
- const now = new Date();
31
- fixedDefaultValue = [now.getHours(), now.getMinutes(), now.getSeconds()];
32
- }
33
-
34
- weui.picker(hour, min, sec, {
35
- onChange() {
36
- // console.log(result);
37
- },
38
- onConfirm() {
39
- // console.log(result);
40
- },
41
- title,
42
- defaultValue: fixedDefaultValue,
43
- });
44
- };
45
- const cls = classNames({
46
- 'weda-ui': true,
47
- 'weda-time-picker': true,
48
- [className]: className,
49
- });
50
-
51
- return (
52
- <div className={cls} onClick={click}>
53
- {children}
54
- </div>
55
- );
56
- }
@@ -1,3 +0,0 @@
1
- // 默认加载失败图片
2
- export const defaultBase64 =
3
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU0AAAGxCAYAAADmoOSmAAAgAElEQVR4nO3dT4wc533m8WeGlEyld5fTzg4g26tVm0kAGVCgIRjEzhq7bgLUgT5RBwbyZUVeKOQQ2DrE1GEBiYAPlH2ghJxILMCRAWMFCQhnL9ECEsBmACaWIILjjYE1YItqwdDCQCPTQyAd0xHJyeGtd7qmpqq7qrqq3nqrvh+gweHM9PTb/57+vX/qrSUBBRqNJ/3gy15wkaRnJK2Efm0t8v+8tiVtRv7/s+DrYXDRarczKOC2AEnSkusGwC+j8aQnE4Y2+L4V/LvmrlWpbcoE6w1NA3e42u0MXTYKfiE0EWs0ntgg7Et6UiYo++5aVLqBTGX6afD15mq3s+2wPagpQhOSdrvVfZmu9JqmXes2G8pUoz+TNKCbD4nQbKWgiuzLdK378qNrXRebMpXoDZkgpRptGUKzJUbjySkRkmXYDdHVbmfDcVtQAUKzoYIJGxuUp9y2plU2ZKrQDSaYmonQbJDReLIm6QVRTdaFrULfXO12Nuf8LjxBaHouFJSnxORNnQ1lqlAC1HOEpoeCrvd3RVD6aigToG/QhfcPoemJYMb7lExY0vVujk1Jb8iMgTIT7wFCs+aC9ZMvSDrjtiWowLpM933guB2YgdCsoaCqPCNTVfacNgYuDGWqz3Wqz/ohNGskGKt8RaYbXsSGFvDbtszY5wXGPuuD0KyBoAtuJ3aAOHbiaOC6IW1HaDo0Gk/OaLquEkhjIDPuue64Ha1FaDoQhOUrYrwS+Q1luu3rjtvROoRmhQhLlGAowrNShGYFCEtUYCjCsxKEZomCCZ6rIixRnaGks0wYlYfQLEEQlq+ICR64M5CpPAeO29E4hGaBQussz7htCbBrXazzLBShWZDRePKqzFpLFqWjbrZl1ni+6rohTUBoLohxS3hkKMY7F0Zo5hR0xS+Jo3jgnw1JL9Flz2fZdQN8NBpPvifptghM+OmUpNvB6xgZUWlmEOySflXsZ4nm2JTpsrObfEpUmikFEz23RWCiWdZkqs5XXTfEF1Sac1BdokWoOlOg0pyB6hItQ9WZApVmjGBm/Ko4ogftNZCpOoeO21E7hGbEaDw5JROYLFJH223LBOeG64bUCaEZCM7Lc0kcAglErcus6+R8RSI0JTHZA6TAJFGg9aFJdxxIje66Wj57PhpPLkm6JgITSGNF0rXgfdNaraw0g/HLa2J2HMhrIOm5No5zti40g/HLa2JXImBRQ5ngbNU4Z6u658H45XURmEARepKuB++r1mhNaAY7ujB+CRTLjnO2ZsekVnTPR+PJVbH+Eijb+mq3c9Z1I8rW6NAMJnyuin0vgapsyCxLauwEUWNDMwjM62LBOlC1TUnHmxqcjRzTDDbcIDABN9ZkJoh6rhtShsZVmsGSoutiwgdwbVum4mzUkqRGhSaBCdRO44KzMaFJYAK11ajgbERoEphA7TUmOL0PTQIT8EYjgtPr0CQwAe94H5zehiaBCXjL6+D0MjQJTMB73gand6FJYAKN4WVwehWawREGt0VgAk2xLemoT6cK9uYwytBu6wQm0Bx2azlv3tdeVJpsvgE0njebfPhSaXJ6XaDZ7Gm0a6/2oRlsIMx+mEDznQre77VW69AMttA/47odACpzpu6nzqjtmGZwsqZrrtsBwInnVrudDdeNiFPL0GQtJtB6tV3DWbvQDGbKb4vT7AJtN5RZw1mrGfU6jmleE4EJwORA7YboahWao/HkkqS+63YAqI1+kAu1UZvuORM/AGaozcRQLUKTiR8Ac9RmYsh5aHKIJICUanGoZR3GNC+JwAQw35pMXjjltNJkHBNADk7HN52FJntjAsjJ6R6cLrvnV0VgAshuRQ53RHISmqPx5FWxHhNAfv0gRypXefc8WF50u+rbBdBIR6tehuSi0qz9fnkAvFF5nlQamkE5zfIiAEVZq7qbXln3nG45gBJV1k2vstKkWw6gLJXlSyWhGWxfT7ccQFnWqjpNRundcxaxA6hIJYveq6g0L4nABFC+FVVwbHqplSbHlgNw4PhqtzMo64+XXWk635EEQOuUOilUWmgGa6d6Zf19AEjQK3PtZindcyZ/ADhW2qRQWZXmKyIwAbizIpNDhSu80hyNJ32Z01cAgGuFTwqVUWmWku4AkEPheVRoaAZVZr/IvwkAC+gHuVSYoitNji8HUDeF5lJhoTkaT86IJUYA6qcX5FMhCpsIGo0nn4jQBFBPw9Vu56tF/KFCKk2qTAA1V1i1WUilSZUJwAOFVJsLV5pUmQA8UUi1uXClSZUJwCMLV5sLVZpUmQA8s3C1uWj3/IUFrw8AVVsot3KHJkf/APDUQkcJLVJpfneB6wKAS7nzK9dEULBf5id5b7Sp/uW3/+q6CcA+y8vLOvSFg66bUUdfzbPfZt5Hkp2MYgz//5brJgD7dB57VE9++Yuum1FHr0g6m/VKmbvno/FkRdKprNcDgJo5FeRZJnnGNM+IXdkB+G9FJs8yyROaTAABaIrMeZYpNINp+l7WGwGAmuplXX6UtdJkMTuApsmUa6lDMxgwPZO1NQBQc2eyTAhlqTSZMQfQVKnzLUtoMgEEoKlS51uq0AyOAFrL2xoAqLm1IOfmSltpUmUCaLpUOZc2NBnPBNB0qXJubmiOxpM1sTYTQPP1grybKU2lydpMAG0xN+/ShCZdcwBtMTfvZoYmXXMALTO3iz6v0qRrDqBtZubevNDsF9cOAPBCf9YPE0OTBe0AWmrmQvdZlSYTQADaKjH/ZoXmt0poCAD4IDH/qDQBYL9sleZoPCEwAbRaUg4mVZp0zQG0XWwOJoVmv7x2AIAX+nHf3BeawbbvLDUC0HZrcafBiKs0++W3BQC80I9+Iy40Gc8EAGNfHlJpAkCyfvQbS9FvjMaTnUqa0kCPHMh6GnmgfA93dvTgIW/rvFa7nT05eTD8n9F40q+0NQ1z+N8fct0EYJ/P7z/U3X++57oZ3hqNJ/3Vbmdg/x8tjfqVtgYA6q8f/k80NJ+prh0A4IU9uRgNTdZnAsBee3JxNzSDRZy9qlsDADXXCy9yD1eaVJkAEG83H8Oh2a++HQDghb79IhyaT1bfDgDwwm4+hkOzV307AMALPfsF3XMAmK9vv1iWds88CQBIYHPSVpo9Zy0BAD/0pGlostwIAGZbk6ahuW93YgDAHivSNDTZeBgAZvuWRKUJAJkwpgkA6fSl5FP4AgBiLLNbOwCkMxpP+lSaAJDBsljYDgBp9QhNAEivR/ccADJYFidTA4C0njkoFrZ75e9u3XHdBBTsvx074roJSG+F7jkAZEBoAkAGy+IQSgBIa21ZjGkCQFqMaQJAFoQmAGRAaAJABgddNwDZPPnlrusmAK1GaHrmyS8RmoBLdM8BIANCEwAyIDQBIANCEwAyIDQBIANCEwAyIDQBIANCEwAyIDQBIANCEwAyIDQBIINlSduuGwEAnthelrTpuhUA4IlNuucAkAGhCQAZMKYJAOkNlyX9zHUrAMATn9I9B4AMliUNXTcCADwxPChC0yt/d+uO6yY0xpNf7nLOJWQ1pHsOABksr3Y7A9eNAAAfrHY7AypNAMjAhiaHUgLAbJvSNDRZ4A4As21L09C84bAhAOCDGxKVJgCktS1JB4P/MKbpiSe/zLrCoqz8u8dcNyGTzc+k7d9KN341/d7gl+bflcektf9kvj78mLT2Fan3RXNBYTalaWgO3bUDWbAYuz02P5MGv5L+9/81/86z8Y/7v7fymPRfjyzp6//5oL791AM9sbJTfEPbYyhJS/Z/o/GER3NB/3Hl91w3AZ4bbklvfiitf2C+LtrTjz/U80fv6/m1Bzp8iLd8FqvdzpK0NzSvS+q7alATEJrIa/Mz6Y2BtP5hdbf5/Np9ff/451Sf6QxWu53j0rR7LtFFByo33JIuvFttWFpvbR7UW5sH9fzaff3g5OdUnrMN7RfhI4I+rb4dQHtd+D/SVy+4CcywtzYP6tilQ7r804Pzf7m9dvMxHJqD6tsBtM/mZ9LRH0qvvuu6JVN37y3pf7z7qE5dPaS795bmX6F9BvaLcGiy7Ago2fqH0vG/NsFZRzeHyzp26ZBuDg+4bkrd7ObjbmiudjvbYlwTKM1LfyOd/YlZa1lnd+8t6dTVL+itTbrrgWGQj5L2n42SahMowdmfSK97drDyX157lOA09uRiNDQ5yRpQsLM/cT/ZkxfBKSmSi9HQHFTXDqD5fA5Mi+Dcm4v7psk4Mig/FrcjbP1DE5pN8ePv/E4nn3rguhmVs0cCWXE7tzOuCSxo87NmBaZkKs5fb7duOdK+PIwLzUH57QCaa/u30nP/03Urinf33pL++//6gutmVG0Q/UZcaHo2xwfUy0t/U85mG3Xw898s60eDR1w3o0r78pBKEyjQ4Ff+T/zMc/kfDrapmz6IfiP2no/Gk9uS1spuTdMwEYSjPyz/aJ8zfyq98PXkn7/5QfnBffKpB/rxd35X7o24t7na7RyNfjNpHcFAhCaQyfqH1Rwe2ft9qf+HyT+/kWLD4kW9+4sDujk8oG/2Gj2bPoj7ZtJ5zxnXBDK6UKMNOKrwo+uNH9uMzcHY0FztdjbKbQvQLBv/2NzJnyQ3h8uNHttMysGkSlOSCE4gpTc/cN0CNy7/Q2OrzcT8mxWadNGBFIZb8Sc1a4O3Nhu7hVxi/lFpAgtqa2BKZsH7u79oZHBmrzRXu52hOKQSmOvGL123wK2bnzQuNDeD/Is1q9KUWOgOzNXmSlOS/rZ5leZg1g/nheabxbUDaJ5BBWsi6+7X20tNO6/QzNybGZqr3c6mOAUGkKiu5/qp2s9/M6/+8sYwyL1Eae4pE0JAgk//yXUL6uHvh40Jzbl5l+ae0kUHElBpGnd/25ju+dy8mxuadNGBZHU/s2RVGtI9n9s1l9JVmhJddCAWlWajpMq5tKH5xgINAQAfpMq5VKHJQncADTdzQXtYloEIqk0ATZU637KEJuOaAJoqdb6lDs3Vbmdb0nqe1gBNtfKY6xagAOtBvqWSdLqLJG9KOpPxOkBjrX2l+kMph/80+zaHDhbc/4dDO9XfaHEyrUXPFJqr3c5gNJ4MJfWyXA9AcdY/rN8ZL//4Sw9dNyGv4Wq3M8hyhTwrUpkQAgL9P3Ldgnp4YsXbSjNznuUJzXVJqfv/QJM98xXXLaiHpx/3stLMNU+TOTSDAVNm0gGZMU14G5obWSaArKwTQdYFMSG0z91//p3rJqBi3UelJ1YerfSsjGf+VHrh68k/f/ODasc8v9nzMjAlk2OZ5QrN1W5nOBpPNiSdynP9pvr8/gPXTYAD3+w90FubeeuP7Hq/L/X/MPnnNyqezT/5tfvV3mAxNtIeARS1yNYkTAgBkr79tXZ/WH77KS/vf+78yh2awTT9IO/1gaY4+dQDHfZ7nWJuTz/+0MeZ80HWZUZhi26CxwbFgKTn17ysthb24p952TVfKLcWCs3VbmddbFAM6MU/+9x1Eyp3+NCOnl/zLjSHQW7lVsR2y7lmoIAmeWLFywBZiKdV5sJ5tXBoUm0CxvePt6faPHxoR+e+4V1oLlxlSvnXaUZdkHS1oL8FeOmJlR29+I37uvzTcpcfrX8gDX6Z/PPhVqk3L0n6q+Of+zj5VUivuLAVuaPx5BOxkQda7u69JR27dEh37zXm7Iz7PP34Q13/i3uum5HVcLXb+WoRf6jIU8gxtonWO3xoR3/93L+6bkapPL1/heVTYaHJ2CZgnHzqQWMnhb5//HMfjzMvZCzTKvpkxWcL/nuAl35w0stwmenkUw/0V30vJ7sKzaVCQ5OjhADj8KEd/fg7v/NxsiTW048/9LVbvtDRP3GKrjQlxjYBSWY2feOs/8F5+JDX96PwPCo8NINUXy/67wI+evrxhz4Hju+BuV50lSmVU2lKJt3Z3R2Qv8Fp2+3p2Oy2Sur1lhKawT51bB0HBHwLIN/aG+ONvPtlzlPqClwWvAN73b23pL+89qje/cUB101J9OI37usHJ72c9LEKW8gep+zQ7Eu6XuZtAD66/NOD+tH1R2p15NATK2Zh/jd73m9zd7yMsUyr9GdsNJ5cE6fFAPb59faSfnj9kUpPlZHkxW/c9/V48qiN1W7nuTJvoIrQ7Em6LWml7NsCfHRzeEA/uv6Ibg7LmpdN9vzafX3/+Oc+7r4eZ1vS0bLGMq1K+gaj8eR7ki5VcVuAr24OD+it2wdKrzwPH9rRyaceNCksrZdWu53Xy76RygZURuPJbUlrVd0e4Ku795b07i8O6G//34FCJ4xOPvVA3/7ag6ae02hztds5WsUNVRmaazLddAAZ3Bwe0N8Pl3XzkwO6e0/6+W/md+PtCc/++EsP9V96D5swuTPP0dVuZ7OKG6p06m40nrwq6ZUqbxNoqpvDvVXo4UM7Pq+rXMSF1W7n1apurPL1DnTTARSosm65Vf10HdvHAShO5XlSeWgG4w7shARgUReqGscMc3Y4wmg8uS6p7+r2AXhtsNrtHHdxwy6659ZZsRMSgOy25XCYz1loBqv2Gd8EkNXZso/6mcVlpanVbmdDbFgMIL31IDeccRqagZckVT6YC8A7mzJ54VQt9qUKjha6Ljb1ABBvW2bLN+cFVh0qTbsMifFNAEnO1iEwpZqEprQ7vln6DiUAvPO663HMsFp0z8NYvwkgxNl6zCS1qTRDnpM0dN0IAM4NZfKgVmoXmqvdzrbMA8XCd6C9tiU9F+RBrdQuNCUmhgDUZ+InqpahKe1ODDlfkwWgci/VaeInqnYTQVGj8eSqpDOu2wGgEuur3U6te5m1D02J0wADLVH66XeLUNvuecRZcagl0GTezGN4UWlK0mg8WZE51JJTZQDNsilziGTtZsrjeBOakjQaT3oyZ7TkGHWgGbZlziQ5dN2QtHzpnkva3YPzuFjDCTSB3YRj6LohWXhVaVrsigR4rza7FmXlZWhKBCfgMW8DU/I4NCWCE/CQ14EpeR6aEsEJeMT7wJQaEJoSwQl4oBGBKTUkNCWCE6ixxgSm1KDQlAhOoIYaFZhSw0JTIjiBGmlcYEqeLW5PI3iCjopj1QGXNmWO9Gnc+7BxlabFseqAM14dS55V4ypNK3jCjkuq7WamQANtqMGBKTW40gxjI2OgErXfQLgIja00w4InklNnAOV5qQ2BKbWk0rRG48kpSVfFzDpQlG2Zk6C1ZhisVaEp7S5Juiap57gpgO+GMqfZbdwM+SytC01pd2b9mqS+46YAvhqopuclL1srQ9MajSeXJH3PdTsAz7y+2u20do6g1aEpMc4JZNC68cs4rQ9NaXec86pYCA8k2ZQJzFaNX8ZpxZKjeYIXwnFJ646bAtTRuhp4DHleVJoRdNeBXXTHYxCaMYJTBV8Vs+tor4FMYA4dt6N2CM0ZRuPJq5Jecd0OoGIXVrudV103oq4IzTmYJEKLMNmTAqGZElUnGo7qMiVCMwOqTjQQ1WVGhGYOo/HkezJVJzPs8NW2THX5uuuG+IbQzCmYYb8k6ZTjpgBZbchs5TZ03RAfEZoLGo0nfZkue89tS4C5hjJd8YHjdniN0CxIMFH0XdFlR/1sS3qDiZ5iEJoFCrrsr4hTa6A+1mXGLoeO29EYhGYJgi77K+KIIrgzkAnLgeN2NA6hWSLGO+HAUIxblorQrMBoPDkjU3n23LYEDTaUqSzXHbej8QjNChGeKMFQhGWlCE0HCE8UYCjC0glC06EgPF8QE0ZIbyDpTcLSHUKzBoIJo++Ko4uQbENmreXAdUPajtCskdA6z1NikTzMovQNsc6yVgjNGgrOy35GpvrsOW0MXBhKekPSehvPK153hGbNBV33F8RRRm2wLjNeOXDcDsxAaHoiqD5PyVSf7OfZHJsyVeUGVaUfCE0PBWOfduKo57QxyGOo6cTO0G1TkBWh6blgN/kXRIDW3VAmKN9kl3S/EZoNEgrQvujC18GmpusqCcqGIDQbKujCn5L0LbH+s0obkm7IjFEOHbcFJSA0W2I0ntgA7YsqtEi2mryx2u1sOG4LKkBotlAwE98XIZrHbkhKGjDj3T6EJiTtrgftS3pGJkR7DptTF0OZkPyZTEAOnLYGtUBoIlZQja7JBOmTMiHad9ei0g1kQvLT4OtNqkjEITSRSTDB1JMJ1BWZLr7kR6AOgn9vyBzXvSlpyIQNsiA0Uaigmy+ZYO0FXz+pvd19G7iLssFnDWUqRfv1UJLoVqNISzs7O67bAADeWHbdAADwCaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQwUHXDVjU0tKS6yY01WlJRyTdkTQOvve+u+bAE6dlXifjeb8oSTs7O+W2pgRLPjY6rGWh2VXKF2MBTkh6L/K9P5F0q6Lbz6Mr6VjwdZqAPybpYuh3x5LeUXWPcVJ7boXacCdoky9soNwJLu9Lei3xlz3MH28rzaWlpSMyL7LwC7zMSuhIcLG6Mi/uOzn+zunQdbNc/6PQ7Sq47hVVE2S3KrqdRYy1N+ivSHpxxu93ZT4cTgT/dx1Q0fZI5oPKR/a9csVpK8qws7Pj5UUmMHccX8Iv7kwPe+RyOeX13otc73zO20/jROS2LpZ4W0UKt3me6H2MPp7ntb/azuu80r1ewu0p6rajogVAVscSvj/v8dzHdY7kuXhbae7s7NyqQde8qMorb4Wc2O0pgasua5Xs89mVqeptsFyU9PKCf/t88Hel6Zjfn6dsT9GOaPFAjnvzdSP/92lYITVvQ7MmigqSrF18F+rSRjvuJ83/sIlWOnbM85Zmh+BYpltpb+d8cJ28IXBEewPlmKRnU1zPtw+qcPWaZ+jKC00KzWc1/010ROaFmPfFGDc5UoS6jxVK9XkD23E/aX53d5Ehhddkwu108P/LMiGQ57mKdmdfy/l36i78fDR2pUXb1mmel/SxzJvptPZ3J1CMIzJvoKSxr7BjGX63ai9q74dF3nHAaLinnRyp6oNqKcUlTWXcitBsUqU5zxFJ54Kvz8u8IJ9VMz/xswhPCmR9odvubld7u64nlH5yy0pbfd3S9A0c197wBFB03M2214bRvNsbazpufEX5Q+x06OssS5rmdW/tYx/+fVdd4ugHQ6rX0tLS0jFJ3Z2dHW9Ctk2hGR7fuiUzCF+HMRfXoZ12UmDW70SX6uR5XNMGyVj5q5joddPc5qKTbdEezWmlm9mXsg8FPav6hGbWBZjOZ3XTaktontC0ypTMJ/THKa43lvQHKrebVJexwkWU/UYNL1qP3m4VIRGt6LLc9rn5v1Ibdgw3XImnvZ+n5/9KM7QhNLvK3lW0XlMzQs21pCoibTVyTPkm4LJWO1lu42XNr0KjC9Xrrqu9PbKx0i2uP6bF1n16pQ2heVF7x+xmde1Oa1rR3FE16yDDs8FpfjcszfWOafb9GGu6/CY8VBBe2iPtnwi4qHpO3tRJdMnTH2h+1RYO+lkrQuKq70WHeqJtuxLzvTjhavqW4oM2uvLEfpAm9SJqq+mheVF7n9AjSh7Qj4bErMPvipS3ilKG680KzbSHR0bfvFVX4HHhEf6e/UDJ2q7wc54UEnmqxWiVmTaA0lpkbDdJtH1p/n5X+ye6UtvZ2SnjfpTL9SFJCx5KOeuQxvOhn23JjGHuaHr8dtix4HfmHf4VPUws98Ne8SWP8H3divl5+JDO6OOV9nEq8pDQc5oekpplfK2Iw2Kjupq+3uwlbfe1jPZEzXp+wt/vprjOOaW7n7HXd50heS5NXad5WXsriD/XtHK0lZ19QdgxT/v/K6r28MS6CneZXM/wp2FD95zM85k2hMP3rah1u+EhIckMf6SpMovubi8qTdUefpzfUbr76fp+LaSJoRn9pHtR07HMcHB+JPMG+0jTF+s7qq5bbr2sdIuL81583SUni3Pa+7w/q/QffLMWr5+WeX2cj/nZLC/KjF++LPO6S7uYPRradZ+EjD7udVu0X4omjmnekXnRviPTJQg/kfbryzJP9uXIz6oIzKoHvcv6VHdxNFV4DDe8FCY6ERE3ax2ecAgfez7rDWy3H7Tj3XdkwjANO5HY5F5LdO3zkeB7cffZq8meWZoYmlbSTPn7Mk9w9Em8o2o2+fXl0M1wO+OCN/z4Vbkx8jw25NK6pekYaLSajP6dNDsdhdc5hqXdFNlKO2kUt81b3r1es4hWmcc0LULmfVDU4aCS3JocmlH2UzBpsfHF4PKOzAvc5Q7edZAlFH1+E8zqnocfA/uamOecipnAOaLFJhvLPjoo3Gt7R3vXasYVH9HDPb3V9NC0m0HEddfs+OVpmbC0T+rp4GJ3tXlfbo/pxVR4regt7V1SNm+Xq/BRPeE39J3I71jRCq7J3ey8rsg8plckva3p43VM+58LFz2TUjQtNO3JwE4oeXdqe84S+6RekQnQc9q7Uay0d5OPd1TM1v1xbVqkMukGfzPtzGVa4TbVZbYz/EYMHxprn8+uzJv3Tuhiq8Ok+xBd62mrpPCypVvybS3h4tK+luyHyfuavmbmhabXBUjTQvN9mfVxceOGNvTe13Q8xj55djebK8HPouM1Y5mqtIjB7GjbijqNRJG7ZEeDvW6VgQ1Hae+RW2PtDfs025lJe8e4T2g6iWhleWzfUXJVOqvHclrT+2TNO1Qz6cM2/NrOYpEudPj3T2hvu6ObMPv9AeR6oWgJi9vDi23jloucj/w86XDAczIv4vD5cYpY3H4x8jdcLmBPMu9+Hpnz8zIXt9tTUdjrRZ+7PI9J+DmxKyuSFnmX5bL2P6dpNpXJI+n5CX8/erTZvOe0q+THLPqe3OU6Q/JcmlZpStPDJONmD6OHfNmZ1vOantnxndDXdsymSD4svZjXlXK1OYMdQrG3/7JmDx3YD9JwpdPV/iG/ITYAAAWvSURBVFnw8N84ob33eZF9NNMKDwPZ2zwX+r6LMzpmvc/2PWdfO6c1bXfeqr2eXKd2CZVmGnZ5RPjQyTR/p4hKM3ybi5w6o8xK01bYO9rfZZTmPw5lVJpdxT9feS5xS3TCP9+a8btlCD/etrrcCv2/6A/upOcn3AvLc2hsuGK3FWW0at9TNLjOkDyXJh4RlMYtmTHKL8ocYmk//ebtgrSo6NhOXQfE6zgJFN6NKY/3Q5e4I2/CFVD4kNqynyO7WsOy1Zltj10qV6Qj2vt4WLNmuO/IPP72EvdhEn4M7cqVcNvznmOpXlyndkWVph0Hs+cGimOP/phl0UozurnBIm+GsipNu7P4rMd13mYeZY1pHpGpvN7T9Phye7HLyvI+JtHnpooqM1o9b2ka2NEKrYrNjMObjOQdRgr/jfDYc+xz7DpDcuWO6wZUFJrntf8N8bbMCzFL12fR0Ax3wxZ5YUr7709RwhMScYEozZ4wiP68yNBMY5HHJHzdMs46Ghad0Ip7DKKTQ2Xujh7+sAw/7xdj2jVL3IdP9ANhl+sMITTjdbV3G7O4y9tK94JcJDSj42aLzoyWEZrRyiduPFPa+yHkQ2jaNZ3nZdobd1txs9dxx68XIS4w4x7HaLVZZsUZfo/YXb/C3wtvbDNPdFu8xMB3nSGE5nz2SJ+kCYWPtX+Be9gioRmtdhddn1lGaEbbmPQGzRqaaS55Q9PufG/Hz9LcVvS1klQdRe/brMNws7Q3GphbSh4KiLtP4SPYihB9vuyHTPR9sqV09z/aoyI063KJeaKzsIuJ46rOJHlDM27md9GlR0WHZtz4WpLwLGlVofl2cFvvafFZ9LBoYEbX0YZD4nLod/KE1omEts97LcS9TreUfcu6ONENk8M7f9kzlUZvO+mcW/agg9TPsesMITTzsbOTW0oYdwnJG5rRF1IR42VFh2a0ezorxD6a83tlhGZc93nexU4W2U00ouEUF5jS3uDcCl0vze7+cbpKPqghTeUWV52GL/YgjhPKHubh12ZSxZs0JxC+LbtHbTTYo9d7T6H3qusMITQXk+YET3lCM67rV8QuOEWGZnTGfNaHR5oVAGWMaUbbuCNTIb0dXNeeFC/tYxINgvAHWbT62tL+QEhT4dmzO8aFx5ayT+ykPZpsK7g/817PWT4oo897+LQxcffR/jzpw273aD3XOdLm0HRxmSd67iH7CV2EokIzro3RN89FmTdh3AD/vCVJRYWmnZiYV1Glud3oGznNeaOivz/LvLHzLJMqUScU/zxEL7Mq2LjJ0TSvSxuc9vGyp46J3nb4dDLh6yVdPpJ02nWeND40tX822sVlVlfIrikM//6sAf+sigjNuGDIMkaZNO4ZreKSlP1hEnVE+yvGuMC0kt7sSQGfphIsahInqYJNeg6t0zHXm/UYRJ3T9EMh7raTxjuPKTnsP5bUdZ0paS8+H3sedxKqKnZdD99u3BZYlt1957Sm1dhrqtdRQHaHb9s+u5tTlN1TNO78S0W2ZVGzqrfoCfUkc9+fVfLrxh6dEw66sZKPBX85+L24Ks+eYqOoI87srlyntX9CKKl9tm1ZHoMweyx83ONsj9hKum17PnR7MELYazvmVL5+cJ3aC1Saccskypb3Nk8o+RM4ryIqTctWhrNCJ9wNe1vzDyZ4L3RJEt4guoiNTKLPTzSIw7PBWaorG7hpl9xEDxCo4mie8H4K89jnO8tjYMWtAHhP2XpQJzR9HrZcZ0nm7HHdgAVC076Q7aWK3YPsTLu9uNrtR9ofmot+aMx7/OyxxHWW9jUxay1uEexsd9m3s4hFnks7rPOxFvtAOCHpvOssyXpZCgLIW0tLS66bALTRMRWw+Ybv+QMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0078BQG4CXJrjMvwAAAAASUVORK5CYII=';