@salutejs/plasma-new-hope 0.170.0-dev.0 → 0.171.0-canary.1459.11401631263.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (416) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +35 -19
  2. package/cjs/components/Autocomplete/Autocomplete.js +4 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.css +39 -18
  5. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  6. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  7. package/cjs/components/DatePicker/RangeDate/RangeDate.css +34 -18
  8. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  9. package/cjs/components/DatePicker/SingleDate/SingleDate.css +36 -20
  10. package/cjs/components/Range/Range.css +40 -19
  11. package/cjs/components/Slider/Slider.css +40 -19
  12. package/cjs/components/Slider/Slider.js +2 -0
  13. package/cjs/components/Slider/Slider.js.map +1 -1
  14. package/cjs/components/Slider/components/Double/Double.css +40 -19
  15. package/cjs/components/TextArea/TextArea.js +111 -19
  16. package/cjs/components/TextArea/TextArea.js.map +1 -1
  17. package/cjs/components/TextArea/TextArea.styles.js +166 -63
  18. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  19. package/cjs/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  20. package/cjs/components/TextArea/TextArea.tokens.js +45 -5
  21. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  22. package/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  23. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  24. package/cjs/components/TextArea/ui/Hint/Hint.css +30 -0
  25. package/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  26. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -0
  27. package/cjs/components/TextArea/variations/_clear/base.js +1 -1
  28. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  29. package/cjs/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  30. package/cjs/components/TextArea/variations/_hint-size/base.js +9 -0
  31. package/cjs/components/TextArea/variations/_hint-size/base.js.map +1 -0
  32. package/cjs/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  33. package/cjs/components/TextArea/variations/_hint-view/base.js +9 -0
  34. package/cjs/components/TextArea/variations/_hint-view/base.js.map +1 -0
  35. package/cjs/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  36. package/cjs/components/TextArea/variations/_view/base.js +1 -1
  37. package/cjs/components/TextArea/variations/_view/base.js.map +1 -1
  38. package/cjs/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  39. package/cjs/components/TextField/TextField.js +100 -10
  40. package/cjs/components/TextField/TextField.js.map +1 -1
  41. package/cjs/components/TextField/TextField.styles.js +82 -23
  42. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  43. package/cjs/components/TextField/TextField.styles_grgg7q.css +22 -0
  44. package/cjs/components/TextField/TextField.tokens.js +42 -2
  45. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  46. package/cjs/components/TextField/ui/Hint/Hint.css +34 -0
  47. package/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  48. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -0
  49. package/cjs/components/TextField/variations/_clear/base.js +1 -1
  50. package/cjs/components/TextField/variations/_clear/base.js.map +1 -1
  51. package/cjs/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  52. package/cjs/components/TextField/variations/_disabled/base.js +1 -1
  53. package/cjs/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  54. package/cjs/components/TextField/variations/_hint-size/base.js +9 -0
  55. package/cjs/components/TextField/variations/_hint-size/base.js.map +1 -0
  56. package/cjs/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  57. package/cjs/components/TextField/variations/_hint-view/base.js +9 -0
  58. package/cjs/components/TextField/variations/_hint-view/base.js.map +1 -0
  59. package/cjs/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  60. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  61. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  62. package/cjs/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  63. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  64. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  65. package/cjs/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  66. package/cjs/components/TextField/variations/_size/base.js +1 -1
  67. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  68. package/cjs/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  69. package/cjs/components/TextField/variations/_view/base.js +1 -1
  70. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  71. package/cjs/components/TextField/variations/_view/base_qhyte8.css +1 -0
  72. package/cjs/components/TextFieldGroup/TextFieldGroup.css +1 -1
  73. package/cjs/components/TextFieldGroup/variations/_shape/base.js +1 -1
  74. package/cjs/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  75. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +23 -0
  76. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  77. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +23 -0
  78. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  79. package/cjs/index.css +56 -34
  80. package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -2
  81. package/emotion/cjs/components/TextArea/TextArea.js +115 -23
  82. package/emotion/cjs/components/TextArea/TextArea.styles.js +103 -41
  83. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  84. package/emotion/cjs/components/TextArea/TextArea.tokens.js +45 -5
  85. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  86. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  87. package/emotion/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  88. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  89. package/emotion/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  90. package/emotion/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  91. package/emotion/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  92. package/emotion/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  93. package/emotion/cjs/components/TextArea/variations/_view/base.js +2 -1
  94. package/emotion/cjs/components/TextField/TextField.js +103 -13
  95. package/emotion/cjs/components/TextField/TextField.styles.js +88 -37
  96. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  97. package/emotion/cjs/components/TextField/TextField.tokens.js +42 -2
  98. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  99. package/emotion/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  100. package/emotion/cjs/components/TextField/variations/_clear/base.js +1 -1
  101. package/emotion/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  102. package/emotion/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  103. package/emotion/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  104. package/emotion/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  105. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  106. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  107. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  108. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  109. package/emotion/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  110. package/emotion/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  111. package/emotion/cjs/components/_Icon/index.js +8 -1
  112. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  113. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  114. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  115. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  116. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  117. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  118. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  119. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  120. package/emotion/es/components/Autocomplete/Autocomplete.js +4 -2
  121. package/emotion/es/components/TextArea/TextArea.js +115 -23
  122. package/emotion/es/components/TextArea/TextArea.styles.js +102 -40
  123. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  124. package/emotion/es/components/TextArea/TextArea.tokens.js +45 -5
  125. package/emotion/es/components/TextArea/hooks/useAutoResize.js +2 -4
  126. package/emotion/es/components/TextArea/ui/Hint/Hint.js +44 -0
  127. package/emotion/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  128. package/emotion/es/components/TextArea/variations/_clear/base.js +2 -2
  129. package/emotion/es/components/TextArea/variations/_hint-size/base.js +5 -0
  130. package/emotion/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  131. package/emotion/es/components/TextArea/variations/_hint-view/base.js +5 -0
  132. package/emotion/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  133. package/emotion/es/components/TextArea/variations/_view/base.js +2 -1
  134. package/emotion/es/components/TextField/TextField.js +102 -12
  135. package/emotion/es/components/TextField/TextField.styles.js +87 -36
  136. package/emotion/es/components/TextField/TextField.template-doc.mdx +6 -1
  137. package/emotion/es/components/TextField/TextField.tokens.js +42 -2
  138. package/emotion/es/components/TextField/ui/Hint/Hint.js +44 -0
  139. package/emotion/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  140. package/emotion/es/components/TextField/variations/_clear/base.js +2 -2
  141. package/emotion/es/components/TextField/variations/_hint-size/base.js +5 -0
  142. package/emotion/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  143. package/emotion/es/components/TextField/variations/_hint-view/base.js +5 -0
  144. package/emotion/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  145. package/emotion/es/components/TextField/variations/_label-placement/base.js +1 -1
  146. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  147. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  148. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  149. package/emotion/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  150. package/emotion/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  151. package/emotion/es/components/_Icon/index.js +2 -1
  152. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  153. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  154. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  155. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  156. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  157. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  158. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  159. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  160. package/es/components/Autocomplete/Autocomplete.css +35 -19
  161. package/es/components/Autocomplete/Autocomplete.js +4 -2
  162. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  163. package/es/components/Combobox/ComboboxNew/Combobox.css +39 -18
  164. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  165. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  166. package/es/components/DatePicker/RangeDate/RangeDate.css +34 -18
  167. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  168. package/es/components/DatePicker/SingleDate/SingleDate.css +36 -20
  169. package/es/components/Range/Range.css +40 -19
  170. package/es/components/Slider/Slider.css +40 -19
  171. package/es/components/Slider/Slider.js +2 -0
  172. package/es/components/Slider/Slider.js.map +1 -1
  173. package/es/components/Slider/components/Double/Double.css +40 -19
  174. package/es/components/TextArea/TextArea.js +115 -23
  175. package/es/components/TextArea/TextArea.js.map +1 -1
  176. package/es/components/TextArea/TextArea.styles.js +160 -64
  177. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  178. package/es/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  179. package/es/components/TextArea/TextArea.tokens.js +45 -5
  180. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  181. package/es/components/TextArea/hooks/useAutoResize.js +2 -4
  182. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  183. package/es/components/TextArea/ui/Hint/Hint.css +30 -0
  184. package/es/components/TextArea/ui/Hint/Hint.js +49 -0
  185. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -0
  186. package/es/components/TextArea/variations/_clear/base.js +1 -1
  187. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  188. package/es/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  189. package/es/components/TextArea/variations/_hint-size/base.js +5 -0
  190. package/es/components/TextArea/variations/_hint-size/base.js.map +1 -0
  191. package/es/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  192. package/es/components/TextArea/variations/_hint-view/base.js +5 -0
  193. package/es/components/TextArea/variations/_hint-view/base.js.map +1 -0
  194. package/es/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  195. package/es/components/TextArea/variations/_view/base.js +1 -1
  196. package/es/components/TextArea/variations/_view/base.js.map +1 -1
  197. package/es/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  198. package/es/components/TextField/TextField.js +101 -11
  199. package/es/components/TextField/TextField.js.map +1 -1
  200. package/es/components/TextField/TextField.styles.js +76 -24
  201. package/es/components/TextField/TextField.styles.js.map +1 -1
  202. package/es/components/TextField/TextField.styles_grgg7q.css +22 -0
  203. package/es/components/TextField/TextField.tokens.js +42 -2
  204. package/es/components/TextField/TextField.tokens.js.map +1 -1
  205. package/es/components/TextField/ui/Hint/Hint.css +34 -0
  206. package/es/components/TextField/ui/Hint/Hint.js +49 -0
  207. package/es/components/TextField/ui/Hint/Hint.js.map +1 -0
  208. package/es/components/TextField/variations/_clear/base.js +1 -1
  209. package/es/components/TextField/variations/_clear/base.js.map +1 -1
  210. package/es/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  211. package/es/components/TextField/variations/_disabled/base.js +1 -1
  212. package/es/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  213. package/es/components/TextField/variations/_hint-size/base.js +5 -0
  214. package/es/components/TextField/variations/_hint-size/base.js.map +1 -0
  215. package/es/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  216. package/es/components/TextField/variations/_hint-view/base.js +5 -0
  217. package/es/components/TextField/variations/_hint-view/base.js.map +1 -0
  218. package/es/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  219. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  220. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  221. package/es/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  222. package/es/components/TextField/variations/_read-only/base.js +1 -1
  223. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  224. package/es/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  225. package/es/components/TextField/variations/_size/base.js +1 -1
  226. package/es/components/TextField/variations/_size/base.js.map +1 -1
  227. package/es/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  228. package/es/components/TextField/variations/_view/base.js +1 -1
  229. package/es/components/TextField/variations/_view/base.js.map +1 -1
  230. package/es/components/TextField/variations/_view/base_qhyte8.css +1 -0
  231. package/es/components/TextFieldGroup/TextFieldGroup.css +1 -1
  232. package/es/components/TextFieldGroup/variations/_shape/base.js +1 -1
  233. package/es/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  234. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js +19 -0
  235. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  236. package/es/components/_Icon/Icons/IconInfoCircleOutline.js +19 -0
  237. package/es/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  238. package/es/index.css +56 -34
  239. package/package.json +2 -2
  240. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -2
  241. package/styled-components/cjs/components/TextArea/TextArea.js +114 -22
  242. package/styled-components/cjs/components/TextArea/TextArea.styles.js +88 -42
  243. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  244. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +45 -5
  245. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  246. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  247. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  248. package/styled-components/cjs/components/TextArea/variations/_clear/base.js +1 -1
  249. package/styled-components/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  250. package/styled-components/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  251. package/styled-components/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  252. package/styled-components/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  253. package/styled-components/cjs/components/TextArea/variations/_view/base.js +2 -1
  254. package/styled-components/cjs/components/TextField/TextField.js +102 -12
  255. package/styled-components/cjs/components/TextField/TextField.styles.js +49 -21
  256. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  257. package/styled-components/cjs/components/TextField/TextField.tokens.js +42 -2
  258. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  259. package/styled-components/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  260. package/styled-components/cjs/components/TextField/variations/_clear/base.js +1 -1
  261. package/styled-components/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  262. package/styled-components/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  263. package/styled-components/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  264. package/styled-components/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  265. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  266. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  267. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  268. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  269. package/styled-components/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  270. package/styled-components/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  271. package/styled-components/cjs/components/_Icon/index.js +8 -1
  272. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  273. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  274. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  275. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  276. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  277. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  278. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  279. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  280. package/styled-components/es/components/Autocomplete/Autocomplete.js +4 -2
  281. package/styled-components/es/components/TextArea/TextArea.js +114 -22
  282. package/styled-components/es/components/TextArea/TextArea.styles.js +87 -41
  283. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  284. package/styled-components/es/components/TextArea/TextArea.tokens.js +45 -5
  285. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +2 -4
  286. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +44 -0
  287. package/styled-components/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  288. package/styled-components/es/components/TextArea/variations/_clear/base.js +2 -2
  289. package/styled-components/es/components/TextArea/variations/_hint-size/base.js +5 -0
  290. package/styled-components/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  291. package/styled-components/es/components/TextArea/variations/_hint-view/base.js +5 -0
  292. package/styled-components/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  293. package/styled-components/es/components/TextArea/variations/_view/base.js +2 -1
  294. package/styled-components/es/components/TextField/TextField.js +101 -11
  295. package/styled-components/es/components/TextField/TextField.styles.js +48 -20
  296. package/styled-components/es/components/TextField/TextField.template-doc.mdx +6 -1
  297. package/styled-components/es/components/TextField/TextField.tokens.js +42 -2
  298. package/styled-components/es/components/TextField/ui/Hint/Hint.js +44 -0
  299. package/styled-components/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  300. package/styled-components/es/components/TextField/variations/_clear/base.js +2 -2
  301. package/styled-components/es/components/TextField/variations/_hint-size/base.js +5 -0
  302. package/styled-components/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  303. package/styled-components/es/components/TextField/variations/_hint-view/base.js +5 -0
  304. package/styled-components/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  305. package/styled-components/es/components/TextField/variations/_label-placement/base.js +1 -1
  306. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  307. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  308. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  309. package/styled-components/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  310. package/styled-components/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  311. package/styled-components/es/components/_Icon/index.js +2 -1
  312. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  313. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  314. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  315. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  316. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  317. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  318. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  319. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  320. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  321. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +408 -0
  322. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  323. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +408 -0
  324. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  325. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +408 -0
  326. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  327. package/types/components/Range/Range.styles.d.ts +408 -0
  328. package/types/components/Range/Range.styles.d.ts.map +1 -1
  329. package/types/components/Slider/components/Double/Double.styles.d.ts +408 -0
  330. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  331. package/types/components/TextArea/TextArea.d.ts +9 -3
  332. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  333. package/types/components/TextArea/TextArea.styles.d.ts +12 -1
  334. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  335. package/types/components/TextArea/TextArea.tokens.d.ts +40 -0
  336. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  337. package/types/components/TextArea/TextArea.types.d.ts +78 -3
  338. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  339. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
  340. package/types/components/TextArea/ui/Hint/Hint.d.ts +4 -0
  341. package/types/components/TextArea/ui/Hint/Hint.d.ts.map +1 -0
  342. package/types/components/TextArea/ui/Hint/Hint.types.d.ts +17 -0
  343. package/types/components/TextArea/ui/Hint/Hint.types.d.ts.map +1 -0
  344. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  345. package/types/components/TextArea/variations/_hint-size/base.d.ts +2 -0
  346. package/types/components/TextArea/variations/_hint-size/base.d.ts.map +1 -0
  347. package/types/components/TextArea/variations/_hint-view/base.d.ts +2 -0
  348. package/types/components/TextArea/variations/_hint-view/base.d.ts.map +1 -0
  349. package/types/components/TextArea/variations/_view/base.d.ts.map +1 -1
  350. package/types/components/TextField/TextField.d.ts +9 -3
  351. package/types/components/TextField/TextField.d.ts.map +1 -1
  352. package/types/components/TextField/TextField.styles.d.ts +9 -0
  353. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  354. package/types/components/TextField/TextField.tokens.d.ts +40 -0
  355. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  356. package/types/components/TextField/TextField.types.d.ts +73 -2
  357. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  358. package/types/components/TextField/ui/Hint/Hint.d.ts +4 -0
  359. package/types/components/TextField/ui/Hint/Hint.d.ts.map +1 -0
  360. package/types/components/TextField/ui/Hint/Hint.types.d.ts +17 -0
  361. package/types/components/TextField/ui/Hint/Hint.types.d.ts.map +1 -0
  362. package/types/components/TextField/variations/_clear/base.d.ts.map +1 -1
  363. package/types/components/TextField/variations/_hint-size/base.d.ts +2 -0
  364. package/types/components/TextField/variations/_hint-size/base.d.ts.map +1 -0
  365. package/types/components/TextField/variations/_hint-view/base.d.ts +2 -0
  366. package/types/components/TextField/variations/_hint-view/base.d.ts.map +1 -0
  367. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  368. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  369. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  370. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  371. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts +4 -0
  372. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts.map +1 -0
  373. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts +4 -0
  374. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts.map +1 -0
  375. package/types/components/_Icon/index.d.ts +1 -0
  376. package/types/components/_Icon/index.d.ts.map +1 -1
  377. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +740 -12
  378. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  379. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +7 -0
  380. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  381. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +455 -0
  382. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  383. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts +7 -0
  384. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  385. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +415 -0
  386. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  387. package/types/examples/plasma_web/components/Mask/Mask.d.ts +740 -12
  388. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  389. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts +7 -0
  390. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  391. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +455 -0
  392. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  393. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts +7 -0
  394. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  395. package/types/examples/plasma_web/components/TextField/TextField.d.ts +415 -0
  396. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  397. package/cjs/components/TextArea/TextArea.styles_es0miz.css +0 -11
  398. package/cjs/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  399. package/cjs/components/TextArea/variations/_view/base_td55th.css +0 -1
  400. package/cjs/components/TextField/TextField.styles_1d2ryq.css +0 -15
  401. package/cjs/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  402. package/cjs/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  403. package/cjs/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  404. package/cjs/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  405. package/cjs/components/TextField/variations/_view/base_1noe46b.css +0 -1
  406. package/cjs/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  407. package/es/components/TextArea/TextArea.styles_es0miz.css +0 -11
  408. package/es/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  409. package/es/components/TextArea/variations/_view/base_td55th.css +0 -1
  410. package/es/components/TextField/TextField.styles_1d2ryq.css +0 -15
  411. package/es/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  412. package/es/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  413. package/es/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  414. package/es/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  415. package/es/components/TextField/variations/_view/base_1noe46b.css +0 -1
  416. package/es/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
@@ -9,17 +9,21 @@ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react")
9
9
  var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
10
  var _react2 = /*#__PURE__*/require("@emotion/react");
11
11
  var _utils = /*#__PURE__*/require("../../utils");
12
+ var _hooks = /*#__PURE__*/require("../../hooks");
12
13
  var _base = /*#__PURE__*/require("./variations/_size/base");
13
14
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
14
15
  var _base3 = /*#__PURE__*/require("./variations/_clear/base");
15
16
  var _base4 = /*#__PURE__*/require("./variations/_disabled/base");
16
17
  var _base5 = /*#__PURE__*/require("./variations/_read-only/base");
17
18
  var _base6 = /*#__PURE__*/require("./variations/_label-placement/base");
19
+ var _base7 = /*#__PURE__*/require("./variations/_hint-view/base");
20
+ var _base8 = /*#__PURE__*/require("./variations/_hint-size/base");
18
21
  var _TextField = /*#__PURE__*/require("./TextField.styles");
19
22
  var _TextField2 = /*#__PURE__*/require("./TextField.tokens");
20
23
  var _ui = /*#__PURE__*/require("./ui");
21
- var _hooks = /*#__PURE__*/require("./hooks");
22
- var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "view", "size", "readOnly", "disabled", "required", "clear", "optional", "hasDivider", "value", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
24
+ var _hooks2 = /*#__PURE__*/require("./hooks");
25
+ var _Hint = /*#__PURE__*/require("./ui/Hint/Hint");
26
+ var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "titleCaption", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "view", "size", "readOnly", "disabled", "required", "clear", "optional", "hasDivider", "value", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
23
27
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
28
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
25
29
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -39,9 +43,10 @@ var base = exports.base = process.env.NODE_ENV === "production" ? {
39
43
  } : {
40
44
  name: "121o0v2-plasma-new-hope__base",
41
45
  styles: "display:block;label:plasma-new-hope__base;",
42
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUN1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRm9ybUV2ZW50SGFuZGxlciwgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNhZmVVc2VJZCwgdXNlRm9ya1JlZiB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgUm9vdFByb3BzIH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBjeCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDaGlwVmFsdWVzLCBUZXh0RmllbGRQcmltaXRpdmVWYWx1ZSwgVGV4dEZpZWxkUHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGNsZWFyQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19jbGVhci9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyByZWFkT25seUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fcmVhZC1vbmx5L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBsYWJlbFBsYWNlbWVudENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fbGFiZWwtcGxhY2VtZW50L2Jhc2UnO1xuaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBJbnB1dENvbnRhaW5lcixcbiAgICBMZWZ0SGVscGVyLFxuICAgIExhYmVsLFxuICAgIElucHV0V3JhcHBlcixcbiAgICBJbnB1dExhYmVsV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50TGVmdCxcbiAgICBTdHlsZWRDb250ZW50UmlnaHQsXG4gICAgU3R5bGVkQ2hpcHMsXG4gICAgU3R5bGVkVGV4dEJlZm9yZSxcbiAgICBTdHlsZWRUZXh0QWZ0ZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbiAgICBJbnB1dFBsYWNlaG9sZGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwIH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5cbmNvbnN0IG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkUm9vdCA9IChSb290OiBSb290UHJvcHM8SFRNTERpdkVsZW1lbnQsIFRleHRGaWVsZFByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxJbnB1dEVsZW1lbnQsIFRleHRGaWVsZFByb3BzPihcbiAgICAgICAgKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBzdHlsZSxcblxuICAgICAgICAgICAgICAgIC8vIGxheW91dFxuICAgICAgICAgICAgICAgIGNvbnRlbnRMZWZ0LFxuICAgICAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB0ZXh0QmVmb3JlLFxuICAgICAgICAgICAgICAgIHRleHRBZnRlcixcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgICBsZWZ0SGVscGVyLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSA9ICdwbGFpbicsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIGhhc0RpdmlkZXIsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuXG4gICAgICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb3JrUmVmID0gdXNlRm9ya1JlZihpbnB1dFJlZiwgcmVmKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaXBzUmVmcyA9IHVzZVJlZjxBcnJheTxIVE1MQnV0dG9uRWxlbWVudD4+KFtdKTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlZFJlZnMgPSB7IGNvbnRlbnRSZWYsIGlucHV0UmVmLCBjaGlwc1JlZnMgfTtcblxuICAgICAgICAgICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZShcbiAgICAgICAgICAgICAgICBCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSB8fCBCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNEZWZhdWx0VmlldyA9IHZpZXcgPT09ICdkZWZhdWx0JyB8fCByZWFkT25seSB8fCBkaXNhYmxlZDtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhIYXNDaGlwcyA9IGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNDaGlwcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFzTGFiZWxWYWx1ZSA9IEJvb2xlYW4obGFiZWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWlzQ2hpcHNWaXNpYmxlICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gQm9vbGVhbihwbGFjZWhvbGRlcikgJiYgIWhhc0lubmVyTGFiZWw7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSBCb29sZWFuKGlubmVyUGxhY2Vob2xkZXJWYWx1ZSkgJiYgIWhhc1ZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzRGl2aWRlckNsYXNzID0gaGFzRGl2aWRlciA/IGNsYXNzZXMuaGFzRGl2aWRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MgPSByZXF1aXJlZFBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdhbGlnbi1yaWdodCAnIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxQbGFjZW1lbnRDbGFzcyA9IGlubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZVxuICAgICAgICAgICAgICAgID8gY2xhc3Nlc1tgJHtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9TGFiZWxQbGFjZW1lbnRgIGFzIGtleW9mIHR5cGVvZiBjbGFzc2VzXVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzVmFsdWVDbGFzcyA9IGhhc1ZhbHVlID8gY2xhc3Nlcy5oYXNWYWx1ZSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRMZWZ0Q29udGVudCA9ICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50TGVmdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudFJpZ2h0ICYmIGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRSaWdodCA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXQ6IEZvcm1FdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkIHx8IHJlYWRPbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB7IG1heExlbmd0aCwgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgICAgIGlmIChtYXhMZW5ndGggIT09IC0xICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVDaGlwcyA9IChuZXdDaGlwczogQXJyYXk8Q2hpcFZhbHVlcz4sIG5ld1ZhbHVlczogQXJyYXk8VGV4dEZpZWxkUHJpbWl0aXZlVmFsdWU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHM/LihuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgeyBoYW5kbGVJbnB1dEtleWRvd24sIGhhbmRsZUNoaXBLZXlEb3duLCBvbkNoaXBDbGVhciwgaGFuZGxlQ29udGVudEtleURvd24gfSA9IHVzZUtleU5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZWRSZWZzLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGNoaXBzLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICB1cGRhdGVDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkVudGVyRGlzYWJsZWQ6IChyZXN0IGFzIGFueSkub25FbnRlckRpc2FibGVkLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IG9uQ2hpcENsaWNrID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0Rm9jdXMgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlYWRPbmx5IHx8IGRpc2FibGVkIHx8ICFpbnB1dFJlZj8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogaW5wdXRSZWYuY3VycmVudC5vZmZzZXRMZWZ0LFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBnZXRSZWYgPSAoZWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgY2hpcHNSZWZzPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaXBzUmVmcy5jdXJyZW50W2luZGV4XSA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlT25LZXlEb3duID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiAmIEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVJbnB1dEtleWRvd24oZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG9uS2V5RG93bikge1xuICAgICAgICAgICAgICAgICAgICBvbktleURvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0NoaXBFbnVtZXJhdGlvbiAmJiAhdmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NoaXBzID1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPy5tYXAoKHZhbHVlLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtpbmRleH1fJHt2YWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pKSB8fCBbXTtcblxuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgIH0sIFtpc0NoaXBFbnVtZXJhdGlvbiwgdmFsdWVzXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtyZXN0LmRlZmF1bHRWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ob3V0ZXJWYWx1ZSkgfHwgQm9vbGVhbihpbnB1dFJlZj8uY3VycmVudD8udmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtvdXRlclZhbHVlLCBpbnB1dFJlZj8uY3VycmVudD8udmFsdWVdKTtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IEJvb2xlYW4ocmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFpbm5lckxhYmVsVmFsdWUgJiYgIWhhc091dGVyTGFiZWw7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbihoYXNQbGFjZWhvbGRlck9wdGlvbmFsID8gaW5uZXJQbGFjZWhvbGRlclZhbHVlIDogaW5uZXJMYWJlbFZhbHVlKSAmJiAnXFx4YTAnfVxuICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgKSA6IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICAgICAgdmlldz17dmlld31cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICBjbGVhcj17Y2xlYXJ9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0RpdmlkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGh0bWxGb3I9e2lkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeCh3aXRoSGFzQ2hpcHMsIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIHJlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50TGVmdCBpc0NsZWFyPXtjbGVhcn0gaXNEZWZhdWx0Vmlldz17aXNEZWZhdWx0Vmlld30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRMZWZ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVDb250ZW50S2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3dpdGhIYXNDaGlwc31cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaXBzPy5tYXAoKHsgaWQ6IGNoaXBJZCwgdGV4dCB9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y2hpcElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWxlbWVudCkgPT4gZ2V0UmVmKGVsZW1lbnQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7Y2hpcElkfV8ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4gaGFuZGxlQ2hpcEtleURvd24oZXZlbnQsIGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhcj17KCkgPT4gb25DaGlwQ2xlYXIoY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aW5uZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtvdXRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtsYWJlbElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17aGVscGVyVGV4dElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goaGFzVmFsdWVDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVPbktleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc0lubmVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpbm5lcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyU2hvd24gJiYgIWhhc1ZhbHVlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BsYWNlaG9sZGVyT3B0aW9uYWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0QWZ0ZXIgJiYgPFN0eWxlZFRleHRBZnRlcj57dGV4dEFmdGVyfTwvU3R5bGVkVGV4dEFmdGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudFJpZ2h0ICYmIDxTdHlsZWRDb250ZW50UmlnaHQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG4gICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlciAmJiA8TGVmdEhlbHBlciBpZD17aGVscGVyVGV4dElkfT57bGVmdEhlbHBlcn08L0xlZnRIZWxwZXI+fVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZENvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEZpZWxkJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEZpZWxkUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBjc3M6IHJlYWRPbmx5Q1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUGxhY2VtZW50OiB7XG4gICAgICAgICAgICBjc3M6IGxhYmVsUGxhY2VtZW50Q1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAnZGVmYXVsdCcsXG4gICAgfSxcbn07XG4iXX0= */",
46
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkN1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRm9ybUV2ZW50SGFuZGxlciwgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCwgTW91c2VFdmVudEhhbmRsZXIgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzYWZlVXNlSWQsIHVzZUZvcmtSZWYgfSBmcm9tICdAc2FsdXRlanMvcGxhc21hLWNvcmUnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgY3ggfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICcuLi8uLi9ob29rcyc7XG5cbmltcG9ydCB0eXBlIHsgQ2hpcFZhbHVlcywgVGV4dEZpZWxkUHJpbWl0aXZlVmFsdWUsIFRleHRGaWVsZFByb3BzLCBUZXh0RmllbGRSb290UHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGNsZWFyQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19jbGVhci9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyByZWFkT25seUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fcmVhZC1vbmx5L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBsYWJlbFBsYWNlbWVudENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fbGFiZWwtcGxhY2VtZW50L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50Vmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC12aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50U2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC1zaXplL2Jhc2UnO1xuaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBJbnB1dENvbnRhaW5lcixcbiAgICBMZWZ0SGVscGVyLFxuICAgIExhYmVsLFxuICAgIElucHV0V3JhcHBlcixcbiAgICBJbnB1dExhYmVsV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50TGVmdCxcbiAgICBTdHlsZWRDb250ZW50UmlnaHQsXG4gICAgU3R5bGVkQ2hpcHMsXG4gICAgU3R5bGVkVGV4dEJlZm9yZSxcbiAgICBTdHlsZWRUZXh0QWZ0ZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbiAgICBJbnB1dFBsYWNlaG9sZGVyLFxuICAgIE91dGVyTGFiZWxXcmFwcGVyLFxuICAgIFRpdGxlQ2FwdGlvbixcbiAgICBTdHlsZWRIaW50V3JhcHBlcixcbiAgICBTdHlsZWRJbmRpY2F0b3JXcmFwcGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwIH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICAvKiBOT1RFOiBXZWJraXQg0L3QtSDQv9GA0LjQvNC10L3Rj9C10YIgb3BhY2l0eSDQuiBpbmxpbmUg0YLQtdCz0LDQvCAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgSElOVF9ERUZBVUxUX09GRlNFVDogW251bWJlciwgbnVtYmVyXSA9IFswLCAwXTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZFJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxEaXZFbGVtZW50LCBUZXh0RmllbGRSb290UHJvcHM+KSA9PlxuICAgIGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgVGV4dEZpZWxkUHJvcHM+KFxuICAgICAgICAoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIHN0eWxlLFxuXG4gICAgICAgICAgICAgICAgLy8gbGF5b3V0XG4gICAgICAgICAgICAgICAgY29udGVudExlZnQsXG4gICAgICAgICAgICAgICAgY29udGVudFJpZ2h0LFxuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcbiAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgdGl0bGVDYXB0aW9uLFxuXG4gICAgICAgICAgICAgICAgLy8gaGludFxuICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyID0gJ2hvdmVyJyxcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBoaW50VmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBoaW50U2l6ZSA9ICdtJyxcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdyxcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIGhhc0RpdmlkZXIsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuXG4gICAgICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb3JrUmVmID0gdXNlRm9ya1JlZihpbnB1dFJlZiwgcmVmKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaXBzUmVmcyA9IHVzZVJlZjxBcnJheTxIVE1MQnV0dG9uRWxlbWVudD4+KFtdKTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlZFJlZnMgPSB7IGNvbnRlbnRSZWYsIGlucHV0UmVmLCBjaGlwc1JlZnMgfTtcblxuICAgICAgICAgICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZShcbiAgICAgICAgICAgICAgICBCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSB8fCBCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuICAgICAgICAgICAgY29uc3QgW2lzSGludFZpc2libGUsIHNldElzSGludFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNEZWZhdWx0VmlldyA9IHZpZXcgPT09ICdkZWZhdWx0JyB8fCByZWFkT25seSB8fCBkaXNhYmxlZDtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhIYXNDaGlwcyA9IGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNDaGlwcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFzTGFiZWxWYWx1ZSA9IEJvb2xlYW4obGFiZWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWlzQ2hpcHNWaXNpYmxlICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gQm9vbGVhbihwbGFjZWhvbGRlcikgJiYgIWhhc0lubmVyTGFiZWw7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSBCb29sZWFuKGlubmVyUGxhY2Vob2xkZXJWYWx1ZSkgJiYgIWhhc1ZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzRGl2aWRlckNsYXNzID0gaGFzRGl2aWRlciA/IGNsYXNzZXMuaGFzRGl2aWRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0hpbnRDbGFzcyA9IGhpbnRUZXh0ID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyA9IHJlcXVpcmVkUGxhY2VtZW50ID09PSAncmlnaHQnID8gY2xhc3Nlcy5yZXF1aXJlZEFsaWduUmlnaHQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbFBsYWNlbWVudENsYXNzID0gaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlXG4gICAgICAgICAgICAgICAgPyBjbGFzc2VzW2Ake2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1MYWJlbFBsYWNlbWVudGAgYXMga2V5b2YgdHlwZW9mIGNsYXNzZXNdXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNWYWx1ZUNsYXNzID0gaGFzVmFsdWUgPyBjbGFzc2VzLmhhc1ZhbHVlIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50ID0gIWNvbnRlbnRMZWZ0ICYmIGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRMZWZ0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50UmlnaHQgJiYgaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudFJpZ2h0IDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoaW50UmVmID0gdXNlT3V0c2lkZUNsaWNrPEhUTUxEaXZFbGVtZW50PigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGhpbnRJbm5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBoaW50Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaGludFJlZiwgaGludElubmVyUmVmKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXQ6IEZvcm1FdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRTaG93ID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRIaWRlID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50Q2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoaW50VGV4dCB8fCBoaW50VHJpZ2dlciAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXNQb3BvdmVyID0gZXZlbnQudGFyZ2V0ID09PSBoaW50SW5uZXJSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCByb290SGFzVGFyZ2V0ID0gaGludElubmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0SXNQb3BvdmVyICYmICFyb290SGFzVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWF4TGVuZ3RoLCB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gLTEgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUNoaXBzID0gKG5ld0NoaXBzOiBBcnJheTxDaGlwVmFsdWVzPiwgbmV3VmFsdWVzOiBBcnJheTxUZXh0RmllbGRQcmltaXRpdmVWYWx1ZT4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VDaGlwcz8uKG5ld1ZhbHVlcyk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB7IGhhbmRsZUlucHV0S2V5ZG93biwgaGFuZGxlQ2hpcEtleURvd24sIG9uQ2hpcENsZWFyLCBoYW5kbGVDb250ZW50S2V5RG93biB9ID0gdXNlS2V5TmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlZFJlZnMsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgY2hpcHMsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlLFxuICAgICAgICAgICAgICAgIHVwZGF0ZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uRW50ZXJEaXNhYmxlZDogKHJlc3QgYXMgYW55KS5vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3Qgb25DaGlwQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXRGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIWlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dFJlZi5jdXJyZW50Lm9mZnNldExlZnQsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGdldFJlZiA9IChlbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBjaGlwc1JlZnM/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpcHNSZWZzLmN1cnJlbnRbaW5kZXhdID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVPbktleURvd24gPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUlucHV0S2V5ZG93bihldmVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAob25LZXlEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQ2hpcEVudW1lcmF0aW9uICYmICF2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q2hpcHMgPVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM/Lm1hcCgodmFsdWUsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGAke2luZGV4fV8ke3ZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSkpIHx8IFtdO1xuXG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgfSwgW2lzQ2hpcEVudW1lcmF0aW9uLCB2YWx1ZXNdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSkpO1xuICAgICAgICAgICAgfSwgW3Jlc3QuZGVmYXVsdFZhbHVlXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbihvdXRlclZhbHVlKSB8fCBCb29sZWFuKGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZSkpO1xuICAgICAgICAgICAgfSwgW291dGVyVmFsdWUsIGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZV0pO1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lck9wdGlvbmFsID0gQm9vbGVhbihyZXF1aXJlZCA/IGZhbHNlIDogb3B0aW9uYWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA9IGlubmVyT3B0aW9uYWwgJiYgIWlubmVyTGFiZWxWYWx1ZSAmJiAhaGFzT3V0ZXJMYWJlbDtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbmFsVGV4dE5vZGUgPSBpbm5lck9wdGlvbmFsID8gKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBpbm5lclBsYWNlaG9sZGVyVmFsdWUgOiBpbm5lckxhYmVsVmFsdWUpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHR9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICApIDogbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgICAgICB2aWV3PXt2aWV3fVxuICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyPXtjbGVhcn1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQ9e2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlSW5wdXRGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50Q2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzRGl2aWRlckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy50ZXh0RmllbGRHcm91cEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLihoaW50VGV4dCAmJiB7IGhpbnRWaWV3LCBoaW50U2l6ZSB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsoaGFzT3V0ZXJMYWJlbCB8fCB0aXRsZUNhcHRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPdXRlckxhYmVsV3JhcHBlciBpc0lubm5lckxhYmVsPXtsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGludFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEluZGljYXRvcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGVDYXB0aW9uICYmIDxUaXRsZUNhcHRpb24+e3RpdGxlQ2FwdGlvbn08L1RpdGxlQ2FwdGlvbj59XG4gICAgICAgICAgICAgICAgICAgICAgICA8L091dGVyTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeCh3aXRoSGFzQ2hpcHMsIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSGludFdyYXBwZXIgY2xhc3NOYW1lPXtjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIaW50Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRyaWdnZXI9e2hpbnRUcmlnZ2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQ9e2hpbnRQbGFjZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50V2lkdGg9e2hpbnRXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludEhpZGU9e2hhbmRsZUhpbnRIaWRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50TGVmdCBpc0NsZWFyPXtjbGVhcn0gaXNEZWZhdWx0Vmlldz17aXNEZWZhdWx0Vmlld30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRMZWZ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVDb250ZW50S2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3dpdGhIYXNDaGlwc31cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaXBzPy5tYXAoKHsgaWQ6IGNoaXBJZCwgdGV4dCB9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y2hpcElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWxlbWVudCkgPT4gZ2V0UmVmKGVsZW1lbnQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7Y2hpcElkfV8ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4gaGFuZGxlQ2hpcEtleURvd24oZXZlbnQsIGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhcj17KCkgPT4gb25DaGlwQ2xlYXIoY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aW5uZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtvdXRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtsYWJlbElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17aGVscGVyVGV4dElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goaGFzVmFsdWVDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVPbktleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc0lubmVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpbm5lcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyU2hvd24gJiYgIWhhc1ZhbHVlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BsYWNlaG9sZGVyT3B0aW9uYWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0QWZ0ZXIgJiYgPFN0eWxlZFRleHRBZnRlcj57dGV4dEFmdGVyfTwvU3R5bGVkVGV4dEFmdGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudFJpZ2h0ICYmIDxTdHlsZWRDb250ZW50UmlnaHQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG4gICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlciAmJiA8TGVmdEhlbHBlciBpZD17aGVscGVyVGV4dElkfT57bGVmdEhlbHBlcn08L0xlZnRIZWxwZXI+fVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZENvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEZpZWxkJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEZpZWxkUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBjc3M6IHJlYWRPbmx5Q1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUGxhY2VtZW50OiB7XG4gICAgICAgICAgICBjc3M6IGxhYmVsUGxhY2VtZW50Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBoaW50Vmlldzoge1xuICAgICAgICAgICAgY3NzOiBoaW50Vmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFNpemU6IHtcbiAgICAgICAgICAgIGNzczogaGludFNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdkZWZhdWx0JyxcbiAgICB9LFxufTtcbiJdfQ== */",
43
47
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
48
  };
49
+ var HINT_DEFAULT_OFFSET = [0, 0];
45
50
  var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
46
51
  return /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
47
52
  var _inputRef$current, _inputRef$current3;
@@ -60,6 +65,22 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
60
65
  enumerationType = _ref$enumerationType === void 0 ? 'plain' : _ref$enumerationType,
61
66
  _ref$requiredPlacemen = _ref.requiredPlacement,
62
67
  requiredPlacement = _ref$requiredPlacemen === void 0 ? 'right' : _ref$requiredPlacemen,
68
+ titleCaption = _ref.titleCaption,
69
+ _ref$hintTrigger = _ref.hintTrigger,
70
+ hintTrigger = _ref$hintTrigger === void 0 ? 'hover' : _ref$hintTrigger,
71
+ hintText = _ref.hintText,
72
+ _ref$hintView = _ref.hintView,
73
+ hintView = _ref$hintView === void 0 ? 'default' : _ref$hintView,
74
+ _ref$hintSize = _ref.hintSize,
75
+ hintSize = _ref$hintSize === void 0 ? 'm' : _ref$hintSize,
76
+ hintTargetIcon = _ref.hintTargetIcon,
77
+ _ref$hintPlacement = _ref.hintPlacement,
78
+ hintPlacement = _ref$hintPlacement === void 0 ? 'auto' : _ref$hintPlacement,
79
+ hintHasArrow = _ref.hintHasArrow,
80
+ _ref$hintOffset = _ref.hintOffset,
81
+ hintOffset = _ref$hintOffset === void 0 ? HINT_DEFAULT_OFFSET : _ref$hintOffset,
82
+ hintWidth = _ref.hintWidth,
83
+ hintContentLeft = _ref.hintContentLeft,
63
84
  view = _ref.view,
64
85
  size = _ref.size,
65
86
  _ref$readOnly = _ref.readOnly,
@@ -96,6 +117,10 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
96
117
  _useState4 = _slicedToArray(_useState3, 2),
97
118
  chips = _useState4[0],
98
119
  setChips = _useState4[1];
120
+ var _useState5 = (0, _react.useState)(false),
121
+ _useState6 = _slicedToArray(_useState5, 2),
122
+ isHintVisible = _useState6[0],
123
+ setIsHintVisible = _useState6[1];
99
124
  var uniqId = (0, _plasmaCore.safeUseId)();
100
125
  var innerId = id || uniqId;
101
126
  var labelId = (0, _plasmaCore.safeUseId)();
@@ -114,14 +139,38 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
114
139
  var placeholderShown = Boolean(innerPlaceholderValue) && !hasValue;
115
140
  var clearClass = clear ? _TextField2.classes.clear : undefined;
116
141
  var hasDividerClass = hasDivider ? _TextField2.classes.hasDivider : undefined;
117
- var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
142
+ var hasHintClass = hintText ? _TextField2.classes.hasHint : undefined;
143
+ var requiredPlacementClass = requiredPlacement === 'right' ? _TextField2.classes.requiredAlignRight : undefined;
118
144
  var labelPlacementClass = innerLabelPlacementValue ? _TextField2.classes["".concat(innerLabelPlacementValue, "LabelPlacement")] : undefined;
119
145
  var hasValueClass = hasValue ? _TextField2.classes.hasValue : undefined;
120
146
  var wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? _TextField2.classes.hasEmptyContentLeft : undefined;
121
147
  var wrapperWithoutRightContent = !contentRight && isChipsVisible ? _TextField2.classes.hasEmptyContentRight : undefined;
148
+ var hintRef = (0, _hooks.useOutsideClick)(function () {
149
+ setIsHintVisible(false);
150
+ });
151
+ var hintInnerRef = (0, _react.useRef)(null);
152
+ var hintForkRef = (0, _plasmaCore.useForkRef)(hintRef, hintInnerRef);
122
153
  var handleInput = function handleInput(event) {
123
154
  setHasValue(Boolean(event.target.value));
124
155
  };
156
+ var handleHintShow = function handleHintShow() {
157
+ return setIsHintVisible(true);
158
+ };
159
+ var handleHintHide = function handleHintHide() {
160
+ return setIsHintVisible(false);
161
+ };
162
+ var handleHintClick = function handleHintClick(event) {
163
+ var _hintInnerRef$current;
164
+ if (!hintText || hintTrigger !== 'click') {
165
+ return;
166
+ }
167
+ event.stopPropagation();
168
+ var targetIsPopover = event.target === hintInnerRef.current;
169
+ var rootHasTarget = (_hintInnerRef$current = hintInnerRef.current) === null || _hintInnerRef$current === void 0 ? void 0 : _hintInnerRef$current.contains(event.target);
170
+ if (!targetIsPopover && !rootHasTarget) {
171
+ setIsHintVisible(true);
172
+ }
173
+ };
125
174
  var handleChange = function handleChange(event) {
126
175
  if (disabled || readOnly) {
127
176
  return;
@@ -138,7 +187,7 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
138
187
  setChips(newChips);
139
188
  onChangeChips === null || onChangeChips === void 0 || onChangeChips(newValues);
140
189
  };
141
- var _useKeyNavigation = (0, _hooks.useKeyNavigation)({
190
+ var _useKeyNavigation = (0, _hooks2.useKeyNavigation)({
142
191
  controlledRefs: controlledRefs,
143
192
  disabled: disabled,
144
193
  readOnly: readOnly,
@@ -200,7 +249,7 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
200
249
  var innerOptional = Boolean(required ? false : optional);
201
250
  var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
202
251
  var optionalTextNode = innerOptional ? /*#__PURE__*/_react["default"].createElement(_TextField.StyledOptionalText, null, Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\xa0', optionalText) : null;
203
- return /*#__PURE__*/_react["default"].createElement(Root, {
252
+ return /*#__PURE__*/_react["default"].createElement(Root, _extends({
204
253
  view: view,
205
254
  size: size,
206
255
  disabled: disabled,
@@ -208,21 +257,56 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
208
257
  clear: clear,
209
258
  labelPlacement: innerLabelPlacementValue,
210
259
  onClick: handleInputFocus,
211
- className: (0, _utils.cx)(labelPlacementClass, clearClass, hasDividerClass, _TextField2.classes.textFieldGroupItem, className),
260
+ className: (0, _utils.cx)(labelPlacementClass, clearClass, hasDividerClass, hasHintClass, _TextField2.classes.textFieldGroupItem, className),
212
261
  style: style
213
- }, hasOuterLabel && /*#__PURE__*/_react["default"].createElement(_TextField.Label, {
262
+ }, hintText && {
263
+ hintView: hintView,
264
+ hintSize: hintSize
265
+ }), (hasOuterLabel || titleCaption) && /*#__PURE__*/_react["default"].createElement(_TextField.OuterLabelWrapper, {
266
+ isInnnerLabel: labelPlacement === 'inner'
267
+ }, hasOuterLabel && /*#__PURE__*/_react["default"].createElement(_TextField.StyledIndicatorWrapper, null, /*#__PURE__*/_react["default"].createElement(_TextField.Label, {
214
268
  id: labelId,
215
269
  htmlFor: id
216
- }, required && /*#__PURE__*/_react["default"].createElement(_TextField.StyledIndicator, {
217
- className: (0, _utils.cx)(_TextField2.classes.outerLabelPlacement, requiredPlacementClass)
218
- }), innerLabelValue, optionalTextNode), /*#__PURE__*/_react["default"].createElement(_TextField.InputWrapper
270
+ }, innerLabelValue), hintText && /*#__PURE__*/_react["default"].createElement(_TextField.StyledHintWrapper, null, /*#__PURE__*/_react["default"].createElement(_Hint.HintComponent, {
271
+ ref: hintForkRef,
272
+ hintText: hintText,
273
+ hintTrigger: hintTrigger,
274
+ isHintVisible: isHintVisible,
275
+ hintTargetIcon: hintTargetIcon,
276
+ hintPlacement: hintPlacement,
277
+ hintHasArrow: hintHasArrow,
278
+ hintOffset: hintOffset,
279
+ hintWidth: hintWidth,
280
+ hintContentLeft: hintContentLeft,
281
+ handleHintShow: handleHintShow,
282
+ handleHintHide: handleHintHide,
283
+ handleHintClick: handleHintClick
284
+ })), required && /*#__PURE__*/_react["default"].createElement(_TextField.StyledIndicator, {
285
+ className: (0, _utils.cx)(_TextField2.classes.outerLabelPlacement, requiredPlacementClass, hasHintClass)
286
+ }), optionalTextNode), titleCaption && /*#__PURE__*/_react["default"].createElement(_TextField.TitleCaption, null, titleCaption)), /*#__PURE__*/_react["default"].createElement(_TextField.InputWrapper
219
287
  // Ref для внутреннего использования. Не отдается наружу.
220
288
  , {
221
289
  ref: rest.inputWrapperRef,
222
290
  className: (0, _utils.cx)(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)
223
- }, !hasOuterLabel && required && /*#__PURE__*/_react["default"].createElement(_TextField.StyledIndicator, {
291
+ }, !hasOuterLabel && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, required && /*#__PURE__*/_react["default"].createElement(_TextField.StyledIndicator, {
224
292
  className: (0, _utils.cx)(_TextField2.classes.innerLabelPlacement, requiredPlacementClass)
225
- }), contentLeft && /*#__PURE__*/_react["default"].createElement(_TextField.StyledContentLeft, {
293
+ }), hintText && /*#__PURE__*/_react["default"].createElement(_TextField.StyledHintWrapper, {
294
+ className: _TextField2.classes.innerLabelPlacement
295
+ }, /*#__PURE__*/_react["default"].createElement(_Hint.HintComponent, {
296
+ ref: hintForkRef,
297
+ hintText: hintText,
298
+ hintTrigger: hintTrigger,
299
+ isHintVisible: isHintVisible,
300
+ hintTargetIcon: hintTargetIcon,
301
+ hintPlacement: hintPlacement,
302
+ hintHasArrow: hintHasArrow,
303
+ hintOffset: hintOffset,
304
+ hintWidth: hintWidth,
305
+ hintContentLeft: hintContentLeft,
306
+ handleHintShow: handleHintShow,
307
+ handleHintHide: handleHintHide,
308
+ handleHintClick: handleHintClick
309
+ }))), contentLeft && /*#__PURE__*/_react["default"].createElement(_TextField.StyledContentLeft, {
226
310
  isClear: clear,
227
311
  isDefaultView: isDefaultView
228
312
  }, contentLeft), /*#__PURE__*/_react["default"].createElement(_TextField.InputLabelWrapper, {
@@ -298,6 +382,12 @@ var textFieldConfig = exports.textFieldConfig = {
298
382
  },
299
383
  labelPlacement: {
300
384
  css: _base6.base
385
+ },
386
+ hintView: {
387
+ css: _base7.base
388
+ },
389
+ hintSize: {
390
+ css: _base8.base
301
391
  }
302
392
  },
303
393
  defaults: {