@1money/component-ui 0.0.42-alpha.9 → 0.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (910) hide show
  1. package/README.md +19 -24
  2. package/es/components/Accordion/Accordion.js +1 -1
  3. package/es/components/Accordion/constants.js +1 -1
  4. package/es/components/Accordion/index.js +1 -1
  5. package/es/components/Accordion/interface.js +1 -1
  6. package/es/components/Accordion/style/css.js +1 -1
  7. package/es/components/Accordion/style/index.js +1 -1
  8. package/es/components/Alert/Alert.js +1 -1
  9. package/es/components/Alert/index.js +1 -1
  10. package/es/components/Alert/interface.js +1 -1
  11. package/es/components/Alert/style/css.js +1 -1
  12. package/es/components/Alert/style/index.js +1 -1
  13. package/es/components/Button/Button.js +1 -1
  14. package/es/components/Button/constants.js +1 -1
  15. package/es/components/Button/index.js +1 -1
  16. package/es/components/Button/interface.js +1 -1
  17. package/es/components/Button/style/css.js +1 -1
  18. package/es/components/Button/style/index.js +1 -1
  19. package/es/components/Calendar/Calendar.js +1 -1
  20. package/es/components/Calendar/index.js +1 -1
  21. package/es/components/Calendar/interface.js +1 -1
  22. package/es/components/Calendar/style/css.js +1 -1
  23. package/es/components/Calendar/style/index.js +1 -1
  24. package/es/components/Carousel/Carousel.js +1 -1
  25. package/es/components/Carousel/index.js +1 -1
  26. package/es/components/Carousel/interface.js +1 -1
  27. package/es/components/Carousel/style/css.js +1 -1
  28. package/es/components/Carousel/style/index.js +1 -1
  29. package/es/components/Cell/Cell.js +1 -1
  30. package/es/components/Cell/index.js +1 -1
  31. package/es/components/Cell/interface.js +1 -1
  32. package/es/components/Cell/style/css.js +1 -1
  33. package/es/components/Cell/style/index.js +1 -1
  34. package/es/components/Checkbox/BaseCheckbox.js +1 -1
  35. package/es/components/Checkbox/Checkbox.js +1 -1
  36. package/es/components/Checkbox/CheckboxGroup.js +1 -1
  37. package/es/components/Checkbox/CheckboxGroupContext.js +1 -1
  38. package/es/components/Checkbox/constants.js +1 -1
  39. package/es/components/Checkbox/index.js +1 -1
  40. package/es/components/Checkbox/interface.js +1 -1
  41. package/es/components/Checkbox/style/css.js +1 -1
  42. package/es/components/Checkbox/style/index.js +1 -1
  43. package/es/components/CoachMark/CoachMark.js +1 -1
  44. package/es/components/CoachMark/index.js +1 -1
  45. package/es/components/CoachMark/interface.js +1 -1
  46. package/es/components/CoachMark/style/css.js +1 -1
  47. package/es/components/CoachMark/style/index.js +1 -1
  48. package/es/components/Copy/Clipboard.js +1 -1
  49. package/es/components/Copy/Copy.js +1 -1
  50. package/es/components/Copy/index.js +1 -1
  51. package/es/components/Copy/interface.js +1 -1
  52. package/es/components/Copy/style/css.js +1 -1
  53. package/es/components/Copy/style/index.js +1 -1
  54. package/es/components/Dialog/Dialog.js +1 -1
  55. package/es/components/Dialog/constants.js +1 -1
  56. package/es/components/Dialog/index.js +1 -1
  57. package/es/components/Dialog/interface.js +1 -1
  58. package/es/components/Dialog/style/css.js +1 -1
  59. package/es/components/Dialog/style/index.js +1 -1
  60. package/es/components/Divider/Divider.js +1 -1
  61. package/es/components/Divider/constants.js +1 -1
  62. package/es/components/Divider/index.js +1 -1
  63. package/es/components/Divider/interface.js +1 -1
  64. package/es/components/Divider/style/css.js +1 -1
  65. package/es/components/Divider/style/index.js +1 -1
  66. package/es/components/Drawer/Drawer.js +1 -1
  67. package/es/components/Drawer/constants.js +1 -1
  68. package/es/components/Drawer/hooks/index.js +1 -1
  69. package/es/components/Drawer/hooks/useBodyScrollLock.js +1 -1
  70. package/es/components/Drawer/hooks/useDialogFocus.js +1 -1
  71. package/es/components/Drawer/hooks/useDrawerTransition.js +1 -1
  72. package/es/components/Drawer/hooks/useEscapeClose.js +1 -1
  73. package/es/components/Drawer/index.js +1 -1
  74. package/es/components/Drawer/interface.js +1 -1
  75. package/es/components/Drawer/style/css.js +1 -1
  76. package/es/components/Drawer/style/index.js +1 -1
  77. package/es/components/Dropdown/Dropdown.js +3 -11
  78. package/es/components/Dropdown/index.js +1 -1
  79. package/es/components/Dropdown/interface.js +1 -1
  80. package/es/components/Dropdown/style/css.js +1 -1
  81. package/es/components/Dropdown/style/index.js +1 -1
  82. package/es/components/Empty/Empty.js +1 -1
  83. package/es/components/Empty/index.js +1 -1
  84. package/es/components/Empty/interface.js +1 -1
  85. package/es/components/Empty/style/css.js +1 -1
  86. package/es/components/Empty/style/index.js +1 -1
  87. package/es/components/Flex/Flex.js +1 -1
  88. package/es/components/Flex/constants.js +1 -1
  89. package/es/components/Flex/index.js +1 -1
  90. package/es/components/Flex/interface.js +1 -1
  91. package/es/components/Flex/style/css.js +1 -1
  92. package/es/components/Flex/style/index.js +1 -1
  93. package/es/components/Grid/Col.js +1 -1
  94. package/es/components/Grid/Grid.js +1 -1
  95. package/es/components/Grid/Row.js +1 -1
  96. package/es/components/Grid/constants.js +1 -1
  97. package/es/components/Grid/helper.js +1 -1
  98. package/es/components/Grid/index.js +1 -1
  99. package/es/components/Grid/interface.js +1 -1
  100. package/es/components/Grid/style/css.js +1 -1
  101. package/es/components/Grid/style/index.js +1 -1
  102. package/es/components/Icons/Icons.js +1 -1
  103. package/es/components/Icons/Illustrations.js +1 -1
  104. package/es/components/Icons/Logo.js +1 -1
  105. package/es/components/Icons/SVGs.js +1 -1
  106. package/es/components/Icons/Wrapper.js +1 -1
  107. package/es/components/Icons/index.js +1 -1
  108. package/es/components/Icons/interface.d.ts +3 -0
  109. package/es/components/Icons/interface.js +1 -1
  110. package/es/components/Icons/style/css.js +1 -1
  111. package/es/components/Icons/style/index.js +1 -1
  112. package/es/components/Input/Amount/Amount.js +1 -1
  113. package/es/components/Input/Amount/helper.js +1 -1
  114. package/es/components/Input/Amount/index.js +1 -1
  115. package/es/components/Input/Amount/style/css.js +1 -1
  116. package/es/components/Input/Amount/style/index.js +1 -1
  117. package/es/components/Input/FieldShell/FieldShell.js +1 -1
  118. package/es/components/Input/FieldShell/index.js +1 -1
  119. package/es/components/Input/Input/Input.js +1 -1
  120. package/es/components/Input/Input/index.js +1 -1
  121. package/es/components/Input/Mask/Mask.js +1 -1
  122. package/es/components/Input/Mask/index.js +1 -1
  123. package/es/components/Input/OTP/OTP.js +1 -1
  124. package/es/components/Input/OTP/index.js +1 -1
  125. package/es/components/Input/Password/Password.js +1 -1
  126. package/es/components/Input/Password/index.js +1 -1
  127. package/es/components/Input/Search/Search.js +1 -1
  128. package/es/components/Input/Search/index.js +1 -1
  129. package/es/components/Input/TextArea/TextArea.js +1 -1
  130. package/es/components/Input/TextArea/index.js +1 -1
  131. package/es/components/Input/Trade/Trade.js +1 -1
  132. package/es/components/Input/Trade/index.js +1 -1
  133. package/es/components/Input/constants.js +1 -1
  134. package/es/components/Input/index.js +1 -1
  135. package/es/components/Input/interface.js +1 -1
  136. package/es/components/Input/style/css.js +1 -1
  137. package/es/components/Input/style/index.js +1 -1
  138. package/es/components/Input/useAmountInput.js +1 -1
  139. package/es/components/Input/useSyncRef.js +1 -1
  140. package/es/components/Link/Link.js +1 -1
  141. package/es/components/Link/constants.js +1 -1
  142. package/es/components/Link/index.js +1 -1
  143. package/es/components/Link/interface.js +1 -1
  144. package/es/components/Link/style/css.js +1 -1
  145. package/es/components/Link/style/index.js +1 -1
  146. package/es/components/Navigation/Nav.js +1 -1
  147. package/es/components/Navigation/Navigation.js +1 -1
  148. package/es/components/Navigation/NavigationLogo.js +1 -1
  149. package/es/components/Navigation/NavigationStepper.js +1 -1
  150. package/es/components/Navigation/index.js +1 -1
  151. package/es/components/Navigation/interface.js +1 -1
  152. package/es/components/Navigation/style/css.js +1 -1
  153. package/es/components/Navigation/style/index.js +1 -1
  154. package/es/components/Notification/Notification.js +1 -1
  155. package/es/components/Notification/NotificationStatic.js +1 -1
  156. package/es/components/Notification/constants.js +1 -1
  157. package/es/components/Notification/index.js +1 -1
  158. package/es/components/Notification/interface.js +1 -1
  159. package/es/components/Notification/style/css.js +1 -1
  160. package/es/components/Notification/style/index.js +1 -1
  161. package/es/components/Pagination/Pagination.js +1 -1
  162. package/es/components/Pagination/constants.js +1 -1
  163. package/es/components/Pagination/index.js +1 -1
  164. package/es/components/Pagination/interface.js +1 -1
  165. package/es/components/Pagination/style/css.js +1 -1
  166. package/es/components/Pagination/style/index.js +1 -1
  167. package/es/components/Pagination/usePagination.js +1 -1
  168. package/es/components/Popconfirm/Popconfirm.js +1 -1
  169. package/es/components/Popconfirm/constants.js +1 -1
  170. package/es/components/Popconfirm/index.js +1 -1
  171. package/es/components/Popconfirm/interface.js +1 -1
  172. package/es/components/Popconfirm/style/css.js +1 -1
  173. package/es/components/Popconfirm/style/index.js +1 -1
  174. package/es/components/Portal/Portal.js +1 -1
  175. package/es/components/Portal/index.js +1 -1
  176. package/es/components/Portal/interface.js +1 -1
  177. package/es/components/ProForm/ProForm.js +1 -1
  178. package/es/components/ProForm/ProFormDependency.js +1 -1
  179. package/es/components/ProForm/ProFormGroup.js +1 -1
  180. package/es/components/ProForm/ProFormItem.js +1 -1
  181. package/es/components/ProForm/ProFormList.js +1 -1
  182. package/es/components/ProForm/Submitter.js +1 -1
  183. package/es/components/ProForm/constants.js +1 -1
  184. package/es/components/ProForm/context.js +1 -1
  185. package/es/components/ProForm/core/constants.js +1 -1
  186. package/es/components/ProForm/core/hooks/useForm.js +1 -1
  187. package/es/components/ProForm/core/hooks/useFormCore.js +1 -1
  188. package/es/components/ProForm/core/index.js +1 -1
  189. package/es/components/ProForm/core/interface.js +1 -1
  190. package/es/components/ProForm/core/useFormItem.js +1 -1
  191. package/es/components/ProForm/fields/ProFormCheckbox.js +1 -1
  192. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
  193. package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
  194. package/es/components/ProForm/fields/ProFormFieldSet.js +1 -1
  195. package/es/components/ProForm/fields/ProFormPassword.js +1 -1
  196. package/es/components/ProForm/fields/ProFormRadioGroup.js +1 -1
  197. package/es/components/ProForm/fields/ProFormSelect.js +1 -1
  198. package/es/components/ProForm/fields/ProFormSlider.js +1 -1
  199. package/es/components/ProForm/fields/ProFormSwitch.js +1 -1
  200. package/es/components/ProForm/fields/ProFormText.js +1 -1
  201. package/es/components/ProForm/fields/ProFormTextArea.js +1 -1
  202. package/es/components/ProForm/fields/ProFormUpload.js +1 -1
  203. package/es/components/ProForm/fields/createProFormField.js +1 -1
  204. package/es/components/ProForm/fields/index.js +1 -1
  205. package/es/components/ProForm/hooks/useFieldRequest.js +1 -1
  206. package/es/components/ProForm/index.js +1 -1
  207. package/es/components/ProForm/interface.js +1 -1
  208. package/es/components/ProForm/layouts/DialogForm.js +1 -1
  209. package/es/components/ProForm/layouts/DrawerForm.js +1 -1
  210. package/es/components/ProForm/layouts/QueryFilter.js +1 -1
  211. package/es/components/ProForm/layouts/index.js +1 -1
  212. package/es/components/ProForm/layouts/useOverlayForm.js +1 -1
  213. package/es/components/ProForm/style/css.js +1 -1
  214. package/es/components/ProForm/style/index.js +1 -1
  215. package/es/components/ProForm/utils.js +1 -1
  216. package/es/components/Progress/Progress.js +1 -1
  217. package/es/components/Progress/constants.js +1 -1
  218. package/es/components/Progress/index.js +1 -1
  219. package/es/components/Progress/interface.js +1 -1
  220. package/es/components/Progress/style/css.js +1 -1
  221. package/es/components/Progress/style/index.js +1 -1
  222. package/es/components/Radio/BaseRadio.js +1 -1
  223. package/es/components/Radio/Radio.js +1 -1
  224. package/es/components/Radio/RadioGroup.js +1 -1
  225. package/es/components/Radio/RadioGroupContext.js +1 -1
  226. package/es/components/Radio/constants.js +1 -1
  227. package/es/components/Radio/index.js +1 -1
  228. package/es/components/Radio/interface.js +1 -1
  229. package/es/components/Radio/style/css.js +1 -1
  230. package/es/components/Radio/style/index.js +1 -1
  231. package/es/components/ResizeObserver/Collection.js +1 -1
  232. package/es/components/ResizeObserver/ResizeObserver.js +1 -1
  233. package/es/components/ResizeObserver/SingleObserver/index.js +1 -1
  234. package/es/components/ResizeObserver/index.js +1 -1
  235. package/es/components/ResizeObserver/interface.js +1 -1
  236. package/es/components/ResizeObserver/useResizeObserver.js +1 -1
  237. package/es/components/ResizeObserver/utils/observerUtil.js +1 -1
  238. package/es/components/ResizeObserver/utils/reactUtil.js +1 -1
  239. package/es/components/Segment/Segment.js +1 -1
  240. package/es/components/Segment/index.js +1 -1
  241. package/es/components/Segment/interface.js +1 -1
  242. package/es/components/Segment/style/css.js +1 -1
  243. package/es/components/Segment/style/index.js +1 -1
  244. package/es/components/Select/Select.js +59 -64
  245. package/es/components/Select/SelectFieldShell.d.ts +0 -1
  246. package/es/components/Select/SelectFieldShell.js +3 -9
  247. package/es/components/Select/SelectOptionContent.js +1 -1
  248. package/es/components/Select/SelectSearchControl.d.ts +0 -2
  249. package/es/components/Select/SelectSearchControl.js +4 -7
  250. package/es/components/Select/SelectValueContent.js +1 -1
  251. package/es/components/Select/constants.js +1 -1
  252. package/es/components/Select/index.d.ts +0 -1
  253. package/es/components/Select/index.js +1 -2
  254. package/es/components/Select/interface.d.ts +0 -116
  255. package/es/components/Select/interface.js +1 -1
  256. package/es/components/Select/style/Select.css +1 -1
  257. package/es/components/Select/style/css.js +1 -1
  258. package/es/components/Select/style/index.js +1 -1
  259. package/es/components/Select/utils.js +1 -1
  260. package/es/components/Skeleton/Skeleton.js +1 -1
  261. package/es/components/Skeleton/index.js +1 -1
  262. package/es/components/Skeleton/interface.js +1 -1
  263. package/es/components/Skeleton/style/css.js +1 -1
  264. package/es/components/Skeleton/style/index.js +1 -1
  265. package/es/components/Slider/Slider.js +1 -1
  266. package/es/components/Slider/index.js +1 -1
  267. package/es/components/Slider/interface.js +1 -1
  268. package/es/components/Slider/style/css.js +1 -1
  269. package/es/components/Slider/style/index.js +1 -1
  270. package/es/components/Space/Space.js +1 -1
  271. package/es/components/Space/constants.js +1 -1
  272. package/es/components/Space/index.js +1 -1
  273. package/es/components/Space/interface.js +1 -1
  274. package/es/components/Space/style/css.js +1 -1
  275. package/es/components/Space/style/index.js +1 -1
  276. package/es/components/Spinner/Spinner.js +1 -1
  277. package/es/components/Spinner/index.js +1 -1
  278. package/es/components/Spinner/interface.js +1 -1
  279. package/es/components/Spinner/style/css.js +1 -1
  280. package/es/components/Spinner/style/index.js +1 -1
  281. package/es/components/Step/Step.js +1 -1
  282. package/es/components/Step/constants.js +1 -1
  283. package/es/components/Step/index.js +1 -1
  284. package/es/components/Step/interface.js +1 -1
  285. package/es/components/Step/style/css.js +1 -1
  286. package/es/components/Step/style/index.js +1 -1
  287. package/es/components/Switch/Switch.js +1 -1
  288. package/es/components/Switch/constants.js +1 -1
  289. package/es/components/Switch/index.js +1 -1
  290. package/es/components/Switch/interface.js +1 -1
  291. package/es/components/Switch/style/css.js +1 -1
  292. package/es/components/Switch/style/index.js +1 -1
  293. package/es/components/Table/Table.js +1 -1
  294. package/es/components/Table/VirtualTable.js +1 -1
  295. package/es/components/Table/constants.js +1 -1
  296. package/es/components/Table/core/useTableColumns.js +1 -1
  297. package/es/components/Table/core/useTableDataPipeline.js +1 -1
  298. package/es/components/Table/core/useTableExpand.js +1 -1
  299. package/es/components/Table/core/useTableSelection.js +1 -1
  300. package/es/components/Table/features/ExpandTrigger.js +1 -1
  301. package/es/components/Table/features/SelectionColumn.js +1 -1
  302. package/es/components/Table/features/SortTrigger.js +1 -1
  303. package/es/components/Table/index.js +1 -1
  304. package/es/components/Table/interface.js +1 -1
  305. package/es/components/Table/internal/index.js +1 -1
  306. package/es/components/Table/internal/kernel/Body/BodyRow.js +1 -1
  307. package/es/components/Table/internal/kernel/Body/ExpandedRow.js +1 -1
  308. package/es/components/Table/internal/kernel/Body/MeasureCell.js +1 -1
  309. package/es/components/Table/internal/kernel/Body/MeasureRow.js +1 -1
  310. package/es/components/Table/internal/kernel/Body/index.js +1 -1
  311. package/es/components/Table/internal/kernel/Cell/index.js +1 -1
  312. package/es/components/Table/internal/kernel/Cell/useCellRender.js +1 -1
  313. package/es/components/Table/internal/kernel/Cell/useHoverState.js +1 -1
  314. package/es/components/Table/internal/kernel/ColGroup.js +1 -1
  315. package/es/components/Table/internal/kernel/FixedHolder/index.js +1 -1
  316. package/es/components/Table/internal/kernel/Footer/Cell.js +1 -1
  317. package/es/components/Table/internal/kernel/Footer/Row.js +1 -1
  318. package/es/components/Table/internal/kernel/Footer/Summary.js +1 -1
  319. package/es/components/Table/internal/kernel/Footer/SummaryContext.js +1 -1
  320. package/es/components/Table/internal/kernel/Footer/index.js +1 -1
  321. package/es/components/Table/internal/kernel/Header/Header.js +1 -1
  322. package/es/components/Table/internal/kernel/Header/HeaderRow.js +1 -1
  323. package/es/components/Table/internal/kernel/Panel/index.js +1 -1
  324. package/es/components/Table/internal/kernel/Table.js +1 -1
  325. package/es/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -1
  326. package/es/components/Table/internal/kernel/VirtualTable/BodyLine.js +1 -1
  327. package/es/components/Table/internal/kernel/VirtualTable/VirtualCell.js +1 -1
  328. package/es/components/Table/internal/kernel/VirtualTable/context.js +1 -1
  329. package/es/components/Table/internal/kernel/VirtualTable/index.js +1 -1
  330. package/es/components/Table/internal/kernel/constant.js +1 -1
  331. package/es/components/Table/internal/kernel/context/PerfContext.js +1 -1
  332. package/es/components/Table/internal/kernel/context/TableContext.js +1 -1
  333. package/es/components/Table/internal/kernel/hooks/useColumns/index.js +1 -1
  334. package/es/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +1 -1
  335. package/es/components/Table/internal/kernel/hooks/useExpand.js +1 -1
  336. package/es/components/Table/internal/kernel/hooks/useFixedInfo.js +1 -1
  337. package/es/components/Table/internal/kernel/hooks/useFlattenRecords.js +1 -1
  338. package/es/components/Table/internal/kernel/hooks/useFrame.js +1 -1
  339. package/es/components/Table/internal/kernel/hooks/useHover.js +1 -1
  340. package/es/components/Table/internal/kernel/hooks/useRenderTimes.js +1 -1
  341. package/es/components/Table/internal/kernel/hooks/useRowInfo.js +1 -1
  342. package/es/components/Table/internal/kernel/hooks/useSticky.js +1 -1
  343. package/es/components/Table/internal/kernel/hooks/useStickyOffsets.js +1 -1
  344. package/es/components/Table/internal/kernel/index.js +1 -1
  345. package/es/components/Table/internal/kernel/interface.js +1 -1
  346. package/es/components/Table/internal/kernel/namePathType.js +1 -1
  347. package/es/components/Table/internal/kernel/selector-context/Immutable.js +1 -1
  348. package/es/components/Table/internal/kernel/selector-context/context.js +1 -1
  349. package/es/components/Table/internal/kernel/selector-context/index.js +1 -1
  350. package/es/components/Table/internal/kernel/selector-context/isEqual.js +1 -1
  351. package/es/components/Table/internal/kernel/stickyScrollBar.js +1 -1
  352. package/es/components/Table/internal/kernel/sugar/Column.js +1 -1
  353. package/es/components/Table/internal/kernel/sugar/ColumnGroup.js +1 -1
  354. package/es/components/Table/internal/kernel/utils/dom/canUseDom.js +1 -1
  355. package/es/components/Table/internal/kernel/utils/dom/isVisible.js +1 -1
  356. package/es/components/Table/internal/kernel/utils/expandUtil.js +1 -1
  357. package/es/components/Table/internal/kernel/utils/fixUtil.js +1 -1
  358. package/es/components/Table/internal/kernel/utils/get.js +1 -1
  359. package/es/components/Table/internal/kernel/utils/getScrollBarSize.js +1 -1
  360. package/es/components/Table/internal/kernel/utils/legacyUtil.js +1 -1
  361. package/es/components/Table/internal/kernel/utils/offsetUtil.js +1 -1
  362. package/es/components/Table/internal/kernel/utils/pickAttrs.js +1 -1
  363. package/es/components/Table/internal/kernel/utils/useMemo.js +1 -1
  364. package/es/components/Table/internal/kernel/utils/valueUtil.js +1 -1
  365. package/es/components/Table/internal/kernel/utils/warning.js +1 -1
  366. package/es/components/Table/renderers/BodyCell.js +1 -1
  367. package/es/components/Table/renderers/CellContent.js +1 -1
  368. package/es/components/Table/renderers/EmptyState.js +1 -1
  369. package/es/components/Table/renderers/ExpandedRowContainer.js +1 -1
  370. package/es/components/Table/renderers/HeaderCell.js +1 -1
  371. package/es/components/Table/style/css.js +1 -1
  372. package/es/components/Table/style/index.js +1 -1
  373. package/es/components/Tabs/Tabs.js +1 -1
  374. package/es/components/Tabs/index.js +1 -1
  375. package/es/components/Tabs/interface.js +1 -1
  376. package/es/components/Tabs/style/css.js +1 -1
  377. package/es/components/Tabs/style/index.js +1 -1
  378. package/es/components/Tag/Tag.js +1 -1
  379. package/es/components/Tag/constants.js +1 -1
  380. package/es/components/Tag/index.js +1 -1
  381. package/es/components/Tag/interface.js +1 -1
  382. package/es/components/Tag/style/css.js +1 -1
  383. package/es/components/Tag/style/index.js +1 -1
  384. package/es/components/Tooltip/Tooltip.js +1 -1
  385. package/es/components/Tooltip/index.js +1 -1
  386. package/es/components/Tooltip/interface.js +1 -1
  387. package/es/components/Tooltip/style/css.js +1 -1
  388. package/es/components/Tooltip/style/index.js +1 -1
  389. package/es/components/Tour/Tour.js +1 -1
  390. package/es/components/Tour/index.js +1 -1
  391. package/es/components/Tour/interface.js +1 -1
  392. package/es/components/Trigger/Trigger.js +8 -33
  393. package/es/components/Trigger/index.js +1 -1
  394. package/es/components/Trigger/interface.d.ts +2 -25
  395. package/es/components/Trigger/interface.js +1 -1
  396. package/es/components/Trigger/style/css.js +1 -1
  397. package/es/components/Trigger/style/index.js +1 -1
  398. package/es/components/Typography/Typography.js +1 -1
  399. package/es/components/Typography/constants.js +1 -1
  400. package/es/components/Typography/index.js +1 -1
  401. package/es/components/Typography/interface.js +1 -1
  402. package/es/components/Typography/render.js +1 -1
  403. package/es/components/Typography/style/css.js +1 -1
  404. package/es/components/Typography/style/index.js +1 -1
  405. package/es/components/Typography/useTypographyEnhancements.js +1 -1
  406. package/es/components/Typography/utils.js +1 -1
  407. package/es/components/Upload/Upload.js +1 -1
  408. package/es/components/Upload/UploadFileBar.js +1 -1
  409. package/es/components/Upload/index.js +1 -1
  410. package/es/components/Upload/interface.d.ts +2 -0
  411. package/es/components/Upload/interface.js +1 -1
  412. package/es/components/Upload/style/css.js +1 -1
  413. package/es/components/Upload/style/index.js +1 -1
  414. package/es/components/VirtualList/Filler.js +1 -1
  415. package/es/components/VirtualList/Item.js +1 -1
  416. package/es/components/VirtualList/ScrollBar.js +1 -1
  417. package/es/components/VirtualList/VirtualList.js +1 -1
  418. package/es/components/VirtualList/constants.js +1 -1
  419. package/es/components/VirtualList/hooks/useChildren.js +1 -1
  420. package/es/components/VirtualList/hooks/useDiffItem.js +1 -1
  421. package/es/components/VirtualList/hooks/useFrameWheel.js +1 -1
  422. package/es/components/VirtualList/hooks/useGetSize.js +1 -1
  423. package/es/components/VirtualList/hooks/useHeights.js +1 -1
  424. package/es/components/VirtualList/hooks/useMobileTouchMove.js +1 -1
  425. package/es/components/VirtualList/hooks/useOriginScroll.js +1 -1
  426. package/es/components/VirtualList/hooks/useScrollDrag.js +1 -1
  427. package/es/components/VirtualList/hooks/useScrollTo.js +1 -1
  428. package/es/components/VirtualList/index.js +1 -1
  429. package/es/components/VirtualList/interface.js +1 -1
  430. package/es/components/VirtualList/style/css.js +1 -1
  431. package/es/components/VirtualList/style/index.js +1 -1
  432. package/es/components/VirtualList/utils/CacheMap.js +1 -1
  433. package/es/components/VirtualList/utils/algorithmUtil.js +1 -1
  434. package/es/components/VirtualList/utils/isFirefox.js +1 -1
  435. package/es/components/VirtualList/utils/raf.js +1 -1
  436. package/es/components/VirtualList/utils/scrollbarUtil.js +1 -1
  437. package/es/index.css +1 -1
  438. package/es/index.d.ts +3 -3
  439. package/es/index.js +2 -2
  440. package/es/stories/docs/ComponentDocsPage.js +2 -2
  441. package/es/stories/docs/componentDocMeta.js +1 -4
  442. package/es/stories/docs/storybook-docs.css +1 -323
  443. package/es/utils/classnames.js +1 -1
  444. package/es/utils/clipboard.js +1 -1
  445. package/es/utils/ref.js +1 -1
  446. package/es/utils/uuid.js +1 -1
  447. package/lib/components/Accordion/Accordion.js +1 -1
  448. package/lib/components/Accordion/constants.js +1 -1
  449. package/lib/components/Accordion/index.js +1 -1
  450. package/lib/components/Accordion/interface.js +1 -1
  451. package/lib/components/Accordion/style/css.js +1 -1
  452. package/lib/components/Accordion/style/index.js +1 -1
  453. package/lib/components/Alert/Alert.js +1 -1
  454. package/lib/components/Alert/index.js +1 -1
  455. package/lib/components/Alert/interface.js +1 -1
  456. package/lib/components/Alert/style/css.js +1 -1
  457. package/lib/components/Alert/style/index.js +1 -1
  458. package/lib/components/Button/Button.js +1 -1
  459. package/lib/components/Button/constants.js +1 -1
  460. package/lib/components/Button/index.js +1 -1
  461. package/lib/components/Button/interface.js +1 -1
  462. package/lib/components/Button/style/css.js +1 -1
  463. package/lib/components/Button/style/index.js +1 -1
  464. package/lib/components/Calendar/Calendar.js +1 -1
  465. package/lib/components/Calendar/index.js +1 -1
  466. package/lib/components/Calendar/interface.js +1 -1
  467. package/lib/components/Calendar/style/css.js +1 -1
  468. package/lib/components/Calendar/style/index.js +1 -1
  469. package/lib/components/Carousel/Carousel.js +1 -1
  470. package/lib/components/Carousel/index.js +1 -1
  471. package/lib/components/Carousel/interface.js +1 -1
  472. package/lib/components/Carousel/style/css.js +1 -1
  473. package/lib/components/Carousel/style/index.js +1 -1
  474. package/lib/components/Cell/Cell.js +1 -1
  475. package/lib/components/Cell/index.js +1 -1
  476. package/lib/components/Cell/interface.js +1 -1
  477. package/lib/components/Cell/style/css.js +1 -1
  478. package/lib/components/Cell/style/index.js +1 -1
  479. package/lib/components/Checkbox/BaseCheckbox.js +1 -1
  480. package/lib/components/Checkbox/Checkbox.js +1 -1
  481. package/lib/components/Checkbox/CheckboxGroup.js +1 -1
  482. package/lib/components/Checkbox/CheckboxGroupContext.js +1 -1
  483. package/lib/components/Checkbox/constants.js +1 -1
  484. package/lib/components/Checkbox/index.js +1 -1
  485. package/lib/components/Checkbox/interface.js +1 -1
  486. package/lib/components/Checkbox/style/css.js +1 -1
  487. package/lib/components/Checkbox/style/index.js +1 -1
  488. package/lib/components/CoachMark/CoachMark.js +1 -1
  489. package/lib/components/CoachMark/index.js +1 -1
  490. package/lib/components/CoachMark/interface.js +1 -1
  491. package/lib/components/CoachMark/style/css.js +1 -1
  492. package/lib/components/CoachMark/style/index.js +1 -1
  493. package/lib/components/Copy/Clipboard.js +1 -1
  494. package/lib/components/Copy/Copy.js +1 -1
  495. package/lib/components/Copy/index.js +1 -1
  496. package/lib/components/Copy/interface.js +1 -1
  497. package/lib/components/Copy/style/css.js +1 -1
  498. package/lib/components/Copy/style/index.js +1 -1
  499. package/lib/components/Dialog/Dialog.js +1 -1
  500. package/lib/components/Dialog/constants.js +1 -1
  501. package/lib/components/Dialog/index.js +1 -1
  502. package/lib/components/Dialog/interface.js +1 -1
  503. package/lib/components/Dialog/style/css.js +1 -1
  504. package/lib/components/Dialog/style/index.js +1 -1
  505. package/lib/components/Divider/Divider.js +1 -1
  506. package/lib/components/Divider/constants.js +1 -1
  507. package/lib/components/Divider/index.js +1 -1
  508. package/lib/components/Divider/interface.js +1 -1
  509. package/lib/components/Divider/style/css.js +1 -1
  510. package/lib/components/Divider/style/index.js +1 -1
  511. package/lib/components/Drawer/Drawer.js +1 -1
  512. package/lib/components/Drawer/constants.js +1 -1
  513. package/lib/components/Drawer/hooks/index.js +1 -1
  514. package/lib/components/Drawer/hooks/useBodyScrollLock.js +1 -1
  515. package/lib/components/Drawer/hooks/useDialogFocus.js +1 -1
  516. package/lib/components/Drawer/hooks/useDrawerTransition.js +1 -1
  517. package/lib/components/Drawer/hooks/useEscapeClose.js +1 -1
  518. package/lib/components/Drawer/index.js +1 -1
  519. package/lib/components/Drawer/interface.js +1 -1
  520. package/lib/components/Drawer/style/css.js +1 -1
  521. package/lib/components/Drawer/style/index.js +1 -1
  522. package/lib/components/Dropdown/Dropdown.js +3 -11
  523. package/lib/components/Dropdown/index.js +1 -1
  524. package/lib/components/Dropdown/interface.js +1 -1
  525. package/lib/components/Dropdown/style/css.js +1 -1
  526. package/lib/components/Dropdown/style/index.js +1 -1
  527. package/lib/components/Empty/Empty.js +1 -1
  528. package/lib/components/Empty/index.js +1 -1
  529. package/lib/components/Empty/interface.js +1 -1
  530. package/lib/components/Empty/style/css.js +1 -1
  531. package/lib/components/Empty/style/index.js +1 -1
  532. package/lib/components/Flex/Flex.js +1 -1
  533. package/lib/components/Flex/constants.js +1 -1
  534. package/lib/components/Flex/index.js +1 -1
  535. package/lib/components/Flex/interface.js +1 -1
  536. package/lib/components/Flex/style/css.js +1 -1
  537. package/lib/components/Flex/style/index.js +1 -1
  538. package/lib/components/Grid/Col.js +1 -1
  539. package/lib/components/Grid/Grid.js +1 -1
  540. package/lib/components/Grid/Row.js +1 -1
  541. package/lib/components/Grid/constants.js +1 -1
  542. package/lib/components/Grid/helper.js +1 -1
  543. package/lib/components/Grid/index.js +1 -1
  544. package/lib/components/Grid/interface.js +1 -1
  545. package/lib/components/Grid/style/css.js +1 -1
  546. package/lib/components/Grid/style/index.js +1 -1
  547. package/lib/components/Icons/Icons.js +1 -1
  548. package/lib/components/Icons/Illustrations.js +1 -1
  549. package/lib/components/Icons/Logo.js +1 -1
  550. package/lib/components/Icons/SVGs.js +1 -1
  551. package/lib/components/Icons/Wrapper.js +1 -1
  552. package/lib/components/Icons/index.js +1 -1
  553. package/lib/components/Icons/interface.d.ts +3 -0
  554. package/lib/components/Icons/interface.js +1 -1
  555. package/lib/components/Icons/style/css.js +1 -1
  556. package/lib/components/Icons/style/index.js +1 -1
  557. package/lib/components/Input/Amount/Amount.js +1 -1
  558. package/lib/components/Input/Amount/helper.js +1 -1
  559. package/lib/components/Input/Amount/index.js +1 -1
  560. package/lib/components/Input/Amount/style/css.js +1 -1
  561. package/lib/components/Input/Amount/style/index.js +1 -1
  562. package/lib/components/Input/FieldShell/FieldShell.js +1 -1
  563. package/lib/components/Input/FieldShell/index.js +1 -1
  564. package/lib/components/Input/Input/Input.js +1 -1
  565. package/lib/components/Input/Input/index.js +1 -1
  566. package/lib/components/Input/Mask/Mask.js +1 -1
  567. package/lib/components/Input/Mask/index.js +1 -1
  568. package/lib/components/Input/OTP/OTP.js +1 -1
  569. package/lib/components/Input/OTP/index.js +1 -1
  570. package/lib/components/Input/Password/Password.js +1 -1
  571. package/lib/components/Input/Password/index.js +1 -1
  572. package/lib/components/Input/Search/Search.js +1 -1
  573. package/lib/components/Input/Search/index.js +1 -1
  574. package/lib/components/Input/TextArea/TextArea.js +1 -1
  575. package/lib/components/Input/TextArea/index.js +1 -1
  576. package/lib/components/Input/Trade/Trade.js +1 -1
  577. package/lib/components/Input/Trade/index.js +1 -1
  578. package/lib/components/Input/constants.js +1 -1
  579. package/lib/components/Input/index.js +1 -1
  580. package/lib/components/Input/interface.js +1 -1
  581. package/lib/components/Input/style/css.js +1 -1
  582. package/lib/components/Input/style/index.js +1 -1
  583. package/lib/components/Input/useAmountInput.js +1 -1
  584. package/lib/components/Input/useSyncRef.js +1 -1
  585. package/lib/components/Link/Link.js +1 -1
  586. package/lib/components/Link/constants.js +1 -1
  587. package/lib/components/Link/index.js +1 -1
  588. package/lib/components/Link/interface.js +1 -1
  589. package/lib/components/Link/style/css.js +1 -1
  590. package/lib/components/Link/style/index.js +1 -1
  591. package/lib/components/Navigation/Nav.js +1 -1
  592. package/lib/components/Navigation/Navigation.js +1 -1
  593. package/lib/components/Navigation/NavigationLogo.js +1 -1
  594. package/lib/components/Navigation/NavigationStepper.js +1 -1
  595. package/lib/components/Navigation/index.js +1 -1
  596. package/lib/components/Navigation/interface.js +1 -1
  597. package/lib/components/Navigation/style/css.js +1 -1
  598. package/lib/components/Navigation/style/index.js +1 -1
  599. package/lib/components/Notification/Notification.js +1 -1
  600. package/lib/components/Notification/NotificationStatic.js +1 -1
  601. package/lib/components/Notification/constants.js +1 -1
  602. package/lib/components/Notification/index.js +1 -1
  603. package/lib/components/Notification/interface.js +1 -1
  604. package/lib/components/Notification/style/css.js +1 -1
  605. package/lib/components/Notification/style/index.js +1 -1
  606. package/lib/components/Pagination/Pagination.js +1 -1
  607. package/lib/components/Pagination/constants.js +1 -1
  608. package/lib/components/Pagination/index.js +1 -1
  609. package/lib/components/Pagination/interface.js +1 -1
  610. package/lib/components/Pagination/style/css.js +1 -1
  611. package/lib/components/Pagination/style/index.js +1 -1
  612. package/lib/components/Pagination/usePagination.js +1 -1
  613. package/lib/components/Popconfirm/Popconfirm.js +1 -1
  614. package/lib/components/Popconfirm/constants.js +1 -1
  615. package/lib/components/Popconfirm/index.js +1 -1
  616. package/lib/components/Popconfirm/interface.js +1 -1
  617. package/lib/components/Popconfirm/style/css.js +1 -1
  618. package/lib/components/Popconfirm/style/index.js +1 -1
  619. package/lib/components/Portal/Portal.js +1 -1
  620. package/lib/components/Portal/index.js +1 -1
  621. package/lib/components/Portal/interface.js +1 -1
  622. package/lib/components/ProForm/ProForm.js +1 -1
  623. package/lib/components/ProForm/ProFormDependency.js +1 -1
  624. package/lib/components/ProForm/ProFormGroup.js +1 -1
  625. package/lib/components/ProForm/ProFormItem.js +1 -1
  626. package/lib/components/ProForm/ProFormList.js +1 -1
  627. package/lib/components/ProForm/Submitter.js +1 -1
  628. package/lib/components/ProForm/constants.js +1 -1
  629. package/lib/components/ProForm/context.js +1 -1
  630. package/lib/components/ProForm/core/constants.js +1 -1
  631. package/lib/components/ProForm/core/hooks/useForm.js +1 -1
  632. package/lib/components/ProForm/core/hooks/useFormCore.js +1 -1
  633. package/lib/components/ProForm/core/index.js +1 -1
  634. package/lib/components/ProForm/core/interface.js +1 -1
  635. package/lib/components/ProForm/core/useFormItem.js +1 -1
  636. package/lib/components/ProForm/fields/ProFormCheckbox.js +1 -1
  637. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
  638. package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
  639. package/lib/components/ProForm/fields/ProFormFieldSet.js +1 -1
  640. package/lib/components/ProForm/fields/ProFormPassword.js +1 -1
  641. package/lib/components/ProForm/fields/ProFormRadioGroup.js +1 -1
  642. package/lib/components/ProForm/fields/ProFormSelect.js +1 -1
  643. package/lib/components/ProForm/fields/ProFormSlider.js +1 -1
  644. package/lib/components/ProForm/fields/ProFormSwitch.js +1 -1
  645. package/lib/components/ProForm/fields/ProFormText.js +1 -1
  646. package/lib/components/ProForm/fields/ProFormTextArea.js +1 -1
  647. package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
  648. package/lib/components/ProForm/fields/createProFormField.js +1 -1
  649. package/lib/components/ProForm/fields/index.js +1 -1
  650. package/lib/components/ProForm/hooks/useFieldRequest.js +1 -1
  651. package/lib/components/ProForm/index.js +1 -1
  652. package/lib/components/ProForm/interface.js +1 -1
  653. package/lib/components/ProForm/layouts/DialogForm.js +1 -1
  654. package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
  655. package/lib/components/ProForm/layouts/QueryFilter.js +1 -1
  656. package/lib/components/ProForm/layouts/index.js +1 -1
  657. package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
  658. package/lib/components/ProForm/style/css.js +1 -1
  659. package/lib/components/ProForm/style/index.js +1 -1
  660. package/lib/components/ProForm/utils.js +1 -1
  661. package/lib/components/Progress/Progress.js +1 -1
  662. package/lib/components/Progress/constants.js +1 -1
  663. package/lib/components/Progress/index.js +1 -1
  664. package/lib/components/Progress/interface.js +1 -1
  665. package/lib/components/Progress/style/css.js +1 -1
  666. package/lib/components/Progress/style/index.js +1 -1
  667. package/lib/components/Radio/BaseRadio.js +1 -1
  668. package/lib/components/Radio/Radio.js +1 -1
  669. package/lib/components/Radio/RadioGroup.js +1 -1
  670. package/lib/components/Radio/RadioGroupContext.js +1 -1
  671. package/lib/components/Radio/constants.js +1 -1
  672. package/lib/components/Radio/index.js +1 -1
  673. package/lib/components/Radio/interface.js +1 -1
  674. package/lib/components/Radio/style/css.js +1 -1
  675. package/lib/components/Radio/style/index.js +1 -1
  676. package/lib/components/ResizeObserver/Collection.js +1 -1
  677. package/lib/components/ResizeObserver/ResizeObserver.js +1 -1
  678. package/lib/components/ResizeObserver/SingleObserver/index.js +1 -1
  679. package/lib/components/ResizeObserver/index.js +1 -1
  680. package/lib/components/ResizeObserver/interface.js +1 -1
  681. package/lib/components/ResizeObserver/useResizeObserver.js +1 -1
  682. package/lib/components/ResizeObserver/utils/observerUtil.js +1 -1
  683. package/lib/components/ResizeObserver/utils/reactUtil.js +1 -1
  684. package/lib/components/Segment/Segment.js +1 -1
  685. package/lib/components/Segment/index.js +1 -1
  686. package/lib/components/Segment/interface.js +1 -1
  687. package/lib/components/Segment/style/css.js +1 -1
  688. package/lib/components/Segment/style/index.js +1 -1
  689. package/lib/components/Select/Select.js +58 -63
  690. package/lib/components/Select/SelectFieldShell.d.ts +0 -1
  691. package/lib/components/Select/SelectFieldShell.js +3 -9
  692. package/lib/components/Select/SelectOptionContent.js +1 -1
  693. package/lib/components/Select/SelectSearchControl.d.ts +0 -2
  694. package/lib/components/Select/SelectSearchControl.js +4 -7
  695. package/lib/components/Select/SelectValueContent.js +1 -1
  696. package/lib/components/Select/constants.js +1 -1
  697. package/lib/components/Select/index.d.ts +0 -1
  698. package/lib/components/Select/index.js +2 -11
  699. package/lib/components/Select/interface.d.ts +0 -116
  700. package/lib/components/Select/interface.js +1 -1
  701. package/lib/components/Select/style/Select.css +1 -1
  702. package/lib/components/Select/style/css.js +1 -1
  703. package/lib/components/Select/style/index.js +1 -1
  704. package/lib/components/Select/utils.js +1 -1
  705. package/lib/components/Skeleton/Skeleton.js +1 -1
  706. package/lib/components/Skeleton/index.js +1 -1
  707. package/lib/components/Skeleton/interface.js +1 -1
  708. package/lib/components/Skeleton/style/css.js +1 -1
  709. package/lib/components/Skeleton/style/index.js +1 -1
  710. package/lib/components/Slider/Slider.js +1 -1
  711. package/lib/components/Slider/index.js +1 -1
  712. package/lib/components/Slider/interface.js +1 -1
  713. package/lib/components/Slider/style/css.js +1 -1
  714. package/lib/components/Slider/style/index.js +1 -1
  715. package/lib/components/Space/Space.js +1 -1
  716. package/lib/components/Space/constants.js +1 -1
  717. package/lib/components/Space/index.js +1 -1
  718. package/lib/components/Space/interface.js +1 -1
  719. package/lib/components/Space/style/css.js +1 -1
  720. package/lib/components/Space/style/index.js +1 -1
  721. package/lib/components/Spinner/Spinner.js +1 -1
  722. package/lib/components/Spinner/index.js +1 -1
  723. package/lib/components/Spinner/interface.js +1 -1
  724. package/lib/components/Spinner/style/css.js +1 -1
  725. package/lib/components/Spinner/style/index.js +1 -1
  726. package/lib/components/Step/Step.js +1 -1
  727. package/lib/components/Step/constants.js +1 -1
  728. package/lib/components/Step/index.js +1 -1
  729. package/lib/components/Step/interface.js +1 -1
  730. package/lib/components/Step/style/css.js +1 -1
  731. package/lib/components/Step/style/index.js +1 -1
  732. package/lib/components/Switch/Switch.js +1 -1
  733. package/lib/components/Switch/constants.js +1 -1
  734. package/lib/components/Switch/index.js +1 -1
  735. package/lib/components/Switch/interface.js +1 -1
  736. package/lib/components/Switch/style/css.js +1 -1
  737. package/lib/components/Switch/style/index.js +1 -1
  738. package/lib/components/Table/Table.js +1 -1
  739. package/lib/components/Table/VirtualTable.js +1 -1
  740. package/lib/components/Table/constants.js +1 -1
  741. package/lib/components/Table/core/useTableColumns.js +1 -1
  742. package/lib/components/Table/core/useTableDataPipeline.js +1 -1
  743. package/lib/components/Table/core/useTableExpand.js +1 -1
  744. package/lib/components/Table/core/useTableSelection.js +1 -1
  745. package/lib/components/Table/features/ExpandTrigger.js +1 -1
  746. package/lib/components/Table/features/SelectionColumn.js +1 -1
  747. package/lib/components/Table/features/SortTrigger.js +1 -1
  748. package/lib/components/Table/index.js +1 -1
  749. package/lib/components/Table/interface.js +1 -1
  750. package/lib/components/Table/internal/index.js +1 -1
  751. package/lib/components/Table/internal/kernel/Body/BodyRow.js +1 -1
  752. package/lib/components/Table/internal/kernel/Body/ExpandedRow.js +1 -1
  753. package/lib/components/Table/internal/kernel/Body/MeasureCell.js +1 -1
  754. package/lib/components/Table/internal/kernel/Body/MeasureRow.js +1 -1
  755. package/lib/components/Table/internal/kernel/Body/index.js +1 -1
  756. package/lib/components/Table/internal/kernel/Cell/index.js +1 -1
  757. package/lib/components/Table/internal/kernel/Cell/useCellRender.js +1 -1
  758. package/lib/components/Table/internal/kernel/Cell/useHoverState.js +1 -1
  759. package/lib/components/Table/internal/kernel/ColGroup.js +1 -1
  760. package/lib/components/Table/internal/kernel/FixedHolder/index.js +1 -1
  761. package/lib/components/Table/internal/kernel/Footer/Cell.js +1 -1
  762. package/lib/components/Table/internal/kernel/Footer/Row.js +1 -1
  763. package/lib/components/Table/internal/kernel/Footer/Summary.js +1 -1
  764. package/lib/components/Table/internal/kernel/Footer/SummaryContext.js +1 -1
  765. package/lib/components/Table/internal/kernel/Footer/index.js +1 -1
  766. package/lib/components/Table/internal/kernel/Header/Header.js +1 -1
  767. package/lib/components/Table/internal/kernel/Header/HeaderRow.js +1 -1
  768. package/lib/components/Table/internal/kernel/Panel/index.js +1 -1
  769. package/lib/components/Table/internal/kernel/Table.js +1 -1
  770. package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -1
  771. package/lib/components/Table/internal/kernel/VirtualTable/BodyLine.js +1 -1
  772. package/lib/components/Table/internal/kernel/VirtualTable/VirtualCell.js +1 -1
  773. package/lib/components/Table/internal/kernel/VirtualTable/context.js +1 -1
  774. package/lib/components/Table/internal/kernel/VirtualTable/index.js +1 -1
  775. package/lib/components/Table/internal/kernel/constant.js +1 -1
  776. package/lib/components/Table/internal/kernel/context/PerfContext.js +1 -1
  777. package/lib/components/Table/internal/kernel/context/TableContext.js +1 -1
  778. package/lib/components/Table/internal/kernel/hooks/useColumns/index.js +1 -1
  779. package/lib/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +1 -1
  780. package/lib/components/Table/internal/kernel/hooks/useExpand.js +1 -1
  781. package/lib/components/Table/internal/kernel/hooks/useFixedInfo.js +1 -1
  782. package/lib/components/Table/internal/kernel/hooks/useFlattenRecords.js +1 -1
  783. package/lib/components/Table/internal/kernel/hooks/useFrame.js +1 -1
  784. package/lib/components/Table/internal/kernel/hooks/useHover.js +1 -1
  785. package/lib/components/Table/internal/kernel/hooks/useRenderTimes.js +1 -1
  786. package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +1 -1
  787. package/lib/components/Table/internal/kernel/hooks/useSticky.js +1 -1
  788. package/lib/components/Table/internal/kernel/hooks/useStickyOffsets.js +1 -1
  789. package/lib/components/Table/internal/kernel/index.js +1 -1
  790. package/lib/components/Table/internal/kernel/interface.js +1 -1
  791. package/lib/components/Table/internal/kernel/namePathType.js +1 -1
  792. package/lib/components/Table/internal/kernel/selector-context/Immutable.js +1 -1
  793. package/lib/components/Table/internal/kernel/selector-context/context.js +1 -1
  794. package/lib/components/Table/internal/kernel/selector-context/index.js +1 -1
  795. package/lib/components/Table/internal/kernel/selector-context/isEqual.js +1 -1
  796. package/lib/components/Table/internal/kernel/stickyScrollBar.js +1 -1
  797. package/lib/components/Table/internal/kernel/sugar/Column.js +1 -1
  798. package/lib/components/Table/internal/kernel/sugar/ColumnGroup.js +1 -1
  799. package/lib/components/Table/internal/kernel/utils/dom/canUseDom.js +1 -1
  800. package/lib/components/Table/internal/kernel/utils/dom/isVisible.js +1 -1
  801. package/lib/components/Table/internal/kernel/utils/expandUtil.js +1 -1
  802. package/lib/components/Table/internal/kernel/utils/fixUtil.js +1 -1
  803. package/lib/components/Table/internal/kernel/utils/get.js +1 -1
  804. package/lib/components/Table/internal/kernel/utils/getScrollBarSize.js +1 -1
  805. package/lib/components/Table/internal/kernel/utils/legacyUtil.js +1 -1
  806. package/lib/components/Table/internal/kernel/utils/offsetUtil.js +1 -1
  807. package/lib/components/Table/internal/kernel/utils/pickAttrs.js +1 -1
  808. package/lib/components/Table/internal/kernel/utils/useMemo.js +1 -1
  809. package/lib/components/Table/internal/kernel/utils/valueUtil.js +1 -1
  810. package/lib/components/Table/internal/kernel/utils/warning.js +1 -1
  811. package/lib/components/Table/renderers/BodyCell.js +1 -1
  812. package/lib/components/Table/renderers/CellContent.js +1 -1
  813. package/lib/components/Table/renderers/EmptyState.js +1 -1
  814. package/lib/components/Table/renderers/ExpandedRowContainer.js +1 -1
  815. package/lib/components/Table/renderers/HeaderCell.js +1 -1
  816. package/lib/components/Table/style/css.js +1 -1
  817. package/lib/components/Table/style/index.js +1 -1
  818. package/lib/components/Tabs/Tabs.js +1 -1
  819. package/lib/components/Tabs/index.js +1 -1
  820. package/lib/components/Tabs/interface.js +1 -1
  821. package/lib/components/Tabs/style/css.js +1 -1
  822. package/lib/components/Tabs/style/index.js +1 -1
  823. package/lib/components/Tag/Tag.js +1 -1
  824. package/lib/components/Tag/constants.js +1 -1
  825. package/lib/components/Tag/index.js +1 -1
  826. package/lib/components/Tag/interface.js +1 -1
  827. package/lib/components/Tag/style/css.js +1 -1
  828. package/lib/components/Tag/style/index.js +1 -1
  829. package/lib/components/Tooltip/Tooltip.js +1 -1
  830. package/lib/components/Tooltip/index.js +1 -1
  831. package/lib/components/Tooltip/interface.js +1 -1
  832. package/lib/components/Tooltip/style/css.js +1 -1
  833. package/lib/components/Tooltip/style/index.js +1 -1
  834. package/lib/components/Tour/Tour.js +1 -1
  835. package/lib/components/Tour/index.js +1 -1
  836. package/lib/components/Tour/interface.js +1 -1
  837. package/lib/components/Trigger/Trigger.js +7 -32
  838. package/lib/components/Trigger/index.js +1 -1
  839. package/lib/components/Trigger/interface.d.ts +2 -25
  840. package/lib/components/Trigger/interface.js +1 -1
  841. package/lib/components/Trigger/style/css.js +1 -1
  842. package/lib/components/Trigger/style/index.js +1 -1
  843. package/lib/components/Typography/Typography.js +1 -1
  844. package/lib/components/Typography/constants.js +1 -1
  845. package/lib/components/Typography/index.js +1 -1
  846. package/lib/components/Typography/interface.js +1 -1
  847. package/lib/components/Typography/render.js +1 -1
  848. package/lib/components/Typography/style/css.js +1 -1
  849. package/lib/components/Typography/style/index.js +1 -1
  850. package/lib/components/Typography/useTypographyEnhancements.js +1 -1
  851. package/lib/components/Typography/utils.js +1 -1
  852. package/lib/components/Upload/Upload.js +1 -1
  853. package/lib/components/Upload/UploadFileBar.js +1 -1
  854. package/lib/components/Upload/index.js +1 -1
  855. package/lib/components/Upload/interface.d.ts +2 -0
  856. package/lib/components/Upload/interface.js +1 -1
  857. package/lib/components/Upload/style/css.js +1 -1
  858. package/lib/components/Upload/style/index.js +1 -1
  859. package/lib/components/VirtualList/Filler.js +1 -1
  860. package/lib/components/VirtualList/Item.js +1 -1
  861. package/lib/components/VirtualList/ScrollBar.js +1 -1
  862. package/lib/components/VirtualList/VirtualList.js +1 -1
  863. package/lib/components/VirtualList/constants.js +1 -1
  864. package/lib/components/VirtualList/hooks/useChildren.js +1 -1
  865. package/lib/components/VirtualList/hooks/useDiffItem.js +1 -1
  866. package/lib/components/VirtualList/hooks/useFrameWheel.js +1 -1
  867. package/lib/components/VirtualList/hooks/useGetSize.js +1 -1
  868. package/lib/components/VirtualList/hooks/useHeights.js +1 -1
  869. package/lib/components/VirtualList/hooks/useMobileTouchMove.js +1 -1
  870. package/lib/components/VirtualList/hooks/useOriginScroll.js +1 -1
  871. package/lib/components/VirtualList/hooks/useScrollDrag.js +1 -1
  872. package/lib/components/VirtualList/hooks/useScrollTo.js +1 -1
  873. package/lib/components/VirtualList/index.js +1 -1
  874. package/lib/components/VirtualList/interface.js +1 -1
  875. package/lib/components/VirtualList/style/css.js +1 -1
  876. package/lib/components/VirtualList/style/index.js +1 -1
  877. package/lib/components/VirtualList/utils/CacheMap.js +1 -1
  878. package/lib/components/VirtualList/utils/algorithmUtil.js +1 -1
  879. package/lib/components/VirtualList/utils/isFirefox.js +1 -1
  880. package/lib/components/VirtualList/utils/raf.js +1 -1
  881. package/lib/components/VirtualList/utils/scrollbarUtil.js +1 -1
  882. package/lib/index.css +1 -1
  883. package/lib/index.d.ts +3 -3
  884. package/lib/index.js +1 -7
  885. package/lib/stories/docs/ComponentDocsPage.js +2 -2
  886. package/lib/stories/docs/componentDocMeta.js +1 -4
  887. package/lib/stories/docs/storybook-docs.css +1 -323
  888. package/lib/utils/classnames.js +1 -1
  889. package/lib/utils/clipboard.js +1 -1
  890. package/lib/utils/ref.js +1 -1
  891. package/lib/utils/uuid.js +1 -1
  892. package/package.json +1 -1
  893. package/scripts/mcp-server/examples.generated.json +504 -534
  894. package/scripts/mcp-server/index.generated.json +636 -813
  895. package/es/components/Select/SelectCustom.d.ts +0 -6
  896. package/es/components/Select/SelectCustom.js +0 -225
  897. package/es/components/Select/useSelectShell.d.ts +0 -33
  898. package/es/components/Select/useSelectShell.js +0 -103
  899. package/es/hooks/index.d.ts +0 -2
  900. package/es/hooks/index.js +0 -2
  901. package/es/hooks/useFloatingAnimation.d.ts +0 -24
  902. package/es/hooks/useFloatingAnimation.js +0 -45
  903. package/lib/components/Select/SelectCustom.d.ts +0 -6
  904. package/lib/components/Select/SelectCustom.js +0 -235
  905. package/lib/components/Select/useSelectShell.d.ts +0 -33
  906. package/lib/components/Select/useSelectShell.js +0 -111
  907. package/lib/hooks/index.d.ts +0 -2
  908. package/lib/hooks/index.js +0 -13
  909. package/lib/hooks/useFloatingAnimation.d.ts +0 -24
  910. package/lib/hooks/useFloatingAnimation.js +0 -51
@@ -6,21 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = exports.Select = void 0;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
11
  var _react = require("@floating-ui/react");
13
12
  var _react2 = require("react");
14
13
  var _hooks = require("@1money/hooks");
15
14
  var _Icons = require("../Icons");
16
- var _Spinner = require("../Spinner");
17
15
  var _Typography = require("../Typography");
18
16
  var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
19
17
  var _SelectFieldShell = _interopRequireDefault(require("./SelectFieldShell"));
20
18
  var _SelectOptionContent = _interopRequireDefault(require("./SelectOptionContent"));
21
19
  var _SelectSearchControl = _interopRequireDefault(require("./SelectSearchControl"));
22
20
  var _SelectValueContent = _interopRequireDefault(require("./SelectValueContent"));
23
- var _useSelectShell2 = require("./useSelectShell");
24
21
  var _constants = require("./constants");
25
22
  var _utils = require("./utils");
26
23
  require("./style");
@@ -50,9 +47,7 @@ var Select = exports.Select = function Select(props) {
50
47
  _props$variant = props.variant,
51
48
  variant = _props$variant === void 0 ? 'fill' : _props$variant,
52
49
  _props$disabled = props.disabled,
53
- disabledProp = _props$disabled === void 0 ? false : _props$disabled,
54
- _props$loading = props.loading,
55
- loading = _props$loading === void 0 ? false : _props$loading,
50
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
56
51
  _props$multiple = props.multiple,
57
52
  multiple = _props$multiple === void 0 ? false : _props$multiple,
58
53
  maxVisibleValues = props.maxVisibleValues,
@@ -76,16 +71,8 @@ var Select = exports.Select = function Select(props) {
76
71
  open = props.open,
77
72
  _props$defaultOpen = props.defaultOpen,
78
73
  defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
79
- _props$portal = props.portal,
80
- portal = _props$portal === void 0 ? true : _props$portal,
81
- _props$allowDeselect = props.allowDeselect,
82
- allowDeselect = _props$allowDeselect === void 0 ? false : _props$allowDeselect,
83
- panelClassName = props.panelClassName,
84
- optionClassName = props.optionClassName,
85
74
  _props$listMaxHeight = props.listMaxHeight,
86
75
  listMaxHeight = _props$listMaxHeight === void 0 ? DEFAULT_MAX_HEIGHT : _props$listMaxHeight,
87
- offset = props.offset,
88
- animation = props.animation,
89
76
  onChange = props.onChange,
90
77
  onOpenChange = props.onOpenChange,
91
78
  onSearchChange = props.onSearchChange,
@@ -94,7 +81,6 @@ var Select = exports.Select = function Select(props) {
94
81
  renderOption = props.renderOption,
95
82
  renderValue = props.renderValue,
96
83
  ref = props.ref;
97
- var disabled = disabledProp || loading;
98
84
  var classes = (0, _classnames["default"])(prefixCls);
99
85
  var autoId = (0, _react2.useId)();
100
86
  var triggerId = id !== null && id !== void 0 ? id : autoId;
@@ -105,10 +91,14 @@ var Select = exports.Select = function Select(props) {
105
91
  _useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
106
92
  innerValue = _useControlledState2[0],
107
93
  setInnerValue = _useControlledState2[1];
108
- var _useControlledState3 = (0, _hooks.useControlledState)(defaultSearchValue, searchValue),
94
+ var _useControlledState3 = (0, _hooks.useControlledState)(defaultOpen, open),
109
95
  _useControlledState4 = (0, _slicedToArray2["default"])(_useControlledState3, 2),
110
- innerSearchValue = _useControlledState4[0],
111
- setInnerSearchValue = _useControlledState4[1];
96
+ innerOpen = _useControlledState4[0],
97
+ setInnerOpen = _useControlledState4[1];
98
+ var _useControlledState5 = (0, _hooks.useControlledState)(defaultSearchValue, searchValue),
99
+ _useControlledState6 = (0, _slicedToArray2["default"])(_useControlledState5, 2),
100
+ innerSearchValue = _useControlledState6[0],
101
+ setInnerSearchValue = _useControlledState6[1];
112
102
  var _useState = (0, _react2.useState)(null),
113
103
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
114
104
  activeIndex = _useState2[0],
@@ -150,23 +140,35 @@ var Select = exports.Select = function Select(props) {
150
140
  ref.current = node;
151
141
  }
152
142
  });
153
- var _useSelectShell = (0, _useSelectShell2.useSelectShell)({
154
- open: open,
155
- defaultOpen: defaultOpen,
156
- onOpenChange: onOpenChange,
157
- disabled: disabled,
158
- listMaxHeight: listMaxHeight,
159
- animation: animation,
160
- offset: offset
143
+ var handleOpenChange = (0, _hooks.useEventCallback)(function (nextOpen) {
144
+ setInnerOpen(nextOpen);
145
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
146
+ });
147
+ var _useFloating = (0, _react.useFloating)({
148
+ open: innerOpen,
149
+ onOpenChange: handleOpenChange,
150
+ placement: 'bottom-start',
151
+ whileElementsMounted: _react.autoUpdate,
152
+ middleware: [(0, _react.offset)(0), (0, _react.flip)({
153
+ padding: 8
154
+ }), (0, _react.shift)({
155
+ padding: 8
156
+ }), (0, _react.size)({
157
+ apply: function apply(_ref) {
158
+ var rects = _ref.rects,
159
+ elements = _ref.elements,
160
+ availableHeight = _ref.availableHeight;
161
+ var nextMaxHeight = Math.max(120, Math.min(listMaxHeight, availableHeight));
162
+ Object.assign(elements.floating.style, {
163
+ width: "".concat(rects.reference.width, "px"),
164
+ maxHeight: "".concat(nextMaxHeight, "px")
165
+ });
166
+ }
167
+ })]
161
168
  }),
162
- innerOpen = _useSelectShell.isOpen,
163
- handleOpenChange = _useSelectShell.setOpen,
164
- refs = _useSelectShell.refs,
165
- context = _useSelectShell.context,
166
- floatingStyles = _useSelectShell.floatingStyles,
167
- transitionStyles = _useSelectShell.transitionStyles,
168
- isMounted = _useSelectShell.isMounted,
169
- baseInteractions = _useSelectShell.baseInteractions;
169
+ refs = _useFloating.refs,
170
+ floatingStyles = _useFloating.floatingStyles,
171
+ context = _useFloating.context;
170
172
  var setReference = (0, _hooks.useEventCallback)(function (node) {
171
173
  refs.setReference(node);
172
174
  handleTriggerRef(node);
@@ -175,6 +177,16 @@ var Select = exports.Select = function Select(props) {
175
177
  refs.setFloating(node);
176
178
  floatingRef.current = node;
177
179
  });
180
+ var click = (0, _react.useClick)(context, {
181
+ enabled: !disabled
182
+ });
183
+ var dismiss = (0, _react.useDismiss)(context, {
184
+ enabled: !disabled,
185
+ outsidePressEvent: 'mousedown'
186
+ });
187
+ var role = (0, _react.useRole)(context, {
188
+ role: 'select'
189
+ });
178
190
  var listNavigation = (0, _react.useListNavigation)(context, {
179
191
  listRef: listRef,
180
192
  activeIndex: activeIndex,
@@ -190,7 +202,7 @@ var Select = exports.Select = function Select(props) {
190
202
  enabled: innerOpen && !searchable,
191
203
  onMatch: setActiveIndex
192
204
  });
193
- var _useInteractions = (0, _react.useInteractions)([].concat((0, _toConsumableArray2["default"])(baseInteractions), [listNavigation, typeahead])),
205
+ var _useInteractions = (0, _react.useInteractions)([click, dismiss, role, listNavigation, typeahead]),
194
206
  getReferenceProps = _useInteractions.getReferenceProps,
195
207
  getFloatingProps = _useInteractions.getFloatingProps,
196
208
  getItemProps = _useInteractions.getItemProps;
@@ -264,7 +276,7 @@ var Select = exports.Select = function Select(props) {
264
276
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, nextOption);
265
277
  });
266
278
  var handleSelectOption = (0, _hooks.useEventCallback)(function (option) {
267
- var _a, _b;
279
+ var _a;
268
280
  if (option.disabled) {
269
281
  return;
270
282
  }
@@ -274,19 +286,10 @@ var Select = exports.Select = function Select(props) {
274
286
  commitChange(nextValue, nextOptions);
275
287
  return;
276
288
  }
277
- if (allowDeselect && innerValue === option.value) {
278
- commitChange(undefined, undefined);
279
- handleOpenChange(false);
280
- onBlur === null || onBlur === void 0 ? void 0 : onBlur();
281
- (_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus({
282
- preventScroll: true
283
- });
284
- return;
285
- }
286
289
  commitChange(option.value, option);
287
290
  handleOpenChange(false);
288
291
  onBlur === null || onBlur === void 0 ? void 0 : onBlur();
289
- (_b = triggerRef.current) === null || _b === void 0 ? void 0 : _b.focus({
292
+ (_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus({
290
293
  preventScroll: true
291
294
  });
292
295
  });
@@ -385,7 +388,6 @@ var Select = exports.Select = function Select(props) {
385
388
  variant: variant,
386
389
  status: status,
387
390
  disabled: disabled,
388
- loading: loading,
389
391
  label: label,
390
392
  info: info,
391
393
  description: description,
@@ -430,30 +432,26 @@ var Select = exports.Select = function Select(props) {
430
432
  })]
431
433
  }), (0, _jsxRuntime.jsx)("span", {
432
434
  className: classes('icon'),
433
- children: loading ? (0, _jsxRuntime.jsx)(_Spinner.Spinner, {
434
- size: iconSize,
435
- strokeWidth: 2
436
- }) : (0, _jsxRuntime.jsx)(_Icons.Icons, {
435
+ children: (0, _jsxRuntime.jsx)(_Icons.Icons, {
437
436
  name: innerOpen ? 'chevronUp' : 'chevronDown',
438
437
  size: iconSize,
439
438
  color: "currentColor"
440
439
  })
441
440
  })]
442
- })), isMounted && !disabled && function () {
443
- var panelNode = (0, _jsxRuntime.jsx)(_react.FloatingFocusManager, {
441
+ })), innerOpen && !disabled && (0, _jsxRuntime.jsx)(_react.FloatingPortal, {
442
+ children: (0, _jsxRuntime.jsx)(_react.FloatingFocusManager, {
444
443
  context: context,
445
444
  modal: false,
446
445
  initialFocus: -1,
447
446
  returnFocus: false,
448
447
  children: (0, _jsxRuntime.jsxs)("div", Object.assign({}, getFloatingProps({
449
448
  ref: setFloating,
450
- className: (0, _classnames.joinCls)(classes('panel'), panelClassName),
451
- style: Object.assign(Object.assign({}, floatingStyles), transitionStyles)
449
+ className: classes('panel'),
450
+ style: floatingStyles
452
451
  }), {
453
452
  children: [searchable && (0, _jsxRuntime.jsx)(_SelectSearchControl["default"], {
454
453
  ref: searchInputRef,
455
454
  classes: classes,
456
- size: normalizedSize,
457
455
  placeholder: searchPlaceholder,
458
456
  value: innerSearchValue,
459
457
  onBlur: handleSearchBlur,
@@ -500,7 +498,7 @@ var Select = exports.Select = function Select(props) {
500
498
  },
501
499
  type: 'button',
502
500
  role: 'option',
503
- className: classes('option', (0, _classnames.joinCls)(active && classes('option-active'), selected && classes('option-selected'), option.disabled && classes('option-disabled'), optionClassName)),
501
+ className: classes('option', (0, _classnames.joinCls)(active && classes('option-active'), selected && classes('option-selected'), option.disabled && classes('option-disabled'))),
504
502
  disabled: option.disabled,
505
503
  'aria-selected': selected,
506
504
  onClick: function onClick(event) {
@@ -527,13 +525,10 @@ var Select = exports.Select = function Select(props) {
527
525
  children: panelFooter
528
526
  })]
529
527
  }))
530
- });
531
- return portal ? (0, _jsxRuntime.jsx)(_react.FloatingPortal, {
532
- children: panelNode
533
- }) : panelNode;
534
- }()]
528
+ })
529
+ })]
535
530
  });
536
531
  };
537
532
  Select.displayName = 'Select';
538
533
  var _default = exports["default"] = /*#__PURE__*/(0, _react2.memo)(Select);
539
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl9ob29rcyIsIl9JY29ucyIsIl9TcGlubmVyIiwiX1R5cG9ncmFwaHkiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX1NlbGVjdEZpZWxkU2hlbGwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1NlbGVjdE9wdGlvbkNvbnRlbnQiLCJfU2VsZWN0U2VhcmNoQ29udHJvbCIsIl9TZWxlY3RWYWx1ZUNvbnRlbnQiLCJfdXNlU2VsZWN0U2hlbGwyIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRFRkFVTFRfTUFYX0hFSUdIVCIsIlNlbGVjdCIsImV4cG9ydHMiLCJwcm9wcyIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic3R5bGUiLCJpZCIsIm5hbWUiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJG9wdGlvbnMiLCJvcHRpb25zIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJkaXNhYmxlZFByb3AiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwibGFiZWwiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJHBvcnRhbCIsInBvcnRhbCIsIl9wcm9wcyRhbGxvd0Rlc2VsZWN0IiwiYWxsb3dEZXNlbGVjdCIsInBhbmVsQ2xhc3NOYW1lIiwib3B0aW9uQ2xhc3NOYW1lIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib2Zmc2V0IiwiYW5pbWF0aW9uIiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlclZhbHVlIiwicmVmIiwiY2xhc3NlcyIsInJvb3RDbGFzc25hbWVzIiwiYXV0b0lkIiwidXNlSWQiLCJ0cmlnZ2VySWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lclNlYXJjaFZhbHVlIiwic2V0SW5uZXJTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJub3JtYWxpemVkU2l6ZSIsIm5vcm1hbGl6ZVNpemUiLCJhbGxPcHRpb25Hcm91cHMiLCJ1c2VNZW1vIiwibm9ybWFsaXplT3B0aW9uR3JvdXBzIiwiYWxsRmxhdE9wdGlvbnMiLCJmbGF0dGVuT3B0aW9uR3JvdXBzIiwidmlzaWJsZU9wdGlvbkdyb3VwcyIsImZpbHRlck9wdGlvbkdyb3VwcyIsInZpc2libGVGbGF0T3B0aW9ucyIsInNlbGVjdGVkT3B0aW9ucyIsImdldFNlbGVjdGVkT3B0aW9ucyIsInNlbGVjdGVkSW5kZXgiLCJsZW5ndGgiLCJtYXRjaGVkSW5kZXgiLCJmaW5kSW5kZXgiLCJvcHRpb24iLCJoYXNTZWxlY3Rpb24iLCJsaXN0UmVmIiwidXNlUmVmIiwibGlzdENvbnRlbnRSZWYiLCJmbG9hdGluZ1JlZiIsInRyaWdnZXJSZWYiLCJzZWFyY2hJbnB1dFJlZiIsImhhbmRsZVRyaWdnZXJSZWYiLCJ1c2VFdmVudENhbGxiYWNrIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJ1c2VTZWxlY3RTaGVsbCIsImlubmVyT3BlbiIsImlzT3BlbiIsImhhbmRsZU9wZW5DaGFuZ2UiLCJzZXRPcGVuIiwicmVmcyIsImNvbnRleHQiLCJmbG9hdGluZ1N0eWxlcyIsInRyYW5zaXRpb25TdHlsZXMiLCJpc01vdW50ZWQiLCJiYXNlSW50ZXJhY3Rpb25zIiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJsaXN0TmF2aWdhdGlvbiIsInVzZUxpc3ROYXZpZ2F0aW9uIiwib25OYXZpZ2F0ZSIsImVuYWJsZWQiLCJsb29wIiwidHlwZWFoZWFkIiwidXNlVHlwZWFoZWFkIiwib25NYXRjaCIsIl91c2VJbnRlcmFjdGlvbnMiLCJ1c2VJbnRlcmFjdGlvbnMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiZ2V0SXRlbVByb3BzIiwiZmlyc3RFbmFibGVkSW5kZXgiLCJsYXN0RW5hYmxlZEluZGV4IiwiX2EiLCJpbmRleCIsInVzZUVmZmVjdCIsInByZXYiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJzbGljZSIsIm5vdGlmeUJsdXJJZk91dHNpZGUiLCJyZWxhdGVkVGFyZ2V0IiwiZXZlbnQiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiaGFuZGxlT3B0aW9uQmx1ciIsImNvbW1pdENoYW5nZSIsIm5leHRWYWx1ZSIsIm5leHRPcHRpb24iLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwibmV4dE9wdGlvbnMiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJnZXRNdWx0aXBsZVZhbHVlIiwiaW5jbHVkZXMiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwiaGFuZGxlVHJpZ2dlcktleURvd24iLCJrZXkiLCJLRVlCT0FSRCIsIkVOVEVSIiwiU1BBQ0UiLCJwcmV2ZW50RGVmYXVsdCIsIkFSUk9XX0RPV04iLCJBUlJPV19VUCIsImhhbmRsZUl0ZW1Nb3VzZUVudGVyIiwiaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlVGFnUmVtb3ZlQ2xpY2siLCJoYW5kbGVTZWFyY2hCbHVyIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwiX2V2ZW50IiwiaGFuZGxlU2VhcmNoS2V5RG93biIsIl9jIiwiRVNDQVBFIiwicmVuZGVyVmFsdWVNZXRhIiwidmFsdWVMYWJlbENsYXNzIiwiaXNNdWx0aXBsZVZhbHVlRmlsbGVkIiwidHJpZ2dlckNsYXNzTmFtZSIsImpvaW5DbHMiLCJpY29uU2l6ZSIsImZsb2F0aW5nQXJpYUxhYmVsbGVkQnkiLCJkZXNjcmliZWRCeUlkcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiX2pzeHMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiY2hpbGRyZW4iLCJhc3NpZ24iLCJ0eXBlIiwib25LZXlEb3duIiwiX2pzeCIsIlNlbGVjdFZhbHVlQ29udGVudCIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwiU3Bpbm5lciIsInN0cm9rZVdpZHRoIiwiSWNvbnMiLCJjb2xvciIsInBhbmVsTm9kZSIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwibW9kYWwiLCJpbml0aWFsRm9jdXMiLCJyZXR1cm5Gb2N1cyIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJUeXBvZ3JhcGh5Qm9keSIsIlNFTEVDVF9UWVBPR1JBUEhZIiwiZW1wdHkiLCJmbGF0SW5kZXgiLCJtYXAiLCJncm91cCIsIlR5cG9ncmFwaHlMYWJlbCIsImdyb3VwTGFiZWwiLCJzdHJvbmciLCJvcHRpb25GbGF0SW5kZXgiLCJzZWxlY3RlZCIsImlzT3B0aW9uU2VsZWN0ZWQiLCJhY3RpdmUiLCJvcHRpb25NZXRhIiwiZXh0cmFjdE9wdGlvblRleHQiLCJyb2xlIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsIlNlbGVjdE9wdGlvbkNvbnRlbnQiLCJGbG9hdGluZ1BvcnRhbCIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBT0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFB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NEMsUUFBQSxFQUVEbEosWUFBWSxHQUNYQSxZQUFZLENBQUMyQyxNQUFNLEVBQUV1SSxVQUFVLENBQUMsR0FFaEMsSUFBQTVCLGVBQUEsRUFBQ2lDLCtCQUFtQixFQUFBO3dCQUNsQnBMLE9BQU8sRUFBRUEsT0FBTzt3QkFDaEJ3QyxNQUFNLEVBQUVBLE1BQU07d0JBQ2RvSSxRQUFRLEVBQUVBO3NCQUFRLENBQUE7b0JBRXJCLENBQUEsQ0FBQSxLQUFBaEcsTUFBQSxDQWxDTzJGLEtBQUssQ0FBQ3RELEdBQUcsT0FBQXJDLE1BQUEsQ0FBSXBDLE1BQU0sQ0FBQzlGLEtBQUssQ0FBRSxDQW1DNUI7a0JBRWIsQ0FBQyxDQUFDO2dCQUFBLENBQUEsRUE5RE02TixLQUFLLENBQUN0RCxHQUFHLENBK0RiO2NBQUEsQ0FDUCxDQUFDO1lBQ0osQ0FBQyxDQUFDO1VBQ0gsQ0FBQSxDQUNHLEVBQ0x2SSxXQUFXLElBQUksSUFBSSxJQUNsQixJQUFBeUssZUFBQSxFQUFBLEtBQUEsRUFBQTtZQUFLck4sU0FBUyxFQUFFa0UsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUFBK0ksUUFBQSxFQUFHcks7VUFBVyxDQUFBLENBQ3REO1FBQUEsQ0FBQSxDQUFBO01BQ0csQ0FBQSxDQUVUO01BRUQsT0FBT0ssTUFBTSxHQUFHLElBQUFvSyxlQUFBLEVBQUNrQyxxQkFBYyxFQUFBO1FBQUF0QyxRQUFBLEVBQUVhO01BQVMsQ0FBQSxDQUFrQixHQUFHQSxTQUFTO0lBQzFFLENBQUMsQ0FBQyxDQUFFO0VBQUEsQ0FBQSxDQUNhO0FBRXZCLENBQUM7QUFFRGxPLE1BQU0sQ0FBQzRQLFdBQVcsR0FBRyxRQUFRO0FBQUMsSUFBQUMsUUFBQSxHQUFBNVAsT0FBQSwyQkFFZixJQUFBNlAsWUFBSSxFQUFDOVAsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIHVzZUludGVyYWN0aW9ucywgdXNlTGlzdE5hdmlnYXRpb24sIHVzZVR5cGVhaGVhZCwgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IFNlbGVjdE9wdGlvbkNvbnRlbnQgZnJvbSAnLi9TZWxlY3RPcHRpb25Db250ZW50JztcbmltcG9ydCBTZWxlY3RTZWFyY2hDb250cm9sIGZyb20gJy4vU2VsZWN0U2VhcmNoQ29udHJvbCc7XG5pbXBvcnQgU2VsZWN0VmFsdWVDb250ZW50IGZyb20gJy4vU2VsZWN0VmFsdWVDb250ZW50JztcbmltcG9ydCB7IHVzZVNlbGVjdFNoZWxsIH0gZnJvbSAnLi91c2VTZWxlY3RTaGVsbCc7XG5pbXBvcnQgeyBLRVlCT0FSRCwgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0T3B0aW9uVGV4dCwgZmlsdGVyT3B0aW9uR3JvdXBzLCBmbGF0dGVuT3B0aW9uR3JvdXBzLCBnZXRNdWx0aXBsZVZhbHVlLCBnZXRPcHRpb25zQnlWYWx1ZXMsIGdldFNlbGVjdGVkT3B0aW9ucywgaXNPcHRpb25TZWxlY3RlZCwgbm9ybWFsaXplU2l6ZSwgbm9ybWFsaXplT3B0aW9uR3JvdXBzLCByZW1vdmVNdWx0aXBsZVZhbHVlLCB0b2dnbGVNdWx0aXBsZVZhbHVlLCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IERFRkFVTFRfTUFYX0hFSUdIVCA9IDMyMDtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgc3R5bGUsIGlkLCBuYW1lLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCwgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LCBwbGFjZWhvbGRlciA9ICdWYWx1ZScsIG9wdGlvbnMgPSBbXSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgc2l6ZSA9ICdsYXJnZScsIHN0YXR1cyA9ICdkZWZhdWx0JywgdmFyaWFudCA9ICdmaWxsJywgZGlzYWJsZWQ6IGRpc2FibGVkUHJvcCA9IGZhbHNlLCBsb2FkaW5nID0gZmFsc2UsIG11bHRpcGxlID0gZmFsc2UsIG1heFZpc2libGVWYWx1ZXMsIHNlYXJjaGFibGUgPSBmYWxzZSwgc2VhcmNoUGxhY2Vob2xkZXIgPSAnU2VhcmNoJywgc2VhcmNoVmFsdWUsIGRlZmF1bHRTZWFyY2hWYWx1ZSA9ICcnLCBsYWJlbCwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IGZhbHNlLCBwcmVmaXgsIGVtcHR5Q29udGVudCA9ICdObyBvcHRpb25zJywgcGFuZWxGb290ZXIsIG9wZW4sIGRlZmF1bHRPcGVuID0gZmFsc2UsIHBvcnRhbCA9IHRydWUsIGFsbG93RGVzZWxlY3QgPSBmYWxzZSwgcGFuZWxDbGFzc05hbWUsIG9wdGlvbkNsYXNzTmFtZSwgbGlzdE1heEhlaWdodCA9IERFRkFVTFRfTUFYX0hFSUdIVCwgb2Zmc2V0LCBhbmltYXRpb24sIG9uQ2hhbmdlLCBvbk9wZW5DaGFuZ2UsIG9uU2VhcmNoQ2hhbmdlLCBvbkJsdXIsIGZpbHRlck9wdGlvbiwgcmVuZGVyT3B0aW9uLCByZW5kZXJWYWx1ZSwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBjbGFzc2VzID0gcm9vdENsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IGlkICE9PSBudWxsICYmIGlkICE9PSB2b2lkIDAgPyBpZCA6IGF1dG9JZDtcbiAgICBjb25zdCBsYWJlbElkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBmZWVkYmFja0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKG11bHRpcGxlID8gW10gOiB1bmRlZmluZWQpLCB2YWx1ZSk7XG4gICAgY29uc3QgW2lubmVyU2VhcmNoVmFsdWUsIHNldElubmVyU2VhcmNoVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRTZWFyY2hWYWx1ZSwgc2VhcmNoVmFsdWUpO1xuICAgIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNpemUgPSBub3JtYWxpemVTaXplKHNpemUpO1xuICAgIGNvbnN0IGFsbE9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gbm9ybWFsaXplT3B0aW9uR3JvdXBzKG9wdGlvbnMpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGFsbEZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiAoc2VhcmNoYWJsZVxuICAgICAgICA/IGZpbHRlck9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMsIGlubmVyU2VhcmNoVmFsdWUsIGZpbHRlck9wdGlvbilcbiAgICAgICAgOiBhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzLCBmaWx0ZXJPcHRpb24sIGlubmVyU2VhcmNoVmFsdWUsIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCB2aXNpYmxlRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHModmlzaWJsZU9wdGlvbkdyb3VwcyksIFt2aXNpYmxlT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBnZXRTZWxlY3RlZE9wdGlvbnMoYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlKSwgW2FsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZV0pO1xuICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoZWRJbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICByZXR1cm4gbWF0Y2hlZEluZGV4ID49IDAgPyBtYXRjaGVkSW5kZXggOiBudWxsO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbnMsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGxpc3RDb250ZW50UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBmbG9hdGluZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0cmlnZ2VyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlYXJjaElucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHsgaXNPcGVuOiBpbm5lck9wZW4sIHNldE9wZW46IGhhbmRsZU9wZW5DaGFuZ2UsIHJlZnMsIGNvbnRleHQsIGZsb2F0aW5nU3R5bGVzLCB0cmFuc2l0aW9uU3R5bGVzLCBpc01vdW50ZWQsIGJhc2VJbnRlcmFjdGlvbnMsIH0gPSB1c2VTZWxlY3RTaGVsbCh7XG4gICAgICAgIG9wZW4sXG4gICAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBsaXN0TWF4SGVpZ2h0LFxuICAgICAgICBhbmltYXRpb24sXG4gICAgICAgIG9mZnNldCxcbiAgICB9KTtcbiAgICBjb25zdCBzZXRSZWZlcmVuY2UgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0UmVmZXJlbmNlKG5vZGUpO1xuICAgICAgICBoYW5kbGVUcmlnZ2VyUmVmKG5vZGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldEZsb2F0aW5nID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldEZsb2F0aW5nKG5vZGUpO1xuICAgICAgICBmbG9hdGluZ1JlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBsaXN0TmF2aWdhdGlvbiA9IHVzZUxpc3ROYXZpZ2F0aW9uKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIG9uTmF2aWdhdGU6IHNldEFjdGl2ZUluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4sXG4gICAgICAgIGxvb3A6IHRydWUsXG4gICAgfSk7XG4gICAgY29uc3QgdHlwZWFoZWFkID0gdXNlVHlwZWFoZWFkKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZjogbGlzdENvbnRlbnRSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4gJiYgIXNlYXJjaGFibGUsXG4gICAgICAgIG9uTWF0Y2g6IHNldEFjdGl2ZUluZGV4LFxuICAgIH0pO1xuICAgIGNvbnN0IHsgZ2V0UmVmZXJlbmNlUHJvcHMsIGdldEZsb2F0aW5nUHJvcHMsIGdldEl0ZW1Qcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKFtcbiAgICAgICAgLi4uYmFzZUludGVyYWN0aW9ucyxcbiAgICAgICAgbGlzdE5hdmlnYXRpb24sXG4gICAgICAgIHR5cGVhaGVhZCxcbiAgICBdKTtcbiAgICBjb25zdCBmaXJzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiAhb3B0aW9uLmRpc2FibGVkKSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGxhc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleCAtPSAxKSB7XG4gICAgICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbaW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZlSW5kZXgoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsICYmIHZpc2libGVGbGF0T3B0aW9uc1twcmV2XSAmJiAhdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwID8gZmlyc3RFbmFibGVkSW5kZXggOiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9LCBbZmlyc3RFbmFibGVkSW5kZXgsIGlubmVyT3Blbiwgc2VsZWN0ZWRJbmRleCwgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWlubmVyT3BlbiB8fCBhY3RpdmVJbmRleCA9PT0gbnVsbCB8fCBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2FjdGl2ZUluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGlubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGxpc3RSZWYuY3VycmVudCA9IGxpc3RSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudCA9IGxpc3RDb250ZW50UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9ucy5sZW5ndGhdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpbm5lck9wZW4gJiYgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgKF9hID0gc2VhcmNoSW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcHRpb25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29tbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBuZXh0T3B0aW9uKSA9PiB7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbik7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0T3B0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRvZ2dsZU11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICAgICAgY29tbWl0Q2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbnMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhbGxvd0Rlc2VsZWN0ICYmIGlubmVyVmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgY29tbWl0Q2hhbmdlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29tbWl0Q2hhbmdlKG9wdGlvbi52YWx1ZSwgb3B0aW9uKTtcbiAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAoX2IgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvblZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldE11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSkuaW5jbHVkZXMob3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gcmVtb3ZlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb25WYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlcktleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELlNQQUNFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSghaW5uZXJPcGVuKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJdGVtTW91c2VFbnRlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlQ2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBfZXZlbnQpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gJiYgZmlyc3RFbmFibGVkSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGZpcnN0RW5hYmxlZEluZGV4KTtcbiAgICAgICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFtmaXJzdEVuYWJsZWRJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVAgJiYgbGFzdEVuYWJsZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGxhc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9iID0gbGlzdFJlZi5jdXJyZW50W2xhc3RFbmFibGVkSW5kZXhdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVTQ0FQRSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgKF9jID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgcmVuZGVyVmFsdWVNZXRhID0ge1xuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCA9IChtdWx0aXBsZSAmJlxuICAgICAgICBoYXNTZWxlY3Rpb24gJiZcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyA9PT0gdW5kZWZpbmVkKTtcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaW5uZXJPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1tdWx0aXBsZS1maWxsZWQnKSwgaGFzU2VsZWN0aW9uID8gY2xhc3NlcygndHJpZ2dlci1maWxsZWQnKSA6IGNsYXNzZXMoJ3RyaWdnZXItcGxhY2Vob2xkZXInKSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgdHJpZ2dlci0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1kaXNhYmxlZCcpKSk7XG4gICAgY29uc3QgaWNvblNpemUgPSBub3JtYWxpemVkU2l6ZSA9PT0gJ3NtYWxsJyA/IDE2IDogMjA7XG4gICAgY29uc3QgZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSA9IGFyaWFMYWJlbGxlZEJ5ICE9PSBudWxsICYmIGFyaWFMYWJlbGxlZEJ5ICE9PSB2b2lkIDAgPyBhcmlhTGFiZWxsZWRCeSA6IChsYWJlbCA/IGxhYmVsSWQgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgICBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLFxuICAgICAgICBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4cyhTZWxlY3RGaWVsZFNoZWxsLCB7IGNsYXNzZXM6IGNsYXNzZXMsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgdmFyaWFudDogdmFyaWFudCwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBkaXNhYmxlZCwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bjogaGFuZGxlVHJpZ2dlcktleURvd24sXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tbXVsdGlwbGVgKSwgZGlzYWJsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LWRpc2FibGVkYCkpKSwgY2hpbGRyZW46IF9qc3goU2VsZWN0VmFsdWVDb250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIGhhc1NlbGVjdGlvbjogaGFzU2VsZWN0aW9uLCBtdWx0aXBsZTogbXVsdGlwbGUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJWYWx1ZU1ldGE6IHJlbmRlclZhbHVlTWV0YSwgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsIG1heFZpc2libGVWYWx1ZXM6IG1heFZpc2libGVWYWx1ZXMsIG9uUmVtb3ZlOiBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlLCBvblJlbW92ZUNsaWNrOiBoYW5kbGVUYWdSZW1vdmVDbGljaywgb25SZW1vdmVNb3VzZURvd246IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biB9KSB9KV0gfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIGNoaWxkcmVuOiBsb2FkaW5nID8gKF9qc3goU3Bpbm5lciwgeyBzaXplOiBpY29uU2l6ZSwgc3Ryb2tlV2lkdGg6IDIgfSkpIDogKF9qc3goSWNvbnMsIHsgbmFtZTogaW5uZXJPcGVuID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkpIH0pXSB9KSksIGlzTW91bnRlZCAmJiAhZGlzYWJsZWQgJiYgKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYW5lbE5vZGUgPSAoX2pzeChGbG9hdGluZ0ZvY3VzTWFuYWdlciwgeyBjb250ZXh0OiBjb250ZXh0LCBtb2RhbDogZmFsc2UsIGluaXRpYWxGb2N1czogLTEsIHJldHVybkZvY3VzOiBmYWxzZSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEZsb2F0aW5nUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBzZXRGbG9hdGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCdwYW5lbCcpLCBwYW5lbENsYXNzTmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBmbG9hdGluZ1N0eWxlcyksIHRyYW5zaXRpb25TdHlsZXMpLFxuICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW3NlYXJjaGFibGUgJiYgKF9qc3goU2VsZWN0U2VhcmNoQ29udHJvbCwgeyByZWY6IHNlYXJjaElucHV0UmVmLCBjbGFzc2VzOiBjbGFzc2VzLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgcGxhY2Vob2xkZXI6IHNlYXJjaFBsYWNlaG9sZGVyLCB2YWx1ZTogaW5uZXJTZWFyY2hWYWx1ZSwgb25CbHVyOiBoYW5kbGVTZWFyY2hCbHVyLCBvbkNoYW5nZTogaGFuZGxlU2VhcmNoQ2hhbmdlLCBvbktleURvd246IGhhbmRsZVNlYXJjaEtleURvd24gfSkpLCBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoID09PSAwID8gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2VtcHR5JyksIGNoaWxkcmVuOiBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LnNpemUsIGNvbG9yOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5jb2xvciwgY2hpbGRyZW46IGVtcHR5Q29udGVudCB9KSB9KSkgOiAoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmbGF0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2libGVPcHRpb25Hcm91cHMubWFwKChncm91cCkgPT4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cCcpLCBjaGlsZHJlbjogW2dyb3VwLmxhYmVsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1sYWJlbCcpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZ3JvdXBMYWJlbC5zaXplLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBncm91cC5sYWJlbCB9KSB9KSksIGdyb3VwLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbkZsYXRJbmRleCA9IGZsYXRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBpc09wdGlvblNlbGVjdGVkKGlubmVyVmFsdWUsIG11bHRpcGxlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gYWN0aXZlSW5kZXggPT09IG9wdGlvbkZsYXRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhIW9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0Q29udGVudFJlZi5jdXJyZW50W29wdGlvbkZsYXRJbmRleF0gPSBleHRyYWN0T3B0aW9uVGV4dChvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFJlZi5jdXJyZW50W29wdGlvbkZsYXRJbmRleF0gPSBub2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogJ29wdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc2VzKCdvcHRpb24nLCBqb2luQ2xzKGFjdGl2ZSAmJiBjbGFzc2VzKCdvcHRpb24tYWN0aXZlJyksIHNlbGVjdGVkICYmIGNsYXNzZXMoJ29wdGlvbi1zZWxlY3RlZCcpLCBvcHRpb24uZGlzYWJsZWQgJiYgY2xhc3Nlcygnb3B0aW9uLWRpc2FibGVkJyksIG9wdGlvbkNsYXNzTmFtZSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyaWEtc2VsZWN0ZWQnOiBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0T3B0aW9uKG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUl0ZW1Nb3VzZUVudGVyKG9wdGlvbkZsYXRJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVPcHRpb25CbHVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IHJlbmRlck9wdGlvbiA/IChyZW5kZXJPcHRpb24ob3B0aW9uLCBvcHRpb25NZXRhKSkgOiAoX2pzeChTZWxlY3RPcHRpb25Db250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIG9wdGlvbjogb3B0aW9uLCBzZWxlY3RlZDogc2VsZWN0ZWQgfSkpIH0pLCBgJHtncm91cC5rZXl9LSR7b3B0aW9uLnZhbHVlfWApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSldIH0sIGdyb3VwLmtleSkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSkgfSksIHBhbmVsRm9vdGVyICE9IG51bGwgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWZvb3RlcicpLCBjaGlsZHJlbjogcGFuZWxGb290ZXIgfSkpXSB9KSkgfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWwgPyBfanN4KEZsb2F0aW5nUG9ydGFsLCB7IGNoaWxkcmVuOiBwYW5lbE5vZGUgfSkgOiBwYW5lbE5vZGU7XG4gICAgICAgICAgICB9KSgpXSB9KSk7XG59O1xuU2VsZWN0LmRpc3BsYXlOYW1lID0gJ1NlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
534
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl9ob29rcyIsIl9JY29ucyIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9TZWxlY3RGaWVsZFNoZWxsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9TZWxlY3RPcHRpb25Db250ZW50IiwiX1NlbGVjdFNlYXJjaENvbnRyb2wiLCJfU2VsZWN0VmFsdWVDb250ZW50IiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRFRkFVTFRfTUFYX0hFSUdIVCIsIlNlbGVjdCIsImV4cG9ydHMiLCJwcm9wcyIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic3R5bGUiLCJpZCIsIm5hbWUiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJG9wdGlvbnMiLCJvcHRpb25zIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwibGFiZWwiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlclZhbHVlIiwicmVmIiwiY2xhc3NlcyIsInJvb3RDbGFzc25hbWVzIiwiYXV0b0lkIiwidXNlSWQiLCJ0cmlnZ2VySWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lck9wZW4iLCJzZXRJbm5lck9wZW4iLCJfdXNlQ29udHJvbGxlZFN0YXRlNSIsIl91c2VDb250cm9sbGVkU3RhdGU2IiwiaW5uZXJTZWFyY2hWYWx1ZSIsInNldElubmVyU2VhcmNoVmFsdWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhY3RpdmVJbmRleCIsInNldEFjdGl2ZUluZGV4Iiwibm9ybWFsaXplZFNpemUiLCJub3JtYWxpemVTaXplIiwiYWxsT3B0aW9uR3JvdXBzIiwidXNlTWVtbyIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsImFsbEZsYXRPcHRpb25zIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsInZpc2libGVPcHRpb25Hcm91cHMiLCJmaWx0ZXJPcHRpb25Hcm91cHMiLCJ2aXNpYmxlRmxhdE9wdGlvbnMiLCJzZWxlY3RlZE9wdGlvbnMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJzZWxlY3RlZEluZGV4IiwibGVuZ3RoIiwibWF0Y2hlZEluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9uIiwiaGFzU2VsZWN0aW9uIiwibGlzdFJlZiIsInVzZVJlZiIsImxpc3RDb250ZW50UmVmIiwiZmxvYXRpbmdSZWYiLCJ0cmlnZ2VyUmVmIiwic2VhcmNoSW5wdXRSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwidXNlRXZlbnRDYWxsYmFjayIsIm5vZGUiLCJjdXJyZW50IiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwiX3VzZUZsb2F0aW5nIiwidXNlRmxvYXRpbmciLCJwbGFjZW1lbnQiLCJ3aGlsZUVsZW1lbnRzTW91bnRlZCIsImF1dG9VcGRhdGUiLCJtaWRkbGV3YXJlIiwib2Zmc2V0IiwiZmxpcCIsInBhZGRpbmciLCJzaGlmdCIsImZsb2F0aW5nU2l6ZSIsImFwcGx5IiwiX3JlZiIsInJlY3RzIiwiZWxlbWVudHMiLCJhdmFpbGFibGVIZWlnaHQiLCJuZXh0TWF4SGVpZ2h0IiwiTWF0aCIsIm1heCIsIm1pbiIsImFzc2lnbiIsImZsb2F0aW5nIiwid2lkdGgiLCJjb25jYXQiLCJyZWZlcmVuY2UiLCJtYXhIZWlnaHQiLCJyZWZzIiwiZmxvYXRpbmdTdHlsZXMiLCJjb250ZXh0Iiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJjbGljayIsInVzZUNsaWNrIiwiZW5hYmxlZCIsImRpc21pc3MiLCJ1c2VEaXNtaXNzIiwib3V0c2lkZVByZXNzRXZlbnQiLCJyb2xlIiwidXNlUm9sZSIsImxpc3ROYXZpZ2F0aW9uIiwidXNlTGlzdE5hdmlnYXRpb24iLCJvbk5hdmlnYXRlIiwibG9vcCIsInR5cGVhaGVhZCIsInVzZVR5cGVhaGVhZCIsIm9uTWF0Y2giLCJfdXNlSW50ZXJhY3Rpb25zIiwidXNlSW50ZXJhY3Rpb25zIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiZ2V0SXRlbVByb3BzIiwiZmlyc3RFbmFibGVkSW5kZXgiLCJsYXN0RW5hYmxlZEluZGV4IiwiX2EiLCJpbmRleCIsInVzZUVmZmVjdCIsInByZXYiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJzbGljZSIsIm5vdGlmeUJsdXJJZk91dHNpZGUiLCJyZWxhdGVkVGFyZ2V0IiwiZXZlbnQiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiaGFuZGxlT3B0aW9uQmx1ciIsImNvbW1pdENoYW5nZSIsIm5leHRWYWx1ZSIsIm5leHRPcHRpb24iLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwibmV4dE9wdGlvbnMiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJnZXRNdWx0aXBsZVZhbHVlIiwiaW5jbHVkZXMiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwiaGFuZGxlVHJpZ2dlcktleURvd24iLCJrZXkiLCJLRVlCT0FSRCIsIkVOVEVSIiwiU1BBQ0UiLCJwcmV2ZW50RGVmYXVsdCIsIkFSUk9XX0RPV04iLCJBUlJPV19VUCIsImhhbmRsZUl0ZW1Nb3VzZUVudGVyIiwiaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlVGFnUmVtb3ZlQ2xpY2siLCJoYW5kbGVTZWFyY2hCbHVyIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwiX2V2ZW50IiwiaGFuZGxlU2VhcmNoS2V5RG93biIsIl9jIiwiRVNDQVBFIiwicmVuZGVyVmFsdWVNZXRhIiwidmFsdWVMYWJlbENsYXNzIiwiaXNNdWx0aXBsZVZhbHVlRmlsbGVkIiwidHJpZ2dlckNsYXNzTmFtZSIsImpvaW5DbHMiLCJpY29uU2l6ZSIsImZsb2F0aW5nQXJpYUxhYmVsbGVkQnkiLCJkZXNjcmliZWRCeUlkcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiX2pzeHMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiY2hpbGRyZW4iLCJ0eXBlIiwib25LZXlEb3duIiwiX2pzeCIsIlNlbGVjdFZhbHVlQ29udGVudCIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwiSWNvbnMiLCJjb2xvciIsIkZsb2F0aW5nUG9ydGFsIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiU2VsZWN0U2VhcmNoQ29udHJvbCIsIlR5cG9ncmFwaHlCb2R5IiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJlbXB0eSIsImZsYXRJbmRleCIsIm1hcCIsImdyb3VwIiwiVHlwb2dyYXBoeUxhYmVsIiwiZ3JvdXBMYWJlbCIsInN0cm9uZyIsIm9wdGlvbkZsYXRJbmRleCIsInNlbGVjdGVkIiwiaXNPcHRpb25TZWxlY3RlZCIsImFjdGl2ZSIsIm9wdGlvbk1ldGEiLCJleHRyYWN0T3B0aW9uVGV4dCIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJTZWxlY3RPcHRpb25Db250ZW50IiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQWdCQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFD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QyxHQUVoQyxJQUFBMUIsZUFBQSxFQUFDOEIsK0JBQW1CLEVBQUE7d0JBQ2xCNU0sT0FBTyxFQUFFQSxPQUFPO3dCQUNoQjRDLE1BQU0sRUFBRUEsTUFBTTt3QkFDZHlKLFFBQVEsRUFBRUE7c0JBQVEsQ0FBQTtvQkFFckIsQ0FBQSxDQUFBLEtBQUFwSCxNQUFBLENBakNPK0csS0FBSyxDQUFDbkQsR0FBRyxPQUFBNUQsTUFBQSxDQUFJckMsTUFBTSxDQUFDdkYsS0FBSyxDQUFFLENBa0M1QjtrQkFFYixDQUFDLENBQUM7Z0JBQUEsQ0FBQSxFQTdETTJPLEtBQUssQ0FBQ25ELEdBQUcsQ0E4RGI7Y0FBQSxDQUNQLENBQUM7WUFDSixDQUFDLENBQUM7VUFDSCxDQUFBLENBQ0csRUFDTDNKLFdBQVcsSUFBSSxJQUFJLElBQ2xCLElBQUE0TCxlQUFBLEVBQUEsS0FBQSxFQUFBO1lBQUtyTyxTQUFTLEVBQUV1RCxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQUEySyxRQUFBLEVBQUd6TDtVQUFXLENBQUEsQ0FDdEQ7UUFBQSxDQUFBLENBQUE7TUFDRyxDQUFBO0lBQ2UsQ0FBQSxDQUUxQjtFQUFBLENBQUEsQ0FDZ0I7QUFFdkIsQ0FBQztBQUVEN0MsTUFBTSxDQUFDd1EsV0FBVyxHQUFHLFFBQVE7QUFBQyxJQUFBQyxRQUFBLEdBQUF4USxPQUFBLDJCQUVmLElBQUF5USxZQUFJLEVBQUMxUSxNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSBhcyBmbG9hdGluZ1NpemUsIHVzZUNsaWNrLCB1c2VEaXNtaXNzLCB1c2VGbG9hdGluZywgdXNlSW50ZXJhY3Rpb25zLCB1c2VMaXN0TmF2aWdhdGlvbiwgdXNlUm9sZSwgdXNlVHlwZWFoZWFkLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgS0VZQk9BUkQsIFNFTEVDVF9UWVBPR1JBUEhZIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZXh0cmFjdE9wdGlvblRleHQsIGZpbHRlck9wdGlvbkdyb3VwcywgZmxhdHRlbk9wdGlvbkdyb3VwcywgZ2V0TXVsdGlwbGVWYWx1ZSwgZ2V0T3B0aW9uc0J5VmFsdWVzLCBnZXRTZWxlY3RlZE9wdGlvbnMsIGlzT3B0aW9uU2VsZWN0ZWQsIG5vcm1hbGl6ZVNpemUsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcywgcmVtb3ZlTXVsdGlwbGVWYWx1ZSwgdG9nZ2xlTXVsdGlwbGVWYWx1ZSwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHN0eWxlLCBpZCwgbmFtZSwgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSwgcGxhY2Vob2xkZXIgPSAnVmFsdWUnLCBvcHRpb25zID0gW10sIHZhbHVlLCBkZWZhdWx0VmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkID0gZmFsc2UsIG11bHRpcGxlID0gZmFsc2UsIG1heFZpc2libGVWYWx1ZXMsIHNlYXJjaGFibGUgPSBmYWxzZSwgc2VhcmNoUGxhY2Vob2xkZXIgPSAnU2VhcmNoJywgc2VhcmNoVmFsdWUsIGRlZmF1bHRTZWFyY2hWYWx1ZSA9ICcnLCBsYWJlbCwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IGZhbHNlLCBwcmVmaXgsIGVtcHR5Q29udGVudCA9ICdObyBvcHRpb25zJywgcGFuZWxGb290ZXIsIG9wZW4sIGRlZmF1bHRPcGVuID0gZmFsc2UsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIG9uQ2hhbmdlLCBvbk9wZW5DaGFuZ2UsIG9uU2VhcmNoQ2hhbmdlLCBvbkJsdXIsIGZpbHRlck9wdGlvbiwgcmVuZGVyT3B0aW9uLCByZW5kZXJWYWx1ZSwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IHJvb3RDbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCB0cmlnZ2VySWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgbGFiZWxJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZmVlZGJhY2tJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgW2lubmVyVmFsdWUsIHNldElubmVyVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHZvaWQgMCA/IGRlZmF1bHRWYWx1ZSA6IChtdWx0aXBsZSA/IFtdIDogdW5kZWZpbmVkKSwgdmFsdWUpO1xuICAgIGNvbnN0IFtpbm5lck9wZW4sIHNldElubmVyT3Blbl0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdE9wZW4sIG9wZW4pO1xuICAgIGNvbnN0IFtpbm5lclNlYXJjaFZhbHVlLCBzZXRJbm5lclNlYXJjaFZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0U2VhcmNoVmFsdWUsIHNlYXJjaFZhbHVlKTtcbiAgICBjb25zdCBbYWN0aXZlSW5kZXgsIHNldEFjdGl2ZUluZGV4XSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRTaXplID0gbm9ybWFsaXplU2l6ZShzaXplKTtcbiAgICBjb25zdCBhbGxPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyhvcHRpb25zKSwgW29wdGlvbnNdKTtcbiAgICBjb25zdCBhbGxGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3QgdmlzaWJsZU9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gKHNlYXJjaGFibGVcbiAgICAgICAgPyBmaWx0ZXJPcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzLCBpbm5lclNlYXJjaFZhbHVlLCBmaWx0ZXJPcHRpb24pXG4gICAgICAgIDogYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3VwcywgZmlsdGVyT3B0aW9uLCBpbm5lclNlYXJjaFZhbHVlLCBzZWFyY2hhYmxlXSk7XG4gICAgY29uc3QgdmlzaWJsZUZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKHZpc2libGVPcHRpb25Hcm91cHMpLCBbdmlzaWJsZU9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZ2V0U2VsZWN0ZWRPcHRpb25zKGFsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZSksIFthbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGVdKTtcbiAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXRjaGVkSW5kZXggPSB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZWRJbmRleCA+PSAwID8gbWF0Y2hlZEluZGV4IDogbnVsbDtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb25zLCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBoYXNTZWxlY3Rpb24gPSBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBsaXN0UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBsaXN0Q29udGVudFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWFyY2hJbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dE9wZW4pID0+IHtcbiAgICAgICAgc2V0SW5uZXJPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHRPcGVuKTtcbiAgICB9KTtcbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzLCBjb250ZXh0LCB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSxcbiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcbiAgICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICAgIG1pZGRsZXdhcmU6IFtcbiAgICAgICAgICAgIG9mZnNldCgwKSxcbiAgICAgICAgICAgIGZsaXAoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgc2hpZnQoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgZmxvYXRpbmdTaXplKHtcbiAgICAgICAgICAgICAgICBhcHBseSh7IHJlY3RzLCBlbGVtZW50cywgYXZhaWxhYmxlSGVpZ2h0IH0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dE1heEhlaWdodCA9IE1hdGgubWF4KDEyMCwgTWF0aC5taW4obGlzdE1heEhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0KSk7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudHMuZmxvYXRpbmcuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBgJHtyZWN0cy5yZWZlcmVuY2Uud2lkdGh9cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBgJHtuZXh0TWF4SGVpZ2h0fXB4YCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IGNsaWNrID0gdXNlQ2xpY2soY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQgfSk7XG4gICAgY29uc3QgZGlzbWlzcyA9IHVzZURpc21pc3MoY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQsIG91dHNpZGVQcmVzc0V2ZW50OiAnbW91c2Vkb3duJyB9KTtcbiAgICBjb25zdCByb2xlID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGU6ICdzZWxlY3QnIH0pO1xuICAgIGNvbnN0IGxpc3ROYXZpZ2F0aW9uID0gdXNlTGlzdE5hdmlnYXRpb24oY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgb25OYXZpZ2F0ZTogc2V0QWN0aXZlSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbixcbiAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICB9KTtcbiAgICBjb25zdCB0eXBlYWhlYWQgPSB1c2VUeXBlYWhlYWQoY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmOiBsaXN0Q29udGVudFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbiAmJiAhc2VhcmNoYWJsZSxcbiAgICAgICAgb25NYXRjaDogc2V0QWN0aXZlSW5kZXgsXG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcywgZ2V0SXRlbVByb3BzIH0gPSB1c2VJbnRlcmFjdGlvbnMoW1xuICAgICAgICBjbGljayxcbiAgICAgICAgZGlzbWlzcyxcbiAgICAgICAgcm9sZSxcbiAgICAgICAgbGlzdE5hdmlnYXRpb24sXG4gICAgICAgIHR5cGVhaGVhZCxcbiAgICBdKTtcbiAgICBjb25zdCBmaXJzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiAhb3B0aW9uLmRpc2FibGVkKSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGxhc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleCAtPSAxKSB7XG4gICAgICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbaW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZlSW5kZXgoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsICYmIHZpc2libGVGbGF0T3B0aW9uc1twcmV2XSAmJiAhdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwID8gZmlyc3RFbmFibGVkSW5kZXggOiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9LCBbZmlyc3RFbmFibGVkSW5kZXgsIGlubmVyT3Blbiwgc2VsZWN0ZWRJbmRleCwgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWlubmVyT3BlbiB8fCBhY3RpdmVJbmRleCA9PT0gbnVsbCB8fCBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2FjdGl2ZUluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGlubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGxpc3RSZWYuY3VycmVudCA9IGxpc3RSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudCA9IGxpc3RDb250ZW50UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9ucy5sZW5ndGhdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpbm5lck9wZW4gJiYgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgKF9hID0gc2VhcmNoSW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcHRpb25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29tbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBuZXh0T3B0aW9uKSA9PiB7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbik7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0T3B0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKG9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdG9nZ2xlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29tbWl0Q2hhbmdlKG9wdGlvbi52YWx1ZSwgb3B0aW9uKTtcbiAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvblZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldE11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSkuaW5jbHVkZXMob3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gcmVtb3ZlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb25WYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlcktleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELlNQQUNFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSghaW5uZXJPcGVuKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJdGVtTW91c2VFbnRlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlQ2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBfZXZlbnQpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gJiYgZmlyc3RFbmFibGVkSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGZpcnN0RW5hYmxlZEluZGV4KTtcbiAgICAgICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFtmaXJzdEVuYWJsZWRJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVAgJiYgbGFzdEVuYWJsZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGxhc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9iID0gbGlzdFJlZi5jdXJyZW50W2xhc3RFbmFibGVkSW5kZXhdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVTQ0FQRSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgKF9jID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgcmVuZGVyVmFsdWVNZXRhID0ge1xuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCA9IChtdWx0aXBsZSAmJlxuICAgICAgICBoYXNTZWxlY3Rpb24gJiZcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyA9PT0gdW5kZWZpbmVkKTtcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaW5uZXJPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1tdWx0aXBsZS1maWxsZWQnKSwgaGFzU2VsZWN0aW9uID8gY2xhc3NlcygndHJpZ2dlci1maWxsZWQnKSA6IGNsYXNzZXMoJ3RyaWdnZXItcGxhY2Vob2xkZXInKSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgdHJpZ2dlci0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1kaXNhYmxlZCcpKSk7XG4gICAgY29uc3QgaWNvblNpemUgPSBub3JtYWxpemVkU2l6ZSA9PT0gJ3NtYWxsJyA/IDE2IDogMjA7XG4gICAgY29uc3QgZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSA9IGFyaWFMYWJlbGxlZEJ5ICE9PSBudWxsICYmIGFyaWFMYWJlbGxlZEJ5ICE9PSB2b2lkIDAgPyBhcmlhTGFiZWxsZWRCeSA6IChsYWJlbCA/IGxhYmVsSWQgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgICBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLFxuICAgICAgICBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4cyhTZWxlY3RGaWVsZFNoZWxsLCB7IGNsYXNzZXM6IGNsYXNzZXMsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgdmFyaWFudDogdmFyaWFudCwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBkaXNhYmxlZCwgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bjogaGFuZGxlVHJpZ2dlcktleURvd24sXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tbXVsdGlwbGVgKSwgZGlzYWJsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LWRpc2FibGVkYCkpKSwgY2hpbGRyZW46IF9qc3goU2VsZWN0VmFsdWVDb250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIGhhc1NlbGVjdGlvbjogaGFzU2VsZWN0aW9uLCBtdWx0aXBsZTogbXVsdGlwbGUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJWYWx1ZU1ldGE6IHJlbmRlclZhbHVlTWV0YSwgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsIG1heFZpc2libGVWYWx1ZXM6IG1heFZpc2libGVWYWx1ZXMsIG9uUmVtb3ZlOiBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlLCBvblJlbW92ZUNsaWNrOiBoYW5kbGVUYWdSZW1vdmVDbGljaywgb25SZW1vdmVNb3VzZURvd246IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biB9KSB9KV0gfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGlubmVyT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pIH0pXSB9KSksIGlubmVyT3BlbiAmJiAhZGlzYWJsZWQgJiYgKF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogZmxvYXRpbmdTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbc2VhcmNoYWJsZSAmJiAoX2pzeChTZWxlY3RTZWFyY2hDb250cm9sLCB7IHJlZjogc2VhcmNoSW5wdXRSZWYsIGNsYXNzZXM6IGNsYXNzZXMsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIG9uQmx1cjogaGFuZGxlU2VhcmNoQmx1ciwgb25DaGFuZ2U6IGhhbmRsZVNlYXJjaENoYW5nZSwgb25LZXlEb3duOiBoYW5kbGVTZWFyY2hLZXlEb3duIH0pKSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtYm9keScpLCBjaGlsZHJlbjogdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCA9PT0gMCA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdlbXB0eScpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5zaXplLCBjb2xvcjogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuY29sb3IsIGNoaWxkcmVuOiBlbXB0eUNvbnRlbnQgfSkgfSkpIDogKCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmxhdEluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25GbGF0SW5kZXggPSBmbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGF0SW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGFjdGl2ZUluZGV4ID09PSBvcHRpb25GbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25NZXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogISFvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IG9wdGlvbkZsYXRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImJ1dHRvblwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRJdGVtUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uJywgam9pbkNscyhhY3RpdmUgJiYgY2xhc3Nlcygnb3B0aW9uLWFjdGl2ZScpLCBzZWxlY3RlZCAmJiBjbGFzc2VzKCdvcHRpb24tc2VsZWN0ZWQnKSwgb3B0aW9uLmRpc2FibGVkICYmIGNsYXNzZXMoJ29wdGlvbi1kaXNhYmxlZCcpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJpYS1zZWxlY3RlZCc6IHNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24ob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gaGFuZGxlSXRlbU1vdXNlRW50ZXIob3B0aW9uRmxhdEluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZU9wdGlvbkJsdXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCB9KSkgfSksIGAke2dyb3VwLmtleX0tJHtvcHRpb24udmFsdWV9YCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpKSB9KSwgcGFuZWxGb290ZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtZm9vdGVyJyksIGNoaWxkcmVuOiBwYW5lbEZvb3RlciB9KSldIH0pKSB9KSB9KSldIH0pKTtcbn07XG5TZWxlY3QuZGlzcGxheU5hbWUgPSAnU2VsZWN0JztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -9,7 +9,6 @@ interface SelectFieldShellProps {
9
9
  variant: SelectVariant;
10
10
  status: SelectStatus;
11
11
  disabled: boolean;
12
- loading?: boolean;
13
12
  label?: ReactNode;
14
13
  info?: ReactNode;
15
14
  description?: ReactNode;
@@ -7,7 +7,6 @@ exports["default"] = exports.SelectFieldShell = void 0;
7
7
  var _jsxRuntime = require("react/jsx-runtime");
8
8
  var _react = require("react");
9
9
  var _Icons = require("../Icons");
10
- var _Skeleton = require("../Skeleton");
11
10
  var _Typography = require("../Typography");
12
11
  var _classnames = require("../../utils/classnames");
13
12
  var _constants = require("./constants");
@@ -20,8 +19,6 @@ var SelectFieldShellBase = function SelectFieldShellBase(_ref) {
20
19
  variant = _ref.variant,
21
20
  status = _ref.status,
22
21
  disabled = _ref.disabled,
23
- _ref$loading = _ref.loading,
24
- loading = _ref$loading === void 0 ? false : _ref$loading,
25
22
  label = _ref.label,
26
23
  info = _ref.info,
27
24
  description = _ref.description,
@@ -38,10 +35,7 @@ var SelectFieldShellBase = function SelectFieldShellBase(_ref) {
38
35
  className: classes(undefined, (0, _classnames.joinCls)(classes(size), classes(variant), status !== 'default' && classes(status), disabled && classes('disabled'), className)),
39
36
  children: [(label || info) && (0, _jsxRuntime.jsxs)("div", {
40
37
  className: classes('label-row'),
41
- children: [label && (loading ? (0, _jsxRuntime.jsx)(_Skeleton.Skeleton, {
42
- width: "72px",
43
- height: "18px"
44
- }) : (0, _jsxRuntime.jsxs)(_Typography.TypographyLabel, {
38
+ children: [label && (0, _jsxRuntime.jsxs)(_Typography.TypographyLabel, {
45
39
  id: labelId,
46
40
  className: classes('label-text'),
47
41
  size: _constants.SELECT_TYPOGRAPHY.label.size,
@@ -51,7 +45,7 @@ var SelectFieldShellBase = function SelectFieldShellBase(_ref) {
51
45
  className: classes('required'),
52
46
  children: "*"
53
47
  })]
54
- })), info && !loading && (0, _jsxRuntime.jsx)("span", {
48
+ }), info && (0, _jsxRuntime.jsx)("span", {
55
49
  className: classes('info'),
56
50
  children: info
57
51
  })]
@@ -82,4 +76,4 @@ var SelectFieldShellBase = function SelectFieldShellBase(_ref) {
82
76
  };
83
77
  var SelectFieldShell = exports.SelectFieldShell = /*#__PURE__*/(0, _react.memo)(SelectFieldShellBase);
84
78
  var _default = exports["default"] = SelectFieldShell;
85
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEZpZWxkU2hlbGwuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3RGaWVsZFNoZWxsLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfSWNvbnMiLCJfU2tlbGV0b24iLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2NvbnN0YW50cyIsIlNlbGVjdEZpZWxkU2hlbGxCYXNlIiwiX3JlZiIsImNoaWxkcmVuIiwiY2xhc3NlcyIsIl9yZWYkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwic2l6ZSIsInZhcmlhbnQiLCJzdGF0dXMiLCJkaXNhYmxlZCIsIl9yZWYkbG9hZGluZyIsImxvYWRpbmciLCJsYWJlbCIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3JlZiRyZXF1aXJlZCIsInJlcXVpcmVkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwibGFiZWxDb2xvciIsIlNFTEVDVF9UWVBPR1JBUEhZIiwiY29sb3IiLCJkZXNjcmlwdGlvbkNvbG9yIiwiZmVlZGJhY2tDbGFzcyIsImpvaW5DbHMiLCJjb25jYXQiLCJfanN4cyIsInVuZGVmaW5lZCIsIl9qc3giLCJTa2VsZXRvbiIsIndpZHRoIiwiaGVpZ2h0IiwiVHlwb2dyYXBoeUxhYmVsIiwiaWQiLCJzdHJvbmciLCJUeXBvZ3JhcGh5Qm9keSIsImFzIiwicm9sZSIsIkljb25zIiwibmFtZSIsIlNlbGVjdEZpZWxkU2hlbGwiLCJleHBvcnRzIiwibWVtbyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7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QUEsRUFDdkMsSUFBQTRCLGVBQUEsRUFBQ1UsWUFBSyxFQUFBO1VBQUNDLElBQUksRUFBQyxPQUFPO1VBQUNuQyxJQUFJLEVBQUUsRUFBRTtVQUFFaUIsS0FBSyxFQUFDO1FBQWMsQ0FBQTtNQUFHLENBQUEsQ0FFeEQsRUFDRCxJQUFBTyxlQUFBLEVBQUNPLDBCQUFjLEVBQUE7UUFBQy9CLElBQUksRUFBRWdCLDRCQUFpQixDQUFDUCxRQUFRLENBQUNULElBQUk7UUFBQUosUUFBQSxFQUFHYTtNQUFRLENBQUEsQ0FBa0I7SUFBQSxDQUFBLENBRXJGO0VBQUEsQ0FBQSxDQUNHO0FBRVYsQ0FBQztBQUVNLElBQU0yQixnQkFBZ0IsR0FBQUMsT0FBQSxDQUFBRCxnQkFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUM1QyxvQkFBb0IsQ0FBQztBQUFDLElBQUE2QyxRQUFBLEdBQUFGLE9BQUEsY0FFNUNELGdCQUFnQiIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3RGaWVsZFNoZWxsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi4vU2tlbGV0b24nO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5jb25zdCBTZWxlY3RGaWVsZFNoZWxsQmFzZSA9ICh7IGNoaWxkcmVuLCBjbGFzc2VzLCBjbGFzc05hbWUgPSAnJywgc2l6ZSwgdmFyaWFudCwgc3RhdHVzLCBkaXNhYmxlZCwgbG9hZGluZyA9IGZhbHNlLCBsYWJlbCwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IGZhbHNlLCBsYWJlbElkLCBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkLCB9KSA9PiB7XG4gICAgY29uc3QgbGFiZWxDb2xvciA9IGRpc2FibGVkID8gU0VMRUNUX1RZUE9HUkFQSFkubGFiZWwuY29sb3IuZGlzYWJsZWQgOiBTRUxFQ1RfVFlQT0dSQVBIWS5sYWJlbC5jb2xvci5kZWZhdWx0O1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uQ29sb3IgPSBkaXNhYmxlZCA/IFNFTEVDVF9UWVBPR1JBUEhZLmRlc2NyaXB0aW9uLmNvbG9yLmRpc2FibGVkIDogU0VMRUNUX1RZUE9HUkFQSFkuZGVzY3JpcHRpb24uY29sb3IuZGVmYXVsdDtcbiAgICBjb25zdCBmZWVkYmFja0NsYXNzID0gY2xhc3NlcygnZmVlZGJhY2snLCBqb2luQ2xzKHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYGZlZWRiYWNrLSR7c3RhdHVzfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdmZWVkYmFjay1kaXNhYmxlZCcpKSk7XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh1bmRlZmluZWQsIGpvaW5DbHMoY2xhc3NlcyhzaXplKSwgY2xhc3Nlcyh2YXJpYW50KSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhzdGF0dXMpLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdkaXNhYmxlZCcpLCBjbGFzc05hbWUpKSwgY2hpbGRyZW46IFsobGFiZWwgfHwgaW5mbykgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbC1yb3cnKSwgY2hpbGRyZW46IFtsYWJlbCAmJiAobG9hZGluZyA/IChfanN4KFNrZWxldG9uLCB7IHdpZHRoOiBcIjcycHhcIiwgaGVpZ2h0OiBcIjE4cHhcIiB9KSkgOiAoX2pzeHMoVHlwb2dyYXBoeUxhYmVsLCB7IGlkOiBsYWJlbElkLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsLXRleHQnKSwgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkubGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjb2xvcjogbGFiZWxDb2xvciwgY2hpbGRyZW46IFtsYWJlbCwgcmVxdWlyZWQgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3JlcXVpcmVkJyksIGNoaWxkcmVuOiBcIipcIiB9KV0gfSkpKSwgaW5mbyAmJiAhbG9hZGluZyAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaW5mbycpLCBjaGlsZHJlbjogaW5mbyB9KV0gfSkpLCBkZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBpZDogZGVzY3JpcHRpb25JZCwgY2xhc3NOYW1lOiBjbGFzc2VzKCdkZXNjcmlwdGlvbi10ZXh0JyksIGFzOiBcImRpdlwiLCBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5kZXNjcmlwdGlvbi5zaXplLCBjb2xvcjogZGVzY3JpcHRpb25Db2xvciwgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pKSwgY2hpbGRyZW4sIGZlZWRiYWNrICYmIChfanN4cyhcImRpdlwiLCB7IGlkOiBmZWVkYmFja0lkLCBjbGFzc05hbWU6IGZlZWRiYWNrQ2xhc3MsIHJvbGU6IHN0YXR1cyA9PT0gJ2Vycm9yJyB8fCBzdGF0dXMgPT09ICd3YXJuaW5nJyA/ICdhbGVydCcgOiAnc3RhdHVzJywgY2hpbGRyZW46IFtzdGF0dXMgPT09ICdlcnJvcicgJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdmZWVkYmFjay1pY29uJyksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IFwiZXJyb3JcIiwgc2l6ZTogMTYsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pIH0pKSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5mZWVkYmFjay5zaXplLCBjaGlsZHJlbjogZmVlZGJhY2sgfSldIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3RGaWVsZFNoZWxsID0gbWVtbyhTZWxlY3RGaWVsZFNoZWxsQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBTZWxlY3RGaWVsZFNoZWxsOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
79
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEZpZWxkU2hlbGwuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3RGaWVsZFNoZWxsLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfSWNvbnMiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2NvbnN0YW50cyIsIlNlbGVjdEZpZWxkU2hlbGxCYXNlIiwiX3JlZiIsImNoaWxkcmVuIiwiY2xhc3NlcyIsIl9yZWYkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwic2l6ZSIsInZhcmlhbnQiLCJzdGF0dXMiLCJkaXNhYmxlZCIsImxhYmVsIiwiaW5mbyIsImRlc2NyaXB0aW9uIiwiZmVlZGJhY2siLCJfcmVmJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJsYWJlbENvbG9yIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJjb2xvciIsImRlc2NyaXB0aW9uQ29sb3IiLCJmZWVkYmFja0NsYXNzIiwiam9pbkNscyIsImNvbmNhdCIsIl9qc3hzIiwidW5kZWZpbmVkIiwiVHlwb2dyYXBoeUxhYmVsIiwiaWQiLCJzdHJvbmciLCJfanN4IiwiVHlwb2dyYXBoeUJvZHkiLCJhcyIsInJvbGUiLCJJY29ucyIsIm5hbWUiLCJTZWxlY3RGaWVsZFNoZWxsIiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBSUEsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBb0JBLElBQU1NLG9CQUFvQixHQUE4QixTQUFsREEsb0JBQW9C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LEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDdkMsb0JBQW9CLENBQUM7QUFBQyxJQUFBd0MsUUFBQSxHQUFBRixPQUFBLGNBRTVDRCxnQkFBZ0IiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0RmllbGRTaGVsbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBTRUxFQ1RfVFlQT0dSQVBIWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmNvbnN0IFNlbGVjdEZpZWxkU2hlbGxCYXNlID0gKHsgY2hpbGRyZW4sIGNsYXNzZXMsIGNsYXNzTmFtZSA9ICcnLCBzaXplLCB2YXJpYW50LCBzdGF0dXMsIGRpc2FibGVkLCBsYWJlbCwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IGZhbHNlLCBsYWJlbElkLCBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkLCB9KSA9PiB7XG4gICAgY29uc3QgbGFiZWxDb2xvciA9IGRpc2FibGVkID8gU0VMRUNUX1RZUE9HUkFQSFkubGFiZWwuY29sb3IuZGlzYWJsZWQgOiBTRUxFQ1RfVFlQT0dSQVBIWS5sYWJlbC5jb2xvci5kZWZhdWx0O1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uQ29sb3IgPSBkaXNhYmxlZCA/IFNFTEVDVF9UWVBPR1JBUEhZLmRlc2NyaXB0aW9uLmNvbG9yLmRpc2FibGVkIDogU0VMRUNUX1RZUE9HUkFQSFkuZGVzY3JpcHRpb24uY29sb3IuZGVmYXVsdDtcbiAgICBjb25zdCBmZWVkYmFja0NsYXNzID0gY2xhc3NlcygnZmVlZGJhY2snLCBqb2luQ2xzKHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYGZlZWRiYWNrLSR7c3RhdHVzfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdmZWVkYmFjay1kaXNhYmxlZCcpKSk7XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh1bmRlZmluZWQsIGpvaW5DbHMoY2xhc3NlcyhzaXplKSwgY2xhc3Nlcyh2YXJpYW50KSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhzdGF0dXMpLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdkaXNhYmxlZCcpLCBjbGFzc05hbWUpKSwgY2hpbGRyZW46IFsobGFiZWwgfHwgaW5mbykgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbC1yb3cnKSwgY2hpbGRyZW46IFtsYWJlbCAmJiAoX2pzeHMoVHlwb2dyYXBoeUxhYmVsLCB7IGlkOiBsYWJlbElkLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsLXRleHQnKSwgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkubGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjb2xvcjogbGFiZWxDb2xvciwgY2hpbGRyZW46IFtsYWJlbCwgcmVxdWlyZWQgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3JlcXVpcmVkJyksIGNoaWxkcmVuOiBcIipcIiB9KV0gfSkpLCBpbmZvICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpbmZvJyksIGNoaWxkcmVuOiBpbmZvIH0pXSB9KSksIGRlc2NyaXB0aW9uICYmIChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IGlkOiBkZXNjcmlwdGlvbklkLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2Rlc2NyaXB0aW9uLXRleHQnKSwgYXM6IFwiZGl2XCIsIHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmRlc2NyaXB0aW9uLnNpemUsIGNvbG9yOiBkZXNjcmlwdGlvbkNvbG9yLCBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSkpLCBjaGlsZHJlbiwgZmVlZGJhY2sgJiYgKF9qc3hzKFwiZGl2XCIsIHsgaWQ6IGZlZWRiYWNrSWQsIGNsYXNzTmFtZTogZmVlZGJhY2tDbGFzcywgcm9sZTogc3RhdHVzID09PSAnZXJyb3InIHx8IHN0YXR1cyA9PT0gJ3dhcm5pbmcnID8gJ2FsZXJ0JyA6ICdzdGF0dXMnLCBjaGlsZHJlbjogW3N0YXR1cyA9PT0gJ2Vycm9yJyAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ZlZWRiYWNrLWljb24nKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJlcnJvclwiLCBzaXplOiAxNiwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmZlZWRiYWNrLnNpemUsIGNoaWxkcmVuOiBmZWVkYmFjayB9KV0gfSkpXSB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IFNlbGVjdEZpZWxkU2hlbGwgPSBtZW1vKFNlbGVjdEZpZWxkU2hlbGxCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFNlbGVjdEZpZWxkU2hlbGw7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9