w-component-vue 2.4.42 → 2.4.44

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 (1546) hide show
  1. package/README.md +1 -1
  2. package/dist/w-component-vue.umd.js +3 -3
  3. package/dist/w-component-vue.umd.js.map +1 -1
  4. package/docs/binarySearch.mjs.html +1 -1
  5. package/docs/convertColor.mjs.html +1 -1
  6. package/docs/examples/app.html +1 -1
  7. package/docs/examples/app.umd.js +3 -3
  8. package/docs/examples/app.umd.js.map +1 -1
  9. package/docs/examples/w-aggrid-vue-dyn_defCellEditable.html +1 -1
  10. package/docs/examples/w-aggrid-vue-dyn_kpCellEditable_kpRowStyle.html +1 -1
  11. package/docs/examples/w-aggrid-vue-dyn_kpHeadTooltip_kpCellTooltip.html +1 -1
  12. package/docs/examples/w-aggrid-vue-dyn_large data (1,000,000 items).html +1 -1
  13. package/docs/examples/w-aggrid-vue-dyn_simple data.html +1 -1
  14. package/docs/examples/w-alert_backgroundColor.html +1 -1
  15. package/docs/examples/w-alert_borderColor.html +1 -1
  16. package/docs/examples/w-alert_borderRadius.html +1 -1
  17. package/docs/examples/w-alert_borderWidth.html +1 -1
  18. package/docs/examples/w-alert_default.html +1 -1
  19. package/docs/examples/w-alert_icon.html +1 -1
  20. package/docs/examples/w-alert_position.html +1 -1
  21. package/docs/examples/w-alert_recive closed event by promise.html +1 -1
  22. package/docs/examples/w-alert_shadowStyle.html +1 -1
  23. package/docs/examples/w-alert_textColor.html +1 -1
  24. package/docs/examples/w-alert_time (6s).html +1 -1
  25. package/docs/examples/w-alert_type error.html +1 -1
  26. package/docs/examples/w-alert_type infor.html +1 -1
  27. package/docs/examples/w-alert_type warning.html +1 -1
  28. package/docs/examples/w-badge_backgroundColor.html +1 -1
  29. package/docs/examples/w-badge_badgeAlign.html +1 -1
  30. package/docs/examples/w-badge_borderColor_textColor_backgroundColor.html +1 -1
  31. package/docs/examples/w-badge_borderRadius.html +1 -1
  32. package/docs/examples/w-badge_default.html +1 -1
  33. package/docs/examples/w-badge_textColor_backgroundColor.html +1 -1
  34. package/docs/examples/w-badge_textFontSize.html +1 -1
  35. package/docs/examples/w-button-chip_active_backgroundColorActive.html +1 -1
  36. package/docs/examples/w-button-chip_active_borderColorActive.html +1 -1
  37. package/docs/examples/w-button-chip_active_iconColorActive.html +1 -1
  38. package/docs/examples/w-button-chip_active_no shadow_no shadowActive.html +1 -1
  39. package/docs/examples/w-button-chip_active_shadowActiveStyle.html +1 -1
  40. package/docs/examples/w-button-chip_active_textColorActive.html +1 -1
  41. package/docs/examples/w-button-chip_backgroundColor_backgroundColorHover.html +1 -1
  42. package/docs/examples/w-button-chip_borderColor_borderColorHover.html +1 -1
  43. package/docs/examples/w-button-chip_borderRadius.html +1 -1
  44. package/docs/examples/w-button-chip_borderRadiusStyle.html +1 -1
  45. package/docs/examples/w-button-chip_borderRadiusStyle_borderWidth_borderColor_borderColorHover.html +1 -1
  46. package/docs/examples/w-button-chip_borderWidth.html +1 -1
  47. package/docs/examples/w-button-chip_close.html +1 -1
  48. package/docs/examples/w-button-chip_close_shiftRight.html +1 -1
  49. package/docs/examples/w-button-chip_default.html +1 -1
  50. package/docs/examples/w-button-chip_icon (fontawesome).html +1 -1
  51. package/docs/examples/w-button-chip_icon (material).html +1 -1
  52. package/docs/examples/w-button-chip_icon_iconColor_iconColorHover_close.html +1 -1
  53. package/docs/examples/w-button-chip_icon_no text.html +1 -1
  54. package/docs/examples/w-button-chip_loading.html +1 -1
  55. package/docs/examples/w-button-chip_loading_loadingColor.html +1 -1
  56. package/docs/examples/w-button-chip_loading_textColor_textColorHover.html +1 -1
  57. package/docs/examples/w-button-chip_modify loading by callback in click.html +1 -1
  58. package/docs/examples/w-button-chip_modify prog by callback in click.html +1 -1
  59. package/docs/examples/w-button-chip_no shadow.html +1 -1
  60. package/docs/examples/w-button-chip_not editable.html +1 -1
  61. package/docs/examples/w-button-chip_not editable_disabledColor.html +1 -1
  62. package/docs/examples/w-button-chip_paddingStyle (equal height to using icon).html +1 -1
  63. package/docs/examples/w-button-chip_paddingStyle (thin style).html +1 -1
  64. package/docs/examples/w-button-chip_paddingStyle_icon_iconSize_textFontSize.html +1 -1
  65. package/docs/examples/w-button-chip_prog.html +1 -1
  66. package/docs/examples/w-button-chip_prog_progColor_progBackgroundColor.html +1 -1
  67. package/docs/examples/w-button-chip_promiseUnlock.html +1 -1
  68. package/docs/examples/w-button-chip_rippleColor.html +1 -1
  69. package/docs/examples/w-button-chip_shadowStyle.html +1 -1
  70. package/docs/examples/w-button-chip_shiftLeft.html +1 -1
  71. package/docs/examples/w-button-chip_slot_close.html +1 -1
  72. package/docs/examples/w-button-chip_textColor.html +1 -1
  73. package/docs/examples/w-button-chip_textColor_textColorHover.html +1 -1
  74. package/docs/examples/w-button-chip_tooltip.html +1 -1
  75. package/docs/examples/w-button-chip_tooltip_tooltipBorderRadius.html +1 -1
  76. package/docs/examples/w-button-chip_tooltip_tooltipPaddingStyle.html +1 -1
  77. package/docs/examples/w-button-chip_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  78. package/docs/examples/w-button-chip_tooltip_tooltipTextFontSize.html +1 -1
  79. package/docs/examples/w-button-circle_active_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  80. package/docs/examples/w-button-circle_active_borderWidth_borderColor_borderColorHover.html +1 -1
  81. package/docs/examples/w-button-circle_active_iconColor_iconColorHover_iconColorFocus.html +1 -1
  82. package/docs/examples/w-button-circle_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  83. package/docs/examples/w-button-circle_borderRadius.html +1 -1
  84. package/docs/examples/w-button-circle_borderRadiusStyle(horizontal btns).html +1 -1
  85. package/docs/examples/w-button-circle_borderRadiusStyle(vertical btns).html +1 -1
  86. package/docs/examples/w-button-circle_borderWidth_borderColor_borderColorHover_borderColorFocus.html +1 -1
  87. package/docs/examples/w-button-circle_icon (fontawesome).html +1 -1
  88. package/docs/examples/w-button-circle_icon (material).html +1 -1
  89. package/docs/examples/w-button-circle_iconColor_iconColorHover_iconColorFocus.html +1 -1
  90. package/docs/examples/w-button-circle_loading.html +1 -1
  91. package/docs/examples/w-button-circle_loading_loadingColor.html +1 -1
  92. package/docs/examples/w-button-circle_no shadow.html +1 -1
  93. package/docs/examples/w-button-circle_not editable.html +1 -1
  94. package/docs/examples/w-button-circle_not editable_disabledColor.html +1 -1
  95. package/docs/examples/w-button-circle_paddingStyle.html +1 -1
  96. package/docs/examples/w-button-circle_paddingStyle_iconSize.html +1 -1
  97. package/docs/examples/w-button-circle_promiseUnlock.html +1 -1
  98. package/docs/examples/w-button-circle_rippleColor.html +1 -1
  99. package/docs/examples/w-button-circle_shadowStyle.html +1 -1
  100. package/docs/examples/w-button-circle_tooltip.html +1 -1
  101. package/docs/examples/w-button-circle_tooltip_tooltipBorderRadius.html +1 -1
  102. package/docs/examples/w-button-circle_tooltip_tooltipPaddingStyle.html +1 -1
  103. package/docs/examples/w-button-circle_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  104. package/docs/examples/w-button-circle_tooltip_tooltipTextFontSize.html +1 -1
  105. package/docs/examples/w-checkbox_checkedIconColor_checkedIconColorHover_uncheckedIconColor_uncheckedIconColorHover.html +1 -1
  106. package/docs/examples/w-checkbox_checkedIcon_uncheckedIcon.html +1 -1
  107. package/docs/examples/w-checkbox_default.html +1 -1
  108. package/docs/examples/w-checkbox_iconSize_textFontSize.html +1 -1
  109. package/docs/examples/w-checkbox_not editable.html +1 -1
  110. package/docs/examples/w-checkbox_not editable_checkedIconColorDisabled_uncheckedIconColorDisabled.html +1 -1
  111. package/docs/examples/w-checkbox_slot.html +1 -1
  112. package/docs/examples/w-checkbox_text.html +1 -1
  113. package/docs/examples/w-checkbox_text_textColor_textColorHover.html +1 -1
  114. package/docs/examples/w-checkbox_use string (y or n).html +1 -1
  115. package/docs/examples/w-checkbox_verticalAlign.html +1 -1
  116. package/docs/examples/w-ckeditor-vue-dyn_default.html +1 -1
  117. package/docs/examples/w-ckeditor-vue-dyn_height.html +1 -1
  118. package/docs/examples/w-ckeditor-vue-dyn_not editable.html +1 -1
  119. package/docs/examples/w-ckeditor-vue-dyn_settings.html +1 -1
  120. package/docs/examples/w-color-pick-alpha_color.html +1 -1
  121. package/docs/examples/w-color-pick-alpha_cursorSize.html +1 -1
  122. package/docs/examples/w-color-pick-alpha_default.html +1 -1
  123. package/docs/examples/w-color-pick-alpha_width_height.html +1 -1
  124. package/docs/examples/w-color-pick-hexagon-gray_default.html +1 -1
  125. package/docs/examples/w-color-pick-hexagon-gray_size.html +1 -1
  126. package/docs/examples/w-color-pick-hexagon-gray_space.html +1 -1
  127. package/docs/examples/w-color-pick-hexagon_default.html +1 -1
  128. package/docs/examples/w-color-pick-hexagon_size.html +1 -1
  129. package/docs/examples/w-color-pick-hsv_color.html +1 -1
  130. package/docs/examples/w-color-pick-hsv_cursorSize.html +1 -1
  131. package/docs/examples/w-color-pick-hsv_default.html +1 -1
  132. package/docs/examples/w-color-pick-hsv_width_height.html +1 -1
  133. package/docs/examples/w-color-pick-hue_cursorSize.html +1 -1
  134. package/docs/examples/w-color-pick-hue_default.html +1 -1
  135. package/docs/examples/w-color-pick-hue_width_height.html +1 -1
  136. package/docs/examples/w-color-pick-stripe_colorLeft_colorRight.html +1 -1
  137. package/docs/examples/w-color-pick-stripe_colorNum.html +1 -1
  138. package/docs/examples/w-color-pick-stripe_default.html +1 -1
  139. package/docs/examples/w-color-pick-stripe_width_height.html +1 -1
  140. package/docs/examples/w-color-select-input_barProgColor_barProgBackgroundColor_barSliderBackgroundColor_barSliderBackgroundColorHover.html +1 -1
  141. package/docs/examples/w-color-select-input_barProgHeight.html +1 -1
  142. package/docs/examples/w-color-select-input_barSliderSize.html +1 -1
  143. package/docs/examples/w-color-select-input_borderColor_borderColorHover_borderColorActive.html +1 -1
  144. package/docs/examples/w-color-select-input_default.html +1 -1
  145. package/docs/examples/w-color-select-input_inputBackgroundColor_inputBackgroundColorHover_inputBackgroundColorActive.html +1 -1
  146. package/docs/examples/w-color-select-input_inputBorderColor_inputBorderColorHover_inputBorderColorActive.html +1 -1
  147. package/docs/examples/w-color-select-input_inputBorderRadius.html +1 -1
  148. package/docs/examples/w-color-select-input_inputLabelColor.html +1 -1
  149. package/docs/examples/w-color-select-input_inputLabelWidth_inputLabelFontSize.html +1 -1
  150. package/docs/examples/w-color-select-input_inputTextColor.html +1 -1
  151. package/docs/examples/w-color-select-input_inputTextFontSize_inputTextWidth_inputTextHeight.html +1 -1
  152. package/docs/examples/w-color-select-input_menuBackgroundColor_menuBackgroundColorHover_menuBackgroundColorActive.html +1 -1
  153. package/docs/examples/w-color-select-input_menuBorderRadius.html +1 -1
  154. package/docs/examples/w-color-select-input_menuBorderRadius_borderColor_borderColorHover_borderColorActive.html +1 -1
  155. package/docs/examples/w-color-select-input_menuTextColor_menuTextColorHover_menuTextColorActive.html +1 -1
  156. package/docs/examples/w-color-select-input_menuTextFontSize.html +1 -1
  157. package/docs/examples/w-color-select-input_size.html +1 -1
  158. package/docs/examples/w-color-select-panel-block_default.html +1 -1
  159. package/docs/examples/w-color-select-panel-block_size.html +1 -1
  160. package/docs/examples/w-color-select-panel-block_spaceGray_spaceAlpha.html +1 -1
  161. package/docs/examples/w-color-select-panel-hsva_default.html +1 -1
  162. package/docs/examples/w-color-select-panel-hsva_size.html +1 -1
  163. package/docs/examples/w-color-select-panel-hsva_space.html +1 -1
  164. package/docs/examples/w-color-select-panel_backgroundColor.html +1 -1
  165. package/docs/examples/w-color-select-panel_default.html +1 -1
  166. package/docs/examples/w-color-select-panel_size.html +1 -1
  167. package/docs/examples/w-color-select-panel_space.html +1 -1
  168. package/docs/examples/w-color-select-panel_type.html +1 -1
  169. package/docs/examples/w-color-select_barProgColor_barProgBackgroundColor_barSliderBackgroundColor_barSliderBackgroundColorHover.html +1 -1
  170. package/docs/examples/w-color-select_barProgHeight.html +1 -1
  171. package/docs/examples/w-color-select_barSliderSize.html +1 -1
  172. package/docs/examples/w-color-select_btnBackgroundColor_btnBackgroundColorHover_btnBackgroundColorActive.html +1 -1
  173. package/docs/examples/w-color-select_btnBorderRadius.html +1 -1
  174. package/docs/examples/w-color-select_btnPaddingStyle.html +1 -1
  175. package/docs/examples/w-color-select_btnText.html +1 -1
  176. package/docs/examples/w-color-select_btnTextColor_btnTextColorHover_btnTextColorActive.html +1 -1
  177. package/docs/examples/w-color-select_btnTextFontSize.html +1 -1
  178. package/docs/examples/w-color-select_colorBlockBorderColor.html +1 -1
  179. package/docs/examples/w-color-select_colorBlockBorderColor_colorTextColor_borderColor_borderColorHover.html +1 -1
  180. package/docs/examples/w-color-select_colorBlockBorderWidth.html +1 -1
  181. package/docs/examples/w-color-select_colorBlockSize.html +1 -1
  182. package/docs/examples/w-color-select_colorTextColor.html +1 -1
  183. package/docs/examples/w-color-select_colorTextFontSize.html +1 -1
  184. package/docs/examples/w-color-select_default.html +1 -1
  185. package/docs/examples/w-color-select_inputBackgroundColor_inputBackgroundColorHover_inputBackgroundColorActive.html +1 -1
  186. package/docs/examples/w-color-select_inputBorderColor_inputBorderColorHover_inputBorderColorActive.html +1 -1
  187. package/docs/examples/w-color-select_inputBorderRadius.html +1 -1
  188. package/docs/examples/w-color-select_inputLabelColor.html +1 -1
  189. package/docs/examples/w-color-select_inputLabelWidth_inputLabelFontSize.html +1 -1
  190. package/docs/examples/w-color-select_inputTextColor.html +1 -1
  191. package/docs/examples/w-color-select_inputTextFontSize_inputTextWidth_inputTextHeight.html +1 -1
  192. package/docs/examples/w-color-select_menuBackgroundColor_menuBackgroundColorHover_menuBackgroundColorActive.html +1 -1
  193. package/docs/examples/w-color-select_menuBorderRadius.html +1 -1
  194. package/docs/examples/w-color-select_menuIconColor_menuIconColorHover_menuIconColorActive.html +1 -1
  195. package/docs/examples/w-color-select_menuIconLump_menuIconHsva_menuIconEyeDropper.html +1 -1
  196. package/docs/examples/w-color-select_menuIconSize.html +1 -1
  197. package/docs/examples/w-color-select_menuTextColor_menuTextColorHover_menuTextColorActive.html +1 -1
  198. package/docs/examples/w-color-select_menuTextFontSize.html +1 -1
  199. package/docs/examples/w-color-select_not editable.html +1 -1
  200. package/docs/examples/w-color-select_panelBackgroundColor.html +1 -1
  201. package/docs/examples/w-color-select_showColorText.html +1 -1
  202. package/docs/examples/w-color-select_size.html +1 -1
  203. package/docs/examples/w-color-select_toolBackgroundColor.html +1 -1
  204. package/docs/examples/w-confirm_contentColor_contentIconColor_contentBackgroundColor.html +1 -1
  205. package/docs/examples/w-confirm_contentIcon (fontawesome).html +1 -1
  206. package/docs/examples/w-confirm_contentIconColor.html +1 -1
  207. package/docs/examples/w-confirm_contentIconSize.html +1 -1
  208. package/docs/examples/w-confirm_hasNoBtn_yesBtnText.html +1 -1
  209. package/docs/examples/w-confirm_maxWidth.html +1 -1
  210. package/docs/examples/w-confirm_noBtnTextColor_noBtnTextColorHover_noBtnBackgroundColor_noBtnBackgroundColorHover.html +1 -1
  211. package/docs/examples/w-confirm_noBtnText_yesBtnText.html +1 -1
  212. package/docs/examples/w-confirm_scrollable (slot content).html +1 -1
  213. package/docs/examples/w-confirm_scrollable.html +1 -1
  214. package/docs/examples/w-confirm_slot content.html +1 -1
  215. package/docs/examples/w-confirm_slot footer.html +1 -1
  216. package/docs/examples/w-confirm_slot header.html +1 -1
  217. package/docs/examples/w-confirm_titleColor_headerBackgroundColor_footerBackgroundColor.html +1 -1
  218. package/docs/examples/w-confirm_title_content.html +1 -1
  219. package/docs/examples/w-dialog_closeWithInterceptor.html +1 -1
  220. package/docs/examples/w-dialog_contentTextColor_contentBackgroundColor.html +1 -1
  221. package/docs/examples/w-dialog_dialogZIndex.html +1 -1
  222. package/docs/examples/w-dialog_fullscreen.html +1 -1
  223. package/docs/examples/w-dialog_hasSaveBtn (no save button).html +1 -1
  224. package/docs/examples/w-dialog_hasSaveBtn_hasCloseBtn_isModal (no save and close button).html +1 -1
  225. package/docs/examples/w-dialog_headerBackgroundColor.html +1 -1
  226. package/docs/examples/w-dialog_headerBtns.html +1 -1
  227. package/docs/examples/w-dialog_headerShadow (no shadow).html +1 -1
  228. package/docs/examples/w-dialog_headerShadowStyle.html +1 -1
  229. package/docs/examples/w-dialog_icon (fontawesome).html +1 -1
  230. package/docs/examples/w-dialog_isModal (not persistent).html +1 -1
  231. package/docs/examples/w-dialog_long title.html +1 -1
  232. package/docs/examples/w-dialog_maxWidth (narrow width).html +1 -1
  233. package/docs/examples/w-dialog_multi dialogs.html +1 -1
  234. package/docs/examples/w-dialog_panelBorderRadius.html +1 -1
  235. package/docs/examples/w-dialog_panelShadow (no shadow).html +1 -1
  236. package/docs/examples/w-dialog_panelShadowStyle.html +1 -1
  237. package/docs/examples/w-dialog_saveBtnTooltip_closeBtnTooltip.html +1 -1
  238. package/docs/examples/w-dialog_scrollable.html +1 -1
  239. package/docs/examples/w-dialog_slot content (separate line).html +1 -1
  240. package/docs/examples/w-dialog_slot content (table).html +1 -1
  241. package/docs/examples/w-dialog_slot content.html +1 -1
  242. package/docs/examples/w-dialog_slot header-left_header-right.html +1 -1
  243. package/docs/examples/w-dialog_slot panel.html +1 -1
  244. package/docs/examples/w-dialog_title.html +1 -1
  245. package/docs/examples/w-dialog_titleColor_headerIconColor_headerBackgroundColor.html +1 -1
  246. package/docs/examples/w-drawer_afloat.html +1 -1
  247. package/docs/examples/w-drawer_afloat_afloatByFix.html +1 -1
  248. package/docs/examples/w-drawer_afloat_afloatByFix_dragDrawerWidth.html +1 -1
  249. package/docs/examples/w-drawer_afloat_afloatByFix_mode.html +1 -1
  250. package/docs/examples/w-drawer_afloat_afloatByFix_mode_dragDrawerWidth.html +1 -1
  251. package/docs/examples/w-drawer_afloat_dragDrawerWidth.html +1 -1
  252. package/docs/examples/w-drawer_afloat_dragDrawerWidth_drawerWidthMin_drawerWidthMax.html +1 -1
  253. package/docs/examples/w-drawer_afloat_mode.html +1 -1
  254. package/docs/examples/w-drawer_afloat_mode_dragDrawerWidth.html +1 -1
  255. package/docs/examples/w-drawer_afloat_mode_dragDrawerWidth_drawerWidthMin.html +1 -1
  256. package/docs/examples/w-drawer_afloat_overlayOpacity.html +1 -1
  257. package/docs/examples/w-drawer_autoSwitchToFloat_switchWidth_afloat.html +1 -1
  258. package/docs/examples/w-drawer_autoSwitchToHide_switchWidth.html +1 -1
  259. package/docs/examples/w-drawer_autoSwitchToShow_switchWidth.html +1 -1
  260. package/docs/examples/w-drawer_default.html +1 -1
  261. package/docs/examples/w-drawer_dragDrawerWidth_drawerBarBorderColor_drawerBarBorderSize.html +1 -1
  262. package/docs/examples/w-drawer_dragDrawerWidth_drawerBarColor_drawerBarSize.html +1 -1
  263. package/docs/examples/w-drawer_dragDrawerWidth_drawerWidth(sync).html +1 -1
  264. package/docs/examples/w-drawer_dragDrawerWidth_drawerWidthMin_drawerWidthMax.html +1 -1
  265. package/docs/examples/w-drawer_drawerWidth.html +1 -1
  266. package/docs/examples/w-drawer_mode.html +1 -1
  267. package/docs/examples/w-drawer_mode_dragDrawerWidth.html +1 -1
  268. package/docs/examples/w-drawer_multiple_dragDrawerWidth_drawerWidthMin_drawerWidthMax.html +1 -1
  269. package/docs/examples/w-dropfiles_backgroundColor_backgroundColorDropIn_backgroundColorHover.html +1 -1
  270. package/docs/examples/w-dropfiles_borderColor_borderColorDropIn_borderColorHover_backgroundColorDropIn.html +1 -1
  271. package/docs/examples/w-dropfiles_borderRadius.html +1 -1
  272. package/docs/examples/w-dropfiles_borderWidth.html +1 -1
  273. package/docs/examples/w-dropfiles_default.html +1 -1
  274. package/docs/examples/w-dropfiles_timeTransition.html +1 -1
  275. package/docs/examples/w-dynamic-list_change rows.html +1 -1
  276. package/docs/examples/w-dynamic-list_change slot.html +1 -1
  277. package/docs/examples/w-dynamic-list_default.html +1 -1
  278. package/docs/examples/{w-dynamic-list_filterKeywords_noResultsText.html → w-dynamic-list_filterKeywords_statePaddingStyle_noResultsText.html} +5 -2
  279. package/docs/examples/w-dynamic-list_large data (1,000,000 items).html +1 -1
  280. package/docs/examples/w-dynamic-list_processItems.html +1 -1
  281. package/docs/examples/w-dynamic-list_render.html +1 -1
  282. package/docs/examples/w-dynamic-list_slot item with image.html +1 -1
  283. package/docs/examples/w-dynamic-list_viewHeightMax.html +1 -1
  284. package/docs/examples/w-echarts-vue-dyn_area.html +1 -1
  285. package/docs/examples/w-echarts-vue-dyn_bar3D.html +1 -1
  286. package/docs/examples/w-echarts-vue-dyn_continuous.html +1 -1
  287. package/docs/examples/w-echarts-vue-dyn_heatmap.html +1 -1
  288. package/docs/examples/w-echarts-vue-dyn_line.html +1 -1
  289. package/docs/examples/w-echarts-vue-dyn_line3D.html +1 -1
  290. package/docs/examples/w-echarts-vue-dyn_parallel.html +1 -1
  291. package/docs/examples/w-echarts-vue-dyn_polar heatmap.html +1 -1
  292. package/docs/examples/w-echarts-vue-dyn_polar.html +1 -1
  293. package/docs/examples/w-echarts-vue-dyn_radar.html +1 -1
  294. package/docs/examples/w-echarts-vue-dyn_resize.html +1 -1
  295. package/docs/examples/w-echarts-vue-dyn_scatter.html +1 -1
  296. package/docs/examples/w-echarts-vue-dyn_stack.html +1 -1
  297. package/docs/examples/w-echarts-vue-dyn_surface.html +1 -1
  298. package/docs/examples/w-echarts-vue-dyn_tree.html +1 -1
  299. package/docs/examples/w-echarts-vue-dyn_treemap.html +1 -1
  300. package/docs/examples/w-explorer_bindRoot.html +1 -1
  301. package/docs/examples/w-explorer_btnDisplayTreeBackgroundColor_btnDisplayTreeBackgroundColorHover_btnDisplayTreeBackgroundColorFocus.html +1 -1
  302. package/docs/examples/w-explorer_btnDisplayTreeIconColor_btnDisplayTreeIconColorHover_btnDisplayTreeIconColorFocus.html +1 -1
  303. package/docs/examples/w-explorer_btnDisplayTreeIconShow_btnDisplayTreeIconHide_btnDisplayTreeIconSize.html +1 -1
  304. package/docs/examples/w-explorer_dark mode.html +1 -1
  305. package/docs/examples/w-explorer_default.html +1 -1
  306. package/docs/examples/w-explorer_defaultShowTreeFirst.html +1 -1
  307. package/docs/examples/w-explorer_defaultShowTreeFirst_noSelectedText.html +1 -1
  308. package/docs/examples/w-explorer_draggable.html +1 -1
  309. package/docs/examples/w-explorer_draggable_dgInsertLineColor_dgInsertBackgroundColor_dgBelongBackgroundColor.html +1 -1
  310. package/docs/examples/w-explorer_draggable_dgPreviewOpacity_dgPreviewBorderWidth_dgBelongBackgroundColor.html +1 -1
  311. package/docs/examples/w-explorer_draggable_dgTextDisabled_dgTextDisabledColor_dgTextDisabledPaddingLeft.html +1 -1
  312. package/docs/examples/w-explorer_events.html +1 -1
  313. package/docs/examples/w-explorer_funSortTree.html +1 -1
  314. package/docs/examples/w-explorer_lineBetweenPathAndListWidth_lineBetweenPathAndListColor.html +1 -1
  315. package/docs/examples/w-explorer_listBackgroundColor.html +1 -1
  316. package/docs/examples/w-explorer_listFolderIcon_listFileIcon_listIconSize.html +1 -1
  317. package/docs/examples/w-explorer_listItemBackgroundColor_listItemBackgroundColorHover_listItemBackgroundColorActive.html +1 -1
  318. package/docs/examples/w-explorer_listItemIconColor_listItemIconColorHover_listItemIconColorActive.html +1 -1
  319. package/docs/examples/w-explorer_listItemRippleColor.html +1 -1
  320. package/docs/examples/w-explorer_listItemTextColor_listItemTextColorHover_listItemTextColorActive.html +1 -1
  321. package/docs/examples/w-explorer_listItemTextFontSize.html +1 -1
  322. package/docs/examples/w-explorer_listPaddingStyle.html +1 -1
  323. package/docs/examples/w-explorer_operatable.html +1 -1
  324. package/docs/examples/w-explorer_operatable_draggable.html +1 -1
  325. package/docs/examples/w-explorer_operatable_editorRenameCancelBtnBackgroundColor_editorRenameCancelBtnBackgroundColorHover.html +1 -1
  326. package/docs/examples/w-explorer_operatable_editorRenameCancelBtnIcon_editorRenameCancelBtnIconSize_editorRenameCancelBtnIconColor.html +1 -1
  327. package/docs/examples/w-explorer_operatable_editorRenameCancelBtnText_editorRenameCancelBtnTextColor_editorRenameCancelBtnTextColorHover.html +1 -1
  328. package/docs/examples/w-explorer_operatable_editorRenameContentBackgroundColor_editorRenameFooterBackgroundColor.html +1 -1
  329. package/docs/examples/w-explorer_operatable_editorRenameInputTextColor_editorRenameInputTextBottomLineBorderColor_editorRenameInputTextBottomLineBorderColorHover.html +1 -1
  330. package/docs/examples/w-explorer_operatable_editorRenameSaveBtnBackgroundColor_editorRenameSaveBtnBackgroundColorHover.html +1 -1
  331. package/docs/examples/w-explorer_operatable_editorRenameSaveBtnIcon_editorRenameSaveBtnIconSize_editorRenameSaveBtnIconColor.html +1 -1
  332. package/docs/examples/w-explorer_operatable_editorRenameSaveBtnText_editorRenameSaveBtnTextColor_editorRenameSaveBtnTextColorHover.html +1 -1
  333. package/docs/examples/w-explorer_operatable_operateBtnBackgroundColor_operateBtnBackgroundColorHover_operateBtnBackgroundColorFocus.html +1 -1
  334. package/docs/examples/w-explorer_operatable_operateBtnTooltip_operateItemTextForRename_perateItemTextForInsertChild.html +1 -1
  335. package/docs/examples/w-explorer_operatable_operateItemBackgroundColor_operateItemBackgroundColorHover_operateItemTextColor.html +1 -1
  336. package/docs/examples/w-explorer_operatable_operateItemHeight_operateItemIconSize_operateItemPaddingStyle.html +1 -1
  337. package/docs/examples/w-explorer_operatable_operateItemIconForRename_operateItemIconForInsertChild_operateItemIconForDelete.html +1 -1
  338. package/docs/examples/w-explorer_operatable_operatePanelWidth_operatePanelHeight_operateItemIconSize.html +1 -1
  339. package/docs/examples/w-explorer_pathBackgroundColor.html +1 -1
  340. package/docs/examples/w-explorer_pathBtnBackgroundColor_pathBtnBackgroundColorHover.html +1 -1
  341. package/docs/examples/w-explorer_pathBtnTextColor_pathBtnTextColorHover.html +1 -1
  342. package/docs/examples/w-explorer_pathBtnTextFontSize.html +1 -1
  343. package/docs/examples/w-explorer_pathSepIcon_pathSepIconColor_pathSepIconSize.html +1 -1
  344. package/docs/examples/w-explorer_showTree.html +1 -1
  345. package/docs/examples/w-explorer_slot folder-item.html +1 -1
  346. package/docs/examples/w-explorer_slot list-item-cover.html +1 -1
  347. package/docs/examples/w-explorer_slot list-item-sub.html +1 -1
  348. package/docs/examples/w-explorer_slot list-item-text-left.html +1 -1
  349. package/docs/examples/w-explorer_slot list-item-text-right.html +1 -1
  350. package/docs/examples/w-explorer_slot list-item_list-item-cover_list-head_list-foot.html +1 -1
  351. package/docs/examples/w-explorer_small text.html +1 -1
  352. package/docs/examples/w-explorer_toggleTreeFoldersAll.html +1 -1
  353. package/docs/examples/w-explorer_toggleTreeFoldersByFun.html +1 -1
  354. package/docs/examples/w-explorer_treeAfloat.html +1 -1
  355. package/docs/examples/w-explorer_treeBackgroundColor.html +1 -1
  356. package/docs/examples/w-explorer_treeDefItemHeight_listDefItemHeight.html +1 -1
  357. package/docs/examples/w-explorer_treeDefaultDisplayLevel.html +1 -1
  358. package/docs/examples/w-explorer_treeDrawerBarSize_treeDrawerBarColor.html +1 -1
  359. package/docs/examples/w-explorer_treeFolderIconColor_treeFolderIconColorHover_treeFolderIconColorActive.html +1 -1
  360. package/docs/examples/w-explorer_treeFolderIcon_treeFolderIconSize.html +1 -1
  361. package/docs/examples/w-explorer_treeIndent.html +1 -1
  362. package/docs/examples/w-explorer_treeItemBackgroundColor_treeItemBackgroundColorHover_treeItemBackgroundColorActive.html +1 -1
  363. package/docs/examples/w-explorer_treeItemRippleColor.html +1 -1
  364. package/docs/examples/w-explorer_treeItemTextColor_treeItemTextColorHover_treeItemTextColorActive.html +1 -1
  365. package/docs/examples/w-explorer_treeItemTextFontSize.html +1 -1
  366. package/docs/examples/w-explorer_treePaddingStyle.html +1 -1
  367. package/docs/examples/w-explorer_treeToggleIconColor_treeToggleIconBackgroundColor_treeToggleIconBackgroundColorHover.html +1 -1
  368. package/docs/examples/w-explorer_treeToggleIconSize.html +1 -1
  369. package/docs/examples/w-explorer_treeWidth.html +1 -1
  370. package/docs/examples/w-explorer_treeWidthMin_treeWidthMax.html +1 -1
  371. package/docs/examples/w-explorer_triggerClickTreeFolderByFun.html +1 -1
  372. package/docs/examples/w-explorer_triggerClickTreeFolderById.html +1 -1
  373. package/docs/examples/w-group-baggage_connLineColor.html +1 -1
  374. package/docs/examples/w-group-baggage_connLineWidth.html +1 -1
  375. package/docs/examples/w-group-baggage_connLineZoneWidth.html +1 -1
  376. package/docs/examples/w-group-baggage_contentBackgroundColor_contentBackgroundColorHover.html +1 -1
  377. package/docs/examples/w-group-baggage_contentBorderColor_contentBorderColorHover.html +1 -1
  378. package/docs/examples/w-group-baggage_contentBorderRadius.html +1 -1
  379. package/docs/examples/w-group-baggage_contentBorderWidth.html +1 -1
  380. package/docs/examples/w-group-baggage_contentPaddingStyle.html +1 -1
  381. package/docs/examples/w-group-baggage_contentTextColor_contentTextColorHover.html +1 -1
  382. package/docs/examples/w-group-baggage_contentTextFontSize.html +1 -1
  383. package/docs/examples/w-group-baggage_default.html +1 -1
  384. package/docs/examples/w-group-baggage_keyTag_keyText.html +1 -1
  385. package/docs/examples/w-group-baggage_slot tag.html +1 -1
  386. package/docs/examples/w-group-baggage_slot text-sub.html +1 -1
  387. package/docs/examples/w-group-baggage_slot text_contentPaddingStyle.html +1 -1
  388. package/docs/examples/w-group-baggage_tagBackgroundColor_tagBackgroundColorHover.html +1 -1
  389. package/docs/examples/w-group-baggage_tagBorderColor_tagBorderColorHover.html +1 -1
  390. package/docs/examples/w-group-baggage_tagBorderRadius.html +1 -1
  391. package/docs/examples/w-group-baggage_tagBorderWidth.html +1 -1
  392. package/docs/examples/w-group-baggage_tagClickable_contentClickable_events.html +1 -1
  393. package/docs/examples/w-group-baggage_tagDistBetweenTopAndBaseline.html +1 -1
  394. package/docs/examples/w-group-baggage_tagPaddingStyle_contentShiftTopFromBaseline.html +1 -1
  395. package/docs/examples/w-group-baggage_tagTextColor_tagTextColorHover.html +1 -1
  396. package/docs/examples/w-group-baggage_tagTextFontSize_contentShiftTopFromBaseline.html +1 -1
  397. package/docs/examples/w-group-chip-check_backgroundColorActive.html +1 -1
  398. package/docs/examples/w-group-chip-check_backgroundColor_backgroundColorHover.html +1 -1
  399. package/docs/examples/w-group-chip-check_borderColor_borderColorHover_borderColorActive.html +1 -1
  400. package/docs/examples/w-group-chip-check_borderRadius.html +1 -1
  401. package/docs/examples/w-group-chip-check_borderRadius_borderRadiusStyle_paddingStyle.html +1 -1
  402. package/docs/examples/w-group-chip-check_borderWidth_borderColor_borderColorHover_borderColorActive.html +1 -1
  403. package/docs/examples/w-group-chip-check_click (console.log).html +1 -1
  404. package/docs/examples/w-group-chip-check_default.html +1 -1
  405. package/docs/examples/w-group-chip-check_group (only one).html +1 -1
  406. package/docs/examples/w-group-chip-check_group_borderColor_borderColorHover_borderColorActive.html +1 -1
  407. package/docs/examples/w-group-chip-check_group_groupBorderRadiusStyle_groupShift_borderRadius.html +1 -1
  408. package/docs/examples/w-group-chip-check_icon (fontawesome).html +1 -1
  409. package/docs/examples/w-group-chip-check_icon (material).html +1 -1
  410. package/docs/examples/w-group-chip-check_iconColorActive.html +1 -1
  411. package/docs/examples/w-group-chip-check_iconColor_iconColorHover.html +1 -1
  412. package/docs/examples/w-group-chip-check_loading.html +1 -1
  413. package/docs/examples/w-group-chip-check_loading_loadingColor.html +1 -1
  414. package/docs/examples/w-group-chip-check_marginStyle.html +1 -1
  415. package/docs/examples/w-group-chip-check_no shadowActive.html +1 -1
  416. package/docs/examples/w-group-chip-check_not editable.html +1 -1
  417. package/docs/examples/w-group-chip-check_paddingStyle_borderRadius_textColor_iconColor.html +1 -1
  418. package/docs/examples/w-group-chip-check_paddingStyle_iconSize_textFontSize.html +1 -1
  419. package/docs/examples/w-group-chip-check_shadow.html +1 -1
  420. package/docs/examples/w-group-chip-check_shadowActiveStyle.html +1 -1
  421. package/docs/examples/w-group-chip-check_shadow_shadowStyle.html +1 -1
  422. package/docs/examples/w-group-chip-check_shiftLeft.html +1 -1
  423. package/docs/examples/w-group-chip-check_shiftLeft_shiftRight.html +1 -1
  424. package/docs/examples/w-group-chip-check_slot_shadow.html +1 -1
  425. package/docs/examples/w-group-chip-check_textColor.html +1 -1
  426. package/docs/examples/w-group-chip-check_textColorActive.html +1 -1
  427. package/docs/examples/w-group-chip-check_textColor_textColorHover.html +1 -1
  428. package/docs/examples/w-group-chip-check_tooltip.html +1 -1
  429. package/docs/examples/w-group-chip-check_tooltip_tooltipBorderRadius.html +1 -1
  430. package/docs/examples/w-group-chip-check_tooltip_tooltipPaddingStyle.html +1 -1
  431. package/docs/examples/w-group-chip-check_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  432. package/docs/examples/w-group-chip-check_tooltip_tooltipTextFontSize.html +1 -1
  433. package/docs/examples/w-group-chip-radio_backgroundColorActive.html +1 -1
  434. package/docs/examples/w-group-chip-radio_backgroundColor_backgroundColorHover.html +1 -1
  435. package/docs/examples/w-group-chip-radio_borderColor_borderColorHover_borderColorActive.html +1 -1
  436. package/docs/examples/w-group-chip-radio_borderRadius.html +1 -1
  437. package/docs/examples/w-group-chip-radio_borderRadius_borderRadiusStyle_paddingStyle.html +1 -1
  438. package/docs/examples/w-group-chip-radio_borderWidth_borderColor_borderColorHover_borderColorActive.html +1 -1
  439. package/docs/examples/w-group-chip-radio_click (console.log).html +1 -1
  440. package/docs/examples/w-group-chip-radio_default.html +1 -1
  441. package/docs/examples/w-group-chip-radio_group (only one).html +1 -1
  442. package/docs/examples/w-group-chip-radio_group_borderColor_borderColorHover_borderColorActive.html +1 -1
  443. package/docs/examples/w-group-chip-radio_group_groupBorderRadiusStyle_groupShift_borderRadius.html +1 -1
  444. package/docs/examples/w-group-chip-radio_icon (fontawesome).html +1 -1
  445. package/docs/examples/w-group-chip-radio_icon (material).html +1 -1
  446. package/docs/examples/w-group-chip-radio_iconColorActive.html +1 -1
  447. package/docs/examples/w-group-chip-radio_iconColor_iconColorHover.html +1 -1
  448. package/docs/examples/w-group-chip-radio_loading.html +1 -1
  449. package/docs/examples/w-group-chip-radio_loading_loadingColor.html +1 -1
  450. package/docs/examples/w-group-chip-radio_marginStyle.html +1 -1
  451. package/docs/examples/w-group-chip-radio_no shadowActive.html +1 -1
  452. package/docs/examples/w-group-chip-radio_not editable.html +1 -1
  453. package/docs/examples/w-group-chip-radio_paddingStyle_borderRadius_textColor_iconColor.html +1 -1
  454. package/docs/examples/w-group-chip-radio_paddingStyle_iconSize_textFontSize.html +1 -1
  455. package/docs/examples/w-group-chip-radio_shadow.html +1 -1
  456. package/docs/examples/w-group-chip-radio_shadowActiveStyle.html +1 -1
  457. package/docs/examples/w-group-chip-radio_shadow_shadowStyle.html +1 -1
  458. package/docs/examples/w-group-chip-radio_shiftLeft.html +1 -1
  459. package/docs/examples/w-group-chip-radio_shiftLeft_shiftRight.html +1 -1
  460. package/docs/examples/w-group-chip-radio_slot_shadow.html +1 -1
  461. package/docs/examples/w-group-chip-radio_textColor.html +1 -1
  462. package/docs/examples/w-group-chip-radio_textColorActive.html +1 -1
  463. package/docs/examples/w-group-chip-radio_textColor_textColorHover.html +1 -1
  464. package/docs/examples/w-group-chip-radio_tooltip.html +1 -1
  465. package/docs/examples/w-group-chip-radio_tooltip_tooltipBorderRadius.html +1 -1
  466. package/docs/examples/w-group-chip-radio_tooltip_tooltipPaddingStyle.html +1 -1
  467. package/docs/examples/w-group-chip-radio_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  468. package/docs/examples/w-group-chip-radio_tooltip_tooltipTextFontSize.html +1 -1
  469. package/docs/examples/w-group-dragdrop_default.html +1 -1
  470. package/docs/examples/w-group-dragdrop_event (dragdrop).html +1 -1
  471. package/docs/examples/w-group-dragdrop_items(string array).html +1 -1
  472. package/docs/examples/w-group-dragdrop_keyBinder.html +1 -1
  473. package/docs/examples/w-group-dragdrop_not draggable.html +1 -1
  474. package/docs/examples/w-group-dragdrop_not itemStyleInline (block).html +1 -1
  475. package/docs/examples/w-group-icon-check_backgroundColor_backgroundColorHover_backgroundColorFocus_backgroundColorActive.html +1 -1
  476. package/docs/examples/w-group-icon-check_borderColor_borderColorHover_borderColorActive.html +1 -1
  477. package/docs/examples/w-group-icon-check_borderRadius.html +1 -1
  478. package/docs/examples/w-group-icon-check_borderWidth_borderColor_borderColorHover_borderColorFocus.html +1 -1
  479. package/docs/examples/w-group-icon-check_dir(vertical)_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  480. package/docs/examples/w-group-icon-check_dir(vertical)_borderColor_borderColorHover_borderColorActive.html +1 -1
  481. package/docs/examples/w-group-icon-check_dir(vertical)_borderRadius.html +1 -1
  482. package/docs/examples/w-group-icon-check_dir(vertical)_borderWidth_borderColor_borderColorHover.html +1 -1
  483. package/docs/examples/w-group-icon-check_dir(vertical)_icon (fontawesome).html +1 -1
  484. package/docs/examples/w-group-icon-check_dir(vertical)_icon (material).html +1 -1
  485. package/docs/examples/w-group-icon-check_dir(vertical)_iconColor_iconColorHover_iconColorFocus.html +1 -1
  486. package/docs/examples/w-group-icon-check_dir(vertical)_not editable.html +1 -1
  487. package/docs/examples/w-group-icon-check_dir(vertical)_one.html +1 -1
  488. package/docs/examples/w-group-icon-check_dir(vertical)_paddingStyle_iconSize.html +1 -1
  489. package/docs/examples/w-group-icon-check_dir(vertical)_rippleColor.html +1 -1
  490. package/docs/examples/w-group-icon-check_dir(vertical)_seplineColor.html +1 -1
  491. package/docs/examples/w-group-icon-check_dir(vertical)_seplineWidth.html +1 -1
  492. package/docs/examples/w-group-icon-check_dir(vertical)_shadow.html +1 -1
  493. package/docs/examples/w-group-icon-check_dir(vertical)_shadow_shadowStyle.html +1 -1
  494. package/docs/examples/w-group-icon-check_dir(vertical)_tooltip.html +1 -1
  495. package/docs/examples/w-group-icon-check_dir(vertical)_tooltip_tooltipBorderRadius.html +1 -1
  496. package/docs/examples/w-group-icon-check_dir(vertical)_tooltip_tooltipPaddingStyle.html +1 -1
  497. package/docs/examples/w-group-icon-check_dir(vertical)_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  498. package/docs/examples/w-group-icon-check_dir(vertical)_tooltip_tooltipTextFontSize.html +1 -1
  499. package/docs/examples/w-group-icon-check_icon (fontawesome).html +1 -1
  500. package/docs/examples/w-group-icon-check_icon (material).html +1 -1
  501. package/docs/examples/w-group-icon-check_iconColor_iconColorHover_iconColorFocus_iconColorActive.html +1 -1
  502. package/docs/examples/w-group-icon-check_not editable.html +1 -1
  503. package/docs/examples/w-group-icon-check_one.html +1 -1
  504. package/docs/examples/w-group-icon-check_paddingStyle_iconSize.html +1 -1
  505. package/docs/examples/w-group-icon-check_rippleColor.html +1 -1
  506. package/docs/examples/w-group-icon-check_seplineColor.html +1 -1
  507. package/docs/examples/w-group-icon-check_seplineWidth.html +1 -1
  508. package/docs/examples/w-group-icon-check_shadow.html +1 -1
  509. package/docs/examples/w-group-icon-check_shadow_shadowStyle.html +1 -1
  510. package/docs/examples/w-group-icon-check_tooltip.html +1 -1
  511. package/docs/examples/w-group-icon-check_tooltip_tooltipBorderRadius.html +1 -1
  512. package/docs/examples/w-group-icon-check_tooltip_tooltipPaddingStyle.html +1 -1
  513. package/docs/examples/w-group-icon-check_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  514. package/docs/examples/w-group-icon-check_tooltip_tooltipTextFontSize.html +1 -1
  515. package/docs/examples/w-group-icon-radio_backgroundColor_backgroundColorHover_backgroundColorFocus_backgroundColorActive.html +1 -1
  516. package/docs/examples/w-group-icon-radio_borderColor_borderColorHover_borderColorActive.html +1 -1
  517. package/docs/examples/w-group-icon-radio_borderRadius.html +1 -1
  518. package/docs/examples/w-group-icon-radio_borderWidth_borderColor_borderColorHover_borderColorFocus.html +1 -1
  519. package/docs/examples/w-group-icon-radio_dir(vertical)_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  520. package/docs/examples/w-group-icon-radio_dir(vertical)_borderColor_borderColorHover_borderColorActive.html +1 -1
  521. package/docs/examples/w-group-icon-radio_dir(vertical)_borderRadius.html +1 -1
  522. package/docs/examples/w-group-icon-radio_dir(vertical)_borderWidth_borderColor_borderColorHover.html +1 -1
  523. package/docs/examples/w-group-icon-radio_dir(vertical)_icon (fontawesome).html +1 -1
  524. package/docs/examples/w-group-icon-radio_dir(vertical)_icon (material).html +1 -1
  525. package/docs/examples/w-group-icon-radio_dir(vertical)_iconColor_iconColorHover_iconColorFocus.html +1 -1
  526. package/docs/examples/w-group-icon-radio_dir(vertical)_not editable.html +1 -1
  527. package/docs/examples/w-group-icon-radio_dir(vertical)_one.html +1 -1
  528. package/docs/examples/w-group-icon-radio_dir(vertical)_paddingStyle_iconSize.html +1 -1
  529. package/docs/examples/w-group-icon-radio_dir(vertical)_rippleColor.html +1 -1
  530. package/docs/examples/w-group-icon-radio_dir(vertical)_seplineColor.html +1 -1
  531. package/docs/examples/w-group-icon-radio_dir(vertical)_seplineWidth.html +1 -1
  532. package/docs/examples/w-group-icon-radio_dir(vertical)_shadow.html +1 -1
  533. package/docs/examples/w-group-icon-radio_dir(vertical)_shadow_shadowStyle.html +1 -1
  534. package/docs/examples/w-group-icon-radio_dir(vertical)_tooltip.html +1 -1
  535. package/docs/examples/w-group-icon-radio_dir(vertical)_tooltip_tooltipBorderRadius.html +1 -1
  536. package/docs/examples/w-group-icon-radio_dir(vertical)_tooltip_tooltipPaddingStyle.html +1 -1
  537. package/docs/examples/w-group-icon-radio_dir(vertical)_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  538. package/docs/examples/w-group-icon-radio_dir(vertical)_tooltip_tooltipTextFontSize.html +1 -1
  539. package/docs/examples/w-group-icon-radio_icon (fontawesome).html +1 -1
  540. package/docs/examples/w-group-icon-radio_icon (material).html +1 -1
  541. package/docs/examples/w-group-icon-radio_iconColor_iconColorHover_iconColorFocus_iconColorActive.html +1 -1
  542. package/docs/examples/w-group-icon-radio_not editable.html +1 -1
  543. package/docs/examples/w-group-icon-radio_one.html +1 -1
  544. package/docs/examples/w-group-icon-radio_paddingStyle_iconSize.html +1 -1
  545. package/docs/examples/w-group-icon-radio_rippleColor.html +1 -1
  546. package/docs/examples/w-group-icon-radio_seplineColor.html +1 -1
  547. package/docs/examples/w-group-icon-radio_seplineWidth.html +1 -1
  548. package/docs/examples/w-group-icon-radio_shadow.html +1 -1
  549. package/docs/examples/w-group-icon-radio_shadow_shadowStyle.html +1 -1
  550. package/docs/examples/w-group-icon-radio_tooltip.html +1 -1
  551. package/docs/examples/w-group-icon-radio_tooltip_tooltipBorderRadius.html +1 -1
  552. package/docs/examples/w-group-icon-radio_tooltip_tooltipPaddingStyle.html +1 -1
  553. package/docs/examples/w-group-icon-radio_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  554. package/docs/examples/w-group-icon-radio_tooltip_tooltipTextFontSize.html +1 -1
  555. package/docs/examples/w-group-tags_backgroundColor_backgroundColorHover.html +1 -1
  556. package/docs/examples/w-group-tags_borderColor_borderColorHover.html +1 -1
  557. package/docs/examples/w-group-tags_borderRadius.html +1 -1
  558. package/docs/examples/w-group-tags_closeWithInterceptor.html +1 -1
  559. package/docs/examples/w-group-tags_default.html +1 -1
  560. package/docs/examples/w-group-tags_editableClose(no close button).html +1 -1
  561. package/docs/examples/w-group-tags_editableClose(no close button)_editableInput(no input text).html +1 -1
  562. package/docs/examples/w-group-tags_editableInput(no input text).html +1 -1
  563. package/docs/examples/w-group-tags_enableActive_valueActive.html +1 -1
  564. package/docs/examples/w-group-tags_enableCloseEventOnly.html +1 -1
  565. package/docs/examples/w-group-tags_enableNodata.html +1 -1
  566. package/docs/examples/w-group-tags_enableNodata_nodata_editableClose(no close button)_editableInput(no input text).html +1 -1
  567. package/docs/examples/w-group-tags_icon (fontawesome).html +1 -1
  568. package/docs/examples/w-group-tags_icon (material).html +1 -1
  569. package/docs/examples/w-group-tags_iconColor_iconColorHover_textColor_textColorHover.html +1 -1
  570. package/docs/examples/w-group-tags_icon_iconColor_iconColorHover.html +1 -1
  571. package/docs/examples/w-group-tags_inputTextButtonTooltip.html +1 -1
  572. package/docs/examples/w-group-tags_inputTextFontSize_inputTextColor_inputTextBorderColor_inputTextBorderColorHover.html +1 -1
  573. package/docs/examples/w-group-tags_inputTextWidth.html +1 -1
  574. package/docs/examples/w-group-tags_marginStyle.html +1 -1
  575. package/docs/examples/w-group-tags_modify loading by callback in click.html +1 -1
  576. package/docs/examples/w-group-tags_modify prog by callback in click.html +1 -1
  577. package/docs/examples/w-group-tags_no enableNodata.html +1 -1
  578. package/docs/examples/w-group-tags_no shadow_borderColor_borderColorHover.html +1 -1
  579. package/docs/examples/w-group-tags_not draggable.html +1 -1
  580. package/docs/examples/w-group-tags_not editable.html +1 -1
  581. package/docs/examples/w-group-tags_object items.html +1 -1
  582. package/docs/examples/w-group-tags_object items_addButtonIcon_addButtonTextColor_addButtonTextColorHover.html +1 -1
  583. package/docs/examples/w-group-tags_object items_addButtonText_addButtonTooltip.html +1 -1
  584. package/docs/examples/w-group-tags_object items_keyIcon.html +1 -1
  585. package/docs/examples/w-group-tags_object items_keyText.html +1 -1
  586. package/docs/examples/w-group-tags_object items_keyTooltip.html +1 -1
  587. package/docs/examples/w-group-tags_object items_slot item.html +1 -1
  588. package/docs/examples/w-group-tags_object items_slot item_editableInput(no input button)_enableActive.html +1 -1
  589. package/docs/examples/w-group-tags_object items_slot item_enableColorsFromItem_editableInput(no input button).html +1 -1
  590. package/docs/examples/w-group-tags_paddingStyle_icon_iconSize_textFontSize.html +1 -1
  591. package/docs/examples/w-group-tags_progColor_progBackgroundColor.html +1 -1
  592. package/docs/examples/w-group-tags_shadowStyle.html +1 -1
  593. package/docs/examples/w-group-tags_shiftLeft.html +1 -1
  594. package/docs/examples/w-group-tags_slot input.html +1 -1
  595. package/docs/examples/w-group-tags_slot item.html +1 -1
  596. package/docs/examples/w-group-tags_slot item_enableActive_valueActive_paddingStyle.html +1 -1
  597. package/docs/examples/w-group-tags_suggests.html +1 -1
  598. package/docs/examples/w-group-tags_suggests_inputTextColor_inputExpansionIconColor.html +1 -1
  599. package/docs/examples/w-group-tags_suggests_placeholder_noResultsText.html +1 -1
  600. package/docs/examples/w-group-tags_suggests_slot suggest_addMode.html +1 -1
  601. package/docs/examples/w-group-tags_suggests_slot suggest_addMode_addWhenInputByOutside.html +1 -1
  602. package/docs/examples/w-group-tags_suggests_slot suggest_addMode_inputKeyText.html +1 -1
  603. package/docs/examples/w-group-tags_suggests_suggectItemFontSize_suggectItemTextColor_suggectItemTextColorHover.html +1 -1
  604. package/docs/examples/w-group-tags_textColor.html +1 -1
  605. package/docs/examples/w-group-tags_textColor_textColorHover.html +1 -1
  606. package/docs/examples/w-highcharts-bitmap-dyn_render (need w-hc2png-server).html +1 -1
  607. package/docs/examples/w-highcharts-vue-dyn_area.html +1 -1
  608. package/docs/examples/w-highcharts-vue-dyn_bar.html +1 -1
  609. package/docs/examples/w-highcharts-vue-dyn_heatmap.html +1 -1
  610. package/docs/examples/w-highcharts-vue-dyn_large heatmap.html +1 -1
  611. package/docs/examples/w-highcharts-vue-dyn_line.html +1 -1
  612. package/docs/examples/w-highcharts-vue-dyn_pie.html +1 -1
  613. package/docs/examples/w-highstock-vue-dyn_area.html +1 -1
  614. package/docs/examples/w-highstock-vue-dyn_line.html +1 -1
  615. package/docs/examples/w-icon_icon (fontawesome).html +1 -1
  616. package/docs/examples/w-icon_icon (fontawesome)_color_colorHover.html +1 -1
  617. package/docs/examples/w-icon_icon (fontawesome)_size.html +1 -1
  618. package/docs/examples/w-icon_icon (fontawesome)_timeTransition.html +1 -1
  619. package/docs/examples/w-icon_icon (material).html +1 -1
  620. package/docs/examples/w-icon_icon (material)_color_colorHover.html +1 -1
  621. package/docs/examples/w-icon_icon (material)_size.html +1 -1
  622. package/docs/examples/w-icon_icon (material)_timeTransition.html +1 -1
  623. package/docs/examples/w-image-cascading-dyn_arrangeWhenFinish.html +1 -1
  624. package/docs/examples/w-image-cascading-dyn_colNum.html +1 -1
  625. package/docs/examples/w-image-cascading-dyn_default(imageWidth=300).html +1 -1
  626. package/docs/examples/w-image-cascading-dyn_imageWidth.html +1 -1
  627. package/docs/examples/w-image-cascading-dyn_imageWidthSoft.html +1 -1
  628. package/docs/examples/w-image-lazy_width_height.html +1 -1
  629. package/docs/examples/w-image-lazy_width_height_delay.html +1 -1
  630. package/docs/examples/w-image-viewer-dyn_multiple image with navbar.html +1 -1
  631. package/docs/examples/w-image-viewer-dyn_one image.html +1 -1
  632. package/docs/examples/w-input-checkbox_arrange_paddingStyle.html +1 -1
  633. package/docs/examples/w-input-checkbox_click (console.log).html +1 -1
  634. package/docs/examples/w-input-checkbox_default.html +1 -1
  635. package/docs/examples/w-input-checkbox_not editable.html +1 -1
  636. package/docs/examples/w-input-checkbox_not editable_textColorDisabled.html +1 -1
  637. package/docs/examples/w-input-checkbox_object items_keyText.html +1 -1
  638. package/docs/examples/w-input-checkbox_paddingStyle.html +1 -1
  639. package/docs/examples/w-input-checkbox_slot_paddingStyle_verticalAlign_inputSize.html +1 -1
  640. package/docs/examples/w-input-checkbox_textColor_textColorHover_textColorActive.html +1 -1
  641. package/docs/examples/w-input-checkbox_textFontSize_paddingStyle.html +1 -1
  642. package/docs/examples/w-input-radio_arrange_paddingStyle.html +1 -1
  643. package/docs/examples/w-input-radio_click (console.log).html +1 -1
  644. package/docs/examples/w-input-radio_default.html +1 -1
  645. package/docs/examples/w-input-radio_not editable.html +1 -1
  646. package/docs/examples/w-input-radio_not editable_textColorDisabled.html +1 -1
  647. package/docs/examples/w-input-radio_object items_keyText.html +1 -1
  648. package/docs/examples/w-input-radio_paddingStyle.html +1 -1
  649. package/docs/examples/w-input-radio_slot_paddingStyle_verticalAlign_inputSize.html +1 -1
  650. package/docs/examples/w-input-radio_textColor_textColorHover_textColorActive.html +1 -1
  651. package/docs/examples/w-input-radio_textFontSize_paddingStyle.html +1 -1
  652. package/docs/examples/w-json-view_default.html +1 -1
  653. package/docs/examples/w-json-view_events.html +1 -1
  654. package/docs/examples/w-json-view_filterKeywords_funFilter.html +1 -1
  655. package/docs/examples/w-json-view_filterKeywords_noResultsText.html +1 -1
  656. package/docs/examples/w-json-view_iconColor_keyColor_keyNumbersColor_numColor.html +1 -1
  657. package/docs/examples/w-json-view_iconSize(24)_defItemHeight(32).html +1 -1
  658. package/docs/examples/w-json-view_large data (15,500 lines).html +1 -1
  659. package/docs/examples/w-json-view_no viewHeightMax.html +1 -1
  660. package/docs/examples/w-json-view_rippleColor.html +1 -1
  661. package/docs/examples/w-json-view_toggleItemsAll.html +1 -1
  662. package/docs/examples/w-json-view_toggleItemsByFun.html +1 -1
  663. package/docs/examples/w-json-view_viewHeightMax.html +1 -1
  664. package/docs/examples/w-leaflet-vue-dyn_contourSet for rain data.html +1 -1
  665. package/docs/examples/w-leaflet-vue-dyn_contourSets.html +1 -1
  666. package/docs/examples/w-leaflet-vue-dyn_pointSets.html +1 -1
  667. package/docs/examples/w-leaflet-vue-dyn_polygonSets.html +1 -1
  668. package/docs/examples/w-level-grade_arrowColor.html +1 -1
  669. package/docs/examples/w-level-grade_arrowSize.html +1 -1
  670. package/docs/examples/w-level-grade_default.html +1 -1
  671. package/docs/examples/w-level-grade_gradeSize.html +1 -1
  672. package/docs/examples/w-level-grade_gradeTextFontSize_gradeTextColor.html +1 -1
  673. package/docs/examples/w-level-grade_keyColor_keyLow_keyUp_keyDelimiter.html +1 -1
  674. package/docs/examples/w-level-grade_slot low_up_delimiter_text.html +1 -1
  675. package/docs/examples/w-level-grade_spaceForGrade.html +1 -1
  676. package/docs/examples/w-level-grade_tickDig.html +1 -1
  677. package/docs/examples/w-level-grade_tickDig_text.html +1 -1
  678. package/docs/examples/w-level-grade_tickDig_text_spaceForText.html +1 -1
  679. package/docs/examples/w-list-check_auto scroll.html +1 -1
  680. package/docs/examples/w-list-check_default.html +1 -1
  681. package/docs/examples/w-list-check_enableQuery.html +1 -1
  682. package/docs/examples/w-list-check_enableQuery_border.html +1 -1
  683. package/docs/examples/w-list-check_enableQuery_queryKeysPickForObjItem.html +1 -1
  684. package/docs/examples/w-list-check_enableQuery_querySepLineColor_querySepLineWidth.html +1 -1
  685. package/docs/examples/w-list-check_enableQuery_queryTextFontSize_queryTextColor_queryPlaceholder.html +1 -1
  686. package/docs/examples/w-list-check_enableQuery_slot item-content_itemBackgroundColorActive_itemCheckIconCheckedIconColorActive.html +1 -1
  687. package/docs/examples/w-list-check_item with no editable.html +1 -1
  688. package/docs/examples/w-list-check_item with no editable__itemCheckIconCheckedIconColorDisabled_itemCheckIconUncheckedIconColorDisabled.html +1 -1
  689. package/docs/examples/w-list-check_item with no editable_itemDisabledColor.html +1 -1
  690. package/docs/examples/w-list-check_item with no editable_itemTextColorDisabled_itemIconColorDisabled_itemBackgroundColorDisabled.html +1 -1
  691. package/docs/examples/w-list-check_itemCheckIconCheckedIconColor_itemCheckIconCheckedIconColorHover_itemCheckIconCheckedIconColorActive_itemCheckIconUncheckedIconColor.html +1 -1
  692. package/docs/examples/w-list-check_itemCheckIconCheckedIcon_itemCheckIconUncheckedIcon.html +1 -1
  693. package/docs/examples/w-list-check_itemCheckIconIconSize_itemIconSize_itemTextFontSize.html +1 -1
  694. package/docs/examples/w-list-check_itemRippleColor.html +1 -1
  695. package/docs/examples/w-list-check_itemTextColor_itemTextColorHover_itemTextColorActive_itemIconColor.html +1 -1
  696. package/docs/examples/w-list-check_keyPickForObjItem.html +1 -1
  697. package/docs/examples/w-list-check_keyText_keyIcon.html +1 -1
  698. package/docs/examples/w-list-check_paddingStyle_spaceBetweenCheckboxAndContent.html +1 -1
  699. package/docs/examples/w-list-check_slot footer.html +1 -1
  700. package/docs/examples/w-list-check_slot header.html +1 -1
  701. package/docs/examples/w-list-check_string items.html +1 -1
  702. package/docs/examples/w-list-expand_activeMode(multi).html +1 -1
  703. package/docs/examples/w-list-expand_auto scroll.html +1 -1
  704. package/docs/examples/w-list-expand_default.html +1 -1
  705. package/docs/examples/w-list-expand_itemBackgroundColor_itemBackgroundColorHover_itemBackgroundColorActive.html +1 -1
  706. package/docs/examples/w-list-expand_keyText_keyIcon_keyDsp.html +1 -1
  707. package/docs/examples/w-list-expand_paddingStyle.html +1 -1
  708. package/docs/examples/w-list-expand_slot footer.html +1 -1
  709. package/docs/examples/w-list-expand_slot header.html +1 -1
  710. package/docs/examples/w-list-expand_slot item-content_itemTextColor_itemTextColorHover_itemTextColorActive.html +1 -1
  711. package/docs/examples/w-list-expand_slot item-header_item-content.html +1 -1
  712. package/docs/examples/w-list-expand_string items_slot item-content.html +1 -1
  713. package/docs/examples/w-list-horizontal_borderBottomSize.html +1 -1
  714. package/docs/examples/w-list-horizontal_default.html +1 -1
  715. package/docs/examples/w-list-horizontal_item with no editable.html +1 -1
  716. package/docs/examples/w-list-horizontal_item with no editable_itemDisabledColor.html +1 -1
  717. package/docs/examples/w-list-horizontal_item with no editable_itemTextColorDisabled_itemIconColorDisabled_itemBackgroundColorDisabled.html +1 -1
  718. package/docs/examples/w-list-horizontal_itemBackgroundColor_itemBackgroundColorHover_itemBackgroundColorActive.html +1 -1
  719. package/docs/examples/w-list-horizontal_itemBorderRadius.html +1 -1
  720. package/docs/examples/w-list-horizontal_itemBorderRadius_space.html +1 -1
  721. package/docs/examples/w-list-horizontal_itemRippleColor.html +1 -1
  722. package/docs/examples/w-list-horizontal_itemRippleColor_borderBottomColor_itemTextColorActive_itemIconColorActive.html +1 -1
  723. package/docs/examples/w-list-horizontal_itemTextFontSize_itemIconSize.html +1 -1
  724. package/docs/examples/w-list-horizontal_keyText_keyIcon.html +1 -1
  725. package/docs/examples/w-list-horizontal_no borderBottom.html +1 -1
  726. package/docs/examples/w-list-horizontal_paddingStyle.html +1 -1
  727. package/docs/examples/w-list-horizontal_paddingStyle_borderBottomColor_itemRippleColor_itemTextColor.html +1 -1
  728. package/docs/examples/w-list-horizontal_slot item.html +1 -1
  729. package/docs/examples/w-list-horizontal_space.html +1 -1
  730. package/docs/examples/w-list-horizontal_string items.html +1 -1
  731. package/docs/examples/w-list-horizontal_string items_itemActive.html +1 -1
  732. package/docs/examples/w-list-radio_auto scroll.html +1 -1
  733. package/docs/examples/w-list-radio_default.html +1 -1
  734. package/docs/examples/w-list-radio_enableQuery.html +1 -1
  735. package/docs/examples/w-list-radio_enableQuery_border.html +1 -1
  736. package/docs/examples/w-list-radio_enableQuery_queryKeysPickForObjItem.html +1 -1
  737. package/docs/examples/w-list-radio_enableQuery_querySepLineColor_querySepLineWidth.html +1 -1
  738. package/docs/examples/w-list-radio_enableQuery_queryTextFontSize_queryTextColor_queryPlaceholder.html +1 -1
  739. package/docs/examples/w-list-radio_enableQuery_slot item-content_itemBackgroundColorActive_itemCheckIconCheckedIconColorActive.html +1 -1
  740. package/docs/examples/w-list-radio_item with no editable.html +1 -1
  741. package/docs/examples/w-list-radio_item with no editable__itemCheckIconCheckedIconColorDisabled_itemCheckIconUncheckedIconColorDisabled.html +1 -1
  742. package/docs/examples/w-list-radio_item with no editable_itemDisabledColor.html +1 -1
  743. package/docs/examples/w-list-radio_item with no editable_itemTextColorDisabled_itemIconColorDisabled_itemBackgroundColorDisabled.html +1 -1
  744. package/docs/examples/w-list-radio_itemCheckIconCheckedIconColor_itemCheckIconCheckedIconColorHover_itemCheckIconCheckedIconColorActive_itemCheckIconUncheckedIconColor.html +1 -1
  745. package/docs/examples/w-list-radio_itemCheckIconCheckedIcon_itemCheckIconUncheckedIcon.html +1 -1
  746. package/docs/examples/w-list-radio_itemCheckIconIconSize_itemIconSize_itemTextFontSize.html +1 -1
  747. package/docs/examples/w-list-radio_itemRippleColor.html +1 -1
  748. package/docs/examples/w-list-radio_itemTextColor_itemTextColorHover_itemTextColorActive_itemIconColor.html +1 -1
  749. package/docs/examples/w-list-radio_keyPickForObjItem.html +1 -1
  750. package/docs/examples/w-list-radio_keyText_keyIcon.html +1 -1
  751. package/docs/examples/w-list-radio_paddingStyle_spaceBetweenCheckboxAndContent.html +1 -1
  752. package/docs/examples/w-list-radio_slot footer.html +1 -1
  753. package/docs/examples/w-list-radio_slot header.html +1 -1
  754. package/docs/examples/w-list-radio_string items.html +1 -1
  755. package/docs/examples/w-list-vertical_auto scroll.html +1 -1
  756. package/docs/examples/w-list-vertical_default.html +1 -1
  757. package/docs/examples/w-list-vertical_enableActive (no active).html +1 -1
  758. package/docs/examples/w-list-vertical_enableActive (no active)_itemRippleColor.html +1 -1
  759. package/docs/examples/w-list-vertical_item with no editable.html +1 -1
  760. package/docs/examples/w-list-vertical_item with no editable_itemDisabledColor.html +1 -1
  761. package/docs/examples/w-list-vertical_item with no editable_itemTextColorDisabled_itemIconColorDisabled_itemBackgroundColorDisabled.html +1 -1
  762. package/docs/examples/w-list-vertical_itemActive.html +1 -1
  763. package/docs/examples/w-list-vertical_itemActive_itemBackgroundColor_itemBackgroundColorHover_itemBackgroundColorActive.html +1 -1
  764. package/docs/examples/w-list-vertical_itemActive_itemTextColor_itemTextColorHover_itemTextColorActive.html +1 -1
  765. package/docs/examples/w-list-vertical_itemIconSize_itemTextFontSize.html +1 -1
  766. package/docs/examples/w-list-vertical_keyText_keyIcon.html +1 -1
  767. package/docs/examples/w-list-vertical_paddingStyle.html +1 -1
  768. package/docs/examples/w-list-vertical_slot footer.html +1 -1
  769. package/docs/examples/w-list-vertical_slot header.html +1 -1
  770. package/docs/examples/w-list-vertical_slot item_itemBackgroundColorActive.html +1 -1
  771. package/docs/examples/w-list-vertical_string items.html +1 -1
  772. package/docs/examples/w-list-vertical_string items_itemActive.html +1 -1
  773. package/docs/examples/w-panel-avatar_avatarBackgroundColor.html +1 -1
  774. package/docs/examples/w-panel-avatar_avatarBorderRadius.html +1 -1
  775. package/docs/examples/w-panel-avatar_avatarBorderWidth_avatarBorderColor_avatarBackgroundColor.html +1 -1
  776. package/docs/examples/w-panel-avatar_avatarIcon (fontawesome).html +1 -1
  777. package/docs/examples/w-panel-avatar_avatarIcon (material).html +1 -1
  778. package/docs/examples/w-panel-avatar_avatarIcon_avatarIconSize_avatarIconColor_avatarBackgroundColor.html +1 -1
  779. package/docs/examples/w-panel-avatar_avatarOuterPadding_avatarInnerPadding.html +1 -1
  780. package/docs/examples/w-panel-avatar_contentBackgroundColor.html +1 -1
  781. package/docs/examples/w-panel-avatar_contentBorderRadius.html +1 -1
  782. package/docs/examples/w-panel-avatar_contentShadow.html +1 -1
  783. package/docs/examples/w-panel-avatar_default.html +1 -1
  784. package/docs/examples/w-panel-avatar_headerPadding_headerTextColor_headerTextSize_subHeaderTextColor.html +1 -1
  785. package/docs/examples/w-panel-avatar_headerVerticalAlign_spaceVBetweenHeaderAndContent.html +1 -1
  786. package/docs/examples/w-panel-avatar_no avatarShadow.html +1 -1
  787. package/docs/examples/w-panel-avatar_sepLineWidth_sepLineColor.html +1 -1
  788. package/docs/examples/w-panel-avatar_shiftVFromAvaterCenter.html +1 -1
  789. package/docs/examples/w-panel-avatar_slot avatar_avatarBackgroundColor.html +1 -1
  790. package/docs/examples/w-panel-avatar_spaceHBetweenAvatarAndHeader_spaceVBetweenHeaderAndContent.html +1 -1
  791. package/docs/examples/w-panel-bulge_contentBackgroundColor.html +1 -1
  792. package/docs/examples/w-panel-bulge_contentBorderRadius.html +1 -1
  793. package/docs/examples/w-panel-bulge_default.html +1 -1
  794. package/docs/examples/w-panel-bulge_headerBorderRadius.html +1 -1
  795. package/docs/examples/w-panel-bulge_headerTextColor_headerBackgroundColor.html +1 -1
  796. package/docs/examples/w-panel-bulge_no headerShadow_no contentShadow, with green outer.html +1 -1
  797. package/docs/examples/w-panel-bulge_paddingStyle.html +1 -1
  798. package/docs/examples/w-panel-bulge_slot for header_headerBorderRadius_headerBackgroundColor(linear-gradient).html +1 -1
  799. package/docs/examples/w-panel-bulge_with grey outer.html +1 -1
  800. package/docs/examples/w-panel-divide-horizontal_barBorderSize_barBorderColor.html +1 -1
  801. package/docs/examples/w-panel-divide-horizontal_barColor.html +1 -1
  802. package/docs/examples/w-panel-divide-horizontal_barSize.html +1 -1
  803. package/docs/examples/w-panel-divide-horizontal_default.html +1 -1
  804. package/docs/examples/w-panel-divide-horizontal_leftWidthMin_leftWidthMax.html +1 -1
  805. package/docs/examples/w-panel-divide-horizontal_ratio.html +1 -1
  806. package/docs/examples/w-panel-divide-horizontal_ratioMin_ratioMax.html +1 -1
  807. package/docs/examples/w-panel-divide-horizontal_rightWidthMin_rightWidthMax.html +1 -1
  808. package/docs/examples/w-panel-divide-vertical_barBorderSize_barBorderColor.html +1 -1
  809. package/docs/examples/w-panel-divide-vertical_barColor.html +1 -1
  810. package/docs/examples/w-panel-divide-vertical_barSize.html +1 -1
  811. package/docs/examples/w-panel-divide-vertical_bottomHeightMin_bottomHeightMax.html +1 -1
  812. package/docs/examples/w-panel-divide-vertical_default.html +1 -1
  813. package/docs/examples/w-panel-divide-vertical_ratio.html +1 -1
  814. package/docs/examples/w-panel-divide-vertical_ratioMin_ratioMax.html +1 -1
  815. package/docs/examples/w-panel-divide-vertical_topHeightMin_topHeightMax.html +1 -1
  816. package/docs/examples/w-panel-label-item_labelColor.html +1 -1
  817. package/docs/examples/w-panel-label-item_labelFontSize.html +1 -1
  818. package/docs/examples/w-panel-label-item_labelVerticalAlign.html +1 -1
  819. package/docs/examples/w-panel-label-item_labelWidth.html +1 -1
  820. package/docs/examples/w-panel-label-item_labelWidth_labelHorizontalAlign.html +1 -1
  821. package/docs/examples/w-panel-label-item_seplines_labelColor.html +1 -1
  822. package/docs/examples/w-panel-label-item_seplines_labelFontSize.html +1 -1
  823. package/docs/examples/w-panel-label-item_seplines_labelWidth.html +1 -1
  824. package/docs/examples/w-panel-label-item_seplines_labelWidth_labelHorizontalAlign.html +1 -1
  825. package/docs/examples/w-panel-label-item_seplines_slot item-sub.html +1 -1
  826. package/docs/examples/w-panel-label-item_seplines_slot item-sub_floatForItemSub.html +1 -1
  827. package/docs/examples/w-panel-label-item_seplines_slot label.html +1 -1
  828. package/docs/examples/w-panel-label-item_seplines_space.html +1 -1
  829. package/docs/examples/w-panel-label-item_slot item-sub.html +1 -1
  830. package/docs/examples/w-panel-label-item_slot item-sub_floatForItemSub.html +1 -1
  831. package/docs/examples/w-panel-label-item_slot label.html +1 -1
  832. package/docs/examples/w-panel-label-item_space.html +1 -1
  833. package/docs/examples/w-panel-label-item_with group-tags_labelVerticalAlign_labelShiftTop.html +1 -1
  834. package/docs/examples/w-panel-label-item_with select.html +1 -1
  835. package/docs/examples/w-panel-label-item_with select_seplines.html +1 -1
  836. package/docs/examples/w-panel-label-item_with text.html +1 -1
  837. package/docs/examples/w-panel-label-item_with text_seplines.html +1 -1
  838. package/docs/examples/w-panel-label-item_with textarea_labelVerticalAlign.html +1 -1
  839. package/docs/examples/w-panel-label-item_with textarea_seplines.html +1 -1
  840. package/docs/examples/w-panel-scale_for select.html +1 -1
  841. package/docs/examples/w-panel-scale_for v-btn.html +1 -1
  842. package/docs/examples/w-panel-scale_for w-panel-bulge.html +1 -1
  843. package/docs/examples/w-panel-scale_for w-panel-scrolly.html +1 -1
  844. package/docs/examples/w-panel-scale_for w-text-suggest.html +1 -1
  845. package/docs/examples/w-panel-scrolly_barOpacity_barOpacityHover.html +1 -1
  846. package/docs/examples/w-panel-scrolly_default.html +1 -1
  847. package/docs/examples/w-panel-scrolly_events.html +1 -1
  848. package/docs/examples/w-panel-scrolly_scrollTop.html +1 -1
  849. package/docs/examples/w-panel-stripe_borderRadius.html +1 -1
  850. package/docs/examples/w-panel-stripe_buttons in slot footer.html +1 -1
  851. package/docs/examples/w-panel-stripe_headerBackgroundColor_footerBackgroundColor.html +1 -1
  852. package/docs/examples/w-panel-stripe_no footer.html +1 -1
  853. package/docs/examples/w-panel-stripe_no header.html +1 -1
  854. package/docs/examples/w-panel-stripe_no shadow, with crimson outer.html +1 -1
  855. package/docs/examples/w-panel-stripe_only slot icon and slot title in header.html +1 -1
  856. package/docs/examples/w-panel-stripe_only slot title in header.html +1 -1
  857. package/docs/examples/w-panel-stripe_padding.html +1 -1
  858. package/docs/examples/w-panel-stripe_separate for slot content.html +1 -1
  859. package/docs/examples/w-panel-stripe_slot icon (fontawesome).html +1 -1
  860. package/docs/examples/w-panel-stripe_slot icon, slot title, slot description, slot content and slot footer.html +1 -1
  861. package/docs/examples/w-panel-stripe_table in slot content.html +1 -1
  862. package/docs/examples/w-panel-stripe_with grey outer.html +1 -1
  863. package/docs/examples/w-popup-edit-text_default.html +1 -1
  864. package/docs/examples/w-popup-edit-text_in table.html +1 -1
  865. package/docs/examples/w-popup-edit-text_minWidthForPopup.html +1 -1
  866. package/docs/examples/w-popup-edit-text_minWidthForValue.html +1 -1
  867. package/docs/examples/w-popup-edit-text_no title.html +1 -1
  868. package/docs/examples/w-popup-edit-text_title_contentIcon_contentIconColor_contentIconSize.html +1 -1
  869. package/docs/examples/w-popup-edit-text_title_footerBackgroundColor.html +1 -1
  870. package/docs/examples/w-popup-edit-text_title_inputTextColor_contentIconColor_contentBackgroundColor.html +1 -1
  871. package/docs/examples/w-popup-edit-text_title_saveBtnText_saveBtnTextColor_saveBtnTextColorHover.html +1 -1
  872. package/docs/examples/w-popup-edit-text_title_titleColor_titleFontSize_headerBackgroundColor.html +1 -1
  873. package/docs/examples/w-popup_auto flipping in dialog.html +1 -1
  874. package/docs/examples/w-popup_auto flipping in scroll panel.html +1 -1
  875. package/docs/examples/w-popup_autoFitMaxWidth.html +1 -1
  876. package/docs/examples/w-popup_autoFitMinWidth.html +1 -1
  877. package/docs/examples/w-popup_backgroundColor.html +1 -1
  878. package/docs/examples/w-popup_borderRadius.html +1 -1
  879. package/docs/examples/w-popup_click item by latency hiding.html +1 -1
  880. package/docs/examples/w-popup_default.html +1 -1
  881. package/docs/examples/w-popup_in popup.html +1 -1
  882. package/docs/examples/w-popup_in scroll panel.html +1 -1
  883. package/docs/examples/w-popup_isolated.html +1 -1
  884. package/docs/examples/w-popup_maxWidth.html +1 -1
  885. package/docs/examples/w-popup_minWidth.html +1 -1
  886. package/docs/examples/w-popup_no shadow_backgroundColor.html +1 -1
  887. package/docs/examples/w-popup_not editable.html +1 -1
  888. package/docs/examples/w-popup_paddingStyle.html +1 -1
  889. package/docs/examples/w-popup_placement.html +1 -1
  890. package/docs/examples/w-popup_placementDistY.html +1 -1
  891. package/docs/examples/w-popup_shadowStyle.html +1 -1
  892. package/docs/examples/w-popup_slot for table_maxWidth.html +1 -1
  893. package/docs/examples/w-popup_textColor_backgroundColor.html +1 -1
  894. package/docs/examples/w-popup_textFontSize.html +1 -1
  895. package/docs/examples/w-popup_transitionTime.html +1 -1
  896. package/docs/examples/w-progress-bar_decimal.html +1 -1
  897. package/docs/examples/w-progress-bar_default.html +1 -1
  898. package/docs/examples/w-progress-bar_enableContinuous.html +1 -1
  899. package/docs/examples/w-progress-bar_enableContinuous_continuousIncrease_continuousPeriod.html +1 -1
  900. package/docs/examples/w-progress-bar_enableContinuous_progColor_progBackgroundColor.html +1 -1
  901. package/docs/examples/w-progress-bar_enableIconFinish (no iconFinish).html +1 -1
  902. package/docs/examples/w-progress-bar_enableIconWaiting (no iconWaiting).html +1 -1
  903. package/docs/examples/w-progress-bar_height.html +1 -1
  904. package/docs/examples/w-progress-bar_height_borderRadius.html +1 -1
  905. package/docs/examples/w-progress-bar_iconFinish (fontawesome).html +1 -1
  906. package/docs/examples/w-progress-bar_iconFinishColor.html +1 -1
  907. package/docs/examples/w-progress-bar_iconSize.html +1 -1
  908. package/docs/examples/w-progress-bar_iconWaiting (fontawesome).html +1 -1
  909. package/docs/examples/w-progress-bar_iconWaitingColor.html +1 -1
  910. package/docs/examples/w-progress-bar_progColor.html +1 -1
  911. package/docs/examples/w-progress-bar_progColor_progBackgroundColor.html +1 -1
  912. package/docs/examples/w-progress-bar_title.html +1 -1
  913. package/docs/examples/w-progress-bar_title_titleTextColor.html +1 -1
  914. package/docs/examples/w-progress-bar_title_titleTextFontSize.html +1 -1
  915. package/docs/examples/w-progress-bar_value=0 (waiting).html +1 -1
  916. package/docs/examples/w-progress-bar_value=100 (finish).html +1 -1
  917. package/docs/examples/w-progress-bar_valueTextColor.html +1 -1
  918. package/docs/examples/w-progress-bar_valueTextFontSize.html +1 -1
  919. package/docs/examples/w-progress-circle_color.html +1 -1
  920. package/docs/examples/w-progress-circle_color_trackColor.html +1 -1
  921. package/docs/examples/w-progress-circle_color_trackColor_textColor.html +1 -1
  922. package/docs/examples/w-progress-circle_default.html +1 -1
  923. package/docs/examples/w-progress-circle_small size.html +1 -1
  924. package/docs/examples/w-progress-circle_tooltip.html +1 -1
  925. package/docs/examples/w-progress-circle_tooltip_tooltipBorderRadius.html +1 -1
  926. package/docs/examples/w-progress-circle_tooltip_tooltipPaddingStyle.html +1 -1
  927. package/docs/examples/w-progress-circle_tooltip_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  928. package/docs/examples/w-progress-circle_tooltip_tooltipTextFontSize.html +1 -1
  929. package/docs/examples/w-progress-circle_very small size.html +1 -1
  930. package/docs/examples/w-progress-circle_width.html +1 -1
  931. package/docs/examples/w-progress-circle_/344/270/255/346/226/207text.html +1 -1
  932. package/docs/examples/w-quill-vue-dyn_default.html +1 -1
  933. package/docs/examples/w-quill-vue-dyn_height.html +1 -1
  934. package/docs/examples/w-quill-vue-dyn_not editable.html +1 -1
  935. package/docs/examples/w-quill-vue-dyn_settings.html +1 -1
  936. package/docs/examples/w-segments-vertical_alignStart_alignEnd.html +1 -1
  937. package/docs/examples/w-segments-vertical_axisColor_tickColor_tickSize_tickLabelColor.html +1 -1
  938. package/docs/examples/w-segments-vertical_default.html +1 -1
  939. package/docs/examples/w-segments-vertical_events_textCanClick_segmentCanClick.html +1 -1
  940. package/docs/examples/w-segments-vertical_funFormatTickValue.html +1 -1
  941. package/docs/examples/w-segments-vertical_funSegmentBackgroundColor_funSegmentBorderColor.html +1 -1
  942. package/docs/examples/w-segments-vertical_items(continuous)_alignStart_alignEnd_textShift.html +1 -1
  943. package/docs/examples/w-segments-vertical_keyValueStart_keyValueEnd_keyText.html +1 -1
  944. package/docs/examples/w-segments-vertical_paddingStyle_textShift_width_height.html +1 -1
  945. package/docs/examples/w-segments-vertical_segmentBackgroundColor_segmentBorderColor_segmentSize.html +1 -1
  946. package/docs/examples/w-segments-vertical_slot support-left_width_paddingStyle_segmentBackgroundType.html +1 -1
  947. package/docs/examples/w-segments-vertical_slot support-right_width_paddingStyle_segmentBackgroundType.html +1 -1
  948. package/docs/examples/w-segments-vertical_slot text.html +1 -1
  949. package/docs/examples/w-segments-vertical_textFontSize_textColor_textBackgroundColor.html +1 -1
  950. package/docs/examples/w-segments-vertical_textTriangularSize_textTriangularRatio.html +1 -1
  951. package/docs/examples/w-segments-vertical_textWithPopup_slot text-popup.html +1 -1
  952. package/docs/examples/w-segments-vertical_title_titleColor_titleFontSize_titleShift.html +1 -1
  953. package/docs/examples/w-segments-vertical_valueMin_valueMax.html +1 -1
  954. package/docs/examples/w-segments-vertical_width_height.html +1 -1
  955. package/docs/examples/w-slider_default.html +1 -1
  956. package/docs/examples/w-slider_not editable.html +1 -1
  957. package/docs/examples/w-slider_not editable_progColorDisabled_progBackgroundColorDisabled_sliderBackgroundColorDisabled.html +1 -1
  958. package/docs/examples/w-slider_progBorderRadius.html +1 -1
  959. package/docs/examples/w-slider_progColor_progBackgroundColor_sliderBackgroundColor_sliderBackgroundColorHover.html +1 -1
  960. package/docs/examples/w-slider_progHeight.html +1 -1
  961. package/docs/examples/w-slider_sliderSize.html +1 -1
  962. package/docs/examples/w-slider_tooltipBorderRadius.html +1 -1
  963. package/docs/examples/w-slider_tooltipPlacementDist.html +1 -1
  964. package/docs/examples/w-slider_tooltipTextColor_tooltipBackgroundColor.html +1 -1
  965. package/docs/examples/w-slider_tooltipTextFontSize.html +1 -1
  966. package/docs/examples/w-slider_valueDecimal_valueMin_valueMax_valueStep.html +1 -1
  967. package/docs/examples/w-slider_valueMin_valueMax.html +1 -1
  968. package/docs/examples/w-slider_valueStep.html +1 -1
  969. package/docs/examples/w-switch_checkedSwitchCircleColor_checkedSwitchCircleColorHover_checkedSwitchBarColor_checkedSwitchBarColorHover.html +1 -1
  970. package/docs/examples/w-switch_default.html +1 -1
  971. package/docs/examples/w-switch_not editable.html +1 -1
  972. package/docs/examples/w-switch_not editable_checkedSwitchCircleColorDisabled_checkedSwitchBarColorDisabled_uncheckedSwitchCircleColorDisabled.html +1 -1
  973. package/docs/examples/w-switch_slot.html +1 -1
  974. package/docs/examples/w-switch_switchSize_textFontSize.html +1 -1
  975. package/docs/examples/w-switch_text.html +1 -1
  976. package/docs/examples/w-switch_text_textColor_textColorHover.html +1 -1
  977. package/docs/examples/w-switch_uncheckedSwitchCircleColor_uncheckedSwitchCircleColorHover_uncheckedSwitchBarColor_uncheckedSwitchBarColorHover.html +1 -1
  978. package/docs/examples/w-switch_use string (y or n).html +1 -1
  979. package/docs/examples/w-table-dyn_default.html +1 -1
  980. package/docs/examples/w-table-dyn_editable.html +1 -1
  981. package/docs/examples/w-table-dyn_editable_checkId.html +1 -1
  982. package/docs/examples/w-table-dyn_editable_checkId_opt.modifyDataWhenSave_save(call cmp. method).html +1 -1
  983. package/docs/examples/w-table-dyn_editable_checkId_successMsgFromAddRow_errorMsgFromAddRow.html +1 -1
  984. package/docs/examples/w-table-dyn_editable_inforPaddingStyle_menuBackgroundColor.html +1 -1
  985. package/docs/examples/w-table-dyn_editable_language_checkId_tooltipAddRow.html +1 -1
  986. package/docs/examples/w-table-dyn_editable_language_textLabelDataName_textPlaceholderDataName.html +1 -1
  987. package/docs/examples/w-table-dyn_editable_no enableInfor.html +1 -1
  988. package/docs/examples/w-table-dyn_editable_no enableMenu.html +1 -1
  989. package/docs/examples/w-table-dyn_editable_opt.beforeAddRow.html +1 -1
  990. package/docs/examples/w-table-dyn_editable_opt.kpConvertKeysWhenUploadData.html +1 -1
  991. package/docs/examples/w-table-dyn_editable_opt.optForUploadData.html +1 -1
  992. package/docs/examples/w-table-dyn_editable_slot btns-right.html +1 -1
  993. package/docs/examples/w-table-dyn_fixIds (fix id).html +1 -1
  994. package/docs/examples/w-table-dyn_hideIds (hide mappingId).html +1 -1
  995. package/docs/examples/w-table-dyn_name_description.html +1 -1
  996. package/docs/examples/w-table-dyn_no enableInfor.html +1 -1
  997. package/docs/examples/w-table-dyn_no enableMenu.html +1 -1
  998. package/docs/examples/w-table-dyn_opt.kpHead.html +1 -1
  999. package/docs/examples/w-table-dyn_removeIdsWhenDownload (remove id, mappingId, order, isActive).html +1 -1
  1000. package/docs/examples/w-table-dyn_slot btns-left.html +1 -1
  1001. package/docs/examples/w-table-dyn_slot btns-right.html +1 -1
  1002. package/docs/examples/w-table-dyn_slot infor (name_description).html +1 -1
  1003. package/docs/examples/w-table-dyn_sortColIds (sort by order).html +1 -1
  1004. package/docs/examples/w-text-int_borderRadius.html +1 -1
  1005. package/docs/examples/w-text-int_border_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  1006. package/docs/examples/w-text-int_border_borderRadius.html +1 -1
  1007. package/docs/examples/w-text-int_border_buttonColor_buttonColorHover_buttonColorFocus.html +1 -1
  1008. package/docs/examples/w-text-int_border_default.html +1 -1
  1009. package/docs/examples/w-text-int_border_not editable.html +1 -1
  1010. package/docs/examples/w-text-int_border_width.html +1 -1
  1011. package/docs/examples/w-text-int_buttonColor_buttonColorHover_buttonColorFocus.html +1 -1
  1012. package/docs/examples/w-text-int_buttonIconSize.html +1 -1
  1013. package/docs/examples/w-text-int_default.html +1 -1
  1014. package/docs/examples/w-text-int_not editable.html +1 -1
  1015. package/docs/examples/w-text-int_textColor.html +1 -1
  1016. package/docs/examples/w-text-int_textFontSize.html +1 -1
  1017. package/docs/examples/w-text-int_width.html +1 -1
  1018. package/docs/examples/w-text-select_a lot of items.html +1 -1
  1019. package/docs/examples/w-text-select_borderRadius.html +1 -1
  1020. package/docs/examples/w-text-select_border_a lot of items.html +1 -1
  1021. package/docs/examples/w-text-select_border_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  1022. package/docs/examples/w-text-select_border_borderRadius.html +1 -1
  1023. package/docs/examples/w-text-select_border_default.html +1 -1
  1024. package/docs/examples/w-text-select_border_events.html +1 -1
  1025. package/docs/examples/w-text-select_border_expansionIconSize.html +1 -1
  1026. package/docs/examples/w-text-select_border_fullwidth.html +1 -1
  1027. package/docs/examples/w-text-select_border_itemPaddingStyle.html +1 -1
  1028. package/docs/examples/w-text-select_border_itemTextColor_itemTextColorHover_itemBackgroundColor.html +1 -1
  1029. package/docs/examples/w-text-select_border_itemTextFontSize_defItemHeight.html +1 -1
  1030. package/docs/examples/w-text-select_border_items(string array).html +1 -1
  1031. package/docs/examples/w-text-select_border_keyText.html +1 -1
  1032. package/docs/examples/w-text-select_border_leftIcon (fontawesome).html +1 -1
  1033. package/docs/examples/w-text-select_border_leftIcon (material).html +1 -1
  1034. package/docs/examples/w-text-select_border_leftIcon_leftIconColor_leftIconColorHover.html +1 -1
  1035. package/docs/examples/w-text-select_border_leftIcon_leftIconSize.html +1 -1
  1036. package/docs/examples/w-text-select_border_maxHeight.html +1 -1
  1037. package/docs/examples/w-text-select_border_maxWidth_autoFitMinWidth_autoFitMaxWidth.html +1 -1
  1038. package/docs/examples/w-text-select_border_minWidth_autoFitMinWidth_autoFitMaxWidth.html +1 -1
  1039. package/docs/examples/w-text-select_border_not editable.html +1 -1
  1040. package/docs/examples/w-text-select_border_paddingStyle (equal height to using icon).html +1 -1
  1041. package/docs/examples/w-text-select_border_paddingStyle (thin style).html +1 -1
  1042. package/docs/examples/w-text-select_border_rightIcon_rightIconColor_rightIconColorHover.html +1 -1
  1043. package/docs/examples/w-text-select_border_rightIcon_rightIconSize.html +1 -1
  1044. package/docs/examples/w-text-select_border_showExpansionIcon.html +1 -1
  1045. package/docs/examples/w-text-select_border_slot item.html +1 -1
  1046. package/docs/examples/w-text-select_border_slot select.html +1 -1
  1047. package/docs/examples/w-text-select_border_textColor_expansionIconColor.html +1 -1
  1048. package/docs/examples/w-text-select_border_textFontSize.html +1 -1
  1049. package/docs/examples/w-text-select_border_with popup.html +1 -1
  1050. package/docs/examples/w-text-select_default.html +1 -1
  1051. package/docs/examples/w-text-select_events.html +1 -1
  1052. package/docs/examples/w-text-select_expansionIconSize.html +1 -1
  1053. package/docs/examples/w-text-select_fullwidth.html +1 -1
  1054. package/docs/examples/w-text-select_itemPaddingStyle.html +1 -1
  1055. package/docs/examples/w-text-select_itemTextColor_itemTextColorHover_itemBackgroundColor_itemBackgroundColorHover.html +1 -1
  1056. package/docs/examples/w-text-select_itemTextFontSize_defItemHeight.html +1 -1
  1057. package/docs/examples/w-text-select_items(string array).html +1 -1
  1058. package/docs/examples/w-text-select_keyText.html +1 -1
  1059. package/docs/examples/w-text-select_leftIcon (fontawesome).html +1 -1
  1060. package/docs/examples/w-text-select_leftIcon (material).html +1 -1
  1061. package/docs/examples/w-text-select_leftIcon_leftIconColor_leftIconColorHover_leftIconColorFocus.html +1 -1
  1062. package/docs/examples/w-text-select_leftIcon_leftIconSize.html +1 -1
  1063. package/docs/examples/w-text-select_maxHeight.html +1 -1
  1064. package/docs/examples/w-text-select_maxWidth_autoFitMinWidth_autoFitMaxWidth.html +1 -1
  1065. package/docs/examples/w-text-select_minWidth_autoFitMinWidth_autoFitMaxWidth.html +1 -1
  1066. package/docs/examples/w-text-select_not editable.html +1 -1
  1067. package/docs/examples/w-text-select_paddingStyle (equal height to using icon).html +1 -1
  1068. package/docs/examples/w-text-select_paddingStyle (thin style).html +1 -1
  1069. package/docs/examples/w-text-select_rightIcon_rightIconColor_rightIconColorHover_rightIconColorFocus.html +1 -1
  1070. package/docs/examples/w-text-select_rightIcon_rightIconSize.html +1 -1
  1071. package/docs/examples/w-text-select_showExpansionIcon.html +1 -1
  1072. package/docs/examples/w-text-select_slot item.html +1 -1
  1073. package/docs/examples/w-text-select_slot select.html +1 -1
  1074. package/docs/examples/w-text-select_textColor_expansionIconColor.html +1 -1
  1075. package/docs/examples/w-text-select_textFontSize.html +1 -1
  1076. package/docs/examples/w-text-select_with popup.html +1 -1
  1077. package/docs/examples/w-text-suggest_a lot of items.html +1 -1
  1078. package/docs/examples/w-text-suggest_borderRadius.html +1 -1
  1079. package/docs/examples/w-text-suggest_border_a lot of items.html +1 -1
  1080. package/docs/examples/w-text-suggest_border_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  1081. package/docs/examples/w-text-suggest_border_borderRadius.html +1 -1
  1082. package/docs/examples/w-text-suggest_border_default.html +1 -1
  1083. package/docs/examples/w-text-suggest_border_events.html +1 -1
  1084. package/docs/examples/w-text-suggest_border_expansionIconSize.html +1 -1
  1085. package/docs/examples/w-text-suggest_border_fullwidth.html +1 -1
  1086. package/docs/examples/w-text-suggest_border_itemPaddingStyle.html +1 -1
  1087. package/docs/examples/w-text-suggest_border_itemTextColor_itemTextColorHover_itemBackgroundColor.html +1 -1
  1088. package/docs/examples/w-text-suggest_border_itemTextFontSize_defItemHeight.html +1 -1
  1089. package/docs/examples/w-text-suggest_border_items(string array).html +1 -1
  1090. package/docs/examples/w-text-suggest_border_keyText.html +1 -1
  1091. package/docs/examples/w-text-suggest_border_leftIcon (fontawesome).html +1 -1
  1092. package/docs/examples/w-text-suggest_border_leftIcon (material).html +1 -1
  1093. package/docs/examples/w-text-suggest_border_leftIcon_leftIconColor_leftIconColorHover.html +1 -1
  1094. package/docs/examples/w-text-suggest_border_leftIcon_leftIconSize.html +1 -1
  1095. package/docs/examples/w-text-suggest_border_noResultsText.html +1 -1
  1096. package/docs/examples/w-text-suggest_border_not editable.html +1 -1
  1097. package/docs/examples/w-text-suggest_border_paddingStyle (equal height to using icon).html +1 -1
  1098. package/docs/examples/w-text-suggest_border_paddingStyle (thin style).html +1 -1
  1099. package/docs/examples/w-text-suggest_border_placeholder.html +1 -1
  1100. package/docs/examples/w-text-suggest_border_rightIcon_rightIconColor_rightIconColorHover.html +1 -1
  1101. package/docs/examples/w-text-suggest_border_rightIcon_rightIconSize.html +1 -1
  1102. package/docs/examples/w-text-suggest_border_showExpansionIcon.html +1 -1
  1103. package/docs/examples/w-text-suggest_border_showPanel(press enter to hide panel)_focused.html +1 -1
  1104. package/docs/examples/w-text-suggest_border_slot item.html +1 -1
  1105. package/docs/examples/w-text-suggest_border_textColor_expansionIconColor.html +1 -1
  1106. package/docs/examples/w-text-suggest_border_textFontSize.html +1 -1
  1107. package/docs/examples/w-text-suggest_border_with popup.html +1 -1
  1108. package/docs/examples/w-text-suggest_default.html +1 -1
  1109. package/docs/examples/w-text-suggest_events.html +1 -1
  1110. package/docs/examples/w-text-suggest_expansionIconSize.html +1 -1
  1111. package/docs/examples/w-text-suggest_fullwidth.html +1 -1
  1112. package/docs/examples/w-text-suggest_itemPaddingStyle.html +1 -1
  1113. package/docs/examples/w-text-suggest_itemTextColor_itemTextColorHover_itemBackgroundColor_itemBackgroundColorHover.html +1 -1
  1114. package/docs/examples/w-text-suggest_itemTextFontSize_defItemHeight.html +1 -1
  1115. package/docs/examples/w-text-suggest_items(string array).html +1 -1
  1116. package/docs/examples/w-text-suggest_keyText.html +1 -1
  1117. package/docs/examples/w-text-suggest_leftIcon (fontawesome).html +1 -1
  1118. package/docs/examples/w-text-suggest_leftIcon (material).html +1 -1
  1119. package/docs/examples/w-text-suggest_leftIcon_leftIconColor_leftIconColorHover_leftIconColorFocus.html +1 -1
  1120. package/docs/examples/w-text-suggest_leftIcon_leftIconSize.html +1 -1
  1121. package/docs/examples/w-text-suggest_maxHeight.html +1 -1
  1122. package/docs/examples/w-text-suggest_maxWidth_autoFitMinWidth_autoFitMaxWidth.html +1 -1
  1123. package/docs/examples/w-text-suggest_minWidth_autoFitMinWidth_autoFitMaxWidth.html +1 -1
  1124. package/docs/examples/w-text-suggest_noResultsText.html +1 -1
  1125. package/docs/examples/w-text-suggest_not editable.html +1 -1
  1126. package/docs/examples/w-text-suggest_paddingStyle (equal height to using icon).html +1 -1
  1127. package/docs/examples/w-text-suggest_paddingStyle (thin style).html +1 -1
  1128. package/docs/examples/w-text-suggest_placeholder.html +1 -1
  1129. package/docs/examples/w-text-suggest_rightIcon_rightIconColor_rightIconColorHover_rightIconColorFocus.html +1 -1
  1130. package/docs/examples/w-text-suggest_rightIcon_rightIconSize.html +1 -1
  1131. package/docs/examples/w-text-suggest_showExpansionIcon.html +1 -1
  1132. package/docs/examples/w-text-suggest_showPanel(press enter to hide panel)_focused.html +1 -1
  1133. package/docs/examples/w-text-suggest_slot item.html +1 -1
  1134. package/docs/examples/w-text-suggest_textColor_expansionIconColor.html +1 -1
  1135. package/docs/examples/w-text-suggest_textFontSize.html +1 -1
  1136. package/docs/examples/w-text-suggest_with popup.html +1 -1
  1137. package/docs/examples/w-text_border_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  1138. package/docs/examples/w-text_border_borderRadius_paddingStyle.html +1 -1
  1139. package/docs/examples/w-text_border_default.html +1 -1
  1140. package/docs/examples/w-text_border_events.html +1 -1
  1141. package/docs/examples/w-text_border_fullwidth.html +1 -1
  1142. package/docs/examples/w-text_border_height_textFontSize_paddingStyle.html +1 -1
  1143. package/docs/examples/w-text_border_leftIcon (fontawesome).html +1 -1
  1144. package/docs/examples/w-text_border_leftIcon (material).html +1 -1
  1145. package/docs/examples/w-text_border_leftIcon_leftIconColor_leftIconColorHover.html +1 -1
  1146. package/docs/examples/w-text_border_not editable.html +1 -1
  1147. package/docs/examples/w-text_border_password.html +1 -1
  1148. package/docs/examples/w-text_border_placeholder.html +1 -1
  1149. package/docs/examples/w-text_border_rightIcon_rightIconColor_rightIconColorHover.html +1 -1
  1150. package/docs/examples/w-text_border_textAlign.html +1 -1
  1151. package/docs/examples/w-text_border_textColor.html +1 -1
  1152. package/docs/examples/w-text_border_textFontSize.html +1 -1
  1153. package/docs/examples/w-text_border_type (custom,0/342/211/244v/342/211/2445).html" +1 -1
  1154. package/docs/examples/w-text_border_type (isint).html +1 -1
  1155. package/docs/examples/w-text_border_type (isnum).html +1 -1
  1156. package/docs/examples/w-text_bottomLineBorderColor_bottomLineBorderColorHover_bottomLineBorderColorFocus.html +1 -1
  1157. package/docs/examples/w-text_default.html +1 -1
  1158. package/docs/examples/w-text_events.html +1 -1
  1159. package/docs/examples/w-text_fullwidth.html +1 -1
  1160. package/docs/examples/w-text_height_textFontSize.html +1 -1
  1161. package/docs/examples/w-text_leftIcon (fontawesome).html +1 -1
  1162. package/docs/examples/w-text_leftIcon (material).html +1 -1
  1163. package/docs/examples/w-text_leftIcon_leftIconColor_leftIconColorHover_leftIconColorFocus.html +1 -1
  1164. package/docs/examples/w-text_leftIcon_leftIconSize.html +1 -1
  1165. package/docs/examples/w-text_leftIcon_leftIconTooltip.html +1 -1
  1166. package/docs/examples/w-text_not editable.html +1 -1
  1167. package/docs/examples/w-text_password.html +1 -1
  1168. package/docs/examples/w-text_placeholder.html +1 -1
  1169. package/docs/examples/w-text_rightIcon.html +1 -1
  1170. package/docs/examples/w-text_rightIcon_rightIconColor_rightIconColorHover_rightIconColorFocus.html +1 -1
  1171. package/docs/examples/w-text_rightIcon_rightIconSize.html +1 -1
  1172. package/docs/examples/w-text_rightIcon_rightIconTooltip.html +1 -1
  1173. package/docs/examples/w-text_textAlign.html +1 -1
  1174. package/docs/examples/w-text_textColor.html +1 -1
  1175. package/docs/examples/w-text_textFontSize.html +1 -1
  1176. package/docs/examples/w-text_type (custom,0/342/211/244v/342/211/2445).html" +1 -1
  1177. package/docs/examples/w-text_type (isint).html +1 -1
  1178. package/docs/examples/w-text_type (isnum).html +1 -1
  1179. package/docs/examples/w-textarea_border_backgroundColor_backgroundColorHover_backgroundColorFocus.html +1 -1
  1180. package/docs/examples/w-textarea_border_borderRadius_paddingStyle.html +1 -1
  1181. package/docs/examples/w-textarea_border_default.html +1 -1
  1182. package/docs/examples/w-textarea_border_events.html +1 -1
  1183. package/docs/examples/w-textarea_border_fullwidth.html +1 -1
  1184. package/docs/examples/w-textarea_border_leftIcon (fontawesome).html +1 -1
  1185. package/docs/examples/w-textarea_border_leftIcon (material).html +1 -1
  1186. package/docs/examples/w-textarea_border_leftIcon_leftIconColor_leftIconColorHover.html +1 -1
  1187. package/docs/examples/w-textarea_border_not editable.html +1 -1
  1188. package/docs/examples/w-textarea_border_placeholder.html +1 -1
  1189. package/docs/examples/w-textarea_border_rightIcon_rightIconColor_rightIconColorHover.html +1 -1
  1190. package/docs/examples/w-textarea_border_textAlign.html +1 -1
  1191. package/docs/examples/w-textarea_border_textColor.html +1 -1
  1192. package/docs/examples/w-textarea_border_textFontSize.html +1 -1
  1193. package/docs/examples/w-textarea_bottomLineBorderColor_bottomLineBorderColorHover_bottomLineBorderColorFocus.html +1 -1
  1194. package/docs/examples/w-textarea_default.html +1 -1
  1195. package/docs/examples/w-textarea_events.html +1 -1
  1196. package/docs/examples/w-textarea_fullwidth.html +1 -1
  1197. package/docs/examples/w-textarea_leftIcon (fontawesome).html +1 -1
  1198. package/docs/examples/w-textarea_leftIcon (material).html +1 -1
  1199. package/docs/examples/w-textarea_leftIcon_leftIconColor_leftIconColorHover_leftIconColorFocus.html +1 -1
  1200. package/docs/examples/w-textarea_leftIcon_leftIconSize.html +1 -1
  1201. package/docs/examples/w-textarea_leftIcon_leftIconTooltip.html +1 -1
  1202. package/docs/examples/w-textarea_not editable.html +1 -1
  1203. package/docs/examples/w-textarea_placeholder.html +1 -1
  1204. package/docs/examples/w-textarea_rightIcon_rightIconColor_rightIconColorHover_rightIconColorFocus.html +1 -1
  1205. package/docs/examples/w-textarea_rightIcon_rightIconSize_verticalAlign.html +1 -1
  1206. package/docs/examples/w-textarea_rightIcon_rightIconTooltip_verticalAlign.html +1 -1
  1207. package/docs/examples/w-textarea_rightIcon_verticalAlign.html +1 -1
  1208. package/docs/examples/w-textarea_textAlign.html +1 -1
  1209. package/docs/examples/w-textarea_textColor.html +1 -1
  1210. package/docs/examples/w-textarea_textFontSize.html +1 -1
  1211. package/docs/examples/w-threejs-vue-dyn_autoRotateDeg.html +1 -1
  1212. package/docs/examples/w-threejs-vue-dyn_basicSize.html +1 -1
  1213. package/docs/examples/w-timeday-range_between.html +1 -1
  1214. package/docs/examples/w-timeday-range_borderRadius.html +1 -1
  1215. package/docs/examples/w-timeday-range_border_between.html +1 -1
  1216. package/docs/examples/w-timeday-range_border_borderRadius.html +1 -1
  1217. package/docs/examples/w-timeday-range_border_default.html +1 -1
  1218. package/docs/examples/w-timeday-range_border_empty.html +1 -1
  1219. package/docs/examples/w-timeday-range_border_empty_textEmpty.html +1 -1
  1220. package/docs/examples/w-timeday-range_border_icon (fontawesome).html +1 -1
  1221. package/docs/examples/w-timeday-range_border_icon (material).html +1 -1
  1222. package/docs/examples/w-timeday-range_border_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1223. package/docs/examples/w-timeday-range_border_iconTooltip.html +1 -1
  1224. package/docs/examples/w-timeday-range_border_not editable.html +1 -1
  1225. package/docs/examples/w-timeday-range_border_paddingStyle (equal height to using icon).html +1 -1
  1226. package/docs/examples/w-timeday-range_border_paddingStyle (thin style)_placementDistY.html +1 -1
  1227. package/docs/examples/w-timeday-range_border_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1228. package/docs/examples/w-timeday-range_border_pickColor.html +1 -1
  1229. package/docs/examples/w-timeday-range_border_textColor.html +1 -1
  1230. package/docs/examples/w-timeday-range_default.html +1 -1
  1231. package/docs/examples/w-timeday-range_empty.html +1 -1
  1232. package/docs/examples/w-timeday-range_empty_textEmpty.html +1 -1
  1233. package/docs/examples/w-timeday-range_icon (fontawesome).html +1 -1
  1234. package/docs/examples/w-timeday-range_icon (material).html +1 -1
  1235. package/docs/examples/w-timeday-range_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1236. package/docs/examples/w-timeday-range_iconTooltip.html +1 -1
  1237. package/docs/examples/w-timeday-range_icon_iconSize_placementDistY.html +1 -1
  1238. package/docs/examples/w-timeday-range_not editable.html +1 -1
  1239. package/docs/examples/w-timeday-range_paddingStyle (equal height to using icon).html +1 -1
  1240. package/docs/examples/w-timeday-range_paddingStyle (thin style)_placementDistY.html +1 -1
  1241. package/docs/examples/w-timeday-range_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1242. package/docs/examples/w-timeday-range_pickColor.html +1 -1
  1243. package/docs/examples/w-timeday-range_textColor.html +1 -1
  1244. package/docs/examples/w-timeday_borderRadius.html +1 -1
  1245. package/docs/examples/w-timeday_border_borderRadius.html +1 -1
  1246. package/docs/examples/w-timeday_border_default.html +1 -1
  1247. package/docs/examples/w-timeday_border_empty.html +1 -1
  1248. package/docs/examples/w-timeday_border_empty_textEmpty.html +1 -1
  1249. package/docs/examples/w-timeday_border_icon (fontawesome).html +1 -1
  1250. package/docs/examples/w-timeday_border_icon (material).html +1 -1
  1251. package/docs/examples/w-timeday_border_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1252. package/docs/examples/w-timeday_border_iconTooltip.html +1 -1
  1253. package/docs/examples/w-timeday_border_not editable.html +1 -1
  1254. package/docs/examples/w-timeday_border_paddingStyle (equal height to using icon).html +1 -1
  1255. package/docs/examples/w-timeday_border_paddingStyle (thin style)_placementDistY.html +1 -1
  1256. package/docs/examples/w-timeday_border_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1257. package/docs/examples/w-timeday_border_pickColor.html +1 -1
  1258. package/docs/examples/w-timeday_border_textColor.html +1 -1
  1259. package/docs/examples/w-timeday_default.html +1 -1
  1260. package/docs/examples/w-timeday_empty.html +1 -1
  1261. package/docs/examples/w-timeday_empty_textEmpty.html +1 -1
  1262. package/docs/examples/w-timeday_icon (fontawesome).html +1 -1
  1263. package/docs/examples/w-timeday_icon (material).html +1 -1
  1264. package/docs/examples/w-timeday_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1265. package/docs/examples/w-timeday_iconTooltip.html +1 -1
  1266. package/docs/examples/w-timeday_icon_iconSize_placementDistY.html +1 -1
  1267. package/docs/examples/w-timeday_not editable.html +1 -1
  1268. package/docs/examples/w-timeday_paddingStyle (equal height to using icon).html +1 -1
  1269. package/docs/examples/w-timeday_paddingStyle (thin style)_placementDistY.html +1 -1
  1270. package/docs/examples/w-timeday_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1271. package/docs/examples/w-timeday_pickColor.html +1 -1
  1272. package/docs/examples/w-timeday_textColor.html +1 -1
  1273. package/docs/examples/w-timeminute-range_between.html +1 -1
  1274. package/docs/examples/w-timeminute-range_borderRadius.html +1 -1
  1275. package/docs/examples/w-timeminute-range_border_between.html +1 -1
  1276. package/docs/examples/w-timeminute-range_border_borderRadius.html +1 -1
  1277. package/docs/examples/w-timeminute-range_border_default.html +1 -1
  1278. package/docs/examples/w-timeminute-range_border_hourMin_hourMax.html +1 -1
  1279. package/docs/examples/w-timeminute-range_border_icon (fontawesome).html +1 -1
  1280. package/docs/examples/w-timeminute-range_border_icon (material).html +1 -1
  1281. package/docs/examples/w-timeminute-range_border_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1282. package/docs/examples/w-timeminute-range_border_iconTooltip.html +1 -1
  1283. package/docs/examples/w-timeminute-range_border_minuteInter.html +1 -1
  1284. package/docs/examples/w-timeminute-range_border_minutesCustom.html +1 -1
  1285. package/docs/examples/w-timeminute-range_border_not editable.html +1 -1
  1286. package/docs/examples/w-timeminute-range_border_paddingStyle (equal height to using icon).html +1 -1
  1287. package/docs/examples/w-timeminute-range_border_paddingStyle (thin style)_placementDistY.html +1 -1
  1288. package/docs/examples/w-timeminute-range_border_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1289. package/docs/examples/w-timeminute-range_border_pickColor.html +1 -1
  1290. package/docs/examples/w-timeminute-range_border_textColor_expansionIconColor.html +1 -1
  1291. package/docs/examples/w-timeminute-range_default.html +1 -1
  1292. package/docs/examples/w-timeminute-range_empty.html +1 -1
  1293. package/docs/examples/w-timeminute-range_empty_textEmpty.html +1 -1
  1294. package/docs/examples/w-timeminute-range_hourMin_hourMax.html +1 -1
  1295. package/docs/examples/w-timeminute-range_icon (fontawesome).html +1 -1
  1296. package/docs/examples/w-timeminute-range_icon (material).html +1 -1
  1297. package/docs/examples/w-timeminute-range_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1298. package/docs/examples/w-timeminute-range_iconTooltip.html +1 -1
  1299. package/docs/examples/w-timeminute-range_icon_iconSize_placementDistY.html +1 -1
  1300. package/docs/examples/w-timeminute-range_minuteInter.html +1 -1
  1301. package/docs/examples/w-timeminute-range_minutesCustom.html +1 -1
  1302. package/docs/examples/w-timeminute-range_not editable.html +1 -1
  1303. package/docs/examples/w-timeminute-range_paddingStyle (equal height to using icon).html +1 -1
  1304. package/docs/examples/w-timeminute-range_paddingStyle (thin style)_placementDistY.html +1 -1
  1305. package/docs/examples/w-timeminute-range_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1306. package/docs/examples/w-timeminute-range_pickColor.html +1 -1
  1307. package/docs/examples/w-timeminute-range_textColor_expansionIconColor.html +1 -1
  1308. package/docs/examples/w-timeminute_borderRadius.html +1 -1
  1309. package/docs/examples/w-timeminute_border_borderRadius.html +1 -1
  1310. package/docs/examples/w-timeminute_border_default.html +1 -1
  1311. package/docs/examples/w-timeminute_border_empty.html +1 -1
  1312. package/docs/examples/w-timeminute_border_empty_textEmpty.html +1 -1
  1313. package/docs/examples/w-timeminute_border_hourMin_hourMax.html +1 -1
  1314. package/docs/examples/w-timeminute_border_icon (fontawesome).html +1 -1
  1315. package/docs/examples/w-timeminute_border_icon (material).html +1 -1
  1316. package/docs/examples/w-timeminute_border_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1317. package/docs/examples/w-timeminute_border_iconTooltip.html +1 -1
  1318. package/docs/examples/w-timeminute_border_minuteInter.html +1 -1
  1319. package/docs/examples/w-timeminute_border_minutesCustom.html +1 -1
  1320. package/docs/examples/w-timeminute_border_not editable.html +1 -1
  1321. package/docs/examples/w-timeminute_border_paddingStyle (equal height to using icon).html +1 -1
  1322. package/docs/examples/w-timeminute_border_paddingStyle (thin style)_placementDistY.html +1 -1
  1323. package/docs/examples/w-timeminute_border_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1324. package/docs/examples/w-timeminute_border_pickColor.html +1 -1
  1325. package/docs/examples/w-timeminute_border_textColor_expansionIconColor.html +1 -1
  1326. package/docs/examples/w-timeminute_default.html +1 -1
  1327. package/docs/examples/w-timeminute_empty.html +1 -1
  1328. package/docs/examples/w-timeminute_empty_textEmpty.html +1 -1
  1329. package/docs/examples/w-timeminute_hourMin_hourMax.html +1 -1
  1330. package/docs/examples/w-timeminute_icon (fontawesome).html +1 -1
  1331. package/docs/examples/w-timeminute_icon (material).html +1 -1
  1332. package/docs/examples/w-timeminute_iconColor_iconColorHover_iconColorFoucs.html +1 -1
  1333. package/docs/examples/w-timeminute_iconTooltip.html +1 -1
  1334. package/docs/examples/w-timeminute_icon_iconSize_placementDistY.html +1 -1
  1335. package/docs/examples/w-timeminute_minuteInter.html +1 -1
  1336. package/docs/examples/w-timeminute_minutesCustom.html +1 -1
  1337. package/docs/examples/w-timeminute_not editable.html +1 -1
  1338. package/docs/examples/w-timeminute_paddingStyle (equal height to using icon).html +1 -1
  1339. package/docs/examples/w-timeminute_paddingStyle (thin style)_placementDistY.html +1 -1
  1340. package/docs/examples/w-timeminute_paddingStyle (thin style)_textFontSize_placementDistY.html +1 -1
  1341. package/docs/examples/w-timeminute_pickColor.html +1 -1
  1342. package/docs/examples/w-timeminute_textColor_expansionIconColor.html +1 -1
  1343. package/docs/examples/w-tinymce-vue-dyn_default.html +1 -1
  1344. package/docs/examples/w-tinymce-vue-dyn_height.html +1 -1
  1345. package/docs/examples/w-tinymce-vue-dyn_not editable.html +1 -1
  1346. package/docs/examples/w-tinymce-vue-dyn_settings.html +1 -1
  1347. package/docs/examples/w-tooltip_auto flipping in dialog.html +1 -1
  1348. package/docs/examples/w-tooltip_auto flipping in popup.html +1 -1
  1349. package/docs/examples/w-tooltip_auto flipping in scroll panel.html +1 -1
  1350. package/docs/examples/w-tooltip_autoFitMaxWidth.html +1 -1
  1351. package/docs/examples/w-tooltip_autoFitMinWidth.html +1 -1
  1352. package/docs/examples/w-tooltip_backgroundColor.html +1 -1
  1353. package/docs/examples/w-tooltip_borderRadius.html +1 -1
  1354. package/docs/examples/w-tooltip_default.html +1 -1
  1355. package/docs/examples/w-tooltip_in scroll panel.html +1 -1
  1356. package/docs/examples/w-tooltip_maxWidth.html +1 -1
  1357. package/docs/examples/w-tooltip_minWidth.html +1 -1
  1358. package/docs/examples/w-tooltip_no shadow_backgroundColor.html +1 -1
  1359. package/docs/examples/w-tooltip_not editable.html +1 -1
  1360. package/docs/examples/w-tooltip_paddingStyle.html +1 -1
  1361. package/docs/examples/w-tooltip_placement.html +1 -1
  1362. package/docs/examples/w-tooltip_placementDistY.html +1 -1
  1363. package/docs/examples/w-tooltip_scroll in large zone.html +1 -1
  1364. package/docs/examples/w-tooltip_shadowStyle.html +1 -1
  1365. package/docs/examples/w-tooltip_slot for table_maxWidth.html +1 -1
  1366. package/docs/examples/w-tooltip_textColor_backgroundColor.html +1 -1
  1367. package/docs/examples/w-tooltip_textFontSize.html +1 -1
  1368. package/docs/examples/w-tooltip_transitionTime.html +1 -1
  1369. package/docs/examples/w-tree_activable_itemActive.html +1 -1
  1370. package/docs/examples/w-tree_activable_itemActive_funActive.html +1 -1
  1371. package/docs/examples/w-tree_activable_itemActive_itemTextColor_itemTextColorHover.html +1 -1
  1372. package/docs/examples/w-tree_default.html +1 -1
  1373. package/docs/examples/w-tree_defaultDisplayLevel.html +1 -1
  1374. package/docs/examples/w-tree_draggable.html +1 -1
  1375. package/docs/examples/w-tree_draggable_dgInsertLineColor_dgInsertBackgroundColor_dgBelongBackgroundColor.html +1 -1
  1376. package/docs/examples/w-tree_draggable_dgPreviewOpacity_dgPreviewBorderWidth_dgBelongBackgroundColor.html +1 -1
  1377. package/docs/examples/w-tree_draggable_dgTextDisabled_dgTextDisabledColor_dgTextDisabledPaddingLeft.html +1 -1
  1378. package/docs/examples/w-tree_events.html +1 -1
  1379. package/docs/examples/w-tree_filterByFun.html +1 -1
  1380. package/docs/examples/w-tree_filterKeywords_funFilter.html +1 -1
  1381. package/docs/examples/w-tree_filterKeywords_noResultsText_selectable.html +1 -1
  1382. package/docs/examples/{w-tree_filterKeywords_noResultsText.html → w-tree_filterKeywords_statePaddingStyle_noResultsText.html} +5 -2
  1383. package/docs/examples/w-tree_iconSize(20).html +1 -1
  1384. package/docs/examples/w-tree_iconSize(20)_defItemHeight(24).html +1 -1
  1385. package/docs/examples/w-tree_iconSize(30)_defItemHeight(36).html +1 -1
  1386. package/docs/examples/w-tree_iconToggleColor_iconToggleBackgroundColor_iconToggleBackgroundColorHover.html +1 -1
  1387. package/docs/examples/w-tree_indent.html +1 -1
  1388. package/docs/examples/w-tree_itemRippleColor.html +1 -1
  1389. package/docs/examples/w-tree_itemTextColor_itemTextColorHover_itemBackgroundColor_itemBackgroundColorHover.html +1 -1
  1390. package/docs/examples/w-tree_keyPrimary_keyText_keyChildren.html +1 -1
  1391. package/docs/examples/w-tree_no viewHeightMax.html +1 -1
  1392. package/docs/examples/w-tree_operatable.html +1 -1
  1393. package/docs/examples/w-tree_operatable_draggable.html +1 -1
  1394. package/docs/examples/w-tree_operatable_editorRenameCancelBtnBackgroundColor_editorRenameCancelBtnBackgroundColorHover.html +1 -1
  1395. package/docs/examples/w-tree_operatable_editorRenameCancelBtnIcon_editorRenameCancelBtnIconSize_editorRenameCancelBtnIconColor.html +1 -1
  1396. package/docs/examples/w-tree_operatable_editorRenameCancelBtnText_editorRenameCancelBtnTextColor_editorRenameCancelBtnTextColorHover.html +1 -1
  1397. package/docs/examples/w-tree_operatable_editorRenameContentBackgroundColor_editorRenameFooterBackgroundColor.html +1 -1
  1398. package/docs/examples/w-tree_operatable_editorRenameInputTextColor_editorRenameInputTextBottomLineBorderColor_editorRenameInputTextBottomLineBorderColorHover.html +1 -1
  1399. package/docs/examples/w-tree_operatable_editorRenameSaveBtnBackgroundColor_editorRenameSaveBtnBackgroundColorHover.html +1 -1
  1400. package/docs/examples/w-tree_operatable_editorRenameSaveBtnIcon_editorRenameSaveBtnIconSize_editorRenameSaveBtnIconColor.html +1 -1
  1401. package/docs/examples/w-tree_operatable_editorRenameSaveBtnText_editorRenameSaveBtnTextColor_editorRenameSaveBtnTextColorHover.html +1 -1
  1402. package/docs/examples/w-tree_operatable_funOperateItem.html +1 -1
  1403. package/docs/examples/w-tree_operatable_operateBtnIconSize_operateBtnBackgroundColor_operateBtnBackgroundColorHover.html +1 -1
  1404. package/docs/examples/w-tree_operatable_operateBtnTooltip_operateItemTextForRename_operateItemTextForInsertBefore.html +1 -1
  1405. package/docs/examples/w-tree_operatable_operateItemBackgroundColor_operateItemBackgroundColorHover_operateItemTextColor.html +1 -1
  1406. package/docs/examples/w-tree_operatable_operateItemHeight_operateItemIconSize_operateItemPaddingStyle.html +1 -1
  1407. package/docs/examples/w-tree_operatable_operateItemIconForRename_operateItemIconForInsertBefore_operateItemIconForInsertChild.html +1 -1
  1408. package/docs/examples/w-tree_operatable_operatePanelWidth_operatePanelHeight_operateItemIconSize.html +1 -1
  1409. package/docs/examples/w-tree_paddingStyle.html +1 -1
  1410. package/docs/examples/w-tree_selectable.html +1 -1
  1411. package/docs/examples/w-tree_selectable_draggable.html +1 -1
  1412. package/docs/examples/w-tree_slot.html +1 -1
  1413. package/docs/examples/w-tree_slot_edit-text.html +1 -1
  1414. package/docs/examples/w-tree_slot_iconUncheckedColor_iconUncheckedDisabledColor_iconCheckedColor.html +1 -1
  1415. package/docs/examples/w-tree_slot_locked_selectable.html +1 -1
  1416. package/docs/examples/w-tree_slot_operatable.html +1 -1
  1417. package/docs/examples/w-tree_slot_selectable.html +1 -1
  1418. package/docs/examples/w-tree_slot_selectable_draggable.html +1 -1
  1419. package/docs/examples/w-tree_slot_selectable_iconSize(20)_defItemHeight(24).html +1 -1
  1420. package/docs/examples/w-tree_slot_selectable_large data (100,000 items).html +1 -1
  1421. package/docs/examples/w-tree_toggleItemsAll.html +1 -1
  1422. package/docs/examples/w-tree_toggleItemsByFun.html +1 -1
  1423. package/docs/examples/w-tree_viewHeightMax.html +1 -1
  1424. package/docs/examples/w-vditor-dyn_default.html +1 -1
  1425. package/docs/examples/w-vditor-dyn_fontSize.html +1 -1
  1426. package/docs/examples/w-vditor-dyn_fullwidth.html +1 -1
  1427. package/docs/examples/w-vditor-dyn_height.html +1 -1
  1428. package/docs/examples/w-vditor-dyn_not editable.html +1 -1
  1429. package/docs/examples/w-vditor-dyn_slot_keyHint(array).html +1 -1
  1430. package/docs/examples/w-vditor-dyn_slot_keyHint(string).html +1 -1
  1431. package/docs/examples/w-vditor-dyn_slot_keyHint(string)_hintBackgroundColor.html +1 -1
  1432. package/docs/examples/w-vditor-dyn_slot_keyHint(string)_hintBorderRadius.html +1 -1
  1433. package/docs/global.html +1 -1
  1434. package/docs/index.html +1 -1
  1435. package/docs/module-WAggridVueDyn.html +1 -1
  1436. package/docs/module-WBadge.html +1 -1
  1437. package/docs/module-WButtonChip.html +1 -1
  1438. package/docs/module-WButtonCircle.html +1 -1
  1439. package/docs/module-WCheckbox.html +1 -1
  1440. package/docs/module-WCkeditorVueDyn.html +1 -1
  1441. package/docs/module-WColorPickAlpha.html +1 -1
  1442. package/docs/module-WColorPickHexagon.html +1 -1
  1443. package/docs/module-WColorPickHexagonGray.html +1 -1
  1444. package/docs/module-WColorPickHsv.html +1 -1
  1445. package/docs/module-WColorPickHue.html +1 -1
  1446. package/docs/module-WColorPickStripe.html +1 -1
  1447. package/docs/module-WColorSelect.html +5 -5
  1448. package/docs/module-WColorSelectInput.html +1 -1
  1449. package/docs/module-WColorSelectPanel.html +1 -1
  1450. package/docs/module-WColorSelectPanelBlock.html +1 -1
  1451. package/docs/module-WColorSelectPanelHsva.html +1 -1
  1452. package/docs/module-WConfirm.html +1 -1
  1453. package/docs/module-WDialog.html +1 -1
  1454. package/docs/module-WDrawer.html +1 -1
  1455. package/docs/module-WDropfiles.html +1 -1
  1456. package/docs/module-WDynamicList.html +13 -1
  1457. package/docs/module-WEchartsVueDyn.html +1 -1
  1458. package/docs/module-WExplorer.html +1 -1
  1459. package/docs/module-WGroupBaggage.html +1 -1
  1460. package/docs/module-WGroupChipCheck.html +1 -1
  1461. package/docs/module-WGroupChipRadio.html +1 -1
  1462. package/docs/module-WGroupDragdrop.html +1 -1
  1463. package/docs/module-WGroupIconCheck.html +1 -1
  1464. package/docs/module-WGroupIconRadio.html +1 -1
  1465. package/docs/module-WGroupTags.html +1 -1
  1466. package/docs/module-WHighchartsBitmapDyn.html +1 -1
  1467. package/docs/module-WHighchartsVueDyn.html +1 -1
  1468. package/docs/module-WHighstockVueDyn.html +1 -1
  1469. package/docs/module-WIcon.html +1 -1
  1470. package/docs/module-WIconLoading.html +1 -1
  1471. package/docs/module-WImageCascadingDyn.html +1 -1
  1472. package/docs/module-WImageLazy.html +1 -1
  1473. package/docs/module-WImageViewerDyn.html +1 -1
  1474. package/docs/module-WInputCheckbox.html +1 -1
  1475. package/docs/module-WInputRadio.html +1 -1
  1476. package/docs/module-WJsonView.html +1 -1
  1477. package/docs/module-WLeafletVueDyn.html +1 -1
  1478. package/docs/module-WLevelGrade.html +1 -1
  1479. package/docs/module-WListCheck.html +1 -1
  1480. package/docs/module-WListExpand.html +1 -1
  1481. package/docs/module-WListExpandItem.html +1 -1
  1482. package/docs/module-WListHorizontal.html +1 -1
  1483. package/docs/module-WListItem.html +1 -1
  1484. package/docs/module-WListRadio.html +1 -1
  1485. package/docs/module-WListVertical.html +1 -1
  1486. package/docs/module-WPanelAvatar.html +1 -1
  1487. package/docs/module-WPanelBulge.html +1 -1
  1488. package/docs/module-WPanelDivideHorizontal.html +1 -1
  1489. package/docs/module-WPanelDivideVertical.html +1 -1
  1490. package/docs/module-WPanelLabelItem.html +1 -1
  1491. package/docs/module-WPanelScale.html +1 -1
  1492. package/docs/module-WPanelScrolly.html +1 -1
  1493. package/docs/module-WPanelScrollyCore.html +1 -1
  1494. package/docs/module-WPanelStripe.html +1 -1
  1495. package/docs/module-WPopup.html +1 -1
  1496. package/docs/module-WPopupEditText.html +1 -1
  1497. package/docs/module-WProgressBar.html +1 -1
  1498. package/docs/module-WProgressCircle.html +1 -1
  1499. package/docs/module-WQuillVueDyn.html +1 -1
  1500. package/docs/module-WSegmentsVertical.html +1 -1
  1501. package/docs/module-WShellBottomLine.html +1 -1
  1502. package/docs/module-WShellEllipse.html +1 -1
  1503. package/docs/module-WSlider.html +1 -1
  1504. package/docs/module-WSwitch.html +1 -1
  1505. package/docs/module-WTableDyn.html +1 -1
  1506. package/docs/module-WText.html +1 -1
  1507. package/docs/module-WTextCore.html +1 -1
  1508. package/docs/module-WTextInt.html +1 -1
  1509. package/docs/module-WTextIntCore.html +1 -1
  1510. package/docs/module-WTextSelect.html +1 -1
  1511. package/docs/module-WTextSuggest.html +1 -1
  1512. package/docs/module-WTextSuggestCore.html +1 -1
  1513. package/docs/module-WTextarea.html +1 -1
  1514. package/docs/module-WTextareaCore.html +1 -1
  1515. package/docs/module-WThreejsVueDyn.html +1 -1
  1516. package/docs/module-WTimeday.html +1 -1
  1517. package/docs/module-WTimedayCore.html +1 -1
  1518. package/docs/module-WTimedayCoreRe.html +1 -1
  1519. package/docs/module-WTimedayRange.html +1 -1
  1520. package/docs/module-WTimedayRangeCore.html +1 -1
  1521. package/docs/module-WTimeminute.html +1 -1
  1522. package/docs/module-WTimeminuteCore.html +1 -1
  1523. package/docs/module-WTimeminuteRange.html +1 -1
  1524. package/docs/module-WTimeminuteRangeCore.html +1 -1
  1525. package/docs/module-WTinymceVueDyn.html +1 -1
  1526. package/docs/module-WTooltip.html +1 -1
  1527. package/docs/module-WTree.html +13 -1
  1528. package/docs/module-WTreeIconCheckbox.html +1 -1
  1529. package/docs/module-WTreeIconToggle.html +1 -1
  1530. package/docs/module-WVditorDyn.html +1 -1
  1531. package/package.json +3 -3
  1532. package/plan1.md +213 -0
  1533. package/src/AppZoneWDynamicList.vue +2 -1
  1534. package/src/AppZoneWTree.vue +2 -1
  1535. package/src/components/WButtonCircle.vue +1 -1
  1536. package/src/components/WColorSelect.vue +28 -23
  1537. package/src/components/WColorSelectInput.vue +8 -8
  1538. package/src/components/WDynamicList.vue +39 -14
  1539. package/src/components/WInputCheckbox.vue +1 -1
  1540. package/src/components/WListExpandItem.vue +3 -3
  1541. package/src/components/WListItem.vue +1 -1
  1542. package/src/components/WPanelBulge.vue +1 -1
  1543. package/src/components/WTree.vue +11 -0
  1544. package/src/js/buildPopper.mjs +10 -1
  1545. package/src/js/convertToTreeWk.wk.umd.js +1 -1
  1546. package/src/js/flattenTreeWk.wk.umd.js +1 -1
@@ -1 +1 @@
1
- const d="function"==typeof Buffer,l="function"==typeof TextDecoder?new TextDecoder:void 0,m=("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")),I=(d=>{let l={};return m.forEach(((d,m)=>l[d]=m)),l})(),Z=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,b=String.fromCharCode.bind(String),i="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):d=>new Uint8Array(Array.prototype.slice.call(d,0)),c=d=>d.replace(/[^A-Za-z0-9\+\/]/g,""),X=d=>{let l,I,Z,b,i="";const c=d.length%3;for(let c=0;c<d.length;){if((I=d.charCodeAt(c++))>255||(Z=d.charCodeAt(c++))>255||(b=d.charCodeAt(c++))>255)throw new TypeError("invalid character found");l=I<<16|Z<<8|b,i+=m[l>>18&63]+m[l>>12&63]+m[l>>6&63]+m[63&l]}return c?i.slice(0,c-3)+"===".substring(c):i},y=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,C=d=>{switch(d.length){case 4:var l=((7&d.charCodeAt(0))<<18|(63&d.charCodeAt(1))<<12|(63&d.charCodeAt(2))<<6|63&d.charCodeAt(3))-65536;return b(55296+(l>>>10))+b(56320+(1023&l));case 3:return b((15&d.charCodeAt(0))<<12|(63&d.charCodeAt(1))<<6|63&d.charCodeAt(2));default:return b((31&d.charCodeAt(0))<<6|63&d.charCodeAt(1))}},W=d=>d.replace(y,C),G=d=>{if(d=d.replace(/\s+/g,""),!Z.test(d))throw new TypeError("malformed base64.");d+="==".slice(2-(3&d.length));let l,m,i,c="";for(let Z=0;Z<d.length;)l=I[d.charAt(Z++)]<<18|I[d.charAt(Z++)]<<12|(m=I[d.charAt(Z++)])<<6|(i=I[d.charAt(Z++)]),c+=64===m?b(l>>16&255):64===i?b(l>>16&255,l>>8&255):b(l>>16&255,l>>8&255,255&l);return c},p="function"==typeof atob?d=>atob(c(d)):d?d=>Buffer.from(d,"base64").toString("binary"):G,K=d?d=>i(Buffer.from(d,"base64")):d=>i(p(d).split("").map((d=>d.charCodeAt(0)))),V=d?d=>Buffer.from(d,"base64").toString("utf8"):l?d=>l.decode(K(d)):d=>W(p(d)),o=d=>c(d.replace(/[-_]/g,(d=>"-"==d?"+":"/"))),h=d=>V(o(d)),Y=h;var u={};!function(d){var l=Object.prototype.hasOwnProperty,m="~";function I(){}function Z(d,l,m){this.fn=d,this.context=l,this.once=m||!1}function b(d,l,I,b,i){if("function"!=typeof I)throw new TypeError("The listener must be a function");var c=new Z(I,b||d,i),X=m?m+l:l;return d._events[X]?d._events[X].fn?d._events[X]=[d._events[X],c]:d._events[X].push(c):(d._events[X]=c,d._eventsCount++),d}function i(d,l){0==--d._eventsCount?d._events=new I:delete d._events[l]}function c(){this._events=new I,this._eventsCount=0}Object.create&&(I.prototype=Object.create(null),(new I).__proto__||(m=!1)),c.prototype.eventNames=function(){var d,I,Z=[];if(0===this._eventsCount)return Z;for(I in d=this._events)l.call(d,I)&&Z.push(m?I.slice(1):I);return Object.getOwnPropertySymbols?Z.concat(Object.getOwnPropertySymbols(d)):Z},c.prototype.listeners=function(d){var l=m?m+d:d,I=this._events[l];if(!I)return[];if(I.fn)return[I.fn];for(var Z=0,b=I.length,i=new Array(b);Z<b;Z++)i[Z]=I[Z].fn;return i},c.prototype.listenerCount=function(d){var l=m?m+d:d,I=this._events[l];return I?I.fn?1:I.length:0},c.prototype.emit=function(d,l,I,Z,b,i){var c=m?m+d:d;if(!this._events[c])return!1;var X,y,C=this._events[c],W=arguments.length;if(C.fn){switch(C.once&&this.removeListener(d,C.fn,void 0,!0),W){case 1:return C.fn.call(C.context),!0;case 2:return C.fn.call(C.context,l),!0;case 3:return C.fn.call(C.context,l,I),!0;case 4:return C.fn.call(C.context,l,I,Z),!0;case 5:return C.fn.call(C.context,l,I,Z,b),!0;case 6:return C.fn.call(C.context,l,I,Z,b,i),!0}for(y=1,X=new Array(W-1);y<W;y++)X[y-1]=arguments[y];C.fn.apply(C.context,X)}else{var G,p=C.length;for(y=0;y<p;y++)switch(C[y].once&&this.removeListener(d,C[y].fn,void 0,!0),W){case 1:C[y].fn.call(C[y].context);break;case 2:C[y].fn.call(C[y].context,l);break;case 3:C[y].fn.call(C[y].context,l,I);break;case 4:C[y].fn.call(C[y].context,l,I,Z);break;default:if(!X)for(G=1,X=new Array(W-1);G<W;G++)X[G-1]=arguments[G];C[y].fn.apply(C[y].context,X)}}return!0},c.prototype.on=function(d,l,m){return b(this,d,l,m,!1)},c.prototype.once=function(d,l,m){return b(this,d,l,m,!0)},c.prototype.removeListener=function(d,l,I,Z){var b=m?m+d:d;if(!this._events[b])return this;if(!l)return i(this,b),this;var c=this._events[b];if(c.fn)c.fn!==l||Z&&!c.once||I&&c.context!==I||i(this,b);else{for(var X=0,y=[],C=c.length;X<C;X++)(c[X].fn!==l||Z&&!c[X].once||I&&c[X].context!==I)&&y.push(c[X]);y.length?this._events[b]=1===y.length?y[0]:y:i(this,b)}return this},c.prototype.removeAllListeners=function(d){var l;return d?(l=m?m+d:d,this._events[l]&&i(this,l)):(this._events=new I,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=m,c.EventEmitter=c,d.exports=c}({get exports(){return u},set exports(d){u=d}});var g=u;let n;!function(){if("browser"!==("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let d=Y("CgoKInVzZSBzdHJpY3QiO3ZhciB0PUFycmF5LmlzQXJyYXkscj0ib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWwsZT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG49cnx8ZXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxvPW4uU3ltYm9sLHU9T2JqZWN0LnByb3RvdHlwZSxpPXUuaGFzT3duUHJvcGVydHksYz11LnRvU3RyaW5nLGE9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDt2YXIgZj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBsPSJbb2JqZWN0IE51bGxdIixzPSJbb2JqZWN0IFVuZGVmaW5lZF0iLHA9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDtmdW5jdGlvbiB2KHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/czpsOnAmJnAgaW4gT2JqZWN0KHQpP2Z1bmN0aW9uKHQpe3ZhciByPWkuY2FsbCh0LGEpLGU9dFthXTt0cnl7dFthXT12b2lkIDA7dmFyIG49ITB9Y2F0Y2godCl7fXZhciBvPWMuY2FsbCh0KTtyZXR1cm4gbiYmKHI/dFthXT1lOmRlbGV0ZSB0W2FdKSxvfSh0KTpmdW5jdGlvbih0KXtyZXR1cm4gZi5jYWxsKHQpfSh0KX1mdW5jdGlvbiBiKHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9dmFyIHk9IltvYmplY3QgU3ltYm9sXSI7ZnVuY3Rpb24gaCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fGIodCkmJnYodCk9PXl9dmFyIGQ9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8saj0vXlx3KiQvO2Z1bmN0aW9uIGcocixlKXtpZih0KHIpKXJldHVybiExO3ZhciBuPXR5cGVvZiByO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPXImJiFoKHIpKXx8KGoudGVzdChyKXx8IWQudGVzdChyKXx8bnVsbCE9ZSYmciBpbiBPYmplY3QoZSkpfWZ1bmN0aW9uIF8odCl7dmFyIHI9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09cnx8ImZ1bmN0aW9uIj09cil9dmFyIE89IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLHc9IltvYmplY3QgRnVuY3Rpb25dIixtPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsQT0iW29iamVjdCBQcm94eV0iO2Z1bmN0aW9uIHgodCl7aWYoIV8odCkpcmV0dXJuITE7dmFyIHI9dih0KTtyZXR1cm4gcj09d3x8cj09bXx8cj09T3x8cj09QX12YXIgUyxQPW5bIl9fY29yZS1qc19zaGFyZWRfXyJdLHo9KFM9L1teLl0rJC8uZXhlYyhQJiZQLmtleXMmJlAua2V5cy5JRV9QUk9UT3x8IiIpKT8iU3ltYm9sKHNyYylfMS4iK1M6IiI7dmFyIEU9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIEkodCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiBFLmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifXZhciBOPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLFQ9RnVuY3Rpb24ucHJvdG90eXBlLCQ9T2JqZWN0LnByb3RvdHlwZSxDPVQudG9TdHJpbmcsRj0kLmhhc093blByb3BlcnR5LE09UmVnRXhwKCJeIitDLmNhbGwoRikucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7ZnVuY3Rpb24gVSh0KXtyZXR1cm4hKCFfKHQpfHwocj10LHomJnogaW4gcikpJiYoeCh0KT9NOk4pLnRlc3QoSSh0KSk7dmFyIHJ9ZnVuY3Rpb24gayh0LHIpe3ZhciBlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbcl19KHQscik7cmV0dXJuIFUoZSk/ZTp2b2lkIDB9dmFyIEI9ayhPYmplY3QsImNyZWF0ZSIpO3ZhciBEPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIFI9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBMKHQpe3ZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytyPGU7KXt2YXIgbj10W3JdO3RoaXMuc2V0KG5bMF0sblsxXSl9fWZ1bmN0aW9uIFYodCxyKXtyZXR1cm4gdD09PXJ8fHQhPXQmJnIhPXJ9ZnVuY3Rpb24gSyh0LHIpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS07KWlmKFYodFtlXVswXSxyKSlyZXR1cm4gZTtyZXR1cm4tMX1MLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189Qj9CKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxMLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5oYXModCkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW3RdO3JldHVybiB0aGlzLnNpemUtPXI/MTowLHJ9LEwucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKEIpe3ZhciBlPXJbdF07cmV0dXJuIl9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iPT09ZT92b2lkIDA6ZX1yZXR1cm4gRC5jYWxsKHIsdCk/clt0XTp2b2lkIDB9LEwucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiBCP3ZvaWQgMCE9PXJbdF06Ui5jYWxsKHIsdCl9LEwucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLGVbdF09QiYmdm9pZCAwPT09cj8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6cix0aGlzfTt2YXIgVz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2Z1bmN0aW9uIHEodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19cS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVtdLHRoaXMuc2l6ZT0wfSxxLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPUsocix0KTtyZXR1cm4hKGU8MCkmJihlPT1yLmxlbmd0aC0xP3IucG9wKCk6Vy5jYWxsKHIsZSwxKSwtLXRoaXMuc2l6ZSwhMCl9LHEucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fLGU9SyhyLHQpO3JldHVybiBlPDA/dm9pZCAwOnJbZV1bMV19LHEucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gSyh0aGlzLl9fZGF0YV9fLHQpPi0xfSxxLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fLG49SyhlLHQpO3JldHVybiBuPDA/KCsrdGhpcy5zaXplLGUucHVzaChbdCxyXSkpOmVbbl1bMV09cix0aGlzfTt2YXIgRz1rKG4sIk1hcCIpO2Z1bmN0aW9uIEgodCxyKXt2YXIgZSxuLG89dC5fX2RhdGFfXztyZXR1cm4oInN0cmluZyI9PShuPXR5cGVvZihlPXIpKXx8Im51bWJlciI9PW58fCJzeW1ib2wiPT1ufHwiYm9vbGVhbiI9PW4/Il9fcHJvdG9fXyIhPT1lOm51bGw9PT1lKT9vWyJzdHJpbmciPT10eXBlb2Ygcj8ic3RyaW5nIjoiaGFzaCJdOm8ubWFwfWZ1bmN0aW9uIEoodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19Si5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBMLG1hcDpuZXcoR3x8cSksc3RyaW5nOm5ldyBMfX0sSi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPUgodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09cj8xOjAscn0sSi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBIKHRoaXMsdCkuZ2V0KHQpfSxKLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIEgodGhpcyx0KS5oYXModCl9LEoucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPUgodGhpcyx0KSxuPWUuc2l6ZTtyZXR1cm4gZS5zZXQodCxyKSx0aGlzLnNpemUrPWUuc2l6ZT09bj8wOjEsdGhpc307dmFyIFE9IkV4cGVjdGVkIGEgZnVuY3Rpb24iO2Z1bmN0aW9uIFgodCxyKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcihRKTt2YXIgZT1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyxvPXI/ci5hcHBseSh0aGlzLG4pOm5bMF0sdT1lLmNhY2hlO2lmKHUuaGFzKG8pKXJldHVybiB1LmdldChvKTt2YXIgaT10LmFwcGx5KHRoaXMsbik7cmV0dXJuIGUuY2FjaGU9dS5zZXQobyxpKXx8dSxpfTtyZXR1cm4gZS5jYWNoZT1uZXcoWC5DYWNoZXx8SiksZX1YLkNhY2hlPUo7dmFyIFksWix0dCxydD0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZyxldD0vXFwoXFwpPy9nLG50PShZPWZ1bmN0aW9uKHQpe3ZhciByPVtdO3JldHVybiA0Nj09PXQuY2hhckNvZGVBdCgwKSYmci5wdXNoKCIiKSx0LnJlcGxhY2UocnQsKGZ1bmN0aW9uKHQsZSxuLG8pe3IucHVzaChuP28ucmVwbGFjZShldCwiJDEiKTplfHx0KX0pKSxyfSxaPVgoWSwoZnVuY3Rpb24odCl7cmV0dXJuIDUwMD09PXR0LnNpemUmJnR0LmNsZWFyKCksdH0pKSx0dD1aLmNhY2hlLFopLG90PW50O2Z1bmN0aW9uIHV0KHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLG89QXJyYXkobik7KytlPG47KW9bZV09cih0W2VdLGUsdCk7cmV0dXJuIG99dmFyIGl0PTEvMCxjdD1vP28ucHJvdG90eXBlOnZvaWQgMCxhdD1jdD9jdC50b1N0cmluZzp2b2lkIDA7ZnVuY3Rpb24gZnQocil7aWYoInN0cmluZyI9PXR5cGVvZiByKXJldHVybiByO2lmKHQocikpcmV0dXJuIHV0KHIsZnQpKyIiO2lmKGgocikpcmV0dXJuIGF0P2F0LmNhbGwocik6IiI7dmFyIGU9cisiIjtyZXR1cm4iMCI9PWUmJjEvcj09LWl0PyItMCI6ZX1mdW5jdGlvbiBsdChyLGUpe3JldHVybiB0KHIpP3I6ZyhyLGUpP1tyXTpvdChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD8iIjpmdCh0KX0ocikpfXZhciBzdD0xLzA7ZnVuY3Rpb24gcHQodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0fHxoKHQpKXJldHVybiB0O3ZhciByPXQrIiI7cmV0dXJuIjAiPT1yJiYxL3Q9PS1zdD8iLTAiOnJ9ZnVuY3Rpb24gdnQodCxyKXtmb3IodmFyIGU9MCxuPShyPWx0KHIsdCkpLmxlbmd0aDtudWxsIT10JiZlPG47KXQ9dFtwdChyW2UrK10pXTtyZXR1cm4gZSYmZT09bj90OnZvaWQgMH1mdW5jdGlvbiBidCh0LHIsZSl7dmFyIG49bnVsbD09dD92b2lkIDA6dnQodCxyKTtyZXR1cm4gdm9pZCAwPT09bj9lOm59ZnVuY3Rpb24geXQodCl7cmV0dXJuIltvYmplY3QgU3RyaW5nXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gaHQodCl7cmV0dXJuISgheXQodCl8fCIiPT09dCl9ZnVuY3Rpb24gZHQodCl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24ganQodCl7aWYoZHQodCkpe2ZvcihsZXQgciBpbiB0KXJldHVybiEwO3JldHVybiExfXJldHVybiExfWZ1bmN0aW9uIGd0KHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gX3QodCl7cmV0dXJuIHQhPXR9ZnVuY3Rpb24gT3QodCl7cmV0dXJuISFmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBVbmRlZmluZWRdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE51bGxdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWZ1bmN0aW9uKHQpe2lmKGR0KHQpKXtmb3IobGV0IHIgaW4gdClyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4hMX0odCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiEoIXl0KHQpfHwiIiE9PXQpfSh0KXx8KCEhZnVuY3Rpb24odCl7cmV0dXJuISFndCh0KSYmMD09PXQubGVuZ3RofSh0KXx8ISFfdCh0KSkpKSl9ZnVuY3Rpb24gd3QodCl7cmV0dXJuISFndCh0KSYmKDAhPT10Lmxlbmd0aCYmKDEhPT10Lmxlbmd0aHx8IU90KHRbMF0pKSl9dmFyIG10PSJbb2JqZWN0IEJvb2xlYW5dIjtmdW5jdGlvbiBBdCh0KXtyZXR1cm4hMD09PShyPXQpfHwhMT09PXJ8fGIocikmJnYocik9PW10O3ZhciByfWZ1bmN0aW9uIHh0KHQpe3ZhciByPXRoaXMuX19kYXRhX189bmV3IHEodCk7dGhpcy5zaXplPXIuc2l6ZX14dC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW5ldyBxLHRoaXMuc2l6ZT0wfSx4dC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX19kYXRhX18sZT1yLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPXIuc2l6ZSxlfSx4dC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX0seHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LHh0LnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fO2lmKGUgaW5zdGFuY2VvZiBxKXt2YXIgbj1lLl9fZGF0YV9fO2lmKCFHfHxuLmxlbmd0aDwxOTkpcmV0dXJuIG4ucHVzaChbdCxyXSksdGhpcy5zaXplPSsrZS5zaXplLHRoaXM7ZT10aGlzLl9fZGF0YV9fPW5ldyBKKG4pfXJldHVybiBlLnNldCh0LHIpLHRoaXMuc2l6ZT1lLnNpemUsdGhpc307ZnVuY3Rpb24gU3QodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IEo7KytyPGU7KXRoaXMuYWRkKHRbcl0pfWZ1bmN0aW9uIFB0KHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoOysrZTxuOylpZihyKHRbZV0sZSx0KSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiB6dCh0LHIpe3JldHVybiB0LmhhcyhyKX1TdC5wcm90b3R5cGUuYWRkPVN0LnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLnNldCh0LCJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIiksdGhpc30sU3QucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBFdD0xLEl0PTI7ZnVuY3Rpb24gTnQodCxyLGUsbixvLHUpe3ZhciBpPWUmRXQsYz10Lmxlbmd0aCxhPXIubGVuZ3RoO2lmKGMhPWEmJiEoaSYmYT5jKSlyZXR1cm4hMTt2YXIgZj11LmdldCh0KSxsPXUuZ2V0KHIpO2lmKGYmJmwpcmV0dXJuIGY9PXImJmw9PXQ7dmFyIHM9LTEscD0hMCx2PWUmSXQ/bmV3IFN0OnZvaWQgMDtmb3IodS5zZXQodCxyKSx1LnNldChyLHQpOysrczxjOyl7dmFyIGI9dFtzXSx5PXJbc107aWYobil2YXIgaD1pP24oeSxiLHMscix0LHUpOm4oYix5LHMsdCxyLHUpO2lmKHZvaWQgMCE9PWgpe2lmKGgpY29udGludWU7cD0hMTticmVha31pZih2KXtpZighUHQociwoZnVuY3Rpb24odCxyKXtpZighenQodixyKSYmKGI9PT10fHxvKGIsdCxlLG4sdSkpKXJldHVybiB2LnB1c2gocil9KSkpe3A9ITE7YnJlYWt9fWVsc2UgaWYoYiE9PXkmJiFvKGIseSxlLG4sdSkpe3A9ITE7YnJlYWt9fXJldHVybiB1LmRlbGV0ZSh0KSx1LmRlbGV0ZShyKSxwfXZhciBUdD1uLlVpbnQ4QXJyYXk7ZnVuY3Rpb24gJHQodCl7dmFyIHI9LTEsZT1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsbil7ZVsrK3JdPVtuLHRdfSkpLGV9ZnVuY3Rpb24gQ3QodCl7dmFyIHI9LTEsZT1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbKytyXT10fSkpLGV9dmFyIEZ0PTEsTXQ9MixVdD0iW29iamVjdCBCb29sZWFuXSIsa3Q9IltvYmplY3QgRGF0ZV0iLEJ0PSJbb2JqZWN0IEVycm9yXSIsRHQ9IltvYmplY3QgTWFwXSIsUnQ9IltvYmplY3QgTnVtYmVyXSIsTHQ9IltvYmplY3QgUmVnRXhwXSIsVnQ9IltvYmplY3QgU2V0XSIsS3Q9IltvYmplY3QgU3RyaW5nXSIsV3Q9IltvYmplY3QgU3ltYm9sXSIscXQ9IltvYmplY3QgQXJyYXlCdWZmZXJdIixHdD0iW29iamVjdCBEYXRhVmlld10iLEh0PW8/by5wcm90b3R5cGU6dm9pZCAwLEp0PUh0P0h0LnZhbHVlT2Y6dm9pZCAwO2Z1bmN0aW9uIFF0KHQscil7Zm9yKHZhciBlPS0xLG49ci5sZW5ndGgsbz10Lmxlbmd0aDsrK2U8bjspdFtvK2VdPXJbZV07cmV0dXJuIHR9ZnVuY3Rpb24gWHQocixlLG4pe3ZhciBvPWUocik7cmV0dXJuIHQocik/bzpRdChvLG4ocikpfWZ1bmN0aW9uIFl0KCl7cmV0dXJuW119dmFyIFp0PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsdHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxycj10cj9mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9bXToodD1PYmplY3QodCksZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsbz0wLHU9W107KytlPG47KXt2YXIgaT10W2VdO3IoaSxlLHQpJiYodVtvKytdPWkpfXJldHVybiB1fSh0cih0KSwoZnVuY3Rpb24ocil7cmV0dXJuIFp0LmNhbGwodCxyKX0pKSl9Oll0LGVyPXJyO2Z1bmN0aW9uIG5yKHQpe3JldHVybiBiKHQpJiYiW29iamVjdCBBcmd1bWVudHNdIj09dih0KX12YXIgb3I9T2JqZWN0LnByb3RvdHlwZSx1cj1vci5oYXNPd25Qcm9wZXJ0eSxpcj1vci5wcm9wZXJ0eUlzRW51bWVyYWJsZSxjcj1ucihmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpP25yOmZ1bmN0aW9uKHQpe3JldHVybiBiKHQpJiZ1ci5jYWxsKHQsImNhbGxlZSIpJiYhaXIuY2FsbCh0LCJjYWxsZWUiKX07dmFyIGFyPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsZnI9YXImJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxscj1mciYmZnIuZXhwb3J0cz09PWFyP24uQnVmZmVyOnZvaWQgMCxzcj0obHI/bHIuaXNCdWZmZXI6dm9pZCAwKXx8ZnVuY3Rpb24oKXtyZXR1cm4hMX0scHI9OTAwNzE5OTI1NDc0MDk5MSx2cj0vXig/OjB8WzEtOV1cZCopJC87ZnVuY3Rpb24gYnIodCxyKXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hIShyPW51bGw9PXI/cHI6cikmJigibnVtYmVyIj09ZXx8InN5bWJvbCIhPWUmJnZyLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8cn12YXIgeXI9OTAwNzE5OTI1NDc0MDk5MTtmdW5jdGlvbiBocih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJnQ+LTEmJnQlMT09MCYmdDw9eXJ9dmFyIGRyPXt9O2Z1bmN0aW9uIGpyKHQpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChyKX19ZHJbIltvYmplY3QgRmxvYXQzMkFycmF5XSJdPWRyWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1kclsiW29iamVjdCBJbnQ4QXJyYXldIl09ZHJbIltvYmplY3QgSW50MTZBcnJheV0iXT1kclsiW29iamVjdCBJbnQzMkFycmF5XSJdPWRyWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09ZHJbIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIl09ZHJbIltvYmplY3QgVWludDE2QXJyYXldIl09ZHJbIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsZHJbIltvYmplY3QgQXJndW1lbnRzXSJdPWRyWyJbb2JqZWN0IEFycmF5XSJdPWRyWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPWRyWyJbb2JqZWN0IEJvb2xlYW5dIl09ZHJbIltvYmplY3QgRGF0YVZpZXddIl09ZHJbIltvYmplY3QgRGF0ZV0iXT1kclsiW29iamVjdCBFcnJvcl0iXT1kclsiW29iamVjdCBGdW5jdGlvbl0iXT1kclsiW29iamVjdCBNYXBdIl09ZHJbIltvYmplY3QgTnVtYmVyXSJdPWRyWyJbb2JqZWN0IE9iamVjdF0iXT1kclsiW29iamVjdCBSZWdFeHBdIl09ZHJbIltvYmplY3QgU2V0XSJdPWRyWyJbb2JqZWN0IFN0cmluZ10iXT1kclsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBncj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLF9yPWdyJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsT3I9X3ImJl9yLmV4cG9ydHM9PT1nciYmci5wcm9jZXNzLHdyPWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PV9yJiZfci5yZXF1aXJlJiZfci5yZXF1aXJlKCJ1dGlsIikudHlwZXM7cmV0dXJuIHR8fE9yJiZPci5iaW5kaW5nJiZPci5iaW5kaW5nKCJ1dGlsIil9Y2F0Y2godCl7fX0oKSxtcj13ciYmd3IuaXNUeXBlZEFycmF5LEFyPW1yP2pyKG1yKTpmdW5jdGlvbih0KXtyZXR1cm4gYih0KSYmaHIodC5sZW5ndGgpJiYhIWRyW3YodCldfSx4cj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIFNyKHIsZSl7dmFyIG49dChyKSxvPSFuJiZjcihyKSx1PSFuJiYhbyYmc3IociksaT0hbiYmIW8mJiF1JiZBcihyKSxjPW58fG98fHV8fGksYT1jP2Z1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49QXJyYXkodCk7KytlPHQ7KW5bZV09cihlKTtyZXR1cm4gbn0oci5sZW5ndGgsU3RyaW5nKTpbXSxmPWEubGVuZ3RoO2Zvcih2YXIgbCBpbiByKSFlJiYheHIuY2FsbChyLGwpfHxjJiYoImxlbmd0aCI9PWx8fHUmJigib2Zmc2V0Ij09bHx8InBhcmVudCI9PWwpfHxpJiYoImJ1ZmZlciI9PWx8fCJieXRlTGVuZ3RoIj09bHx8ImJ5dGVPZmZzZXQiPT1sKXx8YnIobCxmKSl8fGEucHVzaChsKTtyZXR1cm4gYX12YXIgUHI9T2JqZWN0LnByb3RvdHlwZTtmdW5jdGlvbiB6cih0KXt2YXIgcj10JiZ0LmNvbnN0cnVjdG9yO3JldHVybiB0PT09KCJmdW5jdGlvbiI9PXR5cGVvZiByJiZyLnByb3RvdHlwZXx8UHIpfWZ1bmN0aW9uIEVyKHQscil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KHIoZSkpfX12YXIgSXI9RXIoT2JqZWN0LmtleXMsT2JqZWN0KSxOcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIFRyKHQpe2lmKCF6cih0KSlyZXR1cm4gSXIodCk7dmFyIHI9W107Zm9yKHZhciBlIGluIE9iamVjdCh0KSlOci5jYWxsKHQsZSkmJiJjb25zdHJ1Y3RvciIhPWUmJnIucHVzaChlKTtyZXR1cm4gcn1mdW5jdGlvbiAkcih0KXtyZXR1cm4gbnVsbCE9dCYmaHIodC5sZW5ndGgpJiYheCh0KX1mdW5jdGlvbiBDcih0KXtyZXR1cm4gJHIodCk/U3IodCk6VHIodCl9ZnVuY3Rpb24gRnIodCl7cmV0dXJuIFh0KHQsQ3IsZXIpfXZhciBNcj0xLFVyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIGtyPWsobiwiRGF0YVZpZXciKSxCcj1rKG4sIlByb21pc2UiKSxEcj1rKG4sIlNldCIpLFJyPWsobiwiV2Vha01hcCIpLExyPSJbb2JqZWN0IE1hcF0iLFZyPSJbb2JqZWN0IFByb21pc2VdIixLcj0iW29iamVjdCBTZXRdIixXcj0iW29iamVjdCBXZWFrTWFwXSIscXI9IltvYmplY3QgRGF0YVZpZXddIixHcj1JKGtyKSxIcj1JKEcpLEpyPUkoQnIpLFFyPUkoRHIpLFhyPUkoUnIpLFlyPXY7KGtyJiZZcihuZXcga3IobmV3IEFycmF5QnVmZmVyKDEpKSkhPXFyfHxHJiZZcihuZXcgRykhPUxyfHxCciYmWXIoQnIucmVzb2x2ZSgpKSE9VnJ8fERyJiZZcihuZXcgRHIpIT1Lcnx8UnImJllyKG5ldyBScikhPVdyKSYmKFlyPWZ1bmN0aW9uKHQpe3ZhciByPXYodCksZT0iW29iamVjdCBPYmplY3RdIj09cj90LmNvbnN0cnVjdG9yOnZvaWQgMCxuPWU/SShlKToiIjtpZihuKXN3aXRjaChuKXtjYXNlIEdyOnJldHVybiBxcjtjYXNlIEhyOnJldHVybiBMcjtjYXNlIEpyOnJldHVybiBWcjtjYXNlIFFyOnJldHVybiBLcjtjYXNlIFhyOnJldHVybiBXcn1yZXR1cm4gcn0pO3ZhciBacj1Zcix0ZT0xLHJlPSJbb2JqZWN0IEFyZ3VtZW50c10iLGVlPSJbb2JqZWN0IEFycmF5XSIsbmU9IltvYmplY3QgT2JqZWN0XSIsb2U9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB1ZShyLGUsbixvLHUsaSl7dmFyIGM9dChyKSxhPXQoZSksZj1jP2VlOlpyKHIpLGw9YT9lZTpacihlKSxzPShmPWY9PXJlP25lOmYpPT1uZSxwPShsPWw9PXJlP25lOmwpPT1uZSx2PWY9PWw7aWYodiYmc3Iocikpe2lmKCFzcihlKSlyZXR1cm4hMTtjPSEwLHM9ITF9aWYodiYmIXMpcmV0dXJuIGl8fChpPW5ldyB4dCksY3x8QXIocik/TnQocixlLG4sbyx1LGkpOmZ1bmN0aW9uKHQscixlLG4sbyx1LGkpe3N3aXRjaChlKXtjYXNlIEd0OmlmKHQuYnl0ZUxlbmd0aCE9ci5ieXRlTGVuZ3RofHx0LmJ5dGVPZmZzZXQhPXIuYnl0ZU9mZnNldClyZXR1cm4hMTt0PXQuYnVmZmVyLHI9ci5idWZmZXI7Y2FzZSBxdDpyZXR1cm4hKHQuYnl0ZUxlbmd0aCE9ci5ieXRlTGVuZ3RofHwhdShuZXcgVHQodCksbmV3IFR0KHIpKSk7Y2FzZSBVdDpjYXNlIGt0OmNhc2UgUnQ6cmV0dXJuIFYoK3QsK3IpO2Nhc2UgQnQ6cmV0dXJuIHQubmFtZT09ci5uYW1lJiZ0Lm1lc3NhZ2U9PXIubWVzc2FnZTtjYXNlIEx0OmNhc2UgS3Q6cmV0dXJuIHQ9PXIrIiI7Y2FzZSBEdDp2YXIgYz0kdDtjYXNlIFZ0OnZhciBhPW4mRnQ7aWYoY3x8KGM9Q3QpLHQuc2l6ZSE9ci5zaXplJiYhYSlyZXR1cm4hMTt2YXIgZj1pLmdldCh0KTtpZihmKXJldHVybiBmPT1yO258PU10LGkuc2V0KHQscik7dmFyIGw9TnQoYyh0KSxjKHIpLG4sbyx1LGkpO3JldHVybiBpLmRlbGV0ZSh0KSxsO2Nhc2UgV3Q6aWYoSnQpcmV0dXJuIEp0LmNhbGwodCk9PUp0LmNhbGwocil9cmV0dXJuITF9KHIsZSxmLG4sbyx1LGkpO2lmKCEobiZ0ZSkpe3ZhciBiPXMmJm9lLmNhbGwociwiX193cmFwcGVkX18iKSx5PXAmJm9lLmNhbGwoZSwiX193cmFwcGVkX18iKTtpZihifHx5KXt2YXIgaD1iP3IudmFsdWUoKTpyLGQ9eT9lLnZhbHVlKCk6ZTtyZXR1cm4gaXx8KGk9bmV3IHh0KSx1KGgsZCxuLG8saSl9fXJldHVybiEhdiYmKGl8fChpPW5ldyB4dCksZnVuY3Rpb24odCxyLGUsbixvLHUpe3ZhciBpPWUmTXIsYz1Gcih0KSxhPWMubGVuZ3RoO2lmKGEhPUZyKHIpLmxlbmd0aCYmIWkpcmV0dXJuITE7Zm9yKHZhciBmPWE7Zi0tOyl7dmFyIGw9Y1tmXTtpZighKGk/bCBpbiByOlVyLmNhbGwocixsKSkpcmV0dXJuITF9dmFyIHM9dS5nZXQodCkscD11LmdldChyKTtpZihzJiZwKXJldHVybiBzPT1yJiZwPT10O3ZhciB2PSEwO3Uuc2V0KHQsciksdS5zZXQocix0KTtmb3IodmFyIGI9aTsrK2Y8YTspe3ZhciB5PXRbbD1jW2ZdXSxoPXJbbF07aWYobil2YXIgZD1pP24oaCx5LGwscix0LHUpOm4oeSxoLGwsdCxyLHUpO2lmKCEodm9pZCAwPT09ZD95PT09aHx8byh5LGgsZSxuLHUpOmQpKXt2PSExO2JyZWFrfWJ8fChiPSJjb25zdHJ1Y3RvciI9PWwpfWlmKHYmJiFiKXt2YXIgaj10LmNvbnN0cnVjdG9yLGc9ci5jb25zdHJ1Y3RvcjtqPT1nfHwhKCJjb25zdHJ1Y3RvciJpbiB0KXx8ISgiY29uc3RydWN0b3IiaW4gcil8fCJmdW5jdGlvbiI9PXR5cGVvZiBqJiZqIGluc3RhbmNlb2YgaiYmImZ1bmN0aW9uIj09dHlwZW9mIGcmJmcgaW5zdGFuY2VvZiBnfHwodj0hMSl9cmV0dXJuIHUuZGVsZXRlKHQpLHUuZGVsZXRlKHIpLHZ9KHIsZSxuLG8sdSxpKSl9ZnVuY3Rpb24gaWUodCxyLGUsbixvKXtyZXR1cm4gdD09PXJ8fChudWxsPT10fHxudWxsPT1yfHwhYih0KSYmIWIocik/dCE9dCYmciE9cjp1ZSh0LHIsZSxuLGllLG8pKX12YXIgY2U9MSxhZT0yO2Z1bmN0aW9uIGZlKHQpe3JldHVybiB0PT10JiYhXyh0KX1mdW5jdGlvbiBsZSh0LHIpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmKGVbdF09PT1yJiYodm9pZCAwIT09cnx8dCBpbiBPYmplY3QoZSkpKX19ZnVuY3Rpb24gc2UodCl7dmFyIHI9ZnVuY3Rpb24odCl7Zm9yKHZhciByPUNyKHQpLGU9ci5sZW5ndGg7ZS0tOyl7dmFyIG49cltlXSxvPXRbbl07cltlXT1bbixvLGZlKG8pXX1yZXR1cm4gcn0odCk7cmV0dXJuIDE9PXIubGVuZ3RoJiZyWzBdWzJdP2xlKHJbMF1bMF0sclswXVsxXSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fHxmdW5jdGlvbih0LHIsZSxuKXt2YXIgbz1lLmxlbmd0aCx1PW8saT0hbjtpZihudWxsPT10KXJldHVybiF1O2Zvcih0PU9iamVjdCh0KTtvLS07KXt2YXIgYz1lW29dO2lmKGkmJmNbMl0/Y1sxXSE9PXRbY1swXV06IShjWzBdaW4gdCkpcmV0dXJuITF9Zm9yKDsrK288dTspe3ZhciBhPShjPWVbb10pWzBdLGY9dFthXSxsPWNbMV07aWYoaSYmY1syXSl7aWYodm9pZCAwPT09ZiYmIShhIGluIHQpKXJldHVybiExfWVsc2V7dmFyIHM9bmV3IHh0O2lmKG4pdmFyIHA9bihmLGwsYSx0LHIscyk7aWYoISh2b2lkIDA9PT1wP2llKGwsZixjZXxhZSxuLHMpOnApKXJldHVybiExfX1yZXR1cm4hMH0oZSx0LHIpfX1mdW5jdGlvbiBwZSh0LHIpe3JldHVybiBudWxsIT10JiZyIGluIE9iamVjdCh0KX1mdW5jdGlvbiB2ZShyLGUpe3JldHVybiBudWxsIT1yJiZmdW5jdGlvbihyLGUsbil7Zm9yKHZhciBvPS0xLHU9KGU9bHQoZSxyKSkubGVuZ3RoLGk9ITE7KytvPHU7KXt2YXIgYz1wdChlW29dKTtpZighKGk9bnVsbCE9ciYmbihyLGMpKSlicmVhaztyPXJbY119cmV0dXJuIGl8fCsrbyE9dT9pOiEhKHU9bnVsbD09cj8wOnIubGVuZ3RoKSYmaHIodSkmJmJyKGMsdSkmJih0KHIpfHxjcihyKSl9KHIsZSxwZSl9dmFyIGJlPTEseWU9MjtmdW5jdGlvbiBoZSh0KXtyZXR1cm4gdH1mdW5jdGlvbiBkZSh0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIG51bGw9PXI/dm9pZCAwOnJbdF19fWZ1bmN0aW9uIGplKHQpe3JldHVybiBnKHQpP2RlKHB0KHQpKTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHZ0KHIsdCl9fSh0KX1mdW5jdGlvbiBnZShyKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOm51bGw9PXI/aGU6Im9iamVjdCI9PXR5cGVvZiByP3Qocik/KGU9clswXSxuPXJbMV0sZyhlKSYmZmUobik/bGUocHQoZSksbik6ZnVuY3Rpb24odCl7dmFyIHI9YnQodCxlKTtyZXR1cm4gdm9pZCAwPT09ciYmcj09PW4/dmUodCxlKTppZShuLHIsYmV8eWUpfSk6c2Uocik6amUocik7dmFyIGUsbn12YXIgX2UsT2U9ZnVuY3Rpb24odCxyLGUpe2Zvcih2YXIgbj0tMSxvPU9iamVjdCh0KSx1PWUodCksaT11Lmxlbmd0aDtpLS07KXt2YXIgYz11W19lP2k6KytuXTtpZighMT09PXIob1tjXSxjLG8pKWJyZWFrfXJldHVybiB0fTt2YXIgd2U9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtpZihudWxsPT1lKXJldHVybiBlO2lmKCEkcihlKSlyZXR1cm4gdChlLG4pO2Zvcih2YXIgbz1lLmxlbmd0aCx1PXI/bzotMSxpPU9iamVjdChlKTsocj91LS06Kyt1PG8pJiYhMSE9PW4oaVt1XSx1LGkpOyk7cmV0dXJuIGV9fSgoZnVuY3Rpb24odCxyKXtyZXR1cm4gdCYmT2UodCxyLENyKX0pKSxtZT13ZTtmdW5jdGlvbiBBZSh0LHIpe3ZhciBlPS0xLG49JHIodCk/QXJyYXkodC5sZW5ndGgpOltdO3JldHVybiBtZSh0LChmdW5jdGlvbih0LG8sdSl7blsrK2VdPXIodCxvLHUpfSkpLG59dmFyIHhlPUFycmF5LnByb3RvdHlwZS5qb2luO3ZhciBTZT0iW29iamVjdCBTdHJpbmddIjt2YXIgUGU9ZGUoImxlbmd0aCIpLHplPVJlZ0V4cCgiW1xcdTIwMGRcXHVkODAwLVxcdWRmZmZcXHUwMzAwLVxcdTAzNmZcXHVmZTIwLVxcdWZlMmZcXHUyMGQwLVxcdTIwZmZcXHVmZTBlXFx1ZmUwZl0iKTt2YXIgRWU9IlxcdWQ4MDAtXFx1ZGZmZiIsSWU9IlsiK0VlKyJdIixOZT0iW1xcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZl0iLFRlPSJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0iLCRlPSJbXiIrRWUrIl0iLENlPSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixGZT0iW1xcdWQ4MDAtXFx1ZGJmZl1bXFx1ZGMwMC1cXHVkZmZmXSIsTWU9Iig/OiIrTmUrInwiK1RlKyIpIisiPyIsVWU9IltcXHVmZTBlXFx1ZmUwZl0/IixrZT1VZStNZSsoIig/OlxcdTIwMGQoPzoiK1skZSxDZSxGZV0uam9pbigifCIpKyIpIitVZStNZSsiKSoiKSxCZT0iKD86IitbJGUrTmUrIj8iLE5lLENlLEZlLEllXS5qb2luKCJ8IikrIikiLERlPVJlZ0V4cChUZSsiKD89IitUZSsiKXwiK0JlK2tlLCJnIik7ZnVuY3Rpb24gUmUodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB6ZS50ZXN0KHQpfSh0KT9mdW5jdGlvbih0KXtmb3IodmFyIHI9RGUubGFzdEluZGV4PTA7RGUudGVzdCh0KTspKytyO3JldHVybiByfSh0KTpQZSh0KX12YXIgTGU9IltvYmplY3QgTWFwXSIsVmU9IltvYmplY3QgU2V0XSI7ZnVuY3Rpb24gS2Uocil7aWYobnVsbD09cilyZXR1cm4gMDtpZigkcihyKSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mKGU9cil8fCF0KGUpJiZiKGUpJiZ2KGUpPT1TZT9SZShyKTpyLmxlbmd0aDt2YXIgZSxuPVpyKHIpO3JldHVybiBuPT1MZXx8bj09VmU/ci5zaXplOlRyKHIpLmxlbmd0aH12YXIgV2U9IltvYmplY3QgTnVtYmVyXSI7ZnVuY3Rpb24gcWUodCxyKXtmb3IodmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7KytlPG4mJiExIT09cih0W2VdLGUsdCk7KTtyZXR1cm4gdH12YXIgR2U9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ayhPYmplY3QsImRlZmluZVByb3BlcnR5Iik7cmV0dXJuIHQoe30sIiIse30pLHR9Y2F0Y2godCl7fX0oKSxIZT1HZTtmdW5jdGlvbiBKZSh0LHIsZSl7Il9fcHJvdG9fXyI9PXImJkhlP0hlKHQscix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZSx3cml0YWJsZTohMH0pOnRbcl09ZX12YXIgUWU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBYZSh0LHIsZSl7dmFyIG49dFtyXTtRZS5jYWxsKHQscikmJlYobixlKSYmKHZvaWQgMCE9PWV8fHIgaW4gdCl8fEplKHQscixlKX1mdW5jdGlvbiBZZSh0LHIsZSxuKXt2YXIgbz0hZTtlfHwoZT17fSk7Zm9yKHZhciB1PS0xLGk9ci5sZW5ndGg7Kyt1PGk7KXt2YXIgYz1yW3VdLGE9bj9uKGVbY10sdFtjXSxjLGUsdCk6dm9pZCAwO3ZvaWQgMD09PWEmJihhPXRbY10pLG8/SmUoZSxjLGEpOlhlKGUsYyxhKX1yZXR1cm4gZX12YXIgWmU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB0bih0KXtpZighXyh0KSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIHI9W107aWYobnVsbCE9dClmb3IodmFyIGUgaW4gT2JqZWN0KHQpKXIucHVzaChlKTtyZXR1cm4gcn0odCk7dmFyIHI9enIodCksZT1bXTtmb3IodmFyIG4gaW4gdCkoImNvbnN0cnVjdG9yIiE9bnx8IXImJlplLmNhbGwodCxuKSkmJmUucHVzaChuKTtyZXR1cm4gZX1mdW5jdGlvbiBybih0KXtyZXR1cm4gJHIodCk/U3IodCwhMCk6dG4odCl9dmFyIGVuPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbm49ZW4mJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvbj1ubiYmbm4uZXhwb3J0cz09PWVuP24uQnVmZmVyOnZvaWQgMCx1bj1vbj9vbi5hbGxvY1Vuc2FmZTp2b2lkIDA7dmFyIGNuPUVyKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLGFuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdO3Q7KVF0KHIsZXIodCkpLHQ9Y24odCk7cmV0dXJuIHJ9Oll0LGZuPWFuO2Z1bmN0aW9uIGxuKHQpe3JldHVybiBYdCh0LHJuLGZuKX12YXIgc249T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBwbih0KXt2YXIgcj1uZXcgdC5jb25zdHJ1Y3Rvcih0LmJ5dGVMZW5ndGgpO3JldHVybiBuZXcgVHQocikuc2V0KG5ldyBUdCh0KSkscn12YXIgdm49L1x3KiQvO3ZhciBibj1vP28ucHJvdG90eXBlOnZvaWQgMCx5bj1ibj9ibi52YWx1ZU9mOnZvaWQgMDt2YXIgaG49IltvYmplY3QgQm9vbGVhbl0iLGRuPSJbb2JqZWN0IERhdGVdIixqbj0iW29iamVjdCBNYXBdIixnbj0iW29iamVjdCBOdW1iZXJdIixfbj0iW29iamVjdCBSZWdFeHBdIixPbj0iW29iamVjdCBTZXRdIix3bj0iW29iamVjdCBTdHJpbmddIixtbj0iW29iamVjdCBTeW1ib2xdIixBbj0iW29iamVjdCBBcnJheUJ1ZmZlcl0iLHhuPSJbb2JqZWN0IERhdGFWaWV3XSIsU249IltvYmplY3QgRmxvYXQzMkFycmF5XSIsUG49IltvYmplY3QgRmxvYXQ2NEFycmF5XSIsem49IltvYmplY3QgSW50OEFycmF5XSIsRW49IltvYmplY3QgSW50MTZBcnJheV0iLEluPSJbb2JqZWN0IEludDMyQXJyYXldIixObj0iW29iamVjdCBVaW50OEFycmF5XSIsVG49IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIiwkbj0iW29iamVjdCBVaW50MTZBcnJheV0iLENuPSJbb2JqZWN0IFVpbnQzMkFycmF5XSI7ZnVuY3Rpb24gRm4odCxyLGUpe3ZhciBuLG89dC5jb25zdHJ1Y3Rvcjtzd2l0Y2gocil7Y2FzZSBBbjpyZXR1cm4gcG4odCk7Y2FzZSBobjpjYXNlIGRuOnJldHVybiBuZXcgbygrdCk7Y2FzZSB4bjpyZXR1cm4gZnVuY3Rpb24odCxyKXt2YXIgZT1yP3BuKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3IoZSx0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKX0odCxlKTtjYXNlIFNuOmNhc2UgUG46Y2FzZSB6bjpjYXNlIEVuOmNhc2UgSW46Y2FzZSBObjpjYXNlIFRuOmNhc2UgJG46Y2FzZSBDbjpyZXR1cm4gZnVuY3Rpb24odCxyKXt2YXIgZT1yP3BuKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3IoZSx0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfSh0LGUpO2Nhc2Ugam46cmV0dXJuIG5ldyBvO2Nhc2UgZ246Y2FzZSB3bjpyZXR1cm4gbmV3IG8odCk7Y2FzZSBfbjpyZXR1cm4gZnVuY3Rpb24odCl7dmFyIHI9bmV3IHQuY29uc3RydWN0b3IodC5zb3VyY2Usdm4uZXhlYyh0KSk7cmV0dXJuIHIubGFzdEluZGV4PXQubGFzdEluZGV4LHJ9KHQpO2Nhc2UgT246cmV0dXJuIG5ldyBvO2Nhc2UgbW46cmV0dXJuIG49dCx5bj9PYmplY3QoeW4uY2FsbChuKSk6e319fXZhciBNbj1PYmplY3QuY3JlYXRlLFVuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24ocil7aWYoIV8ocikpcmV0dXJue307aWYoTW4pcmV0dXJuIE1uKHIpO3QucHJvdG90eXBlPXI7dmFyIGU9bmV3IHQ7cmV0dXJuIHQucHJvdG90eXBlPXZvaWQgMCxlfX0oKSxrbj1Vbjt2YXIgQm49d3ImJndyLmlzTWFwLERuPUJuP2pyKEJuKTpmdW5jdGlvbih0KXtyZXR1cm4gYih0KSYmIltvYmplY3QgTWFwXSI9PVpyKHQpfTt2YXIgUm49d3ImJndyLmlzU2V0LExuPVJuP2pyKFJuKTpmdW5jdGlvbih0KXtyZXR1cm4gYih0KSYmIltvYmplY3QgU2V0XSI9PVpyKHQpfSxWbj0xLEtuPTIsV249NCxxbj0iW29iamVjdCBBcmd1bWVudHNdIixHbj0iW29iamVjdCBGdW5jdGlvbl0iLEhuPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsSm49IltvYmplY3QgT2JqZWN0XSIsUW49e307ZnVuY3Rpb24gWG4ocixlLG4sbyx1LGkpe3ZhciBjLGE9ZSZWbixmPWUmS24sbD1lJlduO2lmKG4mJihjPXU/bihyLG8sdSxpKTpuKHIpKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKCFfKHIpKXJldHVybiByO3ZhciBzPXQocik7aWYocyl7aWYoYz1mdW5jdGlvbih0KXt2YXIgcj10Lmxlbmd0aCxlPW5ldyB0LmNvbnN0cnVjdG9yKHIpO3JldHVybiByJiYic3RyaW5nIj09dHlwZW9mIHRbMF0mJnNuLmNhbGwodCwiaW5kZXgiKSYmKGUuaW5kZXg9dC5pbmRleCxlLmlucHV0PXQuaW5wdXQpLGV9KHIpLCFhKXJldHVybiBmdW5jdGlvbih0LHIpe3ZhciBlPS0xLG49dC5sZW5ndGg7Zm9yKHJ8fChyPUFycmF5KG4pKTsrK2U8bjspcltlXT10W2VdO3JldHVybiByfShyLGMpfWVsc2V7dmFyIHA9WnIociksdj1wPT1Hbnx8cD09SG47aWYoc3IocikpcmV0dXJuIGZ1bmN0aW9uKHQscil7aWYocilyZXR1cm4gdC5zbGljZSgpO3ZhciBlPXQubGVuZ3RoLG49dW4/dW4oZSk6bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIHQuY29weShuKSxufShyLGEpO2lmKHA9PUpufHxwPT1xbnx8diYmIXUpe2lmKGM9Znx8dj97fTpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdC5jb25zdHJ1Y3Rvcnx8enIodCk/e306a24oY24odCkpfShyKSwhYSlyZXR1cm4gZj9mdW5jdGlvbih0LHIpe3JldHVybiBZZSh0LGZuKHQpLHIpfShyLGZ1bmN0aW9uKHQscil7cmV0dXJuIHQmJlllKHIscm4ociksdCl9KGMscikpOmZ1bmN0aW9uKHQscil7cmV0dXJuIFllKHQsZXIodCkscil9KHIsZnVuY3Rpb24odCxyKXtyZXR1cm4gdCYmWWUocixDcihyKSx0KX0oYyxyKSl9ZWxzZXtpZighUW5bcF0pcmV0dXJuIHU/cjp7fTtjPUZuKHIscCxhKX19aXx8KGk9bmV3IHh0KTt2YXIgYj1pLmdldChyKTtpZihiKXJldHVybiBiO2kuc2V0KHIsYyksTG4ocik/ci5mb3JFYWNoKChmdW5jdGlvbih0KXtjLmFkZChYbih0LGUsbix0LHIsaSkpfSkpOkRuKHIpJiZyLmZvckVhY2goKGZ1bmN0aW9uKHQsbyl7Yy5zZXQobyxYbih0LGUsbixvLHIsaSkpfSkpO3ZhciB5PXM/dm9pZCAwOihsP2Y/bG46RnI6Zj9ybjpDcikocik7cmV0dXJuIHFlKHl8fHIsKGZ1bmN0aW9uKHQsbyl7eSYmKHQ9cltvPXRdKSxYZShjLG8sWG4odCxlLG4sbyxyLGkpKX0pKSxjfVFuW3FuXT1RblsiW29iamVjdCBBcnJheV0iXT1RblsiW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1RblsiW29iamVjdCBEYXRhVmlld10iXT1RblsiW29iamVjdCBCb29sZWFuXSJdPVFuWyJbb2JqZWN0IERhdGVdIl09UW5bIltvYmplY3QgRmxvYXQzMkFycmF5XSJdPVFuWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1RblsiW29iamVjdCBJbnQ4QXJyYXldIl09UW5bIltvYmplY3QgSW50MTZBcnJheV0iXT1RblsiW29iamVjdCBJbnQzMkFycmF5XSJdPVFuWyJbb2JqZWN0IE1hcF0iXT1RblsiW29iamVjdCBOdW1iZXJdIl09UW5bSm5dPVFuWyJbb2JqZWN0IFJlZ0V4cF0iXT1RblsiW29iamVjdCBTZXRdIl09UW5bIltvYmplY3QgU3RyaW5nXSJdPVFuWyJbb2JqZWN0IFN5bWJvbF0iXT1RblsiW29iamVjdCBVaW50OEFycmF5XSJdPVFuWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPVFuWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPVFuWyJbb2JqZWN0IFVpbnQzMkFycmF5XSJdPSEwLFFuWyJbb2JqZWN0IEVycm9yXSJdPVFuW0duXT1RblsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBZbj0xLFpuPTQ7ZnVuY3Rpb24gdG8odCl7cmV0dXJuIFhuKHQsWW58Wm4pfWZ1bmN0aW9uIHJvKHQpe2xldCByPSExO2lmKGh0KHQpKXI9IWlzTmFOKE51bWJlcih0KSk7ZWxzZSBpZihmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBOdW1iZXJdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCkpe2lmKF90KHQpKXJldHVybiExO3I9ITB9cmV0dXJuIHJ9ZnVuY3Rpb24gZW8odCl7aWYoIWh0KHQpJiYhcm8odCkmJiFoKHQpKXJldHVybiIiO2xldCByPSIiO3RyeXtyPVN0cmluZyh0KX1jYXRjaCh0KXt9dHJ5e3I9dC50b1N0cmluZygpfWNhdGNoKHQpe31yZXR1cm4gcn12YXIgbm89TWF0aC5jZWlsLG9vPU1hdGgubWF4O3ZhciB1bz0vXHMvO3ZhciBpbz0vXlxzKy87ZnVuY3Rpb24gY28odCl7cmV0dXJuIHQ/dC5zbGljZSgwLGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aDtyLS0mJnVvLnRlc3QodC5jaGFyQXQocikpOyk7cmV0dXJuIHJ9KHQpKzEpLnJlcGxhY2UoaW8sIiIpOnR9dmFyIGFvPU5hTixmbz0vXlstK10weFswLTlhLWZdKyQvaSxsbz0vXjBiWzAxXSskL2ksc289L14wb1swLTddKyQvaSxwbz1wYXJzZUludDt2YXIgdm89MS8wLGJvPTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MjtmdW5jdGlvbiB5byh0KXtyZXR1cm4gdD8odD1mdW5jdGlvbih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoaCh0KSlyZXR1cm4gYW87aWYoXyh0KSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9XyhyKT9yKyIiOnJ9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9Y28odCk7dmFyIGU9bG8udGVzdCh0KTtyZXR1cm4gZXx8c28udGVzdCh0KT9wbyh0LnNsaWNlKDIpLGU/Mjo4KTpmby50ZXN0KHQpP2FvOit0fSh0KSk9PT12b3x8dD09PS12bz8odDwwPy0xOjEpKmJvOnQ9PXQ/dDowOjA9PT10P3Q6MH12YXIgaG89ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHIsZSxuKXtyZXR1cm4gbiYmIm51bWJlciIhPXR5cGVvZiBuJiZmdW5jdGlvbih0LHIsZSl7aWYoIV8oZSkpcmV0dXJuITE7dmFyIG49dHlwZW9mIHI7cmV0dXJuISEoIm51bWJlciI9PW4/JHIoZSkmJmJyKHIsZS5sZW5ndGgpOiJzdHJpbmciPT1uJiZyIGluIGUpJiZWKGVbcl0sdCl9KHIsZSxuKSYmKGU9bj12b2lkIDApLHI9eW8ociksdm9pZCAwPT09ZT8oZT1yLHI9MCk6ZT15byhlKSxmdW5jdGlvbih0LHIsZSxuKXtmb3IodmFyIG89LTEsdT1vbyhubygoci10KS8oZXx8MSkpLDApLGk9QXJyYXkodSk7dS0tOylpW24/dTorK29dPXQsdCs9ZTtyZXR1cm4gaX0ocixlLG49dm9pZCAwPT09bj9yPGU/MTotMTp5byhuKSx0KX19KCksam89aG87ZnVuY3Rpb24gZ28odCxyPW51bGwsZT17fSl7eChyKXx8KHI9dD0+dCk7bGV0IG49YnQoZSwiZm9yY2UiLCExKTtyZXR1cm4gQXQobil8fChuPSExKSxmdW5jdGlvbih0LHIsZT0hMSl7bGV0IG49W107aWYoIWd0KHQpJiYhZHQodCkpcmV0dXJuIHIodCxudWxsLFtdKTtmdW5jdGlvbiBvKHQpe2lmKGd0KHQpKXJldHVybiBqbyhLZSh0KSk7aWYoZHQodCkpe2xldCByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLG49bnVsbDtyZXR1cm4gZSYmKG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KSksZ3Qocil8fChyPVtdKSxndChuKXx8KG49W10pLFsuLi5yLC4uLm5dfXJldHVybiB0fXJldHVybiBmdW5jdGlvbiB0KGUsdSl7aWYoZ3QoZSkpcmV0dXJuIG8oZSkubWFwKChvPT57bGV0IHU9ZVtvXSxpPXRvKG4pO3JldHVybiBuLnB1c2gobyksdT1yKHUsbyxpKSx1PXQodSksbi5wb3AoKSx1fSkpO2lmKGR0KGUpKXtsZXQgdT1vKGUpLGk9e307cmV0dXJuIHUubWFwKChvPT57bGV0IHU9ZVtvXSxjPXRvKG4pO24ucHVzaChvKSx1PXIodSxvLGMpLHU9dCh1KSxuLnBvcCgpLGlbb109dX0pKSxpfXJldHVybiBlfSh0KX0odCxyLG4pfWZ1bmN0aW9uIF9vKHIsZT17fSl7aWYoIWp0KHIpJiYhd3QocikpcmV0dXJuW107bGV0IG49YnQoZSwiYmluZEtleSIsbnVsbCk7aHQobil8fChuPSJpZCIpO2xldCBvPWJ0KGUsImJpbmRQYXJlbnQiLG51bGwpO2h0KG8pfHwobz0icGFyZW50SWQiKTtsZXQgdT1idChlLCJiaW5kQmVsb25nIixudWxsKTtodCh1KXx8KHU9ImtleSIpO2xldCBpPWJ0KGUsImJpbmRUZXh0IixudWxsKTtodChpKXx8KGk9InRleHQiKTtsZXQgYz1idChlLCJiaW5kVHlwZSIsbnVsbCk7aHQoYyl8fChjPSJ0eXBlIik7bGV0IGE9YnQoZSwiYmluZE51bU9mQ2hpbHJlbiIsbnVsbCk7ZnVuY3Rpb24gZihyLGUpe3ZhciBuLG87dmFyIHUsaTtyZXR1cm4gcj10byhyKSxvPXQ9PmgodCk/ZW8odCk6dCxyPSh0KG49cik/dXQ6QWUpKG4sZ2UobykpLGgoZSkmJihlPWVvKGUpKSwoaHQoZSl8fHJvKGUpKSYmci5wdXNoKGUpLGk9Ii0iLG51bGw9PSh1PXIpPyIiOnhlLmNhbGwodSxpKX1odChhKXx8KGE9Im51bU9mQ2hpbHJlbiIpO2xldCBsPVtdO3JldHVybiBnbyhyLCgodCxyLGUpPT57bGV0IHM9ZihlLHIpLHA9ZihlLG51bGwpLHk9Im5vZGUiO2R0KHQpP3k9Im9iamVjdCI6Z3QodCkmJih5PSJhcnJheSIpO2xldCBoPXtbbl06cyxbb106cCxbY106eX07aWYoKGh0KHIpfHxmdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR8fGIodCkmJnYodCk9PVdlfShyKSkmJihoW3VdPXIpLGR0KHQpfHxndCh0KXx8KGhbaV09dCksZHQodCl8fGd0KHQpKXtsZXQgcj1udWxsO2R0KHQpP3I9S2UoQ3IodCkpOmd0KHQpJiYocj1LZSh0KSksaFthXT1yfXJldHVybiBsLnB1c2goaCksdH0pLHtmb3JjZTohMH0pLGx9ZnVuY3Rpb24gT28ocixlKXt2YXIgbjtyZXR1cm4odChyKT9xZTptZSkociwiZnVuY3Rpb24iPT10eXBlb2Yobj1lKT9uOmhlKX1mdW5jdGlvbiB3byh0LHIsZSl7cmV0dXJuIG51bGw9PXQ/dDpmdW5jdGlvbih0LHIsZSxuKXtpZighXyh0KSlyZXR1cm4gdDtmb3IodmFyIG89LTEsdT0ocj1sdChyLHQpKS5sZW5ndGgsaT11LTEsYz10O251bGwhPWMmJisrbzx1Oyl7dmFyIGE9cHQocltvXSksZj1lO2lmKCJfX3Byb3RvX18iPT09YXx8ImNvbnN0cnVjdG9yIj09PWF8fCJwcm90b3R5cGUiPT09YSlyZXR1cm4gdDtpZihvIT1pKXt2YXIgbD1jW2FdO3ZvaWQgMD09PShmPW4/bihsLGEsYyk6dm9pZCAwKSYmKGY9XyhsKT9sOmJyKHJbbysxXSk/W106e30pfVhlKGMsYSxmKSxjPWNbYV19cmV0dXJuIHR9KHQscixlKX1mdW5jdGlvbiBtbyh0LHIpe3JldHVybiByLmxlbmd0aDwyP3Q6dnQodCxmdW5jdGlvbih0LHIsZSl7dmFyIG49LTEsbz10Lmxlbmd0aDtyPDAmJihyPS1yPm8/MDpvK3IpLChlPWU+bz9vOmUpPDAmJihlKz1vKSxvPXI+ZT8wOmUtcj4+PjAscj4+Pj0wO2Zvcih2YXIgdT1BcnJheShvKTsrK248bzspdVtuXT10W24rcl07cmV0dXJuIHV9KHIsMCwtMSkpfXZhciBBbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIHhvKHQscil7dmFyIGU9LTEsbj0ocj1sdChyLHQpKS5sZW5ndGg7aWYoIW4pcmV0dXJuITA7Zm9yKHZhciBvPW51bGw9PXR8fCJvYmplY3QiIT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQ7KytlPG47KXt2YXIgdT1yW2VdO2lmKCJzdHJpbmciPT10eXBlb2YgdSl7aWYoIl9fcHJvdG9fXyI9PT11JiYhQW8uY2FsbCh0LCJfX3Byb3RvX18iKSlyZXR1cm4hMTtpZigiY29uc3RydWN0b3IiPT09dSYmZSsxPG4mJiJzdHJpbmciPT10eXBlb2YgcltlKzFdJiYicHJvdG90eXBlIj09PXJbZSsxXSl7aWYobyYmMD09PWUpY29udGludWU7cmV0dXJuITF9fX12YXIgaT1tbyh0LHIpO3JldHVybiBudWxsPT1pfHxkZWxldGUgaVtwdChmdW5jdGlvbih0KXt2YXIgcj1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIHI/dFtyLTFdOnZvaWQgMH0ocikpXX12YXIgU289IltvYmplY3QgT2JqZWN0XSIsUG89RnVuY3Rpb24ucHJvdG90eXBlLHpvPU9iamVjdC5wcm90b3R5cGUsRW89UG8udG9TdHJpbmcsSW89em8uaGFzT3duUHJvcGVydHksTm89RW8uY2FsbChPYmplY3QpO2Z1bmN0aW9uIFRvKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZighYih0KXx8dih0KSE9U28pcmV0dXJuITE7dmFyIHI9Y24odCk7aWYobnVsbD09PXIpcmV0dXJuITA7dmFyIGU9SW8uY2FsbChyLCJjb25zdHJ1Y3RvciIpJiZyLmNvbnN0cnVjdG9yO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlIGluc3RhbmNlb2YgZSYmRW8uY2FsbChlKT09Tm99KHQpP3ZvaWQgMDp0fXZhciAkbz1vP28uaXNDb25jYXRTcHJlYWRhYmxlOnZvaWQgMDtmdW5jdGlvbiBDbyhyKXtyZXR1cm4gdChyKXx8Y3Iocil8fCEhKCRvJiZyJiZyWyRvXSl9ZnVuY3Rpb24gRm8odCxyLGUsbixvKXt2YXIgdT0tMSxpPXQubGVuZ3RoO2ZvcihlfHwoZT1Dbyksb3x8KG89W10pOysrdTxpOyl7dmFyIGM9dFt1XTtyPjAmJmUoYyk/cj4xP0ZvKGMsci0xLGUsbixvKTpRdChvLGMpOm58fChvW28ubGVuZ3RoXT1jKX1yZXR1cm4gb31mdW5jdGlvbiBNbyh0KXtyZXR1cm4obnVsbD09dD8wOnQubGVuZ3RoKT9Gbyh0LDEpOltdfXZhciBVbz1NYXRoLm1heDt2YXIga289SGU/ZnVuY3Rpb24odCxyKXtyZXR1cm4gSGUodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooZT1yLGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSx3cml0YWJsZTohMH0pO3ZhciBlfTpoZSxCbz1rbyxEbz1EYXRlLm5vdzt2YXIgUm89ZnVuY3Rpb24odCl7dmFyIHI9MCxlPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49RG8oKSxvPTE2LShuLWUpO2lmKGU9bixvPjApe2lmKCsrcj49ODAwKXJldHVybiBhcmd1bWVudHNbMF19ZWxzZSByPTA7cmV0dXJuIHQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fShCbyksTG89Um87dmFyIFZvPWZ1bmN0aW9uKHQpe3JldHVybiBMbyhmdW5jdGlvbih0LHIsZSl7cmV0dXJuIHI9VW8odm9pZCAwPT09cj90Lmxlbmd0aC0xOnIsMCksZnVuY3Rpb24oKXtmb3IodmFyIG49YXJndW1lbnRzLG89LTEsdT1VbyhuLmxlbmd0aC1yLDApLGk9QXJyYXkodSk7KytvPHU7KWlbb109bltyK29dO289LTE7Zm9yKHZhciBjPUFycmF5KHIrMSk7KytvPHI7KWNbb109bltvXTtyZXR1cm4gY1tyXT1lKGkpLGZ1bmN0aW9uKHQscixlKXtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gdC5jYWxsKHIpO2Nhc2UgMTpyZXR1cm4gdC5jYWxsKHIsZVswXSk7Y2FzZSAyOnJldHVybiB0LmNhbGwocixlWzBdLGVbMV0pO2Nhc2UgMzpyZXR1cm4gdC5jYWxsKHIsZVswXSxlWzFdLGVbMl0pfXJldHVybiB0LmFwcGx5KHIsZSl9KHQsdGhpcyxjKX19KHQsdm9pZCAwLE1vKSx0KyIiKX0oKGZ1bmN0aW9uKHQscil7dmFyIGU9e307aWYobnVsbD09dClyZXR1cm4gZTt2YXIgbj0hMTtyPXV0KHIsKGZ1bmN0aW9uKHIpe3JldHVybiByPWx0KHIsdCksbnx8KG49ci5sZW5ndGg+MSkscn0pKSxZZSh0LGxuKHQpLGUpLG4mJihlPVhuKGUsNyxUbykpO2Zvcih2YXIgbz1yLmxlbmd0aDtvLS07KXhvKGUscltvXSk7cmV0dXJuIGV9KSksS289Vm87ZnVuY3Rpb24gV28odCxyPXt9KXtsZXQgZT0iJGxldmVsIixuPSIkcGFyZW50cyI7aWYoIXd0KHQpKXJldHVybltdO2xldCBvPWJ0KHIsImJpbmRLZXkiLG51bGwpO2h0KG8pfHwobz0iaWQiKTtsZXQgdT1idChyLCJiaW5kUGFyZW50IixudWxsKTtodCh1KXx8KHU9InBhcmVudElkIik7bGV0IGk9YnQociwiYmluZENoaWxkcmVuIixudWxsKTtodChpKXx8KGk9ImNoaWxkcmVuIik7bGV0IGM9YnQociwic2F2ZUV4dFByb3BzIixudWxsKTtBdChjKXx8KGM9ITEpLHQ9ZnVuY3Rpb24odCl7bGV0IHI9W107ZnVuY3Rpb24gaShpKXtsZXQgYz1bXTtPbyh0LCgodCxhKT0+e2xldCBmPWJ0KHQsdSksbD1idChpLG8pO2lmKGYmJmwmJmY9PT1sKXtsZXQgdT1idChpLG4sW10pO3U9dG8odSksdS5wdXNoKGlbb10pLHIucHVzaCh7W2VdOmlbZV0rMSxbbl06dSwuLi50fSl9ZWxzZSBjLnB1c2godCl9KSksdD1jfWlmKHQ9dG8odCksZnVuY3Rpb24oKXtsZXQgbz1bXTtPbyh0LCgodCxpKT0+e090KHRbdV0pP3IucHVzaCh7W2VdOjAsW25dOltdLC4uLnR9KTpvLnB1c2godCl9KSksdD1vfSgpLDA9PT1yLmxlbmd0aClyZXR1cm4gcjtsZXQgYz0tMTtmb3IoO2MrPTEsIShjPnIubGVuZ3RoLTEpOyl7aWYoaShyW2NdKSwwPT09dC5sZW5ndGgpYnJlYWt9cmV0dXJuIHJ9KHQpO2xldCBhPWZ1bmN0aW9uKHQpe2xldCByPVtdO2Z1bmN0aW9uIGEodCl7cmV0dXJuIGM/dDpLbyh0LFtlLG5dKX1sZXQgZj17fTtyZXR1cm4gT28odCwoKG4sYyk9PntpZigwPT09bltlXSl7bGV0IHQ9YShuKTtyLnB1c2godCksZltuW29dXT1bY119ZWxzZXtsZXQgZT1mdW5jdGlvbihyKXtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7bGV0IG49dFtlXTtpZihyW3VdPT09bltvXSlyZXR1cm4gbn1yZXR1cm4gbnVsbH0obik7aWYobnVsbCE9PWUpe2xldCB0PWZbZVtvXV07dD1bLi4udCxpXTtsZXQgdT1idChyLHQsW10pLGM9YShuKTt1LnB1c2goYyksZltuW29dXT1bLi4udCx1Lmxlbmd0aC0xXSx3byhyLHQsdSl9ZWxzZSBjb25zb2xlLmxvZyhgY2FuIG5vdCBmaW5kIHBhcmVudCBmb3IgJHtidChuLHUpfWApfX0pKSxyfSh0KTtyZXR1cm4gYX1sZXQgY29udmVydFRvVHJlZVdrPWFzeW5jIGZ1bmN0aW9uKHQscj17fSl7cmV0dXJuIGZ1bmN0aW9uKHQscj17fSl7aWYoIWp0KHQpJiYhd3QodCkpcmV0dXJuW107bGV0IGU9YnQociwiYmluZEtleSIsbnVsbCk7aHQoZSl8fChlPSJpZCIpO2xldCBuPWJ0KHIsImJpbmRQYXJlbnQiLG51bGwpO2h0KG4pfHwobj0icGFyZW50SWQiKTtsZXQgbz1idChyLCJiaW5kVGV4dCIsbnVsbCk7aHQobyl8fChvPSJ0ZXh0Iik7bGV0IHU9YnQociwiYmluZENoaWxkcmVuIixudWxsKTtodCh1KXx8KHU9ImNoaWxkcmVuIik7bGV0IGk9YnQociwiYmluZFR5cGUiLG51bGwpO2h0KGkpfHwoaT0idHlwZSIpO2xldCBjPWJ0KHIsImJpbmROdW1PZkNoaWxyZW4iLG51bGwpO2h0KGMpfHwoYz0ibnVtT2ZDaGlscmVuIik7bGV0IGE9YnQociwiYmluZFJvb3QiLG51bGwpO2h0KGEpfHwoYT0icm9vdCIpO2xldCBmPWJ0KHIsInNhdmVFeHRQcm9wcyIsbnVsbCk7cmV0dXJuIEF0KGYpfHwoZj0hMSksaHQoYSkmJih0PXtbYV06dH0pLFdvKF9vKHQse2JpbmRLZXk6ZSxiaW5kUGFyZW50Om4sYmluZFRleHQ6byxiaW5kVHlwZTppLGJpbmROdW1PZkNoaWxyZW46Y30pLHtiaW5kS2V5OmUsYmluZFBhcmVudDpuLGJpbmRDaGlsZHJlbjp1LHNhdmVFeHRQcm9wczpmfSl9KHQscil9OwoKCmxldCBpbnN0YW5jZSA9IG51bGwKZnVuY3Rpb24gaW5pdChpbnB1dCl7CgogICAgLy9pbml0CiAgICBsZXQgcgogICAgCiAgICAgICAgciA9IHsKICAgICAgICAgICAgbWFpbjogY29udmVydFRvVHJlZVdrCiAgICAgICAgfQogICAgICAgIAoKICAgIC8vb24KICAgIAoKICAgIC8vc2F2ZQogICAgaW5zdGFuY2UgPSByCgp9CgpmdW5jdGlvbiBzZW5kTWVzc2FnZShkYXRhKSB7CiAgICAKICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKGRhdGEpCiAgICAgICAgCn0KCmFzeW5jIGZ1bmN0aW9uIHJ1bihkYXRhKSB7CiAgICAvLyBjb25zb2xlLmxvZygnaW5uZXIgd29ya2VyIHJ1bicsZGF0YSkKCiAgICAvL21vZGUKICAgIGxldCBtb2RlID0gZGF0YS5tb2RlCgogICAgLy9jaGVjawogICAgaWYobW9kZSAhPT0gJ2luaXQnICYmIG1vZGUgIT09ICdjYWxsJyl7CiAgICAgICAgcmV0dXJuCiAgICB9CgogICAgLy9pbml0CiAgICBpZihtb2RlID09PSAnaW5pdCcpewogICAgICAgIAogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vdHlwZQogICAgICAgICAgICBsZXQgdHlwZSA9IGRhdGEudHlwZQoKICAgICAgICAgICAgLy9pbnB1dAogICAgICAgICAgICBsZXQgaW5wdXQgPSBkYXRhLmlucHV0CiAgICAKICAgICAgICAgICAgLy9pbnN0YW5jZQogICAgICAgICAgICBpZih0eXBlID09PSAnZnVuY3Rpb24nKXsKICAgICAgICAgICAgICAgIGluaXQoLi4uaW5wdXQpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZih0eXBlID09PSAnb2JqZWN0Jyl7CiAgICAgICAgICAgICAgICBpbnN0YW5jZSA9IGNvbnZlcnRUb1RyZWVXawogICAgICAgICAgICB9CgogICAgICAgIH0KICAgICAgICBjYXRjaChlcnIpewogICAgICAgIAogICAgICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgICAgICBtb2RlOiAnZW1pdCcsCiAgICAgICAgICAgICAgICBldk5hbWU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICBtc2c6IGVyciwKICAgICAgICAgICAgfQogICAgICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgICAgIH0KICAgICAgICAgICAgCiAgICB9CgogICAgLy9jaGVjawogICAgaWYobW9kZSA9PT0gJ2NhbGwnKXsKICAgICAgICBsZXQgc3RhdGUgPSAnJwogICAgICAgIGxldCBtc2cgPSBudWxsCgogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vZnVuCiAgICAgICAgICAgIGxldCBmdW4gPSBpbnN0YW5jZVtkYXRhLmZ1bl0KCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAoKICAgICAgICAgICAgLy9leGVjCiAgICAgICAgICAgIGF3YWl0IGZ1biguLi5pbnB1dCkKICAgICAgICAgICAgICAgIC50aGVuKChzdWMpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nc3VjY2VzcycKICAgICAgICAgICAgICAgICAgICBtc2c9c3VjCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nZXJyb3InCiAgICAgICAgICAgICAgICAgICAgbXNnPWVycgogICAgICAgICAgICAgICAgfSkKCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgICAgIHN0YXRlID0gJ2Vycm9yJwogICAgICAgICAgICBtc2cgPSBlcnIKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy9zZW5kTWVzc2FnZQogICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgIG1vZGU6ICdyZXR1cm4nLAogICAgICAgICAgICBpZDogZGF0YS5pZCwKICAgICAgICAgICAgZnVuOiBkYXRhLmZ1biwKICAgICAgICAgICAgc3RhdGUsCiAgICAgICAgICAgIG1zZywKICAgICAgICB9CiAgICAgICAgc2VuZE1lc3NhZ2UocmVzKQoKICAgIH0KCn0KCmZ1bmN0aW9uIHJlY3ZNZXNzYWdlKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcmVjdjonLCBkYXRhKQoKICAgIC8vZGF0YVJlY3YKICAgIGxldCBkYXRhUmVjdiA9IGRhdGEKCiAgICAvL3J1bgogICAgcnVuKGRhdGFSZWN2KQoKfQoKCiAgICAgICAgc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICByZWN2TWVzc2FnZShlLmRhdGEpCiAgICAgICAgfQogICAgICAgIAoKdHJ5ewogICAgcHJvY2Vzcy5vbigndW5oYW5kbGVkUmVqZWN0aW9uJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmhhbmRsZWRSZWplY3Rpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuY2F1Z2h0RXhjZXB0aW9uJywgZXJyKQogICAgfSkKICAgIHByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvcicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgZXJyKQogICAgfSkKfQpjYXRjaChlcnIpe30KCg==");function l(){let l=new g;let m=function(d){try{let l=new Blob([d]),m=window.URL||window.webkitURL;return new Worker(m.createObjectURL(l))}catch(d){Z(d)}}(d);if(!m)return Z("invalid worker"),null;function I(){let d=function(){let d,l,m=new Promise((function(){d=arguments[0],l=arguments[1]}));return m.resolve=d,m.reject=l,m}(),I=function(){let d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,l=[],m="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),I=m.length;for(let Z=0;Z<d;Z++)l[Z]=m[0|Math.random()*I];return l.join("")}(),Z={mode:"call",id:I,fun:"main",input:[...arguments]};return m.postMessage(Z),l.once(I,(l=>{"success"===l.state?d.resolve(l.msg):d.reject(l.msg)})),d}function Z(d){l.emit("error",d)}return m.onmessage=function(d){!function(d){let m=d,I=m.mode;"emit"!==I&&"return"!==I||("emit"===I&&l.emit(m.evName,m.msg),"return"===I&&l.emit(m.id,m))}(d.data)},m.onerror=Z,m.onmessageerror=function(d){Z(d.data)},function(){let d={mode:"init",type:"function",input:[...arguments]};m.postMessage(d)}([...arguments]),l.main=I,l.main=I,l.terminate=function(){m?(m.terminate(),m=void 0):Z("worker has been terminated")},l}n=async function(){let d=[...arguments],m=l();return await m.main(...d).finally((()=>{m.terminate()}))}}();try{process.on("unhandledRejection",(d=>{console.log("outer:unhandledRejection",d)})),process.on("uncaughtException",(d=>{console.log("outer:uncaughtException",d)})),process.on("uncaughtExceptionMonitor",(d=>{console.log("outer:uncaughtExceptionMonitor",d)}))}catch(d){}var t=n;export{t as default};
1
+ const d="function"==typeof Buffer,l="function"==typeof TextDecoder?new TextDecoder:void 0,m=("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")),I=(d=>{let l={};return m.forEach(((d,m)=>l[d]=m)),l})(),Z=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,b=String.fromCharCode.bind(String),i="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):d=>new Uint8Array(Array.prototype.slice.call(d,0)),c=d=>d.replace(/[^A-Za-z0-9\+\/]/g,""),X=d=>{let l,I,Z,b,i="";const c=d.length%3;for(let c=0;c<d.length;){if((I=d.charCodeAt(c++))>255||(Z=d.charCodeAt(c++))>255||(b=d.charCodeAt(c++))>255)throw new TypeError("invalid character found");l=I<<16|Z<<8|b,i+=m[l>>18&63]+m[l>>12&63]+m[l>>6&63]+m[63&l]}return c?i.slice(0,c-3)+"===".substring(c):i},y=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,C=d=>{switch(d.length){case 4:var l=((7&d.charCodeAt(0))<<18|(63&d.charCodeAt(1))<<12|(63&d.charCodeAt(2))<<6|63&d.charCodeAt(3))-65536;return b(55296+(l>>>10))+b(56320+(1023&l));case 3:return b((15&d.charCodeAt(0))<<12|(63&d.charCodeAt(1))<<6|63&d.charCodeAt(2));default:return b((31&d.charCodeAt(0))<<6|63&d.charCodeAt(1))}},W=d=>d.replace(y,C),G=d=>{if(d=d.replace(/\s+/g,""),!Z.test(d))throw new TypeError("malformed base64.");let l,m,i;d+="==".slice(2-(3&d.length));let c=[];for(let Z=0;Z<d.length;)l=I[d.charAt(Z++)]<<18|I[d.charAt(Z++)]<<12|(m=I[d.charAt(Z++)])<<6|(i=I[d.charAt(Z++)]),64===m?c.push(b(l>>16&255)):64===i?c.push(b(l>>16&255,l>>8&255)):c.push(b(l>>16&255,l>>8&255,255&l));return c.join("")},p="function"==typeof atob?d=>atob(c(d)):d?d=>Buffer.from(d,"base64").toString("binary"):G,K=d?d=>i(Buffer.from(d,"base64")):d=>i(p(d).split("").map((d=>d.charCodeAt(0)))),V=d?d=>Buffer.from(d,"base64").toString("utf8"):l?d=>l.decode(K(d)):d=>W(p(d)),h=d=>c(d.replace(/[-_]/g,(d=>"-"==d?"+":"/"))),o=d=>V(h(d)),u=o;var Y={};!function(d){var l=Object.prototype.hasOwnProperty,m="~";function I(){}function Z(d,l,m){this.fn=d,this.context=l,this.once=m||!1}function b(d,l,I,b,i){if("function"!=typeof I)throw new TypeError("The listener must be a function");var c=new Z(I,b||d,i),X=m?m+l:l;return d._events[X]?d._events[X].fn?d._events[X]=[d._events[X],c]:d._events[X].push(c):(d._events[X]=c,d._eventsCount++),d}function i(d,l){0==--d._eventsCount?d._events=new I:delete d._events[l]}function c(){this._events=new I,this._eventsCount=0}Object.create&&(I.prototype=Object.create(null),(new I).__proto__||(m=!1)),c.prototype.eventNames=function(){var d,I,Z=[];if(0===this._eventsCount)return Z;for(I in d=this._events)l.call(d,I)&&Z.push(m?I.slice(1):I);return Object.getOwnPropertySymbols?Z.concat(Object.getOwnPropertySymbols(d)):Z},c.prototype.listeners=function(d){var l=m?m+d:d,I=this._events[l];if(!I)return[];if(I.fn)return[I.fn];for(var Z=0,b=I.length,i=new Array(b);Z<b;Z++)i[Z]=I[Z].fn;return i},c.prototype.listenerCount=function(d){var l=m?m+d:d,I=this._events[l];return I?I.fn?1:I.length:0},c.prototype.emit=function(d,l,I,Z,b,i){var c=m?m+d:d;if(!this._events[c])return!1;var X,y,C=this._events[c],W=arguments.length;if(C.fn){switch(C.once&&this.removeListener(d,C.fn,void 0,!0),W){case 1:return C.fn.call(C.context),!0;case 2:return C.fn.call(C.context,l),!0;case 3:return C.fn.call(C.context,l,I),!0;case 4:return C.fn.call(C.context,l,I,Z),!0;case 5:return C.fn.call(C.context,l,I,Z,b),!0;case 6:return C.fn.call(C.context,l,I,Z,b,i),!0}for(y=1,X=new Array(W-1);y<W;y++)X[y-1]=arguments[y];C.fn.apply(C.context,X)}else{var G,p=C.length;for(y=0;y<p;y++)switch(C[y].once&&this.removeListener(d,C[y].fn,void 0,!0),W){case 1:C[y].fn.call(C[y].context);break;case 2:C[y].fn.call(C[y].context,l);break;case 3:C[y].fn.call(C[y].context,l,I);break;case 4:C[y].fn.call(C[y].context,l,I,Z);break;default:if(!X)for(G=1,X=new Array(W-1);G<W;G++)X[G-1]=arguments[G];C[y].fn.apply(C[y].context,X)}}return!0},c.prototype.on=function(d,l,m){return b(this,d,l,m,!1)},c.prototype.once=function(d,l,m){return b(this,d,l,m,!0)},c.prototype.removeListener=function(d,l,I,Z){var b=m?m+d:d;if(!this._events[b])return this;if(!l)return i(this,b),this;var c=this._events[b];if(c.fn)c.fn!==l||Z&&!c.once||I&&c.context!==I||i(this,b);else{for(var X=0,y=[],C=c.length;X<C;X++)(c[X].fn!==l||Z&&!c[X].once||I&&c[X].context!==I)&&y.push(c[X]);y.length?this._events[b]=1===y.length?y[0]:y:i(this,b)}return this},c.prototype.removeAllListeners=function(d){var l;return d?(l=m?m+d:d,this._events[l]&&i(this,l)):(this._events=new I,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=m,c.EventEmitter=c,d.exports=c}({get exports(){return Y},set exports(d){Y=d}});var g=Y;let n;!function(){if("browser"!==("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let d=u("CgoKInVzZSBzdHJpY3QiO3ZhciB0PUFycmF5LmlzQXJyYXkscj0ib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWwsZT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG49cnx8ZXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxvPW4uU3ltYm9sLHU9T2JqZWN0LnByb3RvdHlwZSxpPXUuaGFzT3duUHJvcGVydHksYz11LnRvU3RyaW5nLGE9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDt2YXIgZj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBsPSJbb2JqZWN0IE51bGxdIixzPSJbb2JqZWN0IFVuZGVmaW5lZF0iLHA9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDtmdW5jdGlvbiB2KHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/czpsOnAmJnAgaW4gT2JqZWN0KHQpP2Z1bmN0aW9uKHQpe3ZhciByPWkuY2FsbCh0LGEpLGU9dFthXTt0cnl7dFthXT12b2lkIDA7dmFyIG49ITB9Y2F0Y2godCl7fXZhciBvPWMuY2FsbCh0KTtyZXR1cm4gbiYmKHI/dFthXT1lOmRlbGV0ZSB0W2FdKSxvfSh0KTpmdW5jdGlvbih0KXtyZXR1cm4gZi5jYWxsKHQpfSh0KX1mdW5jdGlvbiBiKHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9dmFyIHk9IltvYmplY3QgU3ltYm9sXSI7ZnVuY3Rpb24gaCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fGIodCkmJnYodCk9PXl9dmFyIGQ9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8saj0vXlx3KiQvO2Z1bmN0aW9uIGcocixlKXtpZih0KHIpKXJldHVybiExO3ZhciBuPXR5cGVvZiByO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPXImJiFoKHIpKXx8KGoudGVzdChyKXx8IWQudGVzdChyKXx8bnVsbCE9ZSYmciBpbiBPYmplY3QoZSkpfWZ1bmN0aW9uIF8odCl7dmFyIHI9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09cnx8ImZ1bmN0aW9uIj09cil9dmFyIE89IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLHc9IltvYmplY3QgRnVuY3Rpb25dIixtPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsQT0iW29iamVjdCBQcm94eV0iO2Z1bmN0aW9uIHgodCl7aWYoIV8odCkpcmV0dXJuITE7dmFyIHI9dih0KTtyZXR1cm4gcj09d3x8cj09bXx8cj09T3x8cj09QX12YXIgUyxQPW5bIl9fY29yZS1qc19zaGFyZWRfXyJdLHo9KFM9L1teLl0rJC8uZXhlYyhQJiZQLmtleXMmJlAua2V5cy5JRV9QUk9UT3x8IiIpKT8iU3ltYm9sKHNyYylfMS4iK1M6IiI7dmFyIEU9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIEkodCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiBFLmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifXZhciBOPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLFQ9RnVuY3Rpb24ucHJvdG90eXBlLCQ9T2JqZWN0LnByb3RvdHlwZSxDPVQudG9TdHJpbmcsRj0kLmhhc093blByb3BlcnR5LE09UmVnRXhwKCJeIitDLmNhbGwoRikucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7ZnVuY3Rpb24gVSh0KXtyZXR1cm4hKCFfKHQpfHwocj10LHomJnogaW4gcikpJiYoeCh0KT9NOk4pLnRlc3QoSSh0KSk7dmFyIHJ9ZnVuY3Rpb24gayh0LHIpe3ZhciBlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbcl19KHQscik7cmV0dXJuIFUoZSk/ZTp2b2lkIDB9dmFyIEI9ayhPYmplY3QsImNyZWF0ZSIpO3ZhciBEPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIFI9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBMKHQpe3ZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytyPGU7KXt2YXIgbj10W3JdO3RoaXMuc2V0KG5bMF0sblsxXSl9fWZ1bmN0aW9uIFYodCxyKXtyZXR1cm4gdD09PXJ8fHQhPXQmJnIhPXJ9ZnVuY3Rpb24gSyh0LHIpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS07KWlmKFYodFtlXVswXSxyKSlyZXR1cm4gZTtyZXR1cm4tMX1MLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189Qj9CKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxMLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5oYXModCkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW3RdO3JldHVybiB0aGlzLnNpemUtPXI/MTowLHJ9LEwucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKEIpe3ZhciBlPXJbdF07cmV0dXJuIl9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iPT09ZT92b2lkIDA6ZX1yZXR1cm4gRC5jYWxsKHIsdCk/clt0XTp2b2lkIDB9LEwucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiBCP3ZvaWQgMCE9PXJbdF06Ui5jYWxsKHIsdCl9LEwucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLGVbdF09QiYmdm9pZCAwPT09cj8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6cix0aGlzfTt2YXIgVz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2Z1bmN0aW9uIHEodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19cS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVtdLHRoaXMuc2l6ZT0wfSxxLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPUsocix0KTtyZXR1cm4hKGU8MCkmJihlPT1yLmxlbmd0aC0xP3IucG9wKCk6Vy5jYWxsKHIsZSwxKSwtLXRoaXMuc2l6ZSwhMCl9LHEucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fLGU9SyhyLHQpO3JldHVybiBlPDA/dm9pZCAwOnJbZV1bMV19LHEucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gSyh0aGlzLl9fZGF0YV9fLHQpPi0xfSxxLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fLG49SyhlLHQpO3JldHVybiBuPDA/KCsrdGhpcy5zaXplLGUucHVzaChbdCxyXSkpOmVbbl1bMV09cix0aGlzfTt2YXIgRz1rKG4sIk1hcCIpO2Z1bmN0aW9uIEgodCxyKXt2YXIgZSxuLG89dC5fX2RhdGFfXztyZXR1cm4oInN0cmluZyI9PShuPXR5cGVvZihlPXIpKXx8Im51bWJlciI9PW58fCJzeW1ib2wiPT1ufHwiYm9vbGVhbiI9PW4/Il9fcHJvdG9fXyIhPT1lOm51bGw9PT1lKT9vWyJzdHJpbmciPT10eXBlb2Ygcj8ic3RyaW5nIjoiaGFzaCJdOm8ubWFwfWZ1bmN0aW9uIEoodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19Si5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBMLG1hcDpuZXcoR3x8cSksc3RyaW5nOm5ldyBMfX0sSi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPUgodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09cj8xOjAscn0sSi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBIKHRoaXMsdCkuZ2V0KHQpfSxKLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIEgodGhpcyx0KS5oYXModCl9LEoucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPUgodGhpcyx0KSxuPWUuc2l6ZTtyZXR1cm4gZS5zZXQodCxyKSx0aGlzLnNpemUrPWUuc2l6ZT09bj8wOjEsdGhpc307dmFyIFE9IkV4cGVjdGVkIGEgZnVuY3Rpb24iO2Z1bmN0aW9uIFgodCxyKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcihRKTt2YXIgZT1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyxvPXI/ci5hcHBseSh0aGlzLG4pOm5bMF0sdT1lLmNhY2hlO2lmKHUuaGFzKG8pKXJldHVybiB1LmdldChvKTt2YXIgaT10LmFwcGx5KHRoaXMsbik7cmV0dXJuIGUuY2FjaGU9dS5zZXQobyxpKXx8dSxpfTtyZXR1cm4gZS5jYWNoZT1uZXcoWC5DYWNoZXx8SiksZX1YLkNhY2hlPUo7dmFyIFksWix0dCxydD0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZyxldD0vXFwoXFwpPy9nLG50PShZPWZ1bmN0aW9uKHQpe3ZhciByPVtdO3JldHVybiA0Nj09PXQuY2hhckNvZGVBdCgwKSYmci5wdXNoKCIiKSx0LnJlcGxhY2UocnQsKGZ1bmN0aW9uKHQsZSxuLG8pe3IucHVzaChuP28ucmVwbGFjZShldCwiJDEiKTplfHx0KX0pKSxyfSxaPVgoWSwoZnVuY3Rpb24odCl7cmV0dXJuIDUwMD09PXR0LnNpemUmJnR0LmNsZWFyKCksdH0pKSx0dD1aLmNhY2hlLFopLG90PW50O2Z1bmN0aW9uIHV0KHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLG89QXJyYXkobik7KytlPG47KW9bZV09cih0W2VdLGUsdCk7cmV0dXJuIG99dmFyIGl0PTEvMCxjdD1vP28ucHJvdG90eXBlOnZvaWQgMCxhdD1jdD9jdC50b1N0cmluZzp2b2lkIDA7ZnVuY3Rpb24gZnQocil7aWYoInN0cmluZyI9PXR5cGVvZiByKXJldHVybiByO2lmKHQocikpcmV0dXJuIHV0KHIsZnQpKyIiO2lmKGgocikpcmV0dXJuIGF0P2F0LmNhbGwocik6IiI7dmFyIGU9cisiIjtyZXR1cm4iMCI9PWUmJjEvcj09LWl0PyItMCI6ZX1mdW5jdGlvbiBsdChyLGUpe3JldHVybiB0KHIpP3I6ZyhyLGUpP1tyXTpvdChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD8iIjpmdCh0KX0ocikpfXZhciBzdD0xLzA7ZnVuY3Rpb24gcHQodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0fHxoKHQpKXJldHVybiB0O3ZhciByPXQrIiI7cmV0dXJuIjAiPT1yJiYxL3Q9PS1zdD8iLTAiOnJ9ZnVuY3Rpb24gdnQodCxyKXtmb3IodmFyIGU9MCxuPShyPWx0KHIsdCkpLmxlbmd0aDtudWxsIT10JiZlPG47KXQ9dFtwdChyW2UrK10pXTtyZXR1cm4gZSYmZT09bj90OnZvaWQgMH1mdW5jdGlvbiBidCh0LHIsZSl7dmFyIG49bnVsbD09dD92b2lkIDA6dnQodCxyKTtyZXR1cm4gdm9pZCAwPT09bj9lOm59ZnVuY3Rpb24geXQodCl7cmV0dXJuIltvYmplY3QgU3RyaW5nXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gaHQodCl7cmV0dXJuISgheXQodCl8fCIiPT09dCl9ZnVuY3Rpb24gZHQodCl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24ganQodCl7aWYoZHQodCkpe2ZvcihsZXQgciBpbiB0KXJldHVybiEwO3JldHVybiExfXJldHVybiExfWZ1bmN0aW9uIGd0KHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gX3QodCl7cmV0dXJuIHQhPXR9ZnVuY3Rpb24gT3QodCl7cmV0dXJuISFmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBVbmRlZmluZWRdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE51bGxdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWZ1bmN0aW9uKHQpe2lmKGR0KHQpKXtmb3IobGV0IHIgaW4gdClyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4hMX0odCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiEoIXl0KHQpfHwiIiE9PXQpfSh0KXx8KCEhZnVuY3Rpb24odCl7cmV0dXJuISFndCh0KSYmMD09PXQubGVuZ3RofSh0KXx8ISFfdCh0KSkpKSl9ZnVuY3Rpb24gd3QodCl7cmV0dXJuISFndCh0KSYmKDAhPT10Lmxlbmd0aCYmKDEhPT10Lmxlbmd0aHx8IU90KHRbMF0pKSl9dmFyIG10PSJbb2JqZWN0IEJvb2xlYW5dIjtmdW5jdGlvbiBBdCh0KXtyZXR1cm4hMD09PShyPXQpfHwhMT09PXJ8fGIocikmJnYocik9PW10O3ZhciByfWZ1bmN0aW9uIHh0KHQpe3ZhciByPXRoaXMuX19kYXRhX189bmV3IHEodCk7dGhpcy5zaXplPXIuc2l6ZX14dC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW5ldyBxLHRoaXMuc2l6ZT0wfSx4dC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX19kYXRhX18sZT1yLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPXIuc2l6ZSxlfSx4dC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX0seHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LHh0LnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fO2lmKGUgaW5zdGFuY2VvZiBxKXt2YXIgbj1lLl9fZGF0YV9fO2lmKCFHfHxuLmxlbmd0aDwxOTkpcmV0dXJuIG4ucHVzaChbdCxyXSksdGhpcy5zaXplPSsrZS5zaXplLHRoaXM7ZT10aGlzLl9fZGF0YV9fPW5ldyBKKG4pfXJldHVybiBlLnNldCh0LHIpLHRoaXMuc2l6ZT1lLnNpemUsdGhpc307ZnVuY3Rpb24gU3QodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IEo7KytyPGU7KXRoaXMuYWRkKHRbcl0pfWZ1bmN0aW9uIFB0KHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoOysrZTxuOylpZihyKHRbZV0sZSx0KSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiB6dCh0LHIpe3JldHVybiB0LmhhcyhyKX1TdC5wcm90b3R5cGUuYWRkPVN0LnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLnNldCh0LCJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIiksdGhpc30sU3QucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBFdD0xLEl0PTI7ZnVuY3Rpb24gTnQodCxyLGUsbixvLHUpe3ZhciBpPWUmRXQsYz10Lmxlbmd0aCxhPXIubGVuZ3RoO2lmKGMhPWEmJiEoaSYmYT5jKSlyZXR1cm4hMTt2YXIgZj11LmdldCh0KSxsPXUuZ2V0KHIpO2lmKGYmJmwpcmV0dXJuIGY9PXImJmw9PXQ7dmFyIHM9LTEscD0hMCx2PWUmSXQ/bmV3IFN0OnZvaWQgMDtmb3IodS5zZXQodCxyKSx1LnNldChyLHQpOysrczxjOyl7dmFyIGI9dFtzXSx5PXJbc107aWYobil2YXIgaD1pP24oeSxiLHMscix0LHUpOm4oYix5LHMsdCxyLHUpO2lmKHZvaWQgMCE9PWgpe2lmKGgpY29udGludWU7cD0hMTticmVha31pZih2KXtpZighUHQociwoZnVuY3Rpb24odCxyKXtpZighenQodixyKSYmKGI9PT10fHxvKGIsdCxlLG4sdSkpKXJldHVybiB2LnB1c2gocil9KSkpe3A9ITE7YnJlYWt9fWVsc2UgaWYoYiE9PXkmJiFvKGIseSxlLG4sdSkpe3A9ITE7YnJlYWt9fXJldHVybiB1LmRlbGV0ZSh0KSx1LmRlbGV0ZShyKSxwfXZhciBUdD1uLlVpbnQ4QXJyYXk7ZnVuY3Rpb24gJHQodCl7dmFyIHI9LTEsZT1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsbil7ZVsrK3JdPVtuLHRdfSkpLGV9ZnVuY3Rpb24gQ3QodCl7dmFyIHI9LTEsZT1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbKytyXT10fSkpLGV9dmFyIEZ0PTEsTXQ9MixVdD0iW29iamVjdCBCb29sZWFuXSIsa3Q9IltvYmplY3QgRGF0ZV0iLEJ0PSJbb2JqZWN0IEVycm9yXSIsRHQ9IltvYmplY3QgTWFwXSIsUnQ9IltvYmplY3QgTnVtYmVyXSIsTHQ9IltvYmplY3QgUmVnRXhwXSIsVnQ9IltvYmplY3QgU2V0XSIsS3Q9IltvYmplY3QgU3RyaW5nXSIsV3Q9IltvYmplY3QgU3ltYm9sXSIscXQ9IltvYmplY3QgQXJyYXlCdWZmZXJdIixHdD0iW29iamVjdCBEYXRhVmlld10iLEh0PW8/by5wcm90b3R5cGU6dm9pZCAwLEp0PUh0P0h0LnZhbHVlT2Y6dm9pZCAwO2Z1bmN0aW9uIFF0KHQscil7Zm9yKHZhciBlPS0xLG49ci5sZW5ndGgsbz10Lmxlbmd0aDsrK2U8bjspdFtvK2VdPXJbZV07cmV0dXJuIHR9ZnVuY3Rpb24gWHQocixlLG4pe3ZhciBvPWUocik7cmV0dXJuIHQocik/bzpRdChvLG4ocikpfWZ1bmN0aW9uIFl0KCl7cmV0dXJuW119dmFyIFp0PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsdHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxycj10cj9mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9bXToodD1PYmplY3QodCksZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsbz0wLHU9W107KytlPG47KXt2YXIgaT10W2VdO3IoaSxlLHQpJiYodVtvKytdPWkpfXJldHVybiB1fSh0cih0KSwoZnVuY3Rpb24ocil7cmV0dXJuIFp0LmNhbGwodCxyKX0pKSl9Oll0LGVyPXJyO2Z1bmN0aW9uIG5yKHQpe3JldHVybiBiKHQpJiYiW29iamVjdCBBcmd1bWVudHNdIj09dih0KX12YXIgb3I9T2JqZWN0LnByb3RvdHlwZSx1cj1vci5oYXNPd25Qcm9wZXJ0eSxpcj1vci5wcm9wZXJ0eUlzRW51bWVyYWJsZSxjcj1ucihmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpP25yOmZ1bmN0aW9uKHQpe3JldHVybiBiKHQpJiZ1ci5jYWxsKHQsImNhbGxlZSIpJiYhaXIuY2FsbCh0LCJjYWxsZWUiKX07dmFyIGFyPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsZnI9YXImJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxscj1mciYmZnIuZXhwb3J0cz09PWFyP24uQnVmZmVyOnZvaWQgMCxzcj0obHI/bHIuaXNCdWZmZXI6dm9pZCAwKXx8ZnVuY3Rpb24oKXtyZXR1cm4hMX0scHI9OTAwNzE5OTI1NDc0MDk5MSx2cj0vXig/OjB8WzEtOV1cZCopJC87ZnVuY3Rpb24gYnIodCxyKXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hIShyPW51bGw9PXI/cHI6cikmJigibnVtYmVyIj09ZXx8InN5bWJvbCIhPWUmJnZyLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8cn12YXIgeXI9OTAwNzE5OTI1NDc0MDk5MTtmdW5jdGlvbiBocih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJnQ+LTEmJnQlMT09MCYmdDw9eXJ9dmFyIGRyPXt9O2Z1bmN0aW9uIGpyKHQpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChyKX19ZHJbIltvYmplY3QgRmxvYXQzMkFycmF5XSJdPWRyWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1kclsiW29iamVjdCBJbnQ4QXJyYXldIl09ZHJbIltvYmplY3QgSW50MTZBcnJheV0iXT1kclsiW29iamVjdCBJbnQzMkFycmF5XSJdPWRyWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09ZHJbIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIl09ZHJbIltvYmplY3QgVWludDE2QXJyYXldIl09ZHJbIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsZHJbIltvYmplY3QgQXJndW1lbnRzXSJdPWRyWyJbb2JqZWN0IEFycmF5XSJdPWRyWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPWRyWyJbb2JqZWN0IEJvb2xlYW5dIl09ZHJbIltvYmplY3QgRGF0YVZpZXddIl09ZHJbIltvYmplY3QgRGF0ZV0iXT1kclsiW29iamVjdCBFcnJvcl0iXT1kclsiW29iamVjdCBGdW5jdGlvbl0iXT1kclsiW29iamVjdCBNYXBdIl09ZHJbIltvYmplY3QgTnVtYmVyXSJdPWRyWyJbb2JqZWN0IE9iamVjdF0iXT1kclsiW29iamVjdCBSZWdFeHBdIl09ZHJbIltvYmplY3QgU2V0XSJdPWRyWyJbb2JqZWN0IFN0cmluZ10iXT1kclsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBncj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLF9yPWdyJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsT3I9X3ImJl9yLmV4cG9ydHM9PT1nciYmci5wcm9jZXNzLHdyPWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PV9yJiZfci5yZXF1aXJlJiZfci5yZXF1aXJlKCJ1dGlsIikudHlwZXM7cmV0dXJuIHR8fE9yJiZPci5iaW5kaW5nJiZPci5iaW5kaW5nKCJ1dGlsIil9Y2F0Y2godCl7fX0oKSxtcj13ciYmd3IuaXNUeXBlZEFycmF5LEFyPW1yP2pyKG1yKTpmdW5jdGlvbih0KXtyZXR1cm4gYih0KSYmaHIodC5sZW5ndGgpJiYhIWRyW3YodCldfSx4cj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIFNyKHIsZSl7dmFyIG49dChyKSxvPSFuJiZjcihyKSx1PSFuJiYhbyYmc3IociksaT0hbiYmIW8mJiF1JiZBcihyKSxjPW58fG98fHV8fGksYT1jP2Z1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49QXJyYXkodCk7KytlPHQ7KW5bZV09cihlKTtyZXR1cm4gbn0oci5sZW5ndGgsU3RyaW5nKTpbXSxmPWEubGVuZ3RoO2Zvcih2YXIgbCBpbiByKSFlJiYheHIuY2FsbChyLGwpfHxjJiYoImxlbmd0aCI9PWx8fHUmJigib2Zmc2V0Ij09bHx8InBhcmVudCI9PWwpfHxpJiYoImJ1ZmZlciI9PWx8fCJieXRlTGVuZ3RoIj09bHx8ImJ5dGVPZmZzZXQiPT1sKXx8YnIobCxmKSl8fGEucHVzaChsKTtyZXR1cm4gYX12YXIgUHI9T2JqZWN0LnByb3RvdHlwZTtmdW5jdGlvbiB6cih0KXt2YXIgcj10JiZ0LmNvbnN0cnVjdG9yO3JldHVybiB0PT09KCJmdW5jdGlvbiI9PXR5cGVvZiByJiZyLnByb3RvdHlwZXx8UHIpfWZ1bmN0aW9uIEVyKHQscil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KHIoZSkpfX12YXIgSXI9RXIoT2JqZWN0LmtleXMsT2JqZWN0KSxOcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIFRyKHQpe2lmKCF6cih0KSlyZXR1cm4gSXIodCk7dmFyIHI9W107Zm9yKHZhciBlIGluIE9iamVjdCh0KSlOci5jYWxsKHQsZSkmJiJjb25zdHJ1Y3RvciIhPWUmJnIucHVzaChlKTtyZXR1cm4gcn1mdW5jdGlvbiAkcih0KXtyZXR1cm4gbnVsbCE9dCYmaHIodC5sZW5ndGgpJiYheCh0KX1mdW5jdGlvbiBDcih0KXtyZXR1cm4gJHIodCk/U3IodCk6VHIodCl9ZnVuY3Rpb24gRnIodCl7cmV0dXJuIFh0KHQsQ3IsZXIpfXZhciBNcj0xLFVyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIGtyPWsobiwiRGF0YVZpZXciKSxCcj1rKG4sIlByb21pc2UiKSxEcj1rKG4sIlNldCIpLFJyPWsobiwiV2Vha01hcCIpLExyPSJbb2JqZWN0IE1hcF0iLFZyPSJbb2JqZWN0IFByb21pc2VdIixLcj0iW29iamVjdCBTZXRdIixXcj0iW29iamVjdCBXZWFrTWFwXSIscXI9IltvYmplY3QgRGF0YVZpZXddIixHcj1JKGtyKSxIcj1JKEcpLEpyPUkoQnIpLFFyPUkoRHIpLFhyPUkoUnIpLFlyPXY7KGtyJiZZcihuZXcga3IobmV3IEFycmF5QnVmZmVyKDEpKSkhPXFyfHxHJiZZcihuZXcgRykhPUxyfHxCciYmWXIoQnIucmVzb2x2ZSgpKSE9VnJ8fERyJiZZcihuZXcgRHIpIT1Lcnx8UnImJllyKG5ldyBScikhPVdyKSYmKFlyPWZ1bmN0aW9uKHQpe3ZhciByPXYodCksZT0iW29iamVjdCBPYmplY3RdIj09cj90LmNvbnN0cnVjdG9yOnZvaWQgMCxuPWU/SShlKToiIjtpZihuKXN3aXRjaChuKXtjYXNlIEdyOnJldHVybiBxcjtjYXNlIEhyOnJldHVybiBMcjtjYXNlIEpyOnJldHVybiBWcjtjYXNlIFFyOnJldHVybiBLcjtjYXNlIFhyOnJldHVybiBXcn1yZXR1cm4gcn0pO3ZhciBacj1Zcix0ZT0xLHJlPSJbb2JqZWN0IEFyZ3VtZW50c10iLGVlPSJbb2JqZWN0IEFycmF5XSIsbmU9IltvYmplY3QgT2JqZWN0XSIsb2U9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB1ZShyLGUsbixvLHUsaSl7dmFyIGM9dChyKSxhPXQoZSksZj1jP2VlOlpyKHIpLGw9YT9lZTpacihlKSxzPShmPWY9PXJlP25lOmYpPT1uZSxwPShsPWw9PXJlP25lOmwpPT1uZSx2PWY9PWw7aWYodiYmc3Iocikpe2lmKCFzcihlKSlyZXR1cm4hMTtjPSEwLHM9ITF9aWYodiYmIXMpcmV0dXJuIGl8fChpPW5ldyB4dCksY3x8QXIocik/TnQocixlLG4sbyx1LGkpOmZ1bmN0aW9uKHQscixlLG4sbyx1LGkpe3N3aXRjaChlKXtjYXNlIEd0OmlmKHQuYnl0ZUxlbmd0aCE9ci5ieXRlTGVuZ3RofHx0LmJ5dGVPZmZzZXQhPXIuYnl0ZU9mZnNldClyZXR1cm4hMTt0PXQuYnVmZmVyLHI9ci5idWZmZXI7Y2FzZSBxdDpyZXR1cm4hKHQuYnl0ZUxlbmd0aCE9ci5ieXRlTGVuZ3RofHwhdShuZXcgVHQodCksbmV3IFR0KHIpKSk7Y2FzZSBVdDpjYXNlIGt0OmNhc2UgUnQ6cmV0dXJuIFYoK3QsK3IpO2Nhc2UgQnQ6cmV0dXJuIHQubmFtZT09ci5uYW1lJiZ0Lm1lc3NhZ2U9PXIubWVzc2FnZTtjYXNlIEx0OmNhc2UgS3Q6cmV0dXJuIHQ9PXIrIiI7Y2FzZSBEdDp2YXIgYz0kdDtjYXNlIFZ0OnZhciBhPW4mRnQ7aWYoY3x8KGM9Q3QpLHQuc2l6ZSE9ci5zaXplJiYhYSlyZXR1cm4hMTt2YXIgZj1pLmdldCh0KTtpZihmKXJldHVybiBmPT1yO258PU10LGkuc2V0KHQscik7dmFyIGw9TnQoYyh0KSxjKHIpLG4sbyx1LGkpO3JldHVybiBpLmRlbGV0ZSh0KSxsO2Nhc2UgV3Q6aWYoSnQpcmV0dXJuIEp0LmNhbGwodCk9PUp0LmNhbGwocil9cmV0dXJuITF9KHIsZSxmLG4sbyx1LGkpO2lmKCEobiZ0ZSkpe3ZhciBiPXMmJm9lLmNhbGwociwiX193cmFwcGVkX18iKSx5PXAmJm9lLmNhbGwoZSwiX193cmFwcGVkX18iKTtpZihifHx5KXt2YXIgaD1iP3IudmFsdWUoKTpyLGQ9eT9lLnZhbHVlKCk6ZTtyZXR1cm4gaXx8KGk9bmV3IHh0KSx1KGgsZCxuLG8saSl9fXJldHVybiEhdiYmKGl8fChpPW5ldyB4dCksZnVuY3Rpb24odCxyLGUsbixvLHUpe3ZhciBpPWUmTXIsYz1Gcih0KSxhPWMubGVuZ3RoO2lmKGEhPUZyKHIpLmxlbmd0aCYmIWkpcmV0dXJuITE7Zm9yKHZhciBmPWE7Zi0tOyl7dmFyIGw9Y1tmXTtpZighKGk/bCBpbiByOlVyLmNhbGwocixsKSkpcmV0dXJuITF9dmFyIHM9dS5nZXQodCkscD11LmdldChyKTtpZihzJiZwKXJldHVybiBzPT1yJiZwPT10O3ZhciB2PSEwO3Uuc2V0KHQsciksdS5zZXQocix0KTtmb3IodmFyIGI9aTsrK2Y8YTspe3ZhciB5PXRbbD1jW2ZdXSxoPXJbbF07aWYobil2YXIgZD1pP24oaCx5LGwscix0LHUpOm4oeSxoLGwsdCxyLHUpO2lmKCEodm9pZCAwPT09ZD95PT09aHx8byh5LGgsZSxuLHUpOmQpKXt2PSExO2JyZWFrfWJ8fChiPSJjb25zdHJ1Y3RvciI9PWwpfWlmKHYmJiFiKXt2YXIgaj10LmNvbnN0cnVjdG9yLGc9ci5jb25zdHJ1Y3RvcjtqPT1nfHwhKCJjb25zdHJ1Y3RvciJpbiB0KXx8ISgiY29uc3RydWN0b3IiaW4gcil8fCJmdW5jdGlvbiI9PXR5cGVvZiBqJiZqIGluc3RhbmNlb2YgaiYmImZ1bmN0aW9uIj09dHlwZW9mIGcmJmcgaW5zdGFuY2VvZiBnfHwodj0hMSl9cmV0dXJuIHUuZGVsZXRlKHQpLHUuZGVsZXRlKHIpLHZ9KHIsZSxuLG8sdSxpKSl9ZnVuY3Rpb24gaWUodCxyLGUsbixvKXtyZXR1cm4gdD09PXJ8fChudWxsPT10fHxudWxsPT1yfHwhYih0KSYmIWIocik/dCE9dCYmciE9cjp1ZSh0LHIsZSxuLGllLG8pKX12YXIgY2U9MSxhZT0yO2Z1bmN0aW9uIGZlKHQpe3JldHVybiB0PT10JiYhXyh0KX1mdW5jdGlvbiBsZSh0LHIpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmKGVbdF09PT1yJiYodm9pZCAwIT09cnx8dCBpbiBPYmplY3QoZSkpKX19ZnVuY3Rpb24gc2UodCl7dmFyIHI9ZnVuY3Rpb24odCl7Zm9yKHZhciByPUNyKHQpLGU9ci5sZW5ndGg7ZS0tOyl7dmFyIG49cltlXSxvPXRbbl07cltlXT1bbixvLGZlKG8pXX1yZXR1cm4gcn0odCk7cmV0dXJuIDE9PXIubGVuZ3RoJiZyWzBdWzJdP2xlKHJbMF1bMF0sclswXVsxXSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fHxmdW5jdGlvbih0LHIsZSxuKXt2YXIgbz1lLmxlbmd0aCx1PW8saT0hbjtpZihudWxsPT10KXJldHVybiF1O2Zvcih0PU9iamVjdCh0KTtvLS07KXt2YXIgYz1lW29dO2lmKGkmJmNbMl0/Y1sxXSE9PXRbY1swXV06IShjWzBdaW4gdCkpcmV0dXJuITF9Zm9yKDsrK288dTspe3ZhciBhPShjPWVbb10pWzBdLGY9dFthXSxsPWNbMV07aWYoaSYmY1syXSl7aWYodm9pZCAwPT09ZiYmIShhIGluIHQpKXJldHVybiExfWVsc2V7dmFyIHM9bmV3IHh0O2lmKG4pdmFyIHA9bihmLGwsYSx0LHIscyk7aWYoISh2b2lkIDA9PT1wP2llKGwsZixjZXxhZSxuLHMpOnApKXJldHVybiExfX1yZXR1cm4hMH0oZSx0LHIpfX1mdW5jdGlvbiBwZSh0LHIpe3JldHVybiBudWxsIT10JiZyIGluIE9iamVjdCh0KX1mdW5jdGlvbiB2ZShyLGUpe3JldHVybiBudWxsIT1yJiZmdW5jdGlvbihyLGUsbil7Zm9yKHZhciBvPS0xLHU9KGU9bHQoZSxyKSkubGVuZ3RoLGk9ITE7KytvPHU7KXt2YXIgYz1wdChlW29dKTtpZighKGk9bnVsbCE9ciYmbihyLGMpKSlicmVhaztyPXJbY119cmV0dXJuIGl8fCsrbyE9dT9pOiEhKHU9bnVsbD09cj8wOnIubGVuZ3RoKSYmaHIodSkmJmJyKGMsdSkmJih0KHIpfHxjcihyKSl9KHIsZSxwZSl9dmFyIGJlPTEseWU9MjtmdW5jdGlvbiBoZSh0KXtyZXR1cm4gdH1mdW5jdGlvbiBkZSh0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIG51bGw9PXI/dm9pZCAwOnJbdF19fWZ1bmN0aW9uIGplKHQpe3JldHVybiBnKHQpP2RlKHB0KHQpKTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHZ0KHIsdCl9fSh0KX1mdW5jdGlvbiBnZShyKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOm51bGw9PXI/aGU6Im9iamVjdCI9PXR5cGVvZiByP3Qocik/KGU9clswXSxuPXJbMV0sZyhlKSYmZmUobik/bGUocHQoZSksbik6ZnVuY3Rpb24odCl7dmFyIHI9YnQodCxlKTtyZXR1cm4gdm9pZCAwPT09ciYmcj09PW4/dmUodCxlKTppZShuLHIsYmV8eWUpfSk6c2Uocik6amUocik7dmFyIGUsbn12YXIgX2UsT2U9ZnVuY3Rpb24odCxyLGUpe2Zvcih2YXIgbj0tMSxvPU9iamVjdCh0KSx1PWUodCksaT11Lmxlbmd0aDtpLS07KXt2YXIgYz11W19lP2k6KytuXTtpZighMT09PXIob1tjXSxjLG8pKWJyZWFrfXJldHVybiB0fTt2YXIgd2U9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtpZihudWxsPT1lKXJldHVybiBlO2lmKCEkcihlKSlyZXR1cm4gdChlLG4pO2Zvcih2YXIgbz1lLmxlbmd0aCx1PXI/bzotMSxpPU9iamVjdChlKTsocj91LS06Kyt1PG8pJiYhMSE9PW4oaVt1XSx1LGkpOyk7cmV0dXJuIGV9fSgoZnVuY3Rpb24odCxyKXtyZXR1cm4gdCYmT2UodCxyLENyKX0pKSxtZT13ZTtmdW5jdGlvbiBBZSh0LHIpe3ZhciBlPS0xLG49JHIodCk/QXJyYXkodC5sZW5ndGgpOltdO3JldHVybiBtZSh0LChmdW5jdGlvbih0LG8sdSl7blsrK2VdPXIodCxvLHUpfSkpLG59dmFyIHhlPUFycmF5LnByb3RvdHlwZS5qb2luO3ZhciBTZT0iW29iamVjdCBTdHJpbmddIjt2YXIgUGU9ZGUoImxlbmd0aCIpLHplPVJlZ0V4cCgiW1xcdTIwMGRcXHVkODAwLVxcdWRmZmZcXHUwMzAwLVxcdTAzNmZcXHVmZTIwLVxcdWZlMmZcXHUyMGQwLVxcdTIwZmZcXHVmZTBlXFx1ZmUwZl0iKTt2YXIgRWU9IlxcdWQ4MDAtXFx1ZGZmZiIsSWU9IlsiK0VlKyJdIixOZT0iW1xcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZl0iLFRlPSJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0iLCRlPSJbXiIrRWUrIl0iLENlPSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixGZT0iW1xcdWQ4MDAtXFx1ZGJmZl1bXFx1ZGMwMC1cXHVkZmZmXSIsTWU9Iig/OiIrTmUrInwiK1RlKyIpIisiPyIsVWU9IltcXHVmZTBlXFx1ZmUwZl0/IixrZT1VZStNZSsoIig/OlxcdTIwMGQoPzoiK1skZSxDZSxGZV0uam9pbigifCIpKyIpIitVZStNZSsiKSoiKSxCZT0iKD86IitbJGUrTmUrIj8iLE5lLENlLEZlLEllXS5qb2luKCJ8IikrIikiLERlPVJlZ0V4cChUZSsiKD89IitUZSsiKXwiK0JlK2tlLCJnIik7ZnVuY3Rpb24gUmUodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB6ZS50ZXN0KHQpfSh0KT9mdW5jdGlvbih0KXtmb3IodmFyIHI9RGUubGFzdEluZGV4PTA7RGUudGVzdCh0KTspKytyO3JldHVybiByfSh0KTpQZSh0KX12YXIgTGU9IltvYmplY3QgTWFwXSIsVmU9IltvYmplY3QgU2V0XSI7ZnVuY3Rpb24gS2Uocil7aWYobnVsbD09cilyZXR1cm4gMDtpZigkcihyKSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mKGU9cil8fCF0KGUpJiZiKGUpJiZ2KGUpPT1TZT9SZShyKTpyLmxlbmd0aDt2YXIgZSxuPVpyKHIpO3JldHVybiBuPT1MZXx8bj09VmU/ci5zaXplOlRyKHIpLmxlbmd0aH12YXIgV2U9IltvYmplY3QgTnVtYmVyXSI7ZnVuY3Rpb24gcWUodCxyKXtmb3IodmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7KytlPG4mJiExIT09cih0W2VdLGUsdCk7KTtyZXR1cm4gdH12YXIgR2U9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ayhPYmplY3QsImRlZmluZVByb3BlcnR5Iik7cmV0dXJuIHQoe30sIiIse30pLHR9Y2F0Y2godCl7fX0oKSxIZT1HZTtmdW5jdGlvbiBKZSh0LHIsZSl7Il9fcHJvdG9fXyI9PXImJkhlP0hlKHQscix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZSx3cml0YWJsZTohMH0pOnRbcl09ZX12YXIgUWU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBYZSh0LHIsZSl7dmFyIG49dFtyXTtRZS5jYWxsKHQscikmJlYobixlKSYmKHZvaWQgMCE9PWV8fHIgaW4gdCl8fEplKHQscixlKX1mdW5jdGlvbiBZZSh0LHIsZSxuKXt2YXIgbz0hZTtlfHwoZT17fSk7Zm9yKHZhciB1PS0xLGk9ci5sZW5ndGg7Kyt1PGk7KXt2YXIgYz1yW3VdLGE9bj9uKGVbY10sdFtjXSxjLGUsdCk6dm9pZCAwO3ZvaWQgMD09PWEmJihhPXRbY10pLG8/SmUoZSxjLGEpOlhlKGUsYyxhKX1yZXR1cm4gZX12YXIgWmU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB0bih0KXtpZighXyh0KSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIHI9W107aWYobnVsbCE9dClmb3IodmFyIGUgaW4gT2JqZWN0KHQpKXIucHVzaChlKTtyZXR1cm4gcn0odCk7dmFyIHI9enIodCksZT1bXTtmb3IodmFyIG4gaW4gdCkoImNvbnN0cnVjdG9yIiE9bnx8IXImJlplLmNhbGwodCxuKSkmJmUucHVzaChuKTtyZXR1cm4gZX1mdW5jdGlvbiBybih0KXtyZXR1cm4gJHIodCk/U3IodCwhMCk6dG4odCl9dmFyIGVuPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbm49ZW4mJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvbj1ubiYmbm4uZXhwb3J0cz09PWVuP24uQnVmZmVyOnZvaWQgMCx1bj1vbj9vbi5hbGxvY1Vuc2FmZTp2b2lkIDA7dmFyIGNuPUVyKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLGFuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdO3Q7KVF0KHIsZXIodCkpLHQ9Y24odCk7cmV0dXJuIHJ9Oll0LGZuPWFuO2Z1bmN0aW9uIGxuKHQpe3JldHVybiBYdCh0LHJuLGZuKX12YXIgc249T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBwbih0KXt2YXIgcj1uZXcgdC5jb25zdHJ1Y3Rvcih0LmJ5dGVMZW5ndGgpO3JldHVybiBuZXcgVHQocikuc2V0KG5ldyBUdCh0KSkscn12YXIgdm49L1x3KiQvO3ZhciBibj1vP28ucHJvdG90eXBlOnZvaWQgMCx5bj1ibj9ibi52YWx1ZU9mOnZvaWQgMDt2YXIgaG49IltvYmplY3QgQm9vbGVhbl0iLGRuPSJbb2JqZWN0IERhdGVdIixqbj0iW29iamVjdCBNYXBdIixnbj0iW29iamVjdCBOdW1iZXJdIixfbj0iW29iamVjdCBSZWdFeHBdIixPbj0iW29iamVjdCBTZXRdIix3bj0iW29iamVjdCBTdHJpbmddIixtbj0iW29iamVjdCBTeW1ib2xdIixBbj0iW29iamVjdCBBcnJheUJ1ZmZlcl0iLHhuPSJbb2JqZWN0IERhdGFWaWV3XSIsU249IltvYmplY3QgRmxvYXQzMkFycmF5XSIsUG49IltvYmplY3QgRmxvYXQ2NEFycmF5XSIsem49IltvYmplY3QgSW50OEFycmF5XSIsRW49IltvYmplY3QgSW50MTZBcnJheV0iLEluPSJbb2JqZWN0IEludDMyQXJyYXldIixObj0iW29iamVjdCBVaW50OEFycmF5XSIsVG49IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIiwkbj0iW29iamVjdCBVaW50MTZBcnJheV0iLENuPSJbb2JqZWN0IFVpbnQzMkFycmF5XSI7ZnVuY3Rpb24gRm4odCxyLGUpe3ZhciBuLG89dC5jb25zdHJ1Y3Rvcjtzd2l0Y2gocil7Y2FzZSBBbjpyZXR1cm4gcG4odCk7Y2FzZSBobjpjYXNlIGRuOnJldHVybiBuZXcgbygrdCk7Y2FzZSB4bjpyZXR1cm4gZnVuY3Rpb24odCxyKXt2YXIgZT1yP3BuKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3IoZSx0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKX0odCxlKTtjYXNlIFNuOmNhc2UgUG46Y2FzZSB6bjpjYXNlIEVuOmNhc2UgSW46Y2FzZSBObjpjYXNlIFRuOmNhc2UgJG46Y2FzZSBDbjpyZXR1cm4gZnVuY3Rpb24odCxyKXt2YXIgZT1yP3BuKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3IoZSx0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfSh0LGUpO2Nhc2Ugam46cmV0dXJuIG5ldyBvO2Nhc2UgZ246Y2FzZSB3bjpyZXR1cm4gbmV3IG8odCk7Y2FzZSBfbjpyZXR1cm4gZnVuY3Rpb24odCl7dmFyIHI9bmV3IHQuY29uc3RydWN0b3IodC5zb3VyY2Usdm4uZXhlYyh0KSk7cmV0dXJuIHIubGFzdEluZGV4PXQubGFzdEluZGV4LHJ9KHQpO2Nhc2UgT246cmV0dXJuIG5ldyBvO2Nhc2UgbW46cmV0dXJuIG49dCx5bj9PYmplY3QoeW4uY2FsbChuKSk6e319fXZhciBNbj1PYmplY3QuY3JlYXRlLFVuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24ocil7aWYoIV8ocikpcmV0dXJue307aWYoTW4pcmV0dXJuIE1uKHIpO3QucHJvdG90eXBlPXI7dmFyIGU9bmV3IHQ7cmV0dXJuIHQucHJvdG90eXBlPXZvaWQgMCxlfX0oKSxrbj1Vbjt2YXIgQm49d3ImJndyLmlzTWFwLERuPUJuP2pyKEJuKTpmdW5jdGlvbih0KXtyZXR1cm4gYih0KSYmIltvYmplY3QgTWFwXSI9PVpyKHQpfTt2YXIgUm49d3ImJndyLmlzU2V0LExuPVJuP2pyKFJuKTpmdW5jdGlvbih0KXtyZXR1cm4gYih0KSYmIltvYmplY3QgU2V0XSI9PVpyKHQpfSxWbj0xLEtuPTIsV249NCxxbj0iW29iamVjdCBBcmd1bWVudHNdIixHbj0iW29iamVjdCBGdW5jdGlvbl0iLEhuPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsSm49IltvYmplY3QgT2JqZWN0XSIsUW49e307ZnVuY3Rpb24gWG4ocixlLG4sbyx1LGkpe3ZhciBjLGE9ZSZWbixmPWUmS24sbD1lJlduO2lmKG4mJihjPXU/bihyLG8sdSxpKTpuKHIpKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKCFfKHIpKXJldHVybiByO3ZhciBzPXQocik7aWYocyl7aWYoYz1mdW5jdGlvbih0KXt2YXIgcj10Lmxlbmd0aCxlPW5ldyB0LmNvbnN0cnVjdG9yKHIpO3JldHVybiByJiYic3RyaW5nIj09dHlwZW9mIHRbMF0mJnNuLmNhbGwodCwiaW5kZXgiKSYmKGUuaW5kZXg9dC5pbmRleCxlLmlucHV0PXQuaW5wdXQpLGV9KHIpLCFhKXJldHVybiBmdW5jdGlvbih0LHIpe3ZhciBlPS0xLG49dC5sZW5ndGg7Zm9yKHJ8fChyPUFycmF5KG4pKTsrK2U8bjspcltlXT10W2VdO3JldHVybiByfShyLGMpfWVsc2V7dmFyIHA9WnIociksdj1wPT1Hbnx8cD09SG47aWYoc3IocikpcmV0dXJuIGZ1bmN0aW9uKHQscil7aWYocilyZXR1cm4gdC5zbGljZSgpO3ZhciBlPXQubGVuZ3RoLG49dW4/dW4oZSk6bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIHQuY29weShuKSxufShyLGEpO2lmKHA9PUpufHxwPT1xbnx8diYmIXUpe2lmKGM9Znx8dj97fTpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdC5jb25zdHJ1Y3Rvcnx8enIodCk/e306a24oY24odCkpfShyKSwhYSlyZXR1cm4gZj9mdW5jdGlvbih0LHIpe3JldHVybiBZZSh0LGZuKHQpLHIpfShyLGZ1bmN0aW9uKHQscil7cmV0dXJuIHQmJlllKHIscm4ociksdCl9KGMscikpOmZ1bmN0aW9uKHQscil7cmV0dXJuIFllKHQsZXIodCkscil9KHIsZnVuY3Rpb24odCxyKXtyZXR1cm4gdCYmWWUocixDcihyKSx0KX0oYyxyKSl9ZWxzZXtpZighUW5bcF0pcmV0dXJuIHU/cjp7fTtjPUZuKHIscCxhKX19aXx8KGk9bmV3IHh0KTt2YXIgYj1pLmdldChyKTtpZihiKXJldHVybiBiO2kuc2V0KHIsYyksTG4ocik/ci5mb3JFYWNoKChmdW5jdGlvbih0KXtjLmFkZChYbih0LGUsbix0LHIsaSkpfSkpOkRuKHIpJiZyLmZvckVhY2goKGZ1bmN0aW9uKHQsbyl7Yy5zZXQobyxYbih0LGUsbixvLHIsaSkpfSkpO3ZhciB5PXM/dm9pZCAwOihsP2Y/bG46RnI6Zj9ybjpDcikocik7cmV0dXJuIHFlKHl8fHIsKGZ1bmN0aW9uKHQsbyl7eSYmKHQ9cltvPXRdKSxYZShjLG8sWG4odCxlLG4sbyxyLGkpKX0pKSxjfVFuW3FuXT1RblsiW29iamVjdCBBcnJheV0iXT1RblsiW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1RblsiW29iamVjdCBEYXRhVmlld10iXT1RblsiW29iamVjdCBCb29sZWFuXSJdPVFuWyJbb2JqZWN0IERhdGVdIl09UW5bIltvYmplY3QgRmxvYXQzMkFycmF5XSJdPVFuWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1RblsiW29iamVjdCBJbnQ4QXJyYXldIl09UW5bIltvYmplY3QgSW50MTZBcnJheV0iXT1RblsiW29iamVjdCBJbnQzMkFycmF5XSJdPVFuWyJbb2JqZWN0IE1hcF0iXT1RblsiW29iamVjdCBOdW1iZXJdIl09UW5bSm5dPVFuWyJbb2JqZWN0IFJlZ0V4cF0iXT1RblsiW29iamVjdCBTZXRdIl09UW5bIltvYmplY3QgU3RyaW5nXSJdPVFuWyJbb2JqZWN0IFN5bWJvbF0iXT1RblsiW29iamVjdCBVaW50OEFycmF5XSJdPVFuWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPVFuWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPVFuWyJbb2JqZWN0IFVpbnQzMkFycmF5XSJdPSEwLFFuWyJbb2JqZWN0IEVycm9yXSJdPVFuW0duXT1RblsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBZbj0xLFpuPTQ7ZnVuY3Rpb24gdG8odCl7cmV0dXJuIFhuKHQsWW58Wm4pfWZ1bmN0aW9uIHJvKHQpe2xldCByPSExO2lmKGh0KHQpKXI9IWlzTmFOKE51bWJlcih0KSk7ZWxzZSBpZihmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBOdW1iZXJdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCkpe2lmKF90KHQpKXJldHVybiExO3I9ITB9cmV0dXJuIHJ9ZnVuY3Rpb24gZW8odCl7aWYoIWh0KHQpJiYhcm8odCkmJiFoKHQpKXJldHVybiIiO2xldCByPSIiO3RyeXtyPVN0cmluZyh0KX1jYXRjaCh0KXt9dHJ5e3I9dC50b1N0cmluZygpfWNhdGNoKHQpe31yZXR1cm4gcn12YXIgbm89TWF0aC5jZWlsLG9vPU1hdGgubWF4O3ZhciB1bz0vXHMvO3ZhciBpbz0vXlxzKy87ZnVuY3Rpb24gY28odCl7cmV0dXJuIHQ/dC5zbGljZSgwLGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aDtyLS0mJnVvLnRlc3QodC5jaGFyQXQocikpOyk7cmV0dXJuIHJ9KHQpKzEpLnJlcGxhY2UoaW8sIiIpOnR9dmFyIGFvPU5hTixmbz0vXlstK10weFswLTlhLWZdKyQvaSxsbz0vXjBiWzAxXSskL2ksc289L14wb1swLTddKyQvaSxwbz1wYXJzZUludDt2YXIgdm89MS8wLGJvPTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MjtmdW5jdGlvbiB5byh0KXtyZXR1cm4gdD8odD1mdW5jdGlvbih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoaCh0KSlyZXR1cm4gYW87aWYoXyh0KSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9XyhyKT9yKyIiOnJ9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9Y28odCk7dmFyIGU9bG8udGVzdCh0KTtyZXR1cm4gZXx8c28udGVzdCh0KT9wbyh0LnNsaWNlKDIpLGU/Mjo4KTpmby50ZXN0KHQpP2FvOit0fSh0KSk9PT12b3x8dD09PS12bz8odDwwPy0xOjEpKmJvOnQ9PXQ/dDowOjA9PT10P3Q6MH12YXIgaG89ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHIsZSxuKXtyZXR1cm4gbiYmIm51bWJlciIhPXR5cGVvZiBuJiZmdW5jdGlvbih0LHIsZSl7aWYoIV8oZSkpcmV0dXJuITE7dmFyIG49dHlwZW9mIHI7cmV0dXJuISEoIm51bWJlciI9PW4/JHIoZSkmJmJyKHIsZS5sZW5ndGgpOiJzdHJpbmciPT1uJiZyIGluIGUpJiZWKGVbcl0sdCl9KHIsZSxuKSYmKGU9bj12b2lkIDApLHI9eW8ociksdm9pZCAwPT09ZT8oZT1yLHI9MCk6ZT15byhlKSxmdW5jdGlvbih0LHIsZSxuKXtmb3IodmFyIG89LTEsdT1vbyhubygoci10KS8oZXx8MSkpLDApLGk9QXJyYXkodSk7dS0tOylpW24/dTorK29dPXQsdCs9ZTtyZXR1cm4gaX0ocixlLG49dm9pZCAwPT09bj9yPGU/MTotMTp5byhuKSx0KX19KCksam89aG87ZnVuY3Rpb24gZ28odCxyPW51bGwsZT17fSl7eChyKXx8KHI9dD0+dCk7bGV0IG49YnQoZSwiZm9yY2UiLCExKTtyZXR1cm4gQXQobil8fChuPSExKSxmdW5jdGlvbih0LHIsZT0hMSl7bGV0IG49W107aWYoIWd0KHQpJiYhZHQodCkpcmV0dXJuIHIodCxudWxsLFtdKTtmdW5jdGlvbiBvKHQpe2lmKGd0KHQpKXJldHVybiBqbyhLZSh0KSk7aWYoZHQodCkpe2xldCByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLG49bnVsbDtyZXR1cm4gZSYmKG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KSksZ3Qocil8fChyPVtdKSxndChuKXx8KG49W10pLFsuLi5yLC4uLm5dfXJldHVybiB0fXJldHVybiBmdW5jdGlvbiB0KGUsdSl7aWYoZ3QoZSkpcmV0dXJuIG8oZSkubWFwKChvPT57bGV0IHU9ZVtvXSxpPXRvKG4pO3JldHVybiBuLnB1c2gobyksdT1yKHUsbyxpKSx1PXQodSksbi5wb3AoKSx1fSkpO2lmKGR0KGUpKXtsZXQgdT1vKGUpLGk9e307cmV0dXJuIHUubWFwKChvPT57bGV0IHU9ZVtvXSxjPXRvKG4pO24ucHVzaChvKSx1PXIodSxvLGMpLHU9dCh1KSxuLnBvcCgpLGlbb109dX0pKSxpfXJldHVybiBlfSh0KX0odCxyLG4pfWZ1bmN0aW9uIF9vKHIsZT17fSl7aWYoIWp0KHIpJiYhd3QocikpcmV0dXJuW107bGV0IG49YnQoZSwiYmluZEtleSIsbnVsbCk7aHQobil8fChuPSJpZCIpO2xldCBvPWJ0KGUsImJpbmRQYXJlbnQiLG51bGwpO2h0KG8pfHwobz0icGFyZW50SWQiKTtsZXQgdT1idChlLCJiaW5kQmVsb25nIixudWxsKTtodCh1KXx8KHU9ImtleSIpO2xldCBpPWJ0KGUsImJpbmRUZXh0IixudWxsKTtodChpKXx8KGk9InRleHQiKTtsZXQgYz1idChlLCJiaW5kVHlwZSIsbnVsbCk7aHQoYyl8fChjPSJ0eXBlIik7bGV0IGE9YnQoZSwiYmluZE51bU9mQ2hpbHJlbiIsbnVsbCk7ZnVuY3Rpb24gZihyLGUpe3ZhciBuLG87dmFyIHUsaTtyZXR1cm4gcj10byhyKSxvPXQ9PmgodCk/ZW8odCk6dCxyPSh0KG49cik/dXQ6QWUpKG4sZ2UobykpLGgoZSkmJihlPWVvKGUpKSwoaHQoZSl8fHJvKGUpKSYmci5wdXNoKGUpLGk9Ii0iLG51bGw9PSh1PXIpPyIiOnhlLmNhbGwodSxpKX1odChhKXx8KGE9Im51bU9mQ2hpbHJlbiIpO2xldCBsPVtdO3JldHVybiBnbyhyLCgodCxyLGUpPT57bGV0IHM9ZihlLHIpLHA9ZihlLG51bGwpLHk9Im5vZGUiO2R0KHQpP3k9Im9iamVjdCI6Z3QodCkmJih5PSJhcnJheSIpO2xldCBoPXtbbl06cyxbb106cCxbY106eX07aWYoKGh0KHIpfHxmdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR8fGIodCkmJnYodCk9PVdlfShyKSkmJihoW3VdPXIpLGR0KHQpfHxndCh0KXx8KGhbaV09dCksZHQodCl8fGd0KHQpKXtsZXQgcj1udWxsO2R0KHQpP3I9S2UoQ3IodCkpOmd0KHQpJiYocj1LZSh0KSksaFthXT1yfXJldHVybiBsLnB1c2goaCksdH0pLHtmb3JjZTohMH0pLGx9ZnVuY3Rpb24gT28ocixlKXt2YXIgbjtyZXR1cm4odChyKT9xZTptZSkociwiZnVuY3Rpb24iPT10eXBlb2Yobj1lKT9uOmhlKX1mdW5jdGlvbiB3byh0LHIsZSl7cmV0dXJuIG51bGw9PXQ/dDpmdW5jdGlvbih0LHIsZSxuKXtpZighXyh0KSlyZXR1cm4gdDtmb3IodmFyIG89LTEsdT0ocj1sdChyLHQpKS5sZW5ndGgsaT11LTEsYz10O251bGwhPWMmJisrbzx1Oyl7dmFyIGE9cHQocltvXSksZj1lO2lmKCJfX3Byb3RvX18iPT09YXx8ImNvbnN0cnVjdG9yIj09PWF8fCJwcm90b3R5cGUiPT09YSlyZXR1cm4gdDtpZihvIT1pKXt2YXIgbD1jW2FdO3ZvaWQgMD09PShmPW4/bihsLGEsYyk6dm9pZCAwKSYmKGY9XyhsKT9sOmJyKHJbbysxXSk/W106e30pfVhlKGMsYSxmKSxjPWNbYV19cmV0dXJuIHR9KHQscixlKX1mdW5jdGlvbiBtbyh0LHIpe3JldHVybiByLmxlbmd0aDwyP3Q6dnQodCxmdW5jdGlvbih0LHIsZSl7dmFyIG49LTEsbz10Lmxlbmd0aDtyPDAmJihyPS1yPm8/MDpvK3IpLChlPWU+bz9vOmUpPDAmJihlKz1vKSxvPXI+ZT8wOmUtcj4+PjAscj4+Pj0wO2Zvcih2YXIgdT1BcnJheShvKTsrK248bzspdVtuXT10W24rcl07cmV0dXJuIHV9KHIsMCwtMSkpfXZhciBBbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIHhvKHQscil7dmFyIGU9LTEsbj0ocj1sdChyLHQpKS5sZW5ndGg7aWYoIW4pcmV0dXJuITA7Zm9yKHZhciBvPW51bGw9PXR8fCJvYmplY3QiIT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQ7KytlPG47KXt2YXIgdT1yW2VdO2lmKCJzdHJpbmciPT10eXBlb2YgdSl7aWYoIl9fcHJvdG9fXyI9PT11JiYhQW8uY2FsbCh0LCJfX3Byb3RvX18iKSlyZXR1cm4hMTtpZigiY29uc3RydWN0b3IiPT09dSYmZSsxPG4mJiJzdHJpbmciPT10eXBlb2YgcltlKzFdJiYicHJvdG90eXBlIj09PXJbZSsxXSl7aWYobyYmMD09PWUpY29udGludWU7cmV0dXJuITF9fX12YXIgaT1tbyh0LHIpO3JldHVybiBudWxsPT1pfHxkZWxldGUgaVtwdChmdW5jdGlvbih0KXt2YXIgcj1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIHI/dFtyLTFdOnZvaWQgMH0ocikpXX12YXIgU289IltvYmplY3QgT2JqZWN0XSIsUG89RnVuY3Rpb24ucHJvdG90eXBlLHpvPU9iamVjdC5wcm90b3R5cGUsRW89UG8udG9TdHJpbmcsSW89em8uaGFzT3duUHJvcGVydHksTm89RW8uY2FsbChPYmplY3QpO2Z1bmN0aW9uIFRvKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZighYih0KXx8dih0KSE9U28pcmV0dXJuITE7dmFyIHI9Y24odCk7aWYobnVsbD09PXIpcmV0dXJuITA7dmFyIGU9SW8uY2FsbChyLCJjb25zdHJ1Y3RvciIpJiZyLmNvbnN0cnVjdG9yO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlIGluc3RhbmNlb2YgZSYmRW8uY2FsbChlKT09Tm99KHQpP3ZvaWQgMDp0fXZhciAkbz1vP28uaXNDb25jYXRTcHJlYWRhYmxlOnZvaWQgMDtmdW5jdGlvbiBDbyhyKXtyZXR1cm4gdChyKXx8Y3Iocil8fCEhKCRvJiZyJiZyWyRvXSl9ZnVuY3Rpb24gRm8odCxyLGUsbixvKXt2YXIgdT0tMSxpPXQubGVuZ3RoO2ZvcihlfHwoZT1Dbyksb3x8KG89W10pOysrdTxpOyl7dmFyIGM9dFt1XTtyPjAmJmUoYyk/cj4xP0ZvKGMsci0xLGUsbixvKTpRdChvLGMpOm58fChvW28ubGVuZ3RoXT1jKX1yZXR1cm4gb31mdW5jdGlvbiBNbyh0KXtyZXR1cm4obnVsbD09dD8wOnQubGVuZ3RoKT9Gbyh0LDEpOltdfXZhciBVbz1NYXRoLm1heDt2YXIga289SGU/ZnVuY3Rpb24odCxyKXtyZXR1cm4gSGUodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooZT1yLGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSx3cml0YWJsZTohMH0pO3ZhciBlfTpoZSxCbz1rbyxEbz1EYXRlLm5vdzt2YXIgUm89ZnVuY3Rpb24odCl7dmFyIHI9MCxlPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49RG8oKSxvPTE2LShuLWUpO2lmKGU9bixvPjApe2lmKCsrcj49ODAwKXJldHVybiBhcmd1bWVudHNbMF19ZWxzZSByPTA7cmV0dXJuIHQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fShCbyksTG89Um87dmFyIFZvPWZ1bmN0aW9uKHQpe3JldHVybiBMbyhmdW5jdGlvbih0LHIsZSl7cmV0dXJuIHI9VW8odm9pZCAwPT09cj90Lmxlbmd0aC0xOnIsMCksZnVuY3Rpb24oKXtmb3IodmFyIG49YXJndW1lbnRzLG89LTEsdT1VbyhuLmxlbmd0aC1yLDApLGk9QXJyYXkodSk7KytvPHU7KWlbb109bltyK29dO289LTE7Zm9yKHZhciBjPUFycmF5KHIrMSk7KytvPHI7KWNbb109bltvXTtyZXR1cm4gY1tyXT1lKGkpLGZ1bmN0aW9uKHQscixlKXtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gdC5jYWxsKHIpO2Nhc2UgMTpyZXR1cm4gdC5jYWxsKHIsZVswXSk7Y2FzZSAyOnJldHVybiB0LmNhbGwocixlWzBdLGVbMV0pO2Nhc2UgMzpyZXR1cm4gdC5jYWxsKHIsZVswXSxlWzFdLGVbMl0pfXJldHVybiB0LmFwcGx5KHIsZSl9KHQsdGhpcyxjKX19KHQsdm9pZCAwLE1vKSx0KyIiKX0oKGZ1bmN0aW9uKHQscil7dmFyIGU9e307aWYobnVsbD09dClyZXR1cm4gZTt2YXIgbj0hMTtyPXV0KHIsKGZ1bmN0aW9uKHIpe3JldHVybiByPWx0KHIsdCksbnx8KG49ci5sZW5ndGg+MSkscn0pKSxZZSh0LGxuKHQpLGUpLG4mJihlPVhuKGUsNyxUbykpO2Zvcih2YXIgbz1yLmxlbmd0aDtvLS07KXhvKGUscltvXSk7cmV0dXJuIGV9KSksS289Vm87ZnVuY3Rpb24gV28odCxyPXt9KXtsZXQgZT0iJGxldmVsIixuPSIkcGFyZW50cyI7aWYoIXd0KHQpKXJldHVybltdO2xldCBvPWJ0KHIsImJpbmRLZXkiLG51bGwpO2h0KG8pfHwobz0iaWQiKTtsZXQgdT1idChyLCJiaW5kUGFyZW50IixudWxsKTtodCh1KXx8KHU9InBhcmVudElkIik7bGV0IGk9YnQociwiYmluZENoaWxkcmVuIixudWxsKTtodChpKXx8KGk9ImNoaWxkcmVuIik7bGV0IGM9YnQociwic2F2ZUV4dFByb3BzIixudWxsKTtBdChjKXx8KGM9ITEpLHQ9ZnVuY3Rpb24odCl7bGV0IHI9W107ZnVuY3Rpb24gaShpKXtsZXQgYz1bXTtPbyh0LCgodCxhKT0+e2xldCBmPWJ0KHQsdSksbD1idChpLG8pO2lmKGYmJmwmJmY9PT1sKXtsZXQgdT1idChpLG4sW10pO3U9dG8odSksdS5wdXNoKGlbb10pLHIucHVzaCh7W2VdOmlbZV0rMSxbbl06dSwuLi50fSl9ZWxzZSBjLnB1c2godCl9KSksdD1jfWlmKHQ9dG8odCksZnVuY3Rpb24oKXtsZXQgbz1bXTtPbyh0LCgodCxpKT0+e090KHRbdV0pP3IucHVzaCh7W2VdOjAsW25dOltdLC4uLnR9KTpvLnB1c2godCl9KSksdD1vfSgpLDA9PT1yLmxlbmd0aClyZXR1cm4gcjtsZXQgYz0tMTtmb3IoO2MrPTEsIShjPnIubGVuZ3RoLTEpOyl7aWYoaShyW2NdKSwwPT09dC5sZW5ndGgpYnJlYWt9cmV0dXJuIHJ9KHQpO2xldCBhPWZ1bmN0aW9uKHQpe2xldCByPVtdO2Z1bmN0aW9uIGEodCl7cmV0dXJuIGM/dDpLbyh0LFtlLG5dKX1sZXQgZj17fTtyZXR1cm4gT28odCwoKG4sYyk9PntpZigwPT09bltlXSl7bGV0IHQ9YShuKTtyLnB1c2godCksZltuW29dXT1bY119ZWxzZXtsZXQgZT1mdW5jdGlvbihyKXtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7bGV0IG49dFtlXTtpZihyW3VdPT09bltvXSlyZXR1cm4gbn1yZXR1cm4gbnVsbH0obik7aWYobnVsbCE9PWUpe2xldCB0PWZbZVtvXV07dD1bLi4udCxpXTtsZXQgdT1idChyLHQsW10pLGM9YShuKTt1LnB1c2goYyksZltuW29dXT1bLi4udCx1Lmxlbmd0aC0xXSx3byhyLHQsdSl9ZWxzZSBjb25zb2xlLmxvZyhgY2FuIG5vdCBmaW5kIHBhcmVudCBmb3IgJHtidChuLHUpfWApfX0pKSxyfSh0KTtyZXR1cm4gYX1sZXQgY29udmVydFRvVHJlZVdrPWFzeW5jIGZ1bmN0aW9uKHQscj17fSl7cmV0dXJuIGZ1bmN0aW9uKHQscj17fSl7aWYoIWp0KHQpJiYhd3QodCkpcmV0dXJuW107bGV0IGU9YnQociwiYmluZEtleSIsbnVsbCk7aHQoZSl8fChlPSJpZCIpO2xldCBuPWJ0KHIsImJpbmRQYXJlbnQiLG51bGwpO2h0KG4pfHwobj0icGFyZW50SWQiKTtsZXQgbz1idChyLCJiaW5kVGV4dCIsbnVsbCk7aHQobyl8fChvPSJ0ZXh0Iik7bGV0IHU9YnQociwiYmluZENoaWxkcmVuIixudWxsKTtodCh1KXx8KHU9ImNoaWxkcmVuIik7bGV0IGk9YnQociwiYmluZFR5cGUiLG51bGwpO2h0KGkpfHwoaT0idHlwZSIpO2xldCBjPWJ0KHIsImJpbmROdW1PZkNoaWxyZW4iLG51bGwpO2h0KGMpfHwoYz0ibnVtT2ZDaGlscmVuIik7bGV0IGE9YnQociwiYmluZFJvb3QiLG51bGwpO2h0KGEpfHwoYT0icm9vdCIpO2xldCBmPWJ0KHIsInNhdmVFeHRQcm9wcyIsbnVsbCk7cmV0dXJuIEF0KGYpfHwoZj0hMSksaHQoYSkmJih0PXtbYV06dH0pLFdvKF9vKHQse2JpbmRLZXk6ZSxiaW5kUGFyZW50Om4sYmluZFRleHQ6byxiaW5kVHlwZTppLGJpbmROdW1PZkNoaWxyZW46Y30pLHtiaW5kS2V5OmUsYmluZFBhcmVudDpuLGJpbmRDaGlsZHJlbjp1LHNhdmVFeHRQcm9wczpmfSl9KHQscil9OwoKCmxldCBpbnN0YW5jZSA9IG51bGwKZnVuY3Rpb24gaW5pdChpbnB1dCl7CgogICAgLy9pbml0CiAgICBsZXQgcgogICAgCiAgICAgICAgciA9IHsKICAgICAgICAgICAgbWFpbjogY29udmVydFRvVHJlZVdrCiAgICAgICAgfQogICAgICAgIAoKICAgIC8vb24KICAgIAoKICAgIC8vc2F2ZQogICAgaW5zdGFuY2UgPSByCgp9CgpmdW5jdGlvbiBzZW5kTWVzc2FnZShkYXRhKSB7CiAgICAKICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKGRhdGEpCiAgICAgICAgCn0KCmFzeW5jIGZ1bmN0aW9uIHJ1bihkYXRhKSB7CiAgICAvLyBjb25zb2xlLmxvZygnaW5uZXIgd29ya2VyIHJ1bicsZGF0YSkKCiAgICAvL21vZGUKICAgIGxldCBtb2RlID0gZGF0YS5tb2RlCgogICAgLy9jaGVjawogICAgaWYobW9kZSAhPT0gJ2luaXQnICYmIG1vZGUgIT09ICdjYWxsJyl7CiAgICAgICAgcmV0dXJuCiAgICB9CgogICAgLy9pbml0CiAgICBpZihtb2RlID09PSAnaW5pdCcpewogICAgICAgIAogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vdHlwZQogICAgICAgICAgICBsZXQgdHlwZSA9IGRhdGEudHlwZQoKICAgICAgICAgICAgLy9pbnB1dAogICAgICAgICAgICBsZXQgaW5wdXQgPSBkYXRhLmlucHV0CiAgICAKICAgICAgICAgICAgLy9pbnN0YW5jZQogICAgICAgICAgICBpZih0eXBlID09PSAnZnVuY3Rpb24nKXsKICAgICAgICAgICAgICAgIGluaXQoLi4uaW5wdXQpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZih0eXBlID09PSAnb2JqZWN0Jyl7CiAgICAgICAgICAgICAgICBpbnN0YW5jZSA9IGNvbnZlcnRUb1RyZWVXawogICAgICAgICAgICB9CgogICAgICAgIH0KICAgICAgICBjYXRjaChlcnIpewogICAgICAgIAogICAgICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgICAgICBtb2RlOiAnZW1pdCcsCiAgICAgICAgICAgICAgICBldk5hbWU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICBtc2c6IGVyciwKICAgICAgICAgICAgfQogICAgICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgICAgIH0KICAgICAgICAgICAgCiAgICB9CgogICAgLy9jaGVjawogICAgaWYobW9kZSA9PT0gJ2NhbGwnKXsKICAgICAgICBsZXQgc3RhdGUgPSAnJwogICAgICAgIGxldCBtc2cgPSBudWxsCgogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vZnVuCiAgICAgICAgICAgIGxldCBmdW4gPSBpbnN0YW5jZVtkYXRhLmZ1bl0KCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAoKICAgICAgICAgICAgLy9leGVjCiAgICAgICAgICAgIGF3YWl0IGZ1biguLi5pbnB1dCkKICAgICAgICAgICAgICAgIC50aGVuKChzdWMpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nc3VjY2VzcycKICAgICAgICAgICAgICAgICAgICBtc2c9c3VjCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nZXJyb3InCiAgICAgICAgICAgICAgICAgICAgbXNnPWVycgogICAgICAgICAgICAgICAgfSkKCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgICAgIHN0YXRlID0gJ2Vycm9yJwogICAgICAgICAgICBtc2cgPSBlcnIKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy9zZW5kTWVzc2FnZQogICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgIG1vZGU6ICdyZXR1cm4nLAogICAgICAgICAgICBpZDogZGF0YS5pZCwKICAgICAgICAgICAgZnVuOiBkYXRhLmZ1biwKICAgICAgICAgICAgc3RhdGUsCiAgICAgICAgICAgIG1zZywKICAgICAgICB9CiAgICAgICAgc2VuZE1lc3NhZ2UocmVzKQoKICAgIH0KCn0KCmZ1bmN0aW9uIHJlY3ZNZXNzYWdlKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcmVjdjonLCBkYXRhKQoKICAgIC8vZGF0YVJlY3YKICAgIGxldCBkYXRhUmVjdiA9IGRhdGEKCiAgICAvL3J1bgogICAgcnVuKGRhdGFSZWN2KQoKfQoKCiAgICAgICAgc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICByZWN2TWVzc2FnZShlLmRhdGEpCiAgICAgICAgfQogICAgICAgIAoKdHJ5ewogICAgcHJvY2Vzcy5vbigndW5oYW5kbGVkUmVqZWN0aW9uJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmhhbmRsZWRSZWplY3Rpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuY2F1Z2h0RXhjZXB0aW9uJywgZXJyKQogICAgfSkKICAgIHByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvcicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgZXJyKQogICAgfSkKfQpjYXRjaChlcnIpe30KCg==");function l(){let l=new g;let m=function(d){try{let l=new Blob([d]),m=window.URL||window.webkitURL;return new Worker(m.createObjectURL(l))}catch(d){Z(d)}}(d);if(!m)return Z("invalid worker"),null;function I(){let d=function(){let d,l,m=new Promise((function(){d=arguments[0],l=arguments[1]}));return m.resolve=d,m.reject=l,m}(),I=function(){let d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,l=[],m="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),I=m.length;for(let Z=0;Z<d;Z++)l[Z]=m[0|Math.random()*I];return l.join("")}(),Z={mode:"call",id:I,fun:"main",input:[...arguments]};return m.postMessage(Z),l.once(I,(l=>{"success"===l.state?d.resolve(l.msg):d.reject(l.msg)})),d}function Z(d){l.emit("error",d)}return m.onmessage=function(d){!function(d){let m=d,I=m.mode;"emit"!==I&&"return"!==I||("emit"===I&&l.emit(m.evName,m.msg),"return"===I&&l.emit(m.id,m))}(d.data)},m.onerror=Z,m.onmessageerror=function(d){Z(d.data)},function(){let d={mode:"init",type:"function",input:[...arguments]};m.postMessage(d)}([...arguments]),l.main=I,l.main=I,l.terminate=function(){m?(m.terminate(),m=void 0):Z("worker has been terminated")},l}n=async function(){let d=[...arguments],m=l();return await m.main(...d).finally((()=>{m.terminate()}))}}();try{process.on("unhandledRejection",(d=>{console.log("outer:unhandledRejection",d)})),process.on("uncaughtException",(d=>{console.log("outer:uncaughtException",d)})),process.on("uncaughtExceptionMonitor",(d=>{console.log("outer:uncaughtExceptionMonitor",d)}))}catch(d){}var t=n;export{t as default};
@@ -1 +1 @@
1
- const I="function"==typeof Buffer,l="function"==typeof TextDecoder?new TextDecoder:void 0,d=("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")),c=(I=>{let l={};return d.forEach(((I,d)=>l[I]=d)),l})(),i=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Z=String.fromCharCode.bind(String),m="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):I=>new Uint8Array(Array.prototype.slice.call(I,0)),X=I=>I.replace(/[^A-Za-z0-9\+\/]/g,""),b=I=>{let l,c,i,Z,m="";const X=I.length%3;for(let X=0;X<I.length;){if((c=I.charCodeAt(X++))>255||(i=I.charCodeAt(X++))>255||(Z=I.charCodeAt(X++))>255)throw new TypeError("invalid character found");l=c<<16|i<<8|Z,m+=d[l>>18&63]+d[l>>12&63]+d[l>>6&63]+d[63&l]}return X?m.slice(0,X-3)+"===".substring(X):m},C=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,y=I=>{switch(I.length){case 4:var l=((7&I.charCodeAt(0))<<18|(63&I.charCodeAt(1))<<12|(63&I.charCodeAt(2))<<6|63&I.charCodeAt(3))-65536;return Z(55296+(l>>>10))+Z(56320+(1023&l));case 3:return Z((15&I.charCodeAt(0))<<12|(63&I.charCodeAt(1))<<6|63&I.charCodeAt(2));default:return Z((31&I.charCodeAt(0))<<6|63&I.charCodeAt(1))}},g=I=>I.replace(C,y),n=I=>{if(I=I.replace(/\s+/g,""),!i.test(I))throw new TypeError("malformed base64.");I+="==".slice(2-(3&I.length));let l,d,m,X="";for(let i=0;i<I.length;)l=c[I.charAt(i++)]<<18|c[I.charAt(i++)]<<12|(d=c[I.charAt(i++)])<<6|(m=c[I.charAt(i++)]),X+=64===d?Z(l>>16&255):64===m?Z(l>>16&255,l>>8&255):Z(l>>16&255,l>>8&255,255&l);return X},t="function"==typeof atob?I=>atob(X(I)):I?I=>Buffer.from(I,"base64").toString("binary"):n,o=I?I=>m(Buffer.from(I,"base64")):I=>m(t(I).split("").map((I=>I.charCodeAt(0)))),W=I?I=>Buffer.from(I,"base64").toString("utf8"):l?I=>l.decode(o(I)):I=>g(t(I)),G=I=>X(I.replace(/[-_]/g,(I=>"-"==I?"+":"/"))),K=I=>W(G(I)),u=K;var p={};!function(I){var l=Object.prototype.hasOwnProperty,d="~";function c(){}function i(I,l,d){this.fn=I,this.context=l,this.once=d||!1}function Z(I,l,c,Z,m){if("function"!=typeof c)throw new TypeError("The listener must be a function");var X=new i(c,Z||I,m),b=d?d+l:l;return I._events[b]?I._events[b].fn?I._events[b]=[I._events[b],X]:I._events[b].push(X):(I._events[b]=X,I._eventsCount++),I}function m(I,l){0==--I._eventsCount?I._events=new c:delete I._events[l]}function X(){this._events=new c,this._eventsCount=0}Object.create&&(c.prototype=Object.create(null),(new c).__proto__||(d=!1)),X.prototype.eventNames=function(){var I,c,i=[];if(0===this._eventsCount)return i;for(c in I=this._events)l.call(I,c)&&i.push(d?c.slice(1):c);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(I)):i},X.prototype.listeners=function(I){var l=d?d+I:I,c=this._events[l];if(!c)return[];if(c.fn)return[c.fn];for(var i=0,Z=c.length,m=new Array(Z);i<Z;i++)m[i]=c[i].fn;return m},X.prototype.listenerCount=function(I){var l=d?d+I:I,c=this._events[l];return c?c.fn?1:c.length:0},X.prototype.emit=function(I,l,c,i,Z,m){var X=d?d+I:I;if(!this._events[X])return!1;var b,C,y=this._events[X],g=arguments.length;if(y.fn){switch(y.once&&this.removeListener(I,y.fn,void 0,!0),g){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,l),!0;case 3:return y.fn.call(y.context,l,c),!0;case 4:return y.fn.call(y.context,l,c,i),!0;case 5:return y.fn.call(y.context,l,c,i,Z),!0;case 6:return y.fn.call(y.context,l,c,i,Z,m),!0}for(C=1,b=new Array(g-1);C<g;C++)b[C-1]=arguments[C];y.fn.apply(y.context,b)}else{var n,t=y.length;for(C=0;C<t;C++)switch(y[C].once&&this.removeListener(I,y[C].fn,void 0,!0),g){case 1:y[C].fn.call(y[C].context);break;case 2:y[C].fn.call(y[C].context,l);break;case 3:y[C].fn.call(y[C].context,l,c);break;case 4:y[C].fn.call(y[C].context,l,c,i);break;default:if(!b)for(n=1,b=new Array(g-1);n<g;n++)b[n-1]=arguments[n];y[C].fn.apply(y[C].context,b)}}return!0},X.prototype.on=function(I,l,d){return Z(this,I,l,d,!1)},X.prototype.once=function(I,l,d){return Z(this,I,l,d,!0)},X.prototype.removeListener=function(I,l,c,i){var Z=d?d+I:I;if(!this._events[Z])return this;if(!l)return m(this,Z),this;var X=this._events[Z];if(X.fn)X.fn!==l||i&&!X.once||c&&X.context!==c||m(this,Z);else{for(var b=0,C=[],y=X.length;b<y;b++)(X[b].fn!==l||i&&!X[b].once||c&&X[b].context!==c)&&C.push(X[b]);C.length?this._events[Z]=1===C.length?C[0]:C:m(this,Z)}return this},X.prototype.removeAllListeners=function(I){var l;return I?(l=d?d+I:I,this._events[l]&&m(this,l)):(this._events=new c,this._eventsCount=0),this},X.prototype.off=X.prototype.removeListener,X.prototype.addListener=X.prototype.on,X.prefixed=d,X.EventEmitter=X,I.exports=X}({get exports(){return p},set exports(I){p=I}});var e=p;let J;!function(){if("browser"!==("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let I=u("CgoKInVzZSBzdHJpY3QiO3ZhciB0PUFycmF5LmlzQXJyYXkscj0ib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWwsZT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG49cnx8ZXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxvPW4uU3ltYm9sLHU9T2JqZWN0LnByb3RvdHlwZSxjPXUuaGFzT3duUHJvcGVydHksYT11LnRvU3RyaW5nLGk9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDt2YXIgZj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBsPSJbb2JqZWN0IE51bGxdIixzPSJbb2JqZWN0IFVuZGVmaW5lZF0iLHA9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDtmdW5jdGlvbiBiKHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/czpsOnAmJnAgaW4gT2JqZWN0KHQpP2Z1bmN0aW9uKHQpe3ZhciByPWMuY2FsbCh0LGkpLGU9dFtpXTt0cnl7dFtpXT12b2lkIDA7dmFyIG49ITB9Y2F0Y2godCl7fXZhciBvPWEuY2FsbCh0KTtyZXR1cm4gbiYmKHI/dFtpXT1lOmRlbGV0ZSB0W2ldKSxvfSh0KTpmdW5jdGlvbih0KXtyZXR1cm4gZi5jYWxsKHQpfSh0KX1mdW5jdGlvbiB5KHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9dmFyIHY9IltvYmplY3QgU3ltYm9sXSI7ZnVuY3Rpb24gaCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fHkodCkmJmIodCk9PXZ9dmFyIGo9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8sZD0vXlx3KiQvO2Z1bmN0aW9uIF8odCl7dmFyIHI9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09cnx8ImZ1bmN0aW9uIj09cil9dmFyIGc9IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLE89IltvYmplY3QgRnVuY3Rpb25dIix3PSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsbT0iW29iamVjdCBQcm94eV0iO2Z1bmN0aW9uIEEodCl7aWYoIV8odCkpcmV0dXJuITE7dmFyIHI9Yih0KTtyZXR1cm4gcj09T3x8cj09d3x8cj09Z3x8cj09bX12YXIgeCxTPW5bIl9fY29yZS1qc19zaGFyZWRfXyJdLHo9KHg9L1teLl0rJC8uZXhlYyhTJiZTLmtleXMmJlMua2V5cy5JRV9QUk9UT3x8IiIpKT8iU3ltYm9sKHNyYylfMS4iK3g6IiI7dmFyIFA9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIEkodCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiBQLmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifXZhciBFPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLEY9RnVuY3Rpb24ucHJvdG90eXBlLFU9T2JqZWN0LnByb3RvdHlwZSxNPUYudG9TdHJpbmcsJD1VLmhhc093blByb3BlcnR5LEI9UmVnRXhwKCJeIitNLmNhbGwoJCkucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7ZnVuY3Rpb24gVCh0KXtyZXR1cm4hKCFfKHQpfHwocj10LHomJnogaW4gcikpJiYoQSh0KT9COkUpLnRlc3QoSSh0KSk7dmFyIHJ9ZnVuY3Rpb24gayh0LHIpe3ZhciBlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbcl19KHQscik7cmV0dXJuIFQoZSk/ZTp2b2lkIDB9dmFyIEM9ayhPYmplY3QsImNyZWF0ZSIpO3ZhciBEPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIE49T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBSKHQpe3ZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytyPGU7KXt2YXIgbj10W3JdO3RoaXMuc2V0KG5bMF0sblsxXSl9fWZ1bmN0aW9uIFYodCxyKXtyZXR1cm4gdD09PXJ8fHQhPXQmJnIhPXJ9ZnVuY3Rpb24gVyh0LHIpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS07KWlmKFYodFtlXVswXSxyKSlyZXR1cm4gZTtyZXR1cm4tMX1SLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189Qz9DKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxSLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5oYXModCkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW3RdO3JldHVybiB0aGlzLnNpemUtPXI/MTowLHJ9LFIucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKEMpe3ZhciBlPXJbdF07cmV0dXJuIl9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iPT09ZT92b2lkIDA6ZX1yZXR1cm4gRC5jYWxsKHIsdCk/clt0XTp2b2lkIDB9LFIucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiBDP3ZvaWQgMCE9PXJbdF06Ti5jYWxsKHIsdCl9LFIucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLGVbdF09QyYmdm9pZCAwPT09cj8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6cix0aGlzfTt2YXIgTD1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2Z1bmN0aW9uIHEodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19cS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVtdLHRoaXMuc2l6ZT0wfSxxLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPVcocix0KTtyZXR1cm4hKGU8MCkmJihlPT1yLmxlbmd0aC0xP3IucG9wKCk6TC5jYWxsKHIsZSwxKSwtLXRoaXMuc2l6ZSwhMCl9LHEucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fLGU9VyhyLHQpO3JldHVybiBlPDA/dm9pZCAwOnJbZV1bMV19LHEucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gVyh0aGlzLl9fZGF0YV9fLHQpPi0xfSxxLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fLG49VyhlLHQpO3JldHVybiBuPDA/KCsrdGhpcy5zaXplLGUucHVzaChbdCxyXSkpOmVbbl1bMV09cix0aGlzfTt2YXIgRz1rKG4sIk1hcCIpO2Z1bmN0aW9uIEsodCxyKXt2YXIgZSxuLG89dC5fX2RhdGFfXztyZXR1cm4oInN0cmluZyI9PShuPXR5cGVvZihlPXIpKXx8Im51bWJlciI9PW58fCJzeW1ib2wiPT1ufHwiYm9vbGVhbiI9PW4/Il9fcHJvdG9fXyIhPT1lOm51bGw9PT1lKT9vWyJzdHJpbmciPT10eXBlb2Ygcj8ic3RyaW5nIjoiaGFzaCJdOm8ubWFwfWZ1bmN0aW9uIEgodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19SC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBSLG1hcDpuZXcoR3x8cSksc3RyaW5nOm5ldyBSfX0sSC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPUsodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09cj8xOjAscn0sSC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBLKHRoaXMsdCkuZ2V0KHQpfSxILnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIEsodGhpcyx0KS5oYXModCl9LEgucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPUsodGhpcyx0KSxuPWUuc2l6ZTtyZXR1cm4gZS5zZXQodCxyKSx0aGlzLnNpemUrPWUuc2l6ZT09bj8wOjEsdGhpc307dmFyIEo9IkV4cGVjdGVkIGEgZnVuY3Rpb24iO2Z1bmN0aW9uIFEodCxyKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcihKKTt2YXIgZT1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyxvPXI/ci5hcHBseSh0aGlzLG4pOm5bMF0sdT1lLmNhY2hlO2lmKHUuaGFzKG8pKXJldHVybiB1LmdldChvKTt2YXIgYz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIGUuY2FjaGU9dS5zZXQobyxjKXx8dSxjfTtyZXR1cm4gZS5jYWNoZT1uZXcoUS5DYWNoZXx8SCksZX1RLkNhY2hlPUg7dmFyIFgsWSxaLHR0PS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLHJ0PS9cXChcXCk/L2csZXQ9KFg9ZnVuY3Rpb24odCl7dmFyIHI9W107cmV0dXJuIDQ2PT09dC5jaGFyQ29kZUF0KDApJiZyLnB1c2goIiIpLHQucmVwbGFjZSh0dCwoZnVuY3Rpb24odCxlLG4sbyl7ci5wdXNoKG4/by5yZXBsYWNlKHJ0LCIkMSIpOmV8fHQpfSkpLHJ9LFk9UShYLChmdW5jdGlvbih0KXtyZXR1cm4gNTAwPT09Wi5zaXplJiZaLmNsZWFyKCksdH0pKSxaPVkuY2FjaGUsWSksbnQ9ZXQ7dmFyIG90PTEvMCx1dD1vP28ucHJvdG90eXBlOnZvaWQgMCxjdD11dD91dC50b1N0cmluZzp2b2lkIDA7ZnVuY3Rpb24gYXQocil7aWYoInN0cmluZyI9PXR5cGVvZiByKXJldHVybiByO2lmKHQocikpcmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLG89QXJyYXkobik7KytlPG47KW9bZV09cih0W2VdLGUsdCk7cmV0dXJuIG99KHIsYXQpKyIiO2lmKGgocikpcmV0dXJuIGN0P2N0LmNhbGwocik6IiI7dmFyIGU9cisiIjtyZXR1cm4iMCI9PWUmJjEvcj09LW90PyItMCI6ZX1mdW5jdGlvbiBpdChyLGUpe3JldHVybiB0KHIpP3I6ZnVuY3Rpb24ocixlKXtpZih0KHIpKXJldHVybiExO3ZhciBuPXR5cGVvZiByO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPXImJiFoKHIpKXx8ZC50ZXN0KHIpfHwhai50ZXN0KHIpfHxudWxsIT1lJiZyIGluIE9iamVjdChlKX0ocixlKT9bcl06bnQoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/IiI6YXQodCl9KHIpKX12YXIgZnQ9MS8wO2Z1bmN0aW9uIGx0KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdHx8aCh0KSlyZXR1cm4gdDt2YXIgcj10KyIiO3JldHVybiIwIj09ciYmMS90PT0tZnQ/Ii0wIjpyfWZ1bmN0aW9uIHN0KHQscixlKXt2YXIgbj1udWxsPT10P3ZvaWQgMDpmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT0wLG49KHI9aXQocix0KSkubGVuZ3RoO251bGwhPXQmJmU8bjspdD10W2x0KHJbZSsrXSldO3JldHVybiBlJiZlPT1uP3Q6dm9pZCAwfSh0LHIpO3JldHVybiB2b2lkIDA9PT1uP2U6bn12YXIgcHQ9T2JqZWN0LnByb3RvdHlwZTtmdW5jdGlvbiBidCh0KXt2YXIgcj10JiZ0LmNvbnN0cnVjdG9yO3JldHVybiB0PT09KCJmdW5jdGlvbiI9PXR5cGVvZiByJiZyLnByb3RvdHlwZXx8cHQpfWZ1bmN0aW9uIHl0KHQscil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KHIoZSkpfX12YXIgdnQ9eXQoT2JqZWN0LmtleXMsT2JqZWN0KSxodD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGp0KHQpe2lmKCFidCh0KSlyZXR1cm4gdnQodCk7dmFyIHI9W107Zm9yKHZhciBlIGluIE9iamVjdCh0KSlodC5jYWxsKHQsZSkmJiJjb25zdHJ1Y3RvciIhPWUmJnIucHVzaChlKTtyZXR1cm4gcn12YXIgZHQ9ayhuLCJEYXRhVmlldyIpLF90PWsobiwiUHJvbWlzZSIpLGd0PWsobiwiU2V0IiksT3Q9ayhuLCJXZWFrTWFwIiksd3Q9IltvYmplY3QgTWFwXSIsbXQ9IltvYmplY3QgUHJvbWlzZV0iLEF0PSJbb2JqZWN0IFNldF0iLHh0PSJbb2JqZWN0IFdlYWtNYXBdIixTdD0iW29iamVjdCBEYXRhVmlld10iLHp0PUkoZHQpLFB0PUkoRyksSXQ9SShfdCksRXQ9SShndCksRnQ9SShPdCksVXQ9YjsoZHQmJlV0KG5ldyBkdChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9U3R8fEcmJlV0KG5ldyBHKSE9d3R8fF90JiZVdChfdC5yZXNvbHZlKCkpIT1tdHx8Z3QmJlV0KG5ldyBndCkhPUF0fHxPdCYmVXQobmV3IE90KSE9eHQpJiYoVXQ9ZnVuY3Rpb24odCl7dmFyIHI9Yih0KSxlPSJbb2JqZWN0IE9iamVjdF0iPT1yP3QuY29uc3RydWN0b3I6dm9pZCAwLG49ZT9JKGUpOiIiO2lmKG4pc3dpdGNoKG4pe2Nhc2UgenQ6cmV0dXJuIFN0O2Nhc2UgUHQ6cmV0dXJuIHd0O2Nhc2UgSXQ6cmV0dXJuIG10O2Nhc2UgRXQ6cmV0dXJuIEF0O2Nhc2UgRnQ6cmV0dXJuIHh0fXJldHVybiByfSk7dmFyIE10PVV0LCR0PTkwMDcxOTkyNTQ3NDA5OTE7ZnVuY3Rpb24gQnQodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PSR0fWZ1bmN0aW9uIFR0KHQpe3JldHVybiBudWxsIT10JiZCdCh0Lmxlbmd0aCkmJiFBKHQpfXZhciBrdD0iW29iamVjdCBTdHJpbmddIjt2YXIgQ3QsRHQ9KEN0PSJsZW5ndGgiLGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W0N0XX0pLE50PVJlZ0V4cCgiW1xcdTIwMGRcXHVkODAwLVxcdWRmZmZcXHUwMzAwLVxcdTAzNmZcXHVmZTIwLVxcdWZlMmZcXHUyMGQwLVxcdTIwZmZcXHVmZTBlXFx1ZmUwZl0iKTt2YXIgUnQ9IlxcdWQ4MDAtXFx1ZGZmZiIsVnQ9IlsiK1J0KyJdIixXdD0iW1xcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZl0iLEx0PSJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0iLHF0PSJbXiIrUnQrIl0iLEd0PSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixLdD0iW1xcdWQ4MDAtXFx1ZGJmZl1bXFx1ZGMwMC1cXHVkZmZmXSIsSHQ9Iig/OiIrV3QrInwiK0x0KyIpIisiPyIsSnQ9IltcXHVmZTBlXFx1ZmUwZl0/IixRdD1KdCtIdCsoIig/OlxcdTIwMGQoPzoiK1txdCxHdCxLdF0uam9pbigifCIpKyIpIitKdCtIdCsiKSoiKSxYdD0iKD86IitbcXQrV3QrIj8iLFd0LEd0LEt0LFZ0XS5qb2luKCJ8IikrIikiLFl0PVJlZ0V4cChMdCsiKD89IitMdCsiKXwiK1h0K1F0LCJnIik7ZnVuY3Rpb24gWnQodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBOdC50ZXN0KHQpfSh0KT9mdW5jdGlvbih0KXtmb3IodmFyIHI9WXQubGFzdEluZGV4PTA7WXQudGVzdCh0KTspKytyO3JldHVybiByfSh0KTpEdCh0KX12YXIgdHI9IltvYmplY3QgTWFwXSIscnI9IltvYmplY3QgU2V0XSI7ZnVuY3Rpb24gZXIocil7aWYobnVsbD09cilyZXR1cm4gMDtpZihUdChyKSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mKGU9cil8fCF0KGUpJiZ5KGUpJiZiKGUpPT1rdD9adChyKTpyLmxlbmd0aDt2YXIgZSxuPU10KHIpO3JldHVybiBuPT10cnx8bj09cnI/ci5zaXplOmp0KHIpLmxlbmd0aH12YXIgbnI9TWF0aC5jZWlsLG9yPU1hdGgubWF4O3ZhciB1cj05MDA3MTk5MjU0NzQwOTkxLGNyPS9eKD86MHxbMS05XVxkKikkLztmdW5jdGlvbiBhcih0LHIpe3ZhciBlPXR5cGVvZiB0O3JldHVybiEhKHI9bnVsbD09cj91cjpyKSYmKCJudW1iZXIiPT1lfHwic3ltYm9sIiE9ZSYmY3IudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxyfXZhciBpcj0vXHMvO3ZhciBmcj0vXlxzKy87ZnVuY3Rpb24gbHIodCl7cmV0dXJuIHQ/dC5zbGljZSgwLGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aDtyLS0mJmlyLnRlc3QodC5jaGFyQXQocikpOyk7cmV0dXJuIHJ9KHQpKzEpLnJlcGxhY2UoZnIsIiIpOnR9dmFyIHNyPU5hTixwcj0vXlstK10weFswLTlhLWZdKyQvaSxicj0vXjBiWzAxXSskL2kseXI9L14wb1swLTddKyQvaSx2cj1wYXJzZUludDt2YXIgaHI9MS8wLGpyPTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MjtmdW5jdGlvbiBkcih0KXtyZXR1cm4gdD8odD1mdW5jdGlvbih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoaCh0KSlyZXR1cm4gc3I7aWYoXyh0KSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9XyhyKT9yKyIiOnJ9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9bHIodCk7dmFyIGU9YnIudGVzdCh0KTtyZXR1cm4gZXx8eXIudGVzdCh0KT92cih0LnNsaWNlKDIpLGU/Mjo4KTpwci50ZXN0KHQpP3NyOit0fSh0KSk9PT1ocnx8dD09PS1ocj8odDwwPy0xOjEpKmpyOnQ9PXQ/dDowOjA9PT10P3Q6MH12YXIgX3IsZ3I9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBlJiYibnVtYmVyIiE9dHlwZW9mIGUmJmZ1bmN0aW9uKHQscixlKXtpZighXyhlKSlyZXR1cm4hMTt2YXIgbj10eXBlb2YgcjtyZXR1cm4hISgibnVtYmVyIj09bj9UdChlKSYmYXIocixlLmxlbmd0aCk6InN0cmluZyI9PW4mJnIgaW4gZSkmJlYoZVtyXSx0KX0odCxyLGUpJiYocj1lPXZvaWQgMCksdD1kcih0KSx2b2lkIDA9PT1yPyhyPXQsdD0wKTpyPWRyKHIpLGZ1bmN0aW9uKHQscixlLG4pe2Zvcih2YXIgbz0tMSx1PW9yKG5yKChyLXQpLyhlfHwxKSksMCksYz1BcnJheSh1KTt1LS07KWNbbj91Oisrb109dCx0Kz1lO3JldHVybiBjfSh0LHIsZT12b2lkIDA9PT1lP3Q8cj8xOi0xOmRyKGUpLF9yKX0sT3I9Z3I7ZnVuY3Rpb24gd3IodCl7dmFyIHI9dGhpcy5fX2RhdGFfXz1uZXcgcSh0KTt0aGlzLnNpemU9ci5zaXplfXdyLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189bmV3IHEsdGhpcy5zaXplPTB9LHdyLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPXIuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemU9ci5zaXplLGV9LHdyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uZ2V0KHQpfSx3ci5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX0sd3IucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMuX19kYXRhX187aWYoZSBpbnN0YW5jZW9mIHEpe3ZhciBuPWUuX19kYXRhX187aWYoIUd8fG4ubGVuZ3RoPDE5OSlyZXR1cm4gbi5wdXNoKFt0LHJdKSx0aGlzLnNpemU9KytlLnNpemUsdGhpcztlPXRoaXMuX19kYXRhX189bmV3IEgobil9cmV0dXJuIGUuc2V0KHQsciksdGhpcy5zaXplPWUuc2l6ZSx0aGlzfTt2YXIgbXI9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ayhPYmplY3QsImRlZmluZVByb3BlcnR5Iik7cmV0dXJuIHQoe30sIiIse30pLHR9Y2F0Y2godCl7fX0oKSxBcj1tcjtmdW5jdGlvbiB4cih0LHIsZSl7Il9fcHJvdG9fXyI9PXImJkFyP0FyKHQscix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZSx3cml0YWJsZTohMH0pOnRbcl09ZX12YXIgU3I9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB6cih0LHIsZSl7dmFyIG49dFtyXTtTci5jYWxsKHQscikmJlYobixlKSYmKHZvaWQgMCE9PWV8fHIgaW4gdCl8fHhyKHQscixlKX1mdW5jdGlvbiBQcih0LHIsZSxuKXt2YXIgbz0hZTtlfHwoZT17fSk7Zm9yKHZhciB1PS0xLGM9ci5sZW5ndGg7Kyt1PGM7KXt2YXIgYT1yW3VdLGk9bj9uKGVbYV0sdFthXSxhLGUsdCk6dm9pZCAwO3ZvaWQgMD09PWkmJihpPXRbYV0pLG8/eHIoZSxhLGkpOnpyKGUsYSxpKX1yZXR1cm4gZX1mdW5jdGlvbiBJcih0KXtyZXR1cm4geSh0KSYmIltvYmplY3QgQXJndW1lbnRzXSI9PWIodCl9dmFyIEVyPU9iamVjdC5wcm90b3R5cGUsRnI9RXIuaGFzT3duUHJvcGVydHksVXI9RXIucHJvcGVydHlJc0VudW1lcmFibGUsTXI9SXIoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9JcjpmdW5jdGlvbih0KXtyZXR1cm4geSh0KSYmRnIuY2FsbCh0LCJjYWxsZWUiKSYmIVVyLmNhbGwodCwiY2FsbGVlIil9O3ZhciAkcj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLEJyPSRyJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsVHI9QnImJkJyLmV4cG9ydHM9PT0kcj9uLkJ1ZmZlcjp2b2lkIDAsa3I9KFRyP1RyLmlzQnVmZmVyOnZvaWQgMCl8fGZ1bmN0aW9uKCl7cmV0dXJuITF9LENyPXt9O2Z1bmN0aW9uIERyKHQpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChyKX19Q3JbIltvYmplY3QgRmxvYXQzMkFycmF5XSJdPUNyWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1DclsiW29iamVjdCBJbnQ4QXJyYXldIl09Q3JbIltvYmplY3QgSW50MTZBcnJheV0iXT1DclsiW29iamVjdCBJbnQzMkFycmF5XSJdPUNyWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09Q3JbIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIl09Q3JbIltvYmplY3QgVWludDE2QXJyYXldIl09Q3JbIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsQ3JbIltvYmplY3QgQXJndW1lbnRzXSJdPUNyWyJbb2JqZWN0IEFycmF5XSJdPUNyWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPUNyWyJbb2JqZWN0IEJvb2xlYW5dIl09Q3JbIltvYmplY3QgRGF0YVZpZXddIl09Q3JbIltvYmplY3QgRGF0ZV0iXT1DclsiW29iamVjdCBFcnJvcl0iXT1DclsiW29iamVjdCBGdW5jdGlvbl0iXT1DclsiW29iamVjdCBNYXBdIl09Q3JbIltvYmplY3QgTnVtYmVyXSJdPUNyWyJbb2JqZWN0IE9iamVjdF0iXT1DclsiW29iamVjdCBSZWdFeHBdIl09Q3JbIltvYmplY3QgU2V0XSJdPUNyWyJbb2JqZWN0IFN0cmluZ10iXT1DclsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBOcj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLFJyPU5yJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsVnI9UnImJlJyLmV4cG9ydHM9PT1OciYmci5wcm9jZXNzLFdyPWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PVJyJiZSci5yZXF1aXJlJiZSci5yZXF1aXJlKCJ1dGlsIikudHlwZXM7cmV0dXJuIHR8fFZyJiZWci5iaW5kaW5nJiZWci5iaW5kaW5nKCJ1dGlsIil9Y2F0Y2godCl7fX0oKSxMcj1XciYmV3IuaXNUeXBlZEFycmF5LHFyPUxyP0RyKExyKTpmdW5jdGlvbih0KXtyZXR1cm4geSh0KSYmQnQodC5sZW5ndGgpJiYhIUNyW2IodCldfSxHcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIEtyKHIsZSl7dmFyIG49dChyKSxvPSFuJiZNcihyKSx1PSFuJiYhbyYma3IociksYz0hbiYmIW8mJiF1JiZxcihyKSxhPW58fG98fHV8fGMsaT1hP2Z1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49QXJyYXkodCk7KytlPHQ7KW5bZV09cihlKTtyZXR1cm4gbn0oci5sZW5ndGgsU3RyaW5nKTpbXSxmPWkubGVuZ3RoO2Zvcih2YXIgbCBpbiByKSFlJiYhR3IuY2FsbChyLGwpfHxhJiYoImxlbmd0aCI9PWx8fHUmJigib2Zmc2V0Ij09bHx8InBhcmVudCI9PWwpfHxjJiYoImJ1ZmZlciI9PWx8fCJieXRlTGVuZ3RoIj09bHx8ImJ5dGVPZmZzZXQiPT1sKXx8YXIobCxmKSl8fGkucHVzaChsKTtyZXR1cm4gaX1mdW5jdGlvbiBIcih0KXtyZXR1cm4gVHQodCk/S3IodCk6anQodCl9dmFyIEpyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gUXIodCl7aWYoIV8odCkpcmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPVtdO2lmKG51bGwhPXQpZm9yKHZhciBlIGluIE9iamVjdCh0KSlyLnB1c2goZSk7cmV0dXJuIHJ9KHQpO3ZhciByPWJ0KHQpLGU9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFyJiZKci5jYWxsKHQsbikpJiZlLnB1c2gobik7cmV0dXJuIGV9ZnVuY3Rpb24gWHIodCl7cmV0dXJuIFR0KHQpP0tyKHQsITApOlFyKHQpfXZhciBZcj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLFpyPVlyJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsdGU9WnImJlpyLmV4cG9ydHM9PT1Zcj9uLkJ1ZmZlcjp2b2lkIDAscmU9dGU/dGUuYWxsb2NVbnNhZmU6dm9pZCAwO2Z1bmN0aW9uIGVlKCl7cmV0dXJuW119dmFyIG5lPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsb2U9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyx1ZT1vZT9mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9bXToodD1PYmplY3QodCksZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsbz0wLHU9W107KytlPG47KXt2YXIgYz10W2VdO3IoYyxlLHQpJiYodVtvKytdPWMpfXJldHVybiB1fShvZSh0KSwoZnVuY3Rpb24ocil7cmV0dXJuIG5lLmNhbGwodCxyKX0pKSl9OmVlLGNlPXVlO2Z1bmN0aW9uIGFlKHQscil7Zm9yKHZhciBlPS0xLG49ci5sZW5ndGgsbz10Lmxlbmd0aDsrK2U8bjspdFtvK2VdPXJbZV07cmV0dXJuIHR9dmFyIGllPXl0KE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLGZlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdO3Q7KWFlKHIsY2UodCkpLHQ9aWUodCk7cmV0dXJuIHJ9OmVlLGxlPWZlO2Z1bmN0aW9uIHNlKHIsZSxuKXt2YXIgbz1lKHIpO3JldHVybiB0KHIpP286YWUobyxuKHIpKX1mdW5jdGlvbiBwZSh0KXtyZXR1cm4gc2UodCxIcixjZSl9ZnVuY3Rpb24gYmUodCl7cmV0dXJuIHNlKHQsWHIsbGUpfXZhciB5ZT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciB2ZT1uLlVpbnQ4QXJyYXk7ZnVuY3Rpb24gaGUodCl7dmFyIHI9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IHZlKHIpLnNldChuZXcgdmUodCkpLHJ9dmFyIGplPS9cdyokLzt2YXIgZGU9bz9vLnByb3RvdHlwZTp2b2lkIDAsX2U9ZGU/ZGUudmFsdWVPZjp2b2lkIDA7dmFyIGdlPSJbb2JqZWN0IEJvb2xlYW5dIixPZT0iW29iamVjdCBEYXRlXSIsd2U9IltvYmplY3QgTWFwXSIsbWU9IltvYmplY3QgTnVtYmVyXSIsQWU9IltvYmplY3QgUmVnRXhwXSIseGU9IltvYmplY3QgU2V0XSIsU2U9IltvYmplY3QgU3RyaW5nXSIsemU9IltvYmplY3QgU3ltYm9sXSIsUGU9IltvYmplY3QgQXJyYXlCdWZmZXJdIixJZT0iW29iamVjdCBEYXRhVmlld10iLEVlPSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iLEZlPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLFVlPSJbb2JqZWN0IEludDhBcnJheV0iLE1lPSJbb2JqZWN0IEludDE2QXJyYXldIiwkZT0iW29iamVjdCBJbnQzMkFycmF5XSIsQmU9IltvYmplY3QgVWludDhBcnJheV0iLFRlPSJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSIsa2U9IltvYmplY3QgVWludDE2QXJyYXldIixDZT0iW29iamVjdCBVaW50MzJBcnJheV0iO2Z1bmN0aW9uIERlKHQscixlKXt2YXIgbixvPXQuY29uc3RydWN0b3I7c3dpdGNoKHIpe2Nhc2UgUGU6cmV0dXJuIGhlKHQpO2Nhc2UgZ2U6Y2FzZSBPZTpyZXR1cm4gbmV3IG8oK3QpO2Nhc2UgSWU6cmV0dXJuIGZ1bmN0aW9uKHQscil7dmFyIGU9cj9oZSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKGUsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9KHQsZSk7Y2FzZSBFZTpjYXNlIEZlOmNhc2UgVWU6Y2FzZSBNZTpjYXNlICRlOmNhc2UgQmU6Y2FzZSBUZTpjYXNlIGtlOmNhc2UgQ2U6cmV0dXJuIGZ1bmN0aW9uKHQscil7dmFyIGU9cj9oZSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKGUsdC5ieXRlT2Zmc2V0LHQubGVuZ3RoKX0odCxlKTtjYXNlIHdlOnJldHVybiBuZXcgbztjYXNlIG1lOmNhc2UgU2U6cmV0dXJuIG5ldyBvKHQpO2Nhc2UgQWU6cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLGplLmV4ZWModCkpO3JldHVybiByLmxhc3RJbmRleD10Lmxhc3RJbmRleCxyfSh0KTtjYXNlIHhlOnJldHVybiBuZXcgbztjYXNlIHplOnJldHVybiBuPXQsX2U/T2JqZWN0KF9lLmNhbGwobikpOnt9fX12YXIgTmU9T2JqZWN0LmNyZWF0ZSxSZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIGZ1bmN0aW9uKHIpe2lmKCFfKHIpKXJldHVybnt9O2lmKE5lKXJldHVybiBOZShyKTt0LnByb3RvdHlwZT1yO3ZhciBlPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAsZX19KCksVmU9UmU7dmFyIFdlPVdyJiZXci5pc01hcCxMZT1XZT9EcihXZSk6ZnVuY3Rpb24odCl7cmV0dXJuIHkodCkmJiJbb2JqZWN0IE1hcF0iPT1NdCh0KX07dmFyIHFlPVdyJiZXci5pc1NldCxHZT1xZT9EcihxZSk6ZnVuY3Rpb24odCl7cmV0dXJuIHkodCkmJiJbb2JqZWN0IFNldF0iPT1NdCh0KX0sS2U9MSxIZT0yLEplPTQsUWU9IltvYmplY3QgQXJndW1lbnRzXSIsWGU9IltvYmplY3QgRnVuY3Rpb25dIixZZT0iW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iLFplPSJbb2JqZWN0IE9iamVjdF0iLHRuPXt9O2Z1bmN0aW9uIHJuKHIsZSxuLG8sdSxjKXt2YXIgYSxpPWUmS2UsZj1lJkhlLGw9ZSZKZTtpZihuJiYoYT11P24ocixvLHUsYyk6bihyKSksdm9pZCAwIT09YSlyZXR1cm4gYTtpZighXyhyKSlyZXR1cm4gcjt2YXIgcz10KHIpO2lmKHMpe2lmKGE9ZnVuY3Rpb24odCl7dmFyIHI9dC5sZW5ndGgsZT1uZXcgdC5jb25zdHJ1Y3RvcihyKTtyZXR1cm4gciYmInN0cmluZyI9PXR5cGVvZiB0WzBdJiZ5ZS5jYWxsKHQsImluZGV4IikmJihlLmluZGV4PXQuaW5kZXgsZS5pbnB1dD10LmlucHV0KSxlfShyKSwhaSlyZXR1cm4gZnVuY3Rpb24odCxyKXt2YXIgZT0tMSxuPXQubGVuZ3RoO2ZvcihyfHwocj1BcnJheShuKSk7KytlPG47KXJbZV09dFtlXTtyZXR1cm4gcn0ocixhKX1lbHNle3ZhciBwPU10KHIpLGI9cD09WGV8fHA9PVllO2lmKGtyKHIpKXJldHVybiBmdW5jdGlvbih0LHIpe2lmKHIpcmV0dXJuIHQuc2xpY2UoKTt2YXIgZT10Lmxlbmd0aCxuPXJlP3JlKGUpOm5ldyB0LmNvbnN0cnVjdG9yKGUpO3JldHVybiB0LmNvcHkobiksbn0ocixpKTtpZihwPT1aZXx8cD09UWV8fGImJiF1KXtpZihhPWZ8fGI/e306ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fGJ0KHQpP3t9OlZlKGllKHQpKX0ociksIWkpcmV0dXJuIGY/ZnVuY3Rpb24odCxyKXtyZXR1cm4gUHIodCxsZSh0KSxyKX0ocixmdW5jdGlvbih0LHIpe3JldHVybiB0JiZQcihyLFhyKHIpLHQpfShhLHIpKTpmdW5jdGlvbih0LHIpe3JldHVybiBQcih0LGNlKHQpLHIpfShyLGZ1bmN0aW9uKHQscil7cmV0dXJuIHQmJlByKHIsSHIociksdCl9KGEscikpfWVsc2V7aWYoIXRuW3BdKXJldHVybiB1P3I6e307YT1EZShyLHAsaSl9fWN8fChjPW5ldyB3cik7dmFyIHk9Yy5nZXQocik7aWYoeSlyZXR1cm4geTtjLnNldChyLGEpLEdlKHIpP3IuZm9yRWFjaCgoZnVuY3Rpb24odCl7YS5hZGQocm4odCxlLG4sdCxyLGMpKX0pKTpMZShyKSYmci5mb3JFYWNoKChmdW5jdGlvbih0LG8pe2Euc2V0KG8scm4odCxlLG4sbyxyLGMpKX0pKTt2YXIgdj1zP3ZvaWQgMDoobD9mP2JlOnBlOmY/WHI6SHIpKHIpO3JldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK2U8biYmITEhPT1yKHRbZV0sZSx0KTspO30odnx8ciwoZnVuY3Rpb24odCxvKXt2JiYodD1yW289dF0pLHpyKGEsbyxybih0LGUsbixvLHIsYykpfSkpLGF9dG5bUWVdPXRuWyJbb2JqZWN0IEFycmF5XSJdPXRuWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPXRuWyJbb2JqZWN0IERhdGFWaWV3XSJdPXRuWyJbb2JqZWN0IEJvb2xlYW5dIl09dG5bIltvYmplY3QgRGF0ZV0iXT10blsiW29iamVjdCBGbG9hdDMyQXJyYXldIl09dG5bIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdPXRuWyJbb2JqZWN0IEludDhBcnJheV0iXT10blsiW29iamVjdCBJbnQxNkFycmF5XSJdPXRuWyJbb2JqZWN0IEludDMyQXJyYXldIl09dG5bIltvYmplY3QgTWFwXSJdPXRuWyJbb2JqZWN0IE51bWJlcl0iXT10bltaZV09dG5bIltvYmplY3QgUmVnRXhwXSJdPXRuWyJbb2JqZWN0IFNldF0iXT10blsiW29iamVjdCBTdHJpbmddIl09dG5bIltvYmplY3QgU3ltYm9sXSJdPXRuWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09dG5bIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIl09dG5bIltvYmplY3QgVWludDE2QXJyYXldIl09dG5bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsdG5bIltvYmplY3QgRXJyb3JdIl09dG5bWGVdPXRuWyJbb2JqZWN0IFdlYWtNYXBdIl09ITE7dmFyIGVuPTEsbm49NDtmdW5jdGlvbiBvbih0KXtyZXR1cm4gcm4odCxlbnxubil9ZnVuY3Rpb24gdW4odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBjbih0KXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX12YXIgYW49IltvYmplY3QgQm9vbGVhbl0iO2Z1bmN0aW9uIGZuKHQpe3JldHVybiEwPT09KHI9dCl8fCExPT09cnx8eShyKSYmYihyKT09YW47dmFyIHJ9ZnVuY3Rpb24gbG4odCxyPW51bGwsZT17fSl7QShyKXx8KHI9dD0+dCk7bGV0IG49c3QoZSwiZm9yY2UiLCExKTtyZXR1cm4gZm4obil8fChuPSExKSxmdW5jdGlvbih0LHIsZT0hMSl7bGV0IG49W107aWYoIXVuKHQpJiYhY24odCkpcmV0dXJuIHIodCxudWxsLFtdKTtmdW5jdGlvbiBvKHQpe2lmKHVuKHQpKXJldHVybiBPcihlcih0KSk7aWYoY24odCkpe2xldCByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLG49bnVsbDtyZXR1cm4gZSYmKG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KSksdW4ocil8fChyPVtdKSx1bihuKXx8KG49W10pLFsuLi5yLC4uLm5dfXJldHVybiB0fXJldHVybiBmdW5jdGlvbiB0KGUsdSl7aWYodW4oZSkpcmV0dXJuIG8oZSkubWFwKChvPT57bGV0IHU9ZVtvXSxjPW9uKG4pO3JldHVybiBuLnB1c2gobyksdT1yKHUsbyxjKSx1PXQodSksbi5wb3AoKSx1fSkpO2lmKGNuKGUpKXtsZXQgdT1vKGUpLGM9e307cmV0dXJuIHUubWFwKChvPT57bGV0IHU9ZVtvXSxhPW9uKG4pO24ucHVzaChvKSx1PXIodSxvLGEpLHU9dCh1KSxuLnBvcCgpLGNbb109dX0pKSxjfXJldHVybiBlfSh0KX0odCxyLG4pfWZ1bmN0aW9uIHNuKHQpe3JldHVybiEoIWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IFN0cmluZ10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSh0KXx8IiI9PT10KX1mdW5jdGlvbiBwbih0LHI9e30pe2lmKHVuKHQpKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuW119ZWxzZXtpZighY24odCkpcmV0dXJuW107aWYoZnVuY3Rpb24odCl7aWYoY24odCkpe2ZvcihsZXQgciBpbiB0KXJldHVybiExO3JldHVybiEwfXJldHVybiExfSh0KSlyZXR1cm5bXX1sZXQgZT1zdChyLCJiaW5kS2V5IixudWxsKTtzbihlKXx8KGU9ImlkIik7bGV0IG49c3QociwiYmluZENoaWxkcmVuIixudWxsKTtzbihuKXx8KG49ImNoaWxkcmVuIik7bGV0IG89ITE7Y24odCkmJihvPSEwLHQ9W3RdKTtsZXQgdT1bXTtyZXR1cm4gbG4odCwoKHQscixvKT0+e2xldCBjPXN0KHQsZSxudWxsKSxhPXN0KHQsbixudWxsKTtpZihjKXtsZXQgZT1mdW5jdGlvbih0KXtsZXQgcj1bdFswXV07Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspe2xldCBvPXRbZV07ci5wdXNoKG4pLHIucHVzaChvKX1yZXR1cm4gcn0oWy4uLm8scl0pO2lmKHUucHVzaCh7Li4udCxsZXZlbDooZXIoZSktMSkvMixuazplfSksYSlyZXR1cm4gYX19KSksbyYmKHU9dVswXSksdX1sZXQgZmxhdHRlblRyZWVXaz1hc3luYyBmdW5jdGlvbih0LHI9e30pe3JldHVybiBwbih0LHIpfTsKCgpsZXQgaW5zdGFuY2UgPSBudWxsCmZ1bmN0aW9uIGluaXQoaW5wdXQpewoKICAgIC8vaW5pdAogICAgbGV0IHIKICAgIAogICAgICAgIHIgPSB7CiAgICAgICAgICAgIG1haW46IGZsYXR0ZW5UcmVlV2sKICAgICAgICB9CiAgICAgICAgCgogICAgLy9vbgogICAgCgogICAgLy9zYXZlCiAgICBpbnN0YW5jZSA9IHIKCn0KCmZ1bmN0aW9uIHNlbmRNZXNzYWdlKGRhdGEpIHsKICAgIAogICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoZGF0YSkKICAgICAgICAKfQoKYXN5bmMgZnVuY3Rpb24gcnVuKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcnVuJyxkYXRhKQoKICAgIC8vbW9kZQogICAgbGV0IG1vZGUgPSBkYXRhLm1vZGUKCiAgICAvL2NoZWNrCiAgICBpZihtb2RlICE9PSAnaW5pdCcgJiYgbW9kZSAhPT0gJ2NhbGwnKXsKICAgICAgICByZXR1cm4KICAgIH0KCiAgICAvL2luaXQKICAgIGlmKG1vZGUgPT09ICdpbml0Jyl7CiAgICAgICAgCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy90eXBlCiAgICAgICAgICAgIGxldCB0eXBlID0gZGF0YS50eXBlCgogICAgICAgICAgICAvL2lucHV0CiAgICAgICAgICAgIGxldCBpbnB1dCA9IGRhdGEuaW5wdXQKICAgIAogICAgICAgICAgICAvL2luc3RhbmNlCiAgICAgICAgICAgIGlmKHR5cGUgPT09ICdmdW5jdGlvbicpewogICAgICAgICAgICAgICAgaW5pdCguLi5pbnB1dCkKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHR5cGUgPT09ICdvYmplY3QnKXsKICAgICAgICAgICAgICAgIGluc3RhbmNlID0gZmxhdHRlblRyZWVXawogICAgICAgICAgICB9CgogICAgICAgIH0KICAgICAgICBjYXRjaChlcnIpewogICAgICAgIAogICAgICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgICAgICBtb2RlOiAnZW1pdCcsCiAgICAgICAgICAgICAgICBldk5hbWU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICBtc2c6IGVyciwKICAgICAgICAgICAgfQogICAgICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgICAgIH0KICAgICAgICAgICAgCiAgICB9CgogICAgLy9jaGVjawogICAgaWYobW9kZSA9PT0gJ2NhbGwnKXsKICAgICAgICBsZXQgc3RhdGUgPSAnJwogICAgICAgIGxldCBtc2cgPSBudWxsCgogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vZnVuCiAgICAgICAgICAgIGxldCBmdW4gPSBpbnN0YW5jZVtkYXRhLmZ1bl0KCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAoKICAgICAgICAgICAgLy9leGVjCiAgICAgICAgICAgIGF3YWl0IGZ1biguLi5pbnB1dCkKICAgICAgICAgICAgICAgIC50aGVuKChzdWMpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nc3VjY2VzcycKICAgICAgICAgICAgICAgICAgICBtc2c9c3VjCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nZXJyb3InCiAgICAgICAgICAgICAgICAgICAgbXNnPWVycgogICAgICAgICAgICAgICAgfSkKCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgICAgIHN0YXRlID0gJ2Vycm9yJwogICAgICAgICAgICBtc2cgPSBlcnIKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy9zZW5kTWVzc2FnZQogICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgIG1vZGU6ICdyZXR1cm4nLAogICAgICAgICAgICBpZDogZGF0YS5pZCwKICAgICAgICAgICAgZnVuOiBkYXRhLmZ1biwKICAgICAgICAgICAgc3RhdGUsCiAgICAgICAgICAgIG1zZywKICAgICAgICB9CiAgICAgICAgc2VuZE1lc3NhZ2UocmVzKQoKICAgIH0KCn0KCmZ1bmN0aW9uIHJlY3ZNZXNzYWdlKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcmVjdjonLCBkYXRhKQoKICAgIC8vZGF0YVJlY3YKICAgIGxldCBkYXRhUmVjdiA9IGRhdGEKCiAgICAvL3J1bgogICAgcnVuKGRhdGFSZWN2KQoKfQoKCiAgICAgICAgc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICByZWN2TWVzc2FnZShlLmRhdGEpCiAgICAgICAgfQogICAgICAgIAoKdHJ5ewogICAgcHJvY2Vzcy5vbigndW5oYW5kbGVkUmVqZWN0aW9uJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmhhbmRsZWRSZWplY3Rpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuY2F1Z2h0RXhjZXB0aW9uJywgZXJyKQogICAgfSkKICAgIHByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvcicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgZXJyKQogICAgfSkKfQpjYXRjaChlcnIpe30KCg==");function l(){let l=new e;let d=function(I){try{let l=new Blob([I]),d=window.URL||window.webkitURL;return new Worker(d.createObjectURL(l))}catch(I){i(I)}}(I);if(!d)return i("invalid worker"),null;function c(){let I=function(){let I,l,d=new Promise((function(){I=arguments[0],l=arguments[1]}));return d.resolve=I,d.reject=l,d}(),c=function(){let I=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,l=[],d="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),c=d.length;for(let i=0;i<I;i++)l[i]=d[0|Math.random()*c];return l.join("")}(),i={mode:"call",id:c,fun:"main",input:[...arguments]};return d.postMessage(i),l.once(c,(l=>{"success"===l.state?I.resolve(l.msg):I.reject(l.msg)})),I}function i(I){l.emit("error",I)}return d.onmessage=function(I){!function(I){let d=I,c=d.mode;"emit"!==c&&"return"!==c||("emit"===c&&l.emit(d.evName,d.msg),"return"===c&&l.emit(d.id,d))}(I.data)},d.onerror=i,d.onmessageerror=function(I){i(I.data)},function(){let I={mode:"init",type:"function",input:[...arguments]};d.postMessage(I)}([...arguments]),l.main=c,l.main=c,l.terminate=function(){d?(d.terminate(),d=void 0):i("worker has been terminated")},l}J=async function(){let I=[...arguments],d=l();return await d.main(...I).finally((()=>{d.terminate()}))}}();try{process.on("unhandledRejection",(I=>{console.log("outer:unhandledRejection",I)})),process.on("uncaughtException",(I=>{console.log("outer:uncaughtException",I)})),process.on("uncaughtExceptionMonitor",(I=>{console.log("outer:uncaughtExceptionMonitor",I)}))}catch(I){}var V=J;export{V as default};
1
+ const I="function"==typeof Buffer,l="function"==typeof TextDecoder?new TextDecoder:void 0,d=("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")),c=(I=>{let l={};return d.forEach(((I,d)=>l[I]=d)),l})(),i=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Z=String.fromCharCode.bind(String),m="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):I=>new Uint8Array(Array.prototype.slice.call(I,0)),X=I=>I.replace(/[^A-Za-z0-9\+\/]/g,""),b=I=>{let l,c,i,Z,m="";const X=I.length%3;for(let X=0;X<I.length;){if((c=I.charCodeAt(X++))>255||(i=I.charCodeAt(X++))>255||(Z=I.charCodeAt(X++))>255)throw new TypeError("invalid character found");l=c<<16|i<<8|Z,m+=d[l>>18&63]+d[l>>12&63]+d[l>>6&63]+d[63&l]}return X?m.slice(0,X-3)+"===".substring(X):m},C=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,y=I=>{switch(I.length){case 4:var l=((7&I.charCodeAt(0))<<18|(63&I.charCodeAt(1))<<12|(63&I.charCodeAt(2))<<6|63&I.charCodeAt(3))-65536;return Z(55296+(l>>>10))+Z(56320+(1023&l));case 3:return Z((15&I.charCodeAt(0))<<12|(63&I.charCodeAt(1))<<6|63&I.charCodeAt(2));default:return Z((31&I.charCodeAt(0))<<6|63&I.charCodeAt(1))}},g=I=>I.replace(C,y),n=I=>{if(I=I.replace(/\s+/g,""),!i.test(I))throw new TypeError("malformed base64.");let l,d,m;I+="==".slice(2-(3&I.length));let X=[];for(let i=0;i<I.length;)l=c[I.charAt(i++)]<<18|c[I.charAt(i++)]<<12|(d=c[I.charAt(i++)])<<6|(m=c[I.charAt(i++)]),64===d?X.push(Z(l>>16&255)):64===m?X.push(Z(l>>16&255,l>>8&255)):X.push(Z(l>>16&255,l>>8&255,255&l));return X.join("")},t="function"==typeof atob?I=>atob(X(I)):I?I=>Buffer.from(I,"base64").toString("binary"):n,o=I?I=>m(Buffer.from(I,"base64")):I=>m(t(I).split("").map((I=>I.charCodeAt(0)))),W=I?I=>Buffer.from(I,"base64").toString("utf8"):l?I=>l.decode(o(I)):I=>g(t(I)),G=I=>X(I.replace(/[-_]/g,(I=>"-"==I?"+":"/"))),u=I=>W(G(I)),K=u;var p={};!function(I){var l=Object.prototype.hasOwnProperty,d="~";function c(){}function i(I,l,d){this.fn=I,this.context=l,this.once=d||!1}function Z(I,l,c,Z,m){if("function"!=typeof c)throw new TypeError("The listener must be a function");var X=new i(c,Z||I,m),b=d?d+l:l;return I._events[b]?I._events[b].fn?I._events[b]=[I._events[b],X]:I._events[b].push(X):(I._events[b]=X,I._eventsCount++),I}function m(I,l){0==--I._eventsCount?I._events=new c:delete I._events[l]}function X(){this._events=new c,this._eventsCount=0}Object.create&&(c.prototype=Object.create(null),(new c).__proto__||(d=!1)),X.prototype.eventNames=function(){var I,c,i=[];if(0===this._eventsCount)return i;for(c in I=this._events)l.call(I,c)&&i.push(d?c.slice(1):c);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(I)):i},X.prototype.listeners=function(I){var l=d?d+I:I,c=this._events[l];if(!c)return[];if(c.fn)return[c.fn];for(var i=0,Z=c.length,m=new Array(Z);i<Z;i++)m[i]=c[i].fn;return m},X.prototype.listenerCount=function(I){var l=d?d+I:I,c=this._events[l];return c?c.fn?1:c.length:0},X.prototype.emit=function(I,l,c,i,Z,m){var X=d?d+I:I;if(!this._events[X])return!1;var b,C,y=this._events[X],g=arguments.length;if(y.fn){switch(y.once&&this.removeListener(I,y.fn,void 0,!0),g){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,l),!0;case 3:return y.fn.call(y.context,l,c),!0;case 4:return y.fn.call(y.context,l,c,i),!0;case 5:return y.fn.call(y.context,l,c,i,Z),!0;case 6:return y.fn.call(y.context,l,c,i,Z,m),!0}for(C=1,b=new Array(g-1);C<g;C++)b[C-1]=arguments[C];y.fn.apply(y.context,b)}else{var n,t=y.length;for(C=0;C<t;C++)switch(y[C].once&&this.removeListener(I,y[C].fn,void 0,!0),g){case 1:y[C].fn.call(y[C].context);break;case 2:y[C].fn.call(y[C].context,l);break;case 3:y[C].fn.call(y[C].context,l,c);break;case 4:y[C].fn.call(y[C].context,l,c,i);break;default:if(!b)for(n=1,b=new Array(g-1);n<g;n++)b[n-1]=arguments[n];y[C].fn.apply(y[C].context,b)}}return!0},X.prototype.on=function(I,l,d){return Z(this,I,l,d,!1)},X.prototype.once=function(I,l,d){return Z(this,I,l,d,!0)},X.prototype.removeListener=function(I,l,c,i){var Z=d?d+I:I;if(!this._events[Z])return this;if(!l)return m(this,Z),this;var X=this._events[Z];if(X.fn)X.fn!==l||i&&!X.once||c&&X.context!==c||m(this,Z);else{for(var b=0,C=[],y=X.length;b<y;b++)(X[b].fn!==l||i&&!X[b].once||c&&X[b].context!==c)&&C.push(X[b]);C.length?this._events[Z]=1===C.length?C[0]:C:m(this,Z)}return this},X.prototype.removeAllListeners=function(I){var l;return I?(l=d?d+I:I,this._events[l]&&m(this,l)):(this._events=new c,this._eventsCount=0),this},X.prototype.off=X.prototype.removeListener,X.prototype.addListener=X.prototype.on,X.prefixed=d,X.EventEmitter=X,I.exports=X}({get exports(){return p},set exports(I){p=I}});var e=p;let J;!function(){if("browser"!==("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let I=K("CgoKInVzZSBzdHJpY3QiO3ZhciB0PUFycmF5LmlzQXJyYXkscj0ib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWwsZT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG49cnx8ZXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxvPW4uU3ltYm9sLHU9T2JqZWN0LnByb3RvdHlwZSxjPXUuaGFzT3duUHJvcGVydHksYT11LnRvU3RyaW5nLGk9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDt2YXIgZj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBsPSJbb2JqZWN0IE51bGxdIixzPSJbb2JqZWN0IFVuZGVmaW5lZF0iLHA9bz9vLnRvU3RyaW5nVGFnOnZvaWQgMDtmdW5jdGlvbiBiKHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/czpsOnAmJnAgaW4gT2JqZWN0KHQpP2Z1bmN0aW9uKHQpe3ZhciByPWMuY2FsbCh0LGkpLGU9dFtpXTt0cnl7dFtpXT12b2lkIDA7dmFyIG49ITB9Y2F0Y2godCl7fXZhciBvPWEuY2FsbCh0KTtyZXR1cm4gbiYmKHI/dFtpXT1lOmRlbGV0ZSB0W2ldKSxvfSh0KTpmdW5jdGlvbih0KXtyZXR1cm4gZi5jYWxsKHQpfSh0KX1mdW5jdGlvbiB5KHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9dmFyIHY9IltvYmplY3QgU3ltYm9sXSI7ZnVuY3Rpb24gaCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fHkodCkmJmIodCk9PXZ9dmFyIGo9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8sZD0vXlx3KiQvO2Z1bmN0aW9uIF8odCl7dmFyIHI9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09cnx8ImZ1bmN0aW9uIj09cil9dmFyIGc9IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLE89IltvYmplY3QgRnVuY3Rpb25dIix3PSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsbT0iW29iamVjdCBQcm94eV0iO2Z1bmN0aW9uIEEodCl7aWYoIV8odCkpcmV0dXJuITE7dmFyIHI9Yih0KTtyZXR1cm4gcj09T3x8cj09d3x8cj09Z3x8cj09bX12YXIgeCxTPW5bIl9fY29yZS1qc19zaGFyZWRfXyJdLHo9KHg9L1teLl0rJC8uZXhlYyhTJiZTLmtleXMmJlMua2V5cy5JRV9QUk9UT3x8IiIpKT8iU3ltYm9sKHNyYylfMS4iK3g6IiI7dmFyIFA9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIEkodCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiBQLmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifXZhciBFPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLEY9RnVuY3Rpb24ucHJvdG90eXBlLFU9T2JqZWN0LnByb3RvdHlwZSxNPUYudG9TdHJpbmcsJD1VLmhhc093blByb3BlcnR5LEI9UmVnRXhwKCJeIitNLmNhbGwoJCkucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7ZnVuY3Rpb24gVCh0KXtyZXR1cm4hKCFfKHQpfHwocj10LHomJnogaW4gcikpJiYoQSh0KT9COkUpLnRlc3QoSSh0KSk7dmFyIHJ9ZnVuY3Rpb24gayh0LHIpe3ZhciBlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbcl19KHQscik7cmV0dXJuIFQoZSk/ZTp2b2lkIDB9dmFyIEM9ayhPYmplY3QsImNyZWF0ZSIpO3ZhciBEPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIE49T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBSKHQpe3ZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytyPGU7KXt2YXIgbj10W3JdO3RoaXMuc2V0KG5bMF0sblsxXSl9fWZ1bmN0aW9uIFYodCxyKXtyZXR1cm4gdD09PXJ8fHQhPXQmJnIhPXJ9ZnVuY3Rpb24gVyh0LHIpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS07KWlmKFYodFtlXVswXSxyKSlyZXR1cm4gZTtyZXR1cm4tMX1SLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189Qz9DKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxSLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5oYXModCkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW3RdO3JldHVybiB0aGlzLnNpemUtPXI/MTowLHJ9LFIucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKEMpe3ZhciBlPXJbdF07cmV0dXJuIl9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iPT09ZT92b2lkIDA6ZX1yZXR1cm4gRC5jYWxsKHIsdCk/clt0XTp2b2lkIDB9LFIucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiBDP3ZvaWQgMCE9PXJbdF06Ti5jYWxsKHIsdCl9LFIucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLGVbdF09QyYmdm9pZCAwPT09cj8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6cix0aGlzfTt2YXIgTD1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2Z1bmN0aW9uIHEodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19cS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVtdLHRoaXMuc2l6ZT0wfSxxLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPVcocix0KTtyZXR1cm4hKGU8MCkmJihlPT1yLmxlbmd0aC0xP3IucG9wKCk6TC5jYWxsKHIsZSwxKSwtLXRoaXMuc2l6ZSwhMCl9LHEucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fLGU9VyhyLHQpO3JldHVybiBlPDA/dm9pZCAwOnJbZV1bMV19LHEucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gVyh0aGlzLl9fZGF0YV9fLHQpPi0xfSxxLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fLG49VyhlLHQpO3JldHVybiBuPDA/KCsrdGhpcy5zaXplLGUucHVzaChbdCxyXSkpOmVbbl1bMV09cix0aGlzfTt2YXIgRz1rKG4sIk1hcCIpO2Z1bmN0aW9uIEsodCxyKXt2YXIgZSxuLG89dC5fX2RhdGFfXztyZXR1cm4oInN0cmluZyI9PShuPXR5cGVvZihlPXIpKXx8Im51bWJlciI9PW58fCJzeW1ib2wiPT1ufHwiYm9vbGVhbiI9PW4/Il9fcHJvdG9fXyIhPT1lOm51bGw9PT1lKT9vWyJzdHJpbmciPT10eXBlb2Ygcj8ic3RyaW5nIjoiaGFzaCJdOm8ubWFwfWZ1bmN0aW9uIEgodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19SC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBSLG1hcDpuZXcoR3x8cSksc3RyaW5nOm5ldyBSfX0sSC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPUsodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09cj8xOjAscn0sSC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBLKHRoaXMsdCkuZ2V0KHQpfSxILnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIEsodGhpcyx0KS5oYXModCl9LEgucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPUsodGhpcyx0KSxuPWUuc2l6ZTtyZXR1cm4gZS5zZXQodCxyKSx0aGlzLnNpemUrPWUuc2l6ZT09bj8wOjEsdGhpc307dmFyIEo9IkV4cGVjdGVkIGEgZnVuY3Rpb24iO2Z1bmN0aW9uIFEodCxyKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcihKKTt2YXIgZT1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyxvPXI/ci5hcHBseSh0aGlzLG4pOm5bMF0sdT1lLmNhY2hlO2lmKHUuaGFzKG8pKXJldHVybiB1LmdldChvKTt2YXIgYz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIGUuY2FjaGU9dS5zZXQobyxjKXx8dSxjfTtyZXR1cm4gZS5jYWNoZT1uZXcoUS5DYWNoZXx8SCksZX1RLkNhY2hlPUg7dmFyIFgsWSxaLHR0PS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLHJ0PS9cXChcXCk/L2csZXQ9KFg9ZnVuY3Rpb24odCl7dmFyIHI9W107cmV0dXJuIDQ2PT09dC5jaGFyQ29kZUF0KDApJiZyLnB1c2goIiIpLHQucmVwbGFjZSh0dCwoZnVuY3Rpb24odCxlLG4sbyl7ci5wdXNoKG4/by5yZXBsYWNlKHJ0LCIkMSIpOmV8fHQpfSkpLHJ9LFk9UShYLChmdW5jdGlvbih0KXtyZXR1cm4gNTAwPT09Wi5zaXplJiZaLmNsZWFyKCksdH0pKSxaPVkuY2FjaGUsWSksbnQ9ZXQ7dmFyIG90PTEvMCx1dD1vP28ucHJvdG90eXBlOnZvaWQgMCxjdD11dD91dC50b1N0cmluZzp2b2lkIDA7ZnVuY3Rpb24gYXQocil7aWYoInN0cmluZyI9PXR5cGVvZiByKXJldHVybiByO2lmKHQocikpcmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLG89QXJyYXkobik7KytlPG47KW9bZV09cih0W2VdLGUsdCk7cmV0dXJuIG99KHIsYXQpKyIiO2lmKGgocikpcmV0dXJuIGN0P2N0LmNhbGwocik6IiI7dmFyIGU9cisiIjtyZXR1cm4iMCI9PWUmJjEvcj09LW90PyItMCI6ZX1mdW5jdGlvbiBpdChyLGUpe3JldHVybiB0KHIpP3I6ZnVuY3Rpb24ocixlKXtpZih0KHIpKXJldHVybiExO3ZhciBuPXR5cGVvZiByO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPXImJiFoKHIpKXx8ZC50ZXN0KHIpfHwhai50ZXN0KHIpfHxudWxsIT1lJiZyIGluIE9iamVjdChlKX0ocixlKT9bcl06bnQoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/IiI6YXQodCl9KHIpKX12YXIgZnQ9MS8wO2Z1bmN0aW9uIGx0KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdHx8aCh0KSlyZXR1cm4gdDt2YXIgcj10KyIiO3JldHVybiIwIj09ciYmMS90PT0tZnQ/Ii0wIjpyfWZ1bmN0aW9uIHN0KHQscixlKXt2YXIgbj1udWxsPT10P3ZvaWQgMDpmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT0wLG49KHI9aXQocix0KSkubGVuZ3RoO251bGwhPXQmJmU8bjspdD10W2x0KHJbZSsrXSldO3JldHVybiBlJiZlPT1uP3Q6dm9pZCAwfSh0LHIpO3JldHVybiB2b2lkIDA9PT1uP2U6bn12YXIgcHQ9T2JqZWN0LnByb3RvdHlwZTtmdW5jdGlvbiBidCh0KXt2YXIgcj10JiZ0LmNvbnN0cnVjdG9yO3JldHVybiB0PT09KCJmdW5jdGlvbiI9PXR5cGVvZiByJiZyLnByb3RvdHlwZXx8cHQpfWZ1bmN0aW9uIHl0KHQscil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KHIoZSkpfX12YXIgdnQ9eXQoT2JqZWN0LmtleXMsT2JqZWN0KSxodD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGp0KHQpe2lmKCFidCh0KSlyZXR1cm4gdnQodCk7dmFyIHI9W107Zm9yKHZhciBlIGluIE9iamVjdCh0KSlodC5jYWxsKHQsZSkmJiJjb25zdHJ1Y3RvciIhPWUmJnIucHVzaChlKTtyZXR1cm4gcn12YXIgZHQ9ayhuLCJEYXRhVmlldyIpLF90PWsobiwiUHJvbWlzZSIpLGd0PWsobiwiU2V0IiksT3Q9ayhuLCJXZWFrTWFwIiksd3Q9IltvYmplY3QgTWFwXSIsbXQ9IltvYmplY3QgUHJvbWlzZV0iLEF0PSJbb2JqZWN0IFNldF0iLHh0PSJbb2JqZWN0IFdlYWtNYXBdIixTdD0iW29iamVjdCBEYXRhVmlld10iLHp0PUkoZHQpLFB0PUkoRyksSXQ9SShfdCksRXQ9SShndCksRnQ9SShPdCksVXQ9YjsoZHQmJlV0KG5ldyBkdChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9U3R8fEcmJlV0KG5ldyBHKSE9d3R8fF90JiZVdChfdC5yZXNvbHZlKCkpIT1tdHx8Z3QmJlV0KG5ldyBndCkhPUF0fHxPdCYmVXQobmV3IE90KSE9eHQpJiYoVXQ9ZnVuY3Rpb24odCl7dmFyIHI9Yih0KSxlPSJbb2JqZWN0IE9iamVjdF0iPT1yP3QuY29uc3RydWN0b3I6dm9pZCAwLG49ZT9JKGUpOiIiO2lmKG4pc3dpdGNoKG4pe2Nhc2UgenQ6cmV0dXJuIFN0O2Nhc2UgUHQ6cmV0dXJuIHd0O2Nhc2UgSXQ6cmV0dXJuIG10O2Nhc2UgRXQ6cmV0dXJuIEF0O2Nhc2UgRnQ6cmV0dXJuIHh0fXJldHVybiByfSk7dmFyIE10PVV0LCR0PTkwMDcxOTkyNTQ3NDA5OTE7ZnVuY3Rpb24gQnQodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PSR0fWZ1bmN0aW9uIFR0KHQpe3JldHVybiBudWxsIT10JiZCdCh0Lmxlbmd0aCkmJiFBKHQpfXZhciBrdD0iW29iamVjdCBTdHJpbmddIjt2YXIgQ3QsRHQ9KEN0PSJsZW5ndGgiLGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W0N0XX0pLE50PVJlZ0V4cCgiW1xcdTIwMGRcXHVkODAwLVxcdWRmZmZcXHUwMzAwLVxcdTAzNmZcXHVmZTIwLVxcdWZlMmZcXHUyMGQwLVxcdTIwZmZcXHVmZTBlXFx1ZmUwZl0iKTt2YXIgUnQ9IlxcdWQ4MDAtXFx1ZGZmZiIsVnQ9IlsiK1J0KyJdIixXdD0iW1xcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZl0iLEx0PSJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0iLHF0PSJbXiIrUnQrIl0iLEd0PSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixLdD0iW1xcdWQ4MDAtXFx1ZGJmZl1bXFx1ZGMwMC1cXHVkZmZmXSIsSHQ9Iig/OiIrV3QrInwiK0x0KyIpIisiPyIsSnQ9IltcXHVmZTBlXFx1ZmUwZl0/IixRdD1KdCtIdCsoIig/OlxcdTIwMGQoPzoiK1txdCxHdCxLdF0uam9pbigifCIpKyIpIitKdCtIdCsiKSoiKSxYdD0iKD86IitbcXQrV3QrIj8iLFd0LEd0LEt0LFZ0XS5qb2luKCJ8IikrIikiLFl0PVJlZ0V4cChMdCsiKD89IitMdCsiKXwiK1h0K1F0LCJnIik7ZnVuY3Rpb24gWnQodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBOdC50ZXN0KHQpfSh0KT9mdW5jdGlvbih0KXtmb3IodmFyIHI9WXQubGFzdEluZGV4PTA7WXQudGVzdCh0KTspKytyO3JldHVybiByfSh0KTpEdCh0KX12YXIgdHI9IltvYmplY3QgTWFwXSIscnI9IltvYmplY3QgU2V0XSI7ZnVuY3Rpb24gZXIocil7aWYobnVsbD09cilyZXR1cm4gMDtpZihUdChyKSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mKGU9cil8fCF0KGUpJiZ5KGUpJiZiKGUpPT1rdD9adChyKTpyLmxlbmd0aDt2YXIgZSxuPU10KHIpO3JldHVybiBuPT10cnx8bj09cnI/ci5zaXplOmp0KHIpLmxlbmd0aH12YXIgbnI9TWF0aC5jZWlsLG9yPU1hdGgubWF4O3ZhciB1cj05MDA3MTk5MjU0NzQwOTkxLGNyPS9eKD86MHxbMS05XVxkKikkLztmdW5jdGlvbiBhcih0LHIpe3ZhciBlPXR5cGVvZiB0O3JldHVybiEhKHI9bnVsbD09cj91cjpyKSYmKCJudW1iZXIiPT1lfHwic3ltYm9sIiE9ZSYmY3IudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxyfXZhciBpcj0vXHMvO3ZhciBmcj0vXlxzKy87ZnVuY3Rpb24gbHIodCl7cmV0dXJuIHQ/dC5zbGljZSgwLGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aDtyLS0mJmlyLnRlc3QodC5jaGFyQXQocikpOyk7cmV0dXJuIHJ9KHQpKzEpLnJlcGxhY2UoZnIsIiIpOnR9dmFyIHNyPU5hTixwcj0vXlstK10weFswLTlhLWZdKyQvaSxicj0vXjBiWzAxXSskL2kseXI9L14wb1swLTddKyQvaSx2cj1wYXJzZUludDt2YXIgaHI9MS8wLGpyPTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MjtmdW5jdGlvbiBkcih0KXtyZXR1cm4gdD8odD1mdW5jdGlvbih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoaCh0KSlyZXR1cm4gc3I7aWYoXyh0KSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9XyhyKT9yKyIiOnJ9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9bHIodCk7dmFyIGU9YnIudGVzdCh0KTtyZXR1cm4gZXx8eXIudGVzdCh0KT92cih0LnNsaWNlKDIpLGU/Mjo4KTpwci50ZXN0KHQpP3NyOit0fSh0KSk9PT1ocnx8dD09PS1ocj8odDwwPy0xOjEpKmpyOnQ9PXQ/dDowOjA9PT10P3Q6MH12YXIgX3IsZ3I9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBlJiYibnVtYmVyIiE9dHlwZW9mIGUmJmZ1bmN0aW9uKHQscixlKXtpZighXyhlKSlyZXR1cm4hMTt2YXIgbj10eXBlb2YgcjtyZXR1cm4hISgibnVtYmVyIj09bj9UdChlKSYmYXIocixlLmxlbmd0aCk6InN0cmluZyI9PW4mJnIgaW4gZSkmJlYoZVtyXSx0KX0odCxyLGUpJiYocj1lPXZvaWQgMCksdD1kcih0KSx2b2lkIDA9PT1yPyhyPXQsdD0wKTpyPWRyKHIpLGZ1bmN0aW9uKHQscixlLG4pe2Zvcih2YXIgbz0tMSx1PW9yKG5yKChyLXQpLyhlfHwxKSksMCksYz1BcnJheSh1KTt1LS07KWNbbj91Oisrb109dCx0Kz1lO3JldHVybiBjfSh0LHIsZT12b2lkIDA9PT1lP3Q8cj8xOi0xOmRyKGUpLF9yKX0sT3I9Z3I7ZnVuY3Rpb24gd3IodCl7dmFyIHI9dGhpcy5fX2RhdGFfXz1uZXcgcSh0KTt0aGlzLnNpemU9ci5zaXplfXdyLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189bmV3IHEsdGhpcy5zaXplPTB9LHdyLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPXIuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemU9ci5zaXplLGV9LHdyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uZ2V0KHQpfSx3ci5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX0sd3IucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMuX19kYXRhX187aWYoZSBpbnN0YW5jZW9mIHEpe3ZhciBuPWUuX19kYXRhX187aWYoIUd8fG4ubGVuZ3RoPDE5OSlyZXR1cm4gbi5wdXNoKFt0LHJdKSx0aGlzLnNpemU9KytlLnNpemUsdGhpcztlPXRoaXMuX19kYXRhX189bmV3IEgobil9cmV0dXJuIGUuc2V0KHQsciksdGhpcy5zaXplPWUuc2l6ZSx0aGlzfTt2YXIgbXI9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ayhPYmplY3QsImRlZmluZVByb3BlcnR5Iik7cmV0dXJuIHQoe30sIiIse30pLHR9Y2F0Y2godCl7fX0oKSxBcj1tcjtmdW5jdGlvbiB4cih0LHIsZSl7Il9fcHJvdG9fXyI9PXImJkFyP0FyKHQscix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZSx3cml0YWJsZTohMH0pOnRbcl09ZX12YXIgU3I9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB6cih0LHIsZSl7dmFyIG49dFtyXTtTci5jYWxsKHQscikmJlYobixlKSYmKHZvaWQgMCE9PWV8fHIgaW4gdCl8fHhyKHQscixlKX1mdW5jdGlvbiBQcih0LHIsZSxuKXt2YXIgbz0hZTtlfHwoZT17fSk7Zm9yKHZhciB1PS0xLGM9ci5sZW5ndGg7Kyt1PGM7KXt2YXIgYT1yW3VdLGk9bj9uKGVbYV0sdFthXSxhLGUsdCk6dm9pZCAwO3ZvaWQgMD09PWkmJihpPXRbYV0pLG8/eHIoZSxhLGkpOnpyKGUsYSxpKX1yZXR1cm4gZX1mdW5jdGlvbiBJcih0KXtyZXR1cm4geSh0KSYmIltvYmplY3QgQXJndW1lbnRzXSI9PWIodCl9dmFyIEVyPU9iamVjdC5wcm90b3R5cGUsRnI9RXIuaGFzT3duUHJvcGVydHksVXI9RXIucHJvcGVydHlJc0VudW1lcmFibGUsTXI9SXIoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9JcjpmdW5jdGlvbih0KXtyZXR1cm4geSh0KSYmRnIuY2FsbCh0LCJjYWxsZWUiKSYmIVVyLmNhbGwodCwiY2FsbGVlIil9O3ZhciAkcj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLEJyPSRyJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsVHI9QnImJkJyLmV4cG9ydHM9PT0kcj9uLkJ1ZmZlcjp2b2lkIDAsa3I9KFRyP1RyLmlzQnVmZmVyOnZvaWQgMCl8fGZ1bmN0aW9uKCl7cmV0dXJuITF9LENyPXt9O2Z1bmN0aW9uIERyKHQpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChyKX19Q3JbIltvYmplY3QgRmxvYXQzMkFycmF5XSJdPUNyWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1DclsiW29iamVjdCBJbnQ4QXJyYXldIl09Q3JbIltvYmplY3QgSW50MTZBcnJheV0iXT1DclsiW29iamVjdCBJbnQzMkFycmF5XSJdPUNyWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09Q3JbIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIl09Q3JbIltvYmplY3QgVWludDE2QXJyYXldIl09Q3JbIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsQ3JbIltvYmplY3QgQXJndW1lbnRzXSJdPUNyWyJbb2JqZWN0IEFycmF5XSJdPUNyWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPUNyWyJbb2JqZWN0IEJvb2xlYW5dIl09Q3JbIltvYmplY3QgRGF0YVZpZXddIl09Q3JbIltvYmplY3QgRGF0ZV0iXT1DclsiW29iamVjdCBFcnJvcl0iXT1DclsiW29iamVjdCBGdW5jdGlvbl0iXT1DclsiW29iamVjdCBNYXBdIl09Q3JbIltvYmplY3QgTnVtYmVyXSJdPUNyWyJbb2JqZWN0IE9iamVjdF0iXT1DclsiW29iamVjdCBSZWdFeHBdIl09Q3JbIltvYmplY3QgU2V0XSJdPUNyWyJbb2JqZWN0IFN0cmluZ10iXT1DclsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBOcj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLFJyPU5yJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsVnI9UnImJlJyLmV4cG9ydHM9PT1OciYmci5wcm9jZXNzLFdyPWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PVJyJiZSci5yZXF1aXJlJiZSci5yZXF1aXJlKCJ1dGlsIikudHlwZXM7cmV0dXJuIHR8fFZyJiZWci5iaW5kaW5nJiZWci5iaW5kaW5nKCJ1dGlsIil9Y2F0Y2godCl7fX0oKSxMcj1XciYmV3IuaXNUeXBlZEFycmF5LHFyPUxyP0RyKExyKTpmdW5jdGlvbih0KXtyZXR1cm4geSh0KSYmQnQodC5sZW5ndGgpJiYhIUNyW2IodCldfSxHcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIEtyKHIsZSl7dmFyIG49dChyKSxvPSFuJiZNcihyKSx1PSFuJiYhbyYma3IociksYz0hbiYmIW8mJiF1JiZxcihyKSxhPW58fG98fHV8fGMsaT1hP2Z1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49QXJyYXkodCk7KytlPHQ7KW5bZV09cihlKTtyZXR1cm4gbn0oci5sZW5ndGgsU3RyaW5nKTpbXSxmPWkubGVuZ3RoO2Zvcih2YXIgbCBpbiByKSFlJiYhR3IuY2FsbChyLGwpfHxhJiYoImxlbmd0aCI9PWx8fHUmJigib2Zmc2V0Ij09bHx8InBhcmVudCI9PWwpfHxjJiYoImJ1ZmZlciI9PWx8fCJieXRlTGVuZ3RoIj09bHx8ImJ5dGVPZmZzZXQiPT1sKXx8YXIobCxmKSl8fGkucHVzaChsKTtyZXR1cm4gaX1mdW5jdGlvbiBIcih0KXtyZXR1cm4gVHQodCk/S3IodCk6anQodCl9dmFyIEpyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gUXIodCl7aWYoIV8odCkpcmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPVtdO2lmKG51bGwhPXQpZm9yKHZhciBlIGluIE9iamVjdCh0KSlyLnB1c2goZSk7cmV0dXJuIHJ9KHQpO3ZhciByPWJ0KHQpLGU9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFyJiZKci5jYWxsKHQsbikpJiZlLnB1c2gobik7cmV0dXJuIGV9ZnVuY3Rpb24gWHIodCl7cmV0dXJuIFR0KHQpP0tyKHQsITApOlFyKHQpfXZhciBZcj0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzLFpyPVlyJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsdGU9WnImJlpyLmV4cG9ydHM9PT1Zcj9uLkJ1ZmZlcjp2b2lkIDAscmU9dGU/dGUuYWxsb2NVbnNhZmU6dm9pZCAwO2Z1bmN0aW9uIGVlKCl7cmV0dXJuW119dmFyIG5lPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsb2U9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyx1ZT1vZT9mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9bXToodD1PYmplY3QodCksZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsbz0wLHU9W107KytlPG47KXt2YXIgYz10W2VdO3IoYyxlLHQpJiYodVtvKytdPWMpfXJldHVybiB1fShvZSh0KSwoZnVuY3Rpb24ocil7cmV0dXJuIG5lLmNhbGwodCxyKX0pKSl9OmVlLGNlPXVlO2Z1bmN0aW9uIGFlKHQscil7Zm9yKHZhciBlPS0xLG49ci5sZW5ndGgsbz10Lmxlbmd0aDsrK2U8bjspdFtvK2VdPXJbZV07cmV0dXJuIHR9dmFyIGllPXl0KE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLGZlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdO3Q7KWFlKHIsY2UodCkpLHQ9aWUodCk7cmV0dXJuIHJ9OmVlLGxlPWZlO2Z1bmN0aW9uIHNlKHIsZSxuKXt2YXIgbz1lKHIpO3JldHVybiB0KHIpP286YWUobyxuKHIpKX1mdW5jdGlvbiBwZSh0KXtyZXR1cm4gc2UodCxIcixjZSl9ZnVuY3Rpb24gYmUodCl7cmV0dXJuIHNlKHQsWHIsbGUpfXZhciB5ZT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciB2ZT1uLlVpbnQ4QXJyYXk7ZnVuY3Rpb24gaGUodCl7dmFyIHI9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IHZlKHIpLnNldChuZXcgdmUodCkpLHJ9dmFyIGplPS9cdyokLzt2YXIgZGU9bz9vLnByb3RvdHlwZTp2b2lkIDAsX2U9ZGU/ZGUudmFsdWVPZjp2b2lkIDA7dmFyIGdlPSJbb2JqZWN0IEJvb2xlYW5dIixPZT0iW29iamVjdCBEYXRlXSIsd2U9IltvYmplY3QgTWFwXSIsbWU9IltvYmplY3QgTnVtYmVyXSIsQWU9IltvYmplY3QgUmVnRXhwXSIseGU9IltvYmplY3QgU2V0XSIsU2U9IltvYmplY3QgU3RyaW5nXSIsemU9IltvYmplY3QgU3ltYm9sXSIsUGU9IltvYmplY3QgQXJyYXlCdWZmZXJdIixJZT0iW29iamVjdCBEYXRhVmlld10iLEVlPSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iLEZlPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLFVlPSJbb2JqZWN0IEludDhBcnJheV0iLE1lPSJbb2JqZWN0IEludDE2QXJyYXldIiwkZT0iW29iamVjdCBJbnQzMkFycmF5XSIsQmU9IltvYmplY3QgVWludDhBcnJheV0iLFRlPSJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSIsa2U9IltvYmplY3QgVWludDE2QXJyYXldIixDZT0iW29iamVjdCBVaW50MzJBcnJheV0iO2Z1bmN0aW9uIERlKHQscixlKXt2YXIgbixvPXQuY29uc3RydWN0b3I7c3dpdGNoKHIpe2Nhc2UgUGU6cmV0dXJuIGhlKHQpO2Nhc2UgZ2U6Y2FzZSBPZTpyZXR1cm4gbmV3IG8oK3QpO2Nhc2UgSWU6cmV0dXJuIGZ1bmN0aW9uKHQscil7dmFyIGU9cj9oZSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKGUsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9KHQsZSk7Y2FzZSBFZTpjYXNlIEZlOmNhc2UgVWU6Y2FzZSBNZTpjYXNlICRlOmNhc2UgQmU6Y2FzZSBUZTpjYXNlIGtlOmNhc2UgQ2U6cmV0dXJuIGZ1bmN0aW9uKHQscil7dmFyIGU9cj9oZSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKGUsdC5ieXRlT2Zmc2V0LHQubGVuZ3RoKX0odCxlKTtjYXNlIHdlOnJldHVybiBuZXcgbztjYXNlIG1lOmNhc2UgU2U6cmV0dXJuIG5ldyBvKHQpO2Nhc2UgQWU6cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLGplLmV4ZWModCkpO3JldHVybiByLmxhc3RJbmRleD10Lmxhc3RJbmRleCxyfSh0KTtjYXNlIHhlOnJldHVybiBuZXcgbztjYXNlIHplOnJldHVybiBuPXQsX2U/T2JqZWN0KF9lLmNhbGwobikpOnt9fX12YXIgTmU9T2JqZWN0LmNyZWF0ZSxSZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIGZ1bmN0aW9uKHIpe2lmKCFfKHIpKXJldHVybnt9O2lmKE5lKXJldHVybiBOZShyKTt0LnByb3RvdHlwZT1yO3ZhciBlPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAsZX19KCksVmU9UmU7dmFyIFdlPVdyJiZXci5pc01hcCxMZT1XZT9EcihXZSk6ZnVuY3Rpb24odCl7cmV0dXJuIHkodCkmJiJbb2JqZWN0IE1hcF0iPT1NdCh0KX07dmFyIHFlPVdyJiZXci5pc1NldCxHZT1xZT9EcihxZSk6ZnVuY3Rpb24odCl7cmV0dXJuIHkodCkmJiJbb2JqZWN0IFNldF0iPT1NdCh0KX0sS2U9MSxIZT0yLEplPTQsUWU9IltvYmplY3QgQXJndW1lbnRzXSIsWGU9IltvYmplY3QgRnVuY3Rpb25dIixZZT0iW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iLFplPSJbb2JqZWN0IE9iamVjdF0iLHRuPXt9O2Z1bmN0aW9uIHJuKHIsZSxuLG8sdSxjKXt2YXIgYSxpPWUmS2UsZj1lJkhlLGw9ZSZKZTtpZihuJiYoYT11P24ocixvLHUsYyk6bihyKSksdm9pZCAwIT09YSlyZXR1cm4gYTtpZighXyhyKSlyZXR1cm4gcjt2YXIgcz10KHIpO2lmKHMpe2lmKGE9ZnVuY3Rpb24odCl7dmFyIHI9dC5sZW5ndGgsZT1uZXcgdC5jb25zdHJ1Y3RvcihyKTtyZXR1cm4gciYmInN0cmluZyI9PXR5cGVvZiB0WzBdJiZ5ZS5jYWxsKHQsImluZGV4IikmJihlLmluZGV4PXQuaW5kZXgsZS5pbnB1dD10LmlucHV0KSxlfShyKSwhaSlyZXR1cm4gZnVuY3Rpb24odCxyKXt2YXIgZT0tMSxuPXQubGVuZ3RoO2ZvcihyfHwocj1BcnJheShuKSk7KytlPG47KXJbZV09dFtlXTtyZXR1cm4gcn0ocixhKX1lbHNle3ZhciBwPU10KHIpLGI9cD09WGV8fHA9PVllO2lmKGtyKHIpKXJldHVybiBmdW5jdGlvbih0LHIpe2lmKHIpcmV0dXJuIHQuc2xpY2UoKTt2YXIgZT10Lmxlbmd0aCxuPXJlP3JlKGUpOm5ldyB0LmNvbnN0cnVjdG9yKGUpO3JldHVybiB0LmNvcHkobiksbn0ocixpKTtpZihwPT1aZXx8cD09UWV8fGImJiF1KXtpZihhPWZ8fGI/e306ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fGJ0KHQpP3t9OlZlKGllKHQpKX0ociksIWkpcmV0dXJuIGY/ZnVuY3Rpb24odCxyKXtyZXR1cm4gUHIodCxsZSh0KSxyKX0ocixmdW5jdGlvbih0LHIpe3JldHVybiB0JiZQcihyLFhyKHIpLHQpfShhLHIpKTpmdW5jdGlvbih0LHIpe3JldHVybiBQcih0LGNlKHQpLHIpfShyLGZ1bmN0aW9uKHQscil7cmV0dXJuIHQmJlByKHIsSHIociksdCl9KGEscikpfWVsc2V7aWYoIXRuW3BdKXJldHVybiB1P3I6e307YT1EZShyLHAsaSl9fWN8fChjPW5ldyB3cik7dmFyIHk9Yy5nZXQocik7aWYoeSlyZXR1cm4geTtjLnNldChyLGEpLEdlKHIpP3IuZm9yRWFjaCgoZnVuY3Rpb24odCl7YS5hZGQocm4odCxlLG4sdCxyLGMpKX0pKTpMZShyKSYmci5mb3JFYWNoKChmdW5jdGlvbih0LG8pe2Euc2V0KG8scm4odCxlLG4sbyxyLGMpKX0pKTt2YXIgdj1zP3ZvaWQgMDoobD9mP2JlOnBlOmY/WHI6SHIpKHIpO3JldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK2U8biYmITEhPT1yKHRbZV0sZSx0KTspO30odnx8ciwoZnVuY3Rpb24odCxvKXt2JiYodD1yW289dF0pLHpyKGEsbyxybih0LGUsbixvLHIsYykpfSkpLGF9dG5bUWVdPXRuWyJbb2JqZWN0IEFycmF5XSJdPXRuWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPXRuWyJbb2JqZWN0IERhdGFWaWV3XSJdPXRuWyJbb2JqZWN0IEJvb2xlYW5dIl09dG5bIltvYmplY3QgRGF0ZV0iXT10blsiW29iamVjdCBGbG9hdDMyQXJyYXldIl09dG5bIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdPXRuWyJbb2JqZWN0IEludDhBcnJheV0iXT10blsiW29iamVjdCBJbnQxNkFycmF5XSJdPXRuWyJbb2JqZWN0IEludDMyQXJyYXldIl09dG5bIltvYmplY3QgTWFwXSJdPXRuWyJbb2JqZWN0IE51bWJlcl0iXT10bltaZV09dG5bIltvYmplY3QgUmVnRXhwXSJdPXRuWyJbb2JqZWN0IFNldF0iXT10blsiW29iamVjdCBTdHJpbmddIl09dG5bIltvYmplY3QgU3ltYm9sXSJdPXRuWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09dG5bIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIl09dG5bIltvYmplY3QgVWludDE2QXJyYXldIl09dG5bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsdG5bIltvYmplY3QgRXJyb3JdIl09dG5bWGVdPXRuWyJbb2JqZWN0IFdlYWtNYXBdIl09ITE7dmFyIGVuPTEsbm49NDtmdW5jdGlvbiBvbih0KXtyZXR1cm4gcm4odCxlbnxubil9ZnVuY3Rpb24gdW4odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBjbih0KXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX12YXIgYW49IltvYmplY3QgQm9vbGVhbl0iO2Z1bmN0aW9uIGZuKHQpe3JldHVybiEwPT09KHI9dCl8fCExPT09cnx8eShyKSYmYihyKT09YW47dmFyIHJ9ZnVuY3Rpb24gbG4odCxyPW51bGwsZT17fSl7QShyKXx8KHI9dD0+dCk7bGV0IG49c3QoZSwiZm9yY2UiLCExKTtyZXR1cm4gZm4obil8fChuPSExKSxmdW5jdGlvbih0LHIsZT0hMSl7bGV0IG49W107aWYoIXVuKHQpJiYhY24odCkpcmV0dXJuIHIodCxudWxsLFtdKTtmdW5jdGlvbiBvKHQpe2lmKHVuKHQpKXJldHVybiBPcihlcih0KSk7aWYoY24odCkpe2xldCByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLG49bnVsbDtyZXR1cm4gZSYmKG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KSksdW4ocil8fChyPVtdKSx1bihuKXx8KG49W10pLFsuLi5yLC4uLm5dfXJldHVybiB0fXJldHVybiBmdW5jdGlvbiB0KGUsdSl7aWYodW4oZSkpcmV0dXJuIG8oZSkubWFwKChvPT57bGV0IHU9ZVtvXSxjPW9uKG4pO3JldHVybiBuLnB1c2gobyksdT1yKHUsbyxjKSx1PXQodSksbi5wb3AoKSx1fSkpO2lmKGNuKGUpKXtsZXQgdT1vKGUpLGM9e307cmV0dXJuIHUubWFwKChvPT57bGV0IHU9ZVtvXSxhPW9uKG4pO24ucHVzaChvKSx1PXIodSxvLGEpLHU9dCh1KSxuLnBvcCgpLGNbb109dX0pKSxjfXJldHVybiBlfSh0KX0odCxyLG4pfWZ1bmN0aW9uIHNuKHQpe3JldHVybiEoIWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IFN0cmluZ10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSh0KXx8IiI9PT10KX1mdW5jdGlvbiBwbih0LHI9e30pe2lmKHVuKHQpKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuW119ZWxzZXtpZighY24odCkpcmV0dXJuW107aWYoZnVuY3Rpb24odCl7aWYoY24odCkpe2ZvcihsZXQgciBpbiB0KXJldHVybiExO3JldHVybiEwfXJldHVybiExfSh0KSlyZXR1cm5bXX1sZXQgZT1zdChyLCJiaW5kS2V5IixudWxsKTtzbihlKXx8KGU9ImlkIik7bGV0IG49c3QociwiYmluZENoaWxkcmVuIixudWxsKTtzbihuKXx8KG49ImNoaWxkcmVuIik7bGV0IG89ITE7Y24odCkmJihvPSEwLHQ9W3RdKTtsZXQgdT1bXTtyZXR1cm4gbG4odCwoKHQscixvKT0+e2xldCBjPXN0KHQsZSxudWxsKSxhPXN0KHQsbixudWxsKTtpZihjKXtsZXQgZT1mdW5jdGlvbih0KXtsZXQgcj1bdFswXV07Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspe2xldCBvPXRbZV07ci5wdXNoKG4pLHIucHVzaChvKX1yZXR1cm4gcn0oWy4uLm8scl0pO2lmKHUucHVzaCh7Li4udCxsZXZlbDooZXIoZSktMSkvMixuazplfSksYSlyZXR1cm4gYX19KSksbyYmKHU9dVswXSksdX1sZXQgZmxhdHRlblRyZWVXaz1hc3luYyBmdW5jdGlvbih0LHI9e30pe3JldHVybiBwbih0LHIpfTsKCgpsZXQgaW5zdGFuY2UgPSBudWxsCmZ1bmN0aW9uIGluaXQoaW5wdXQpewoKICAgIC8vaW5pdAogICAgbGV0IHIKICAgIAogICAgICAgIHIgPSB7CiAgICAgICAgICAgIG1haW46IGZsYXR0ZW5UcmVlV2sKICAgICAgICB9CiAgICAgICAgCgogICAgLy9vbgogICAgCgogICAgLy9zYXZlCiAgICBpbnN0YW5jZSA9IHIKCn0KCmZ1bmN0aW9uIHNlbmRNZXNzYWdlKGRhdGEpIHsKICAgIAogICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoZGF0YSkKICAgICAgICAKfQoKYXN5bmMgZnVuY3Rpb24gcnVuKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcnVuJyxkYXRhKQoKICAgIC8vbW9kZQogICAgbGV0IG1vZGUgPSBkYXRhLm1vZGUKCiAgICAvL2NoZWNrCiAgICBpZihtb2RlICE9PSAnaW5pdCcgJiYgbW9kZSAhPT0gJ2NhbGwnKXsKICAgICAgICByZXR1cm4KICAgIH0KCiAgICAvL2luaXQKICAgIGlmKG1vZGUgPT09ICdpbml0Jyl7CiAgICAgICAgCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy90eXBlCiAgICAgICAgICAgIGxldCB0eXBlID0gZGF0YS50eXBlCgogICAgICAgICAgICAvL2lucHV0CiAgICAgICAgICAgIGxldCBpbnB1dCA9IGRhdGEuaW5wdXQKICAgIAogICAgICAgICAgICAvL2luc3RhbmNlCiAgICAgICAgICAgIGlmKHR5cGUgPT09ICdmdW5jdGlvbicpewogICAgICAgICAgICAgICAgaW5pdCguLi5pbnB1dCkKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHR5cGUgPT09ICdvYmplY3QnKXsKICAgICAgICAgICAgICAgIGluc3RhbmNlID0gZmxhdHRlblRyZWVXawogICAgICAgICAgICB9CgogICAgICAgIH0KICAgICAgICBjYXRjaChlcnIpewogICAgICAgIAogICAgICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgICAgICBtb2RlOiAnZW1pdCcsCiAgICAgICAgICAgICAgICBldk5hbWU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICBtc2c6IGVyciwKICAgICAgICAgICAgfQogICAgICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgICAgIH0KICAgICAgICAgICAgCiAgICB9CgogICAgLy9jaGVjawogICAgaWYobW9kZSA9PT0gJ2NhbGwnKXsKICAgICAgICBsZXQgc3RhdGUgPSAnJwogICAgICAgIGxldCBtc2cgPSBudWxsCgogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vZnVuCiAgICAgICAgICAgIGxldCBmdW4gPSBpbnN0YW5jZVtkYXRhLmZ1bl0KCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAoKICAgICAgICAgICAgLy9leGVjCiAgICAgICAgICAgIGF3YWl0IGZ1biguLi5pbnB1dCkKICAgICAgICAgICAgICAgIC50aGVuKChzdWMpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nc3VjY2VzcycKICAgICAgICAgICAgICAgICAgICBtc2c9c3VjCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nZXJyb3InCiAgICAgICAgICAgICAgICAgICAgbXNnPWVycgogICAgICAgICAgICAgICAgfSkKCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgICAgIHN0YXRlID0gJ2Vycm9yJwogICAgICAgICAgICBtc2cgPSBlcnIKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy9zZW5kTWVzc2FnZQogICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgIG1vZGU6ICdyZXR1cm4nLAogICAgICAgICAgICBpZDogZGF0YS5pZCwKICAgICAgICAgICAgZnVuOiBkYXRhLmZ1biwKICAgICAgICAgICAgc3RhdGUsCiAgICAgICAgICAgIG1zZywKICAgICAgICB9CiAgICAgICAgc2VuZE1lc3NhZ2UocmVzKQoKICAgIH0KCn0KCmZ1bmN0aW9uIHJlY3ZNZXNzYWdlKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcmVjdjonLCBkYXRhKQoKICAgIC8vZGF0YVJlY3YKICAgIGxldCBkYXRhUmVjdiA9IGRhdGEKCiAgICAvL3J1bgogICAgcnVuKGRhdGFSZWN2KQoKfQoKCiAgICAgICAgc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICByZWN2TWVzc2FnZShlLmRhdGEpCiAgICAgICAgfQogICAgICAgIAoKdHJ5ewogICAgcHJvY2Vzcy5vbigndW5oYW5kbGVkUmVqZWN0aW9uJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmhhbmRsZWRSZWplY3Rpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuY2F1Z2h0RXhjZXB0aW9uJywgZXJyKQogICAgfSkKICAgIHByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvcicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgZXJyKQogICAgfSkKfQpjYXRjaChlcnIpe30KCg==");function l(){let l=new e;let d=function(I){try{let l=new Blob([I]),d=window.URL||window.webkitURL;return new Worker(d.createObjectURL(l))}catch(I){i(I)}}(I);if(!d)return i("invalid worker"),null;function c(){let I=function(){let I,l,d=new Promise((function(){I=arguments[0],l=arguments[1]}));return d.resolve=I,d.reject=l,d}(),c=function(){let I=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,l=[],d="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),c=d.length;for(let i=0;i<I;i++)l[i]=d[0|Math.random()*c];return l.join("")}(),i={mode:"call",id:c,fun:"main",input:[...arguments]};return d.postMessage(i),l.once(c,(l=>{"success"===l.state?I.resolve(l.msg):I.reject(l.msg)})),I}function i(I){l.emit("error",I)}return d.onmessage=function(I){!function(I){let d=I,c=d.mode;"emit"!==c&&"return"!==c||("emit"===c&&l.emit(d.evName,d.msg),"return"===c&&l.emit(d.id,d))}(I.data)},d.onerror=i,d.onmessageerror=function(I){i(I.data)},function(){let I={mode:"init",type:"function",input:[...arguments]};d.postMessage(I)}([...arguments]),l.main=c,l.main=c,l.terminate=function(){d?(d.terminate(),d=void 0):i("worker has been terminated")},l}J=async function(){let I=[...arguments],d=l();return await d.main(...I).finally((()=>{d.terminate()}))}}();try{process.on("unhandledRejection",(I=>{console.log("outer:unhandledRejection",I)})),process.on("uncaughtException",(I=>{console.log("outer:uncaughtException",I)})),process.on("uncaughtExceptionMonitor",(I=>{console.log("outer:uncaughtExceptionMonitor",I)}))}catch(I){}var V=J;export{V as default};