qpp-style 9.7.2 → 9.7.3

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 (311) hide show
  1. package/.storybook/main.js +19 -13
  2. package/components/Breadcrumb/Breadcrumb.stories.js +10 -6
  3. package/components/Button/Button.stories.js +0 -2
  4. package/components/CalloutBox/CalloutBox.stories.js +0 -2
  5. package/components/Card/Card.stories.js +0 -2
  6. package/components/Dropdown/Dropdown.stories.js +0 -2
  7. package/components/Footer/Footer.stories.js +7 -10
  8. package/components/Header/Header.stories.js +16 -20
  9. package/components/Infotip/Infotip.stories.js +5 -5
  10. package/components/Modal/Modal.stories.js +28 -30
  11. package/components/NotificationBanner/NotificationBanner.stories.js +10 -10
  12. package/components/Search/Search.stories.js +0 -2
  13. package/components/SideNav/SideNav.stories.js +104 -185
  14. package/components/Tabs/Tabs.stories.js +0 -2
  15. package/components/TextInput/TextInput.stories.js +0 -2
  16. package/coverage/clover.xml +1192 -0
  17. package/coverage/coverage-final.json +67 -0
  18. package/coverage/lcov-report/Header/HeaderUI.jsx.html +1418 -0
  19. package/coverage/lcov-report/Header/index.html +111 -0
  20. package/coverage/lcov-report/HeaderUI.jsx.html +578 -0
  21. package/coverage/lcov-report/SideNav/UI/index.html +111 -0
  22. package/coverage/lcov-report/SideNav/UI/index.js.html +89 -0
  23. package/coverage/lcov-report/base.css +224 -0
  24. package/coverage/lcov-report/block-navigation.js +79 -0
  25. package/coverage/lcov-report/components/Accordion/index.html +111 -0
  26. package/coverage/lcov-report/components/Accordion/index.jsx.html +359 -0
  27. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +344 -0
  28. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +173 -0
  29. package/coverage/lcov-report/components/Error/index.html +126 -0
  30. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +845 -0
  31. package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +662 -0
  32. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +260 -0
  33. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +182 -0
  34. package/coverage/lcov-report/components/Footer/index.html +156 -0
  35. package/coverage/lcov-report/components/InfoModal/index.html +111 -0
  36. package/coverage/lcov-report/components/InfoModal/index.jsx.html +392 -0
  37. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +305 -0
  38. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +203 -0
  39. package/coverage/lcov-report/components/Infotip/index.html +141 -0
  40. package/coverage/lcov-report/components/Infotip/index.js.html +89 -0
  41. package/coverage/lcov-report/components/SanitizedContent/index.html +111 -0
  42. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +680 -0
  43. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +863 -0
  44. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +140 -0
  45. package/coverage/lcov-report/components/SideNav/AnimationGroup/index.html +111 -0
  46. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +884 -0
  47. package/coverage/lcov-report/components/SideNav/Chart/index.html +126 -0
  48. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +89 -0
  49. package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +1007 -0
  50. package/coverage/lcov-report/components/SideNav/Content/LevelTwoContent.jsx.html +722 -0
  51. package/coverage/lcov-report/components/SideNav/Content/index.html +141 -0
  52. package/coverage/lcov-report/components/SideNav/Content/index.js.html +92 -0
  53. package/coverage/lcov-report/components/SideNav/Details/IndividualDetails.jsx.html +134 -0
  54. package/coverage/lcov-report/components/SideNav/Details/PracticeDetails.jsx.html +203 -0
  55. package/coverage/lcov-report/components/SideNav/Details/index.html +141 -0
  56. package/coverage/lcov-report/components/SideNav/Details/index.js.html +92 -0
  57. package/coverage/lcov-report/components/SideNav/Links/CmsSwitchLink.jsx.html +203 -0
  58. package/coverage/lcov-report/components/SideNav/Links/NavItemInline.jsx.html +242 -0
  59. package/coverage/lcov-report/components/SideNav/Links/NavLinkContainer.jsx.html +209 -0
  60. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +659 -0
  61. package/coverage/lcov-report/components/SideNav/Links/NavLinkInline.jsx.html +401 -0
  62. package/coverage/lcov-report/components/SideNav/Links/NavLinkToggle.jsx.html +182 -0
  63. package/coverage/lcov-report/components/SideNav/Links/index.html +201 -0
  64. package/coverage/lcov-report/components/SideNav/Links/index.js.html +119 -0
  65. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +1103 -0
  66. package/coverage/lcov-report/components/SideNav/UI/index.html +126 -0
  67. package/coverage/lcov-report/components/SideNav/UI/index.js.html +89 -0
  68. package/coverage/lcov-report/components/SideNav/helpers.js.html +221 -0
  69. package/coverage/lcov-report/components/SideNav/index.html +111 -0
  70. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +344 -0
  71. package/coverage/lcov-report/components/Tooltip/index.html +141 -0
  72. package/coverage/lcov-report/components/Tooltip/index.js.html +89 -0
  73. package/coverage/lcov-report/components/Tooltip/position.js.html +284 -0
  74. package/coverage/lcov-report/components/index.html +111 -0
  75. package/coverage/lcov-report/favicon.png +0 -0
  76. package/coverage/lcov-report/index.html +426 -0
  77. package/coverage/lcov-report/lib/Chevron.jsx.html +161 -0
  78. package/coverage/lcov-report/lib/SvgComponents.jsx.html +1697 -0
  79. package/coverage/lcov-report/lib/index.html +141 -0
  80. package/coverage/lcov-report/lib/svg-definitions.svg.html +455 -0
  81. package/coverage/lcov-report/prettify.css +1 -0
  82. package/coverage/lcov-report/prettify.js +2 -0
  83. package/coverage/lcov-report/react/components/Accordion/index.html +111 -0
  84. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +359 -0
  85. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +344 -0
  86. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +173 -0
  87. package/coverage/lcov-report/react/components/Error/error.js.html +158 -0
  88. package/coverage/lcov-report/react/components/Error/index.html +141 -0
  89. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +845 -0
  90. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +662 -0
  91. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +260 -0
  92. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +182 -0
  93. package/coverage/lcov-report/react/components/Footer/footer.js.html +170 -0
  94. package/coverage/lcov-report/react/components/Footer/index.html +171 -0
  95. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +587 -0
  96. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +128 -0
  97. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +260 -0
  98. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +206 -0
  99. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +230 -0
  100. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +749 -0
  101. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +230 -0
  102. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +266 -0
  103. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +191 -0
  104. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +557 -0
  105. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +176 -0
  106. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +161 -0
  107. package/coverage/lcov-report/react/components/Header/header.js.html +194 -0
  108. package/coverage/lcov-report/react/components/Header/hooks.js.html +236 -0
  109. package/coverage/lcov-report/react/components/Header/index.html +321 -0
  110. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +107 -0
  111. package/coverage/lcov-report/react/components/InfoModal/index.html +111 -0
  112. package/coverage/lcov-report/react/components/InfoModal/index.jsx.html +392 -0
  113. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +305 -0
  114. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +203 -0
  115. package/coverage/lcov-report/react/components/Infotip/index.html +141 -0
  116. package/coverage/lcov-report/react/components/Infotip/index.js.html +89 -0
  117. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +296 -0
  118. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +500 -0
  119. package/coverage/lcov-report/react/components/Modal/index.html +141 -0
  120. package/coverage/lcov-report/react/components/Modal/index.jsx.html +146 -0
  121. package/coverage/lcov-report/react/components/NotificationBanner/NotificationBannerUI.jsx.html +950 -0
  122. package/coverage/lcov-report/react/components/NotificationBanner/index.html +111 -0
  123. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +875 -0
  124. package/coverage/lcov-report/react/components/SanitizedContent/index.html +111 -0
  125. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +680 -0
  126. package/coverage/lcov-report/react/components/SessionDialog/index.html +111 -0
  127. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +158 -0
  128. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +863 -0
  129. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +146 -0
  130. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +111 -0
  131. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +884 -0
  132. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +126 -0
  133. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +89 -0
  134. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +590 -0
  135. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +728 -0
  136. package/coverage/lcov-report/react/components/SideNav/Content/index.html +141 -0
  137. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +92 -0
  138. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +134 -0
  139. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +215 -0
  140. package/coverage/lcov-report/react/components/SideNav/Details/index.html +141 -0
  141. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +92 -0
  142. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +203 -0
  143. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +242 -0
  144. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +194 -0
  145. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +695 -0
  146. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +401 -0
  147. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +182 -0
  148. package/coverage/lcov-report/react/components/SideNav/Links/index.html +201 -0
  149. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +119 -0
  150. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1052 -0
  151. package/coverage/lcov-report/react/components/SideNav/UI/index.html +126 -0
  152. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +89 -0
  153. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +227 -0
  154. package/coverage/lcov-report/react/components/SideNav/index.html +126 -0
  155. package/coverage/lcov-report/react/components/SideNav/index.js.html +239 -0
  156. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +344 -0
  157. package/coverage/lcov-report/react/components/Tooltip/index.html +141 -0
  158. package/coverage/lcov-report/react/components/Tooltip/index.js.html +89 -0
  159. package/coverage/lcov-report/react/components/Tooltip/position.js.html +284 -0
  160. package/coverage/lcov-report/react/components/hooks/index.html +111 -0
  161. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +302 -0
  162. package/coverage/lcov-report/react/components/index.html +111 -0
  163. package/coverage/lcov-report/react/index.html +111 -0
  164. package/coverage/lcov-report/react/index.js.html +173 -0
  165. package/coverage/lcov-report/react/lib/Chevron.jsx.html +176 -0
  166. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1697 -0
  167. package/coverage/lcov-report/react/lib/index.html +141 -0
  168. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +455 -0
  169. package/coverage/lcov-report/react/session/index.html +156 -0
  170. package/coverage/lcov-report/react/session/index.js.html +95 -0
  171. package/coverage/lcov-report/react/session/logout.js.html +203 -0
  172. package/coverage/lcov-report/react/session/refresh.js.html +227 -0
  173. package/coverage/lcov-report/react/session/ttl.js.html +191 -0
  174. package/coverage/lcov-report/session/index.html +126 -0
  175. package/coverage/lcov-report/session/index.js.html +95 -0
  176. package/coverage/lcov-report/session/logout.js.html +203 -0
  177. package/coverage/lcov-report/session/refresh.js.html +227 -0
  178. package/coverage/lcov-report/session/ttl.js.html +191 -0
  179. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  180. package/coverage/lcov-report/sorter.js +170 -0
  181. package/coverage/lcov.info +2673 -0
  182. package/dist/browser.js +1 -1
  183. package/dist/browser.js.map +1 -1
  184. package/dist/index.js +1 -1
  185. package/dist/index.js.map +1 -1
  186. package/dist/react/index.js +1 -1
  187. package/dist/react/index.js.map +1 -1
  188. package/package.json +28 -26
  189. package/storybook-static/0.284246fa7dd756530022.manager.bundle.js +1 -0
  190. package/storybook-static/0.e444ffe0.iframe.bundle.js +1 -0
  191. package/storybook-static/4.38e07a72.iframe.bundle.js +3 -0
  192. package/storybook-static/4.38e07a72.iframe.bundle.js.LICENSE.txt +8 -0
  193. package/storybook-static/4.38e07a72.iframe.bundle.js.map +1 -0
  194. package/storybook-static/4.5a2288a7314de45771fd.manager.bundle.js +2 -0
  195. package/storybook-static/4.5a2288a7314de45771fd.manager.bundle.js.LICENSE.txt +8 -0
  196. package/storybook-static/5.96d29e90.iframe.bundle.js +1 -0
  197. package/storybook-static/5.f669e5db79f970f4eeda.manager.bundle.js +2 -0
  198. package/storybook-static/5.f669e5db79f970f4eeda.manager.bundle.js.LICENSE.txt +12 -0
  199. package/storybook-static/6.fbe12c4b.iframe.bundle.js +3 -0
  200. package/storybook-static/6.fbe12c4b.iframe.bundle.js.LICENSE.txt +12 -0
  201. package/storybook-static/6.fbe12c4b.iframe.bundle.js.map +1 -0
  202. package/storybook-static/6.fc183cb0948fa18c4851.manager.bundle.js +1 -0
  203. package/storybook-static/7.6262147d7bfe4804e70d.manager.bundle.js +1 -0
  204. package/storybook-static/7.9e6103c8.iframe.bundle.js +1 -0
  205. package/storybook-static/8.88a822e73e773dbd9da6.manager.bundle.js +1 -0
  206. package/storybook-static/favicon.ico +0 -0
  207. package/storybook-static/fonts/FontAwesome.otf +0 -0
  208. package/storybook-static/fonts/OFL.txt +92 -0
  209. package/storybook-static/fonts/Rubik-Black.ttf +0 -0
  210. package/storybook-static/fonts/Rubik-BlackItalic.ttf +0 -0
  211. package/storybook-static/fonts/Rubik-Bold.ttf +0 -0
  212. package/storybook-static/fonts/Rubik-BoldItalic.ttf +0 -0
  213. package/storybook-static/fonts/Rubik-Italic.ttf +0 -0
  214. package/storybook-static/fonts/Rubik-Light.ttf +0 -0
  215. package/storybook-static/fonts/Rubik-LightItalic.ttf +0 -0
  216. package/storybook-static/fonts/Rubik-Medium.ttf +0 -0
  217. package/storybook-static/fonts/Rubik-MediumItalic.ttf +0 -0
  218. package/storybook-static/fonts/Rubik-Regular.ttf +0 -0
  219. package/storybook-static/fonts/fontawesome-webfont.eot +0 -0
  220. package/storybook-static/fonts/fontawesome-webfont.svg +2671 -0
  221. package/storybook-static/fonts/fontawesome-webfont.ttf +0 -0
  222. package/storybook-static/fonts/fontawesome-webfont.woff +0 -0
  223. package/storybook-static/fonts/fontawesome-webfont.woff2 +0 -0
  224. package/storybook-static/iframe.html +138 -0
  225. package/storybook-static/images/favicon/android-chrome-192x192.png +0 -0
  226. package/storybook-static/images/favicon/android-chrome-256x256.png +0 -0
  227. package/storybook-static/images/favicon/apple-touch-icon.png +0 -0
  228. package/storybook-static/images/favicon/browserconfig.xml +9 -0
  229. package/storybook-static/images/favicon/favicon-16x16.png +0 -0
  230. package/storybook-static/images/favicon/favicon-32x32.png +0 -0
  231. package/storybook-static/images/favicon/favicon.ico +0 -0
  232. package/storybook-static/images/favicon/manifest.json +18 -0
  233. package/storybook-static/images/favicon/mstile-150x150.png +0 -0
  234. package/storybook-static/images/favicon/safari-pinned-tab.svg +32 -0
  235. package/storybook-static/images/hhs-logo-black.svg +10 -0
  236. package/storybook-static/images/hhs-logo-white.svg +10 -0
  237. package/storybook-static/images/icons/close-x.svg +6 -0
  238. package/storybook-static/images/icons/help-headset.svg +21 -0
  239. package/storybook-static/images/icons/svg/arrow-down.svg +3 -0
  240. package/storybook-static/images/icons/svg/arrow-download.svg +5 -0
  241. package/storybook-static/images/icons/svg/arrow-right.svg +5 -0
  242. package/storybook-static/images/icons/svg/close.svg +3 -0
  243. package/storybook-static/images/icons/svg/download.svg +1 -0
  244. package/storybook-static/images/icons/svg/external.svg +4 -0
  245. package/storybook-static/images/icons/svg/file-upload.svg +1 -0
  246. package/storybook-static/images/icons/svg/print.svg +4 -0
  247. package/storybook-static/images/icons/svg/trash.svg +5 -0
  248. package/storybook-static/images/icons/svg/upload.svg +3 -0
  249. package/storybook-static/images/qpp_logo_reversed.png +0 -0
  250. package/storybook-static/images/qpp_logo_rgb_color.png +0 -0
  251. package/storybook-static/index.html +55 -0
  252. package/storybook-static/main.18ac9bfd601c66f4bee6.manager.bundle.js +1 -0
  253. package/storybook-static/main.9d42b744.iframe.bundle.js +1 -0
  254. package/storybook-static/runtime~main.d17fbed7a9ad1d2c431e.manager.bundle.js +1 -0
  255. package/storybook-static/runtime~main.ed6e2009.iframe.bundle.js +1 -0
  256. package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
  257. package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
  258. package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
  259. package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
  260. package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
  261. package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
  262. package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
  263. package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
  264. package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
  265. package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
  266. package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
  267. package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
  268. package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
  269. package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
  270. package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
  271. package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
  272. package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
  273. package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
  274. package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
  275. package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
  276. package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
  277. package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
  278. package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
  279. package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +0 -0
  280. package/storybook-static/static/media/OpenSans-Regular-webfont.ca4dd835.woff2 +0 -0
  281. package/storybook-static/static/media/OpenSans-Semibold-webfont.17ded75f.woff2 +0 -0
  282. package/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
  283. package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
  284. package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +0 -0
  285. package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
  286. package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
  287. package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
  288. package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
  289. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  290. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  291. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  292. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  293. package/storybook-static/vendors~main.3604044d8484c1c4d1f7.manager.bundle.js +2 -0
  294. package/storybook-static/vendors~main.3604044d8484c1c4d1f7.manager.bundle.js.LICENSE.txt +88 -0
  295. package/storybook-static/vendors~main.7f923d15.iframe.bundle.js +3 -0
  296. package/storybook-static/vendors~main.7f923d15.iframe.bundle.js.LICENSE.txt +152 -0
  297. package/storybook-static/vendors~main.7f923d15.iframe.bundle.js.map +1 -0
  298. package/styles/components/_footer.scss +593 -0
  299. package/styles/components/_header.scss +887 -0
  300. package/styles/components/_sidebar.scss +8 -0
  301. package/styles/components/sidebar/_animations.scss +38 -0
  302. package/styles/components/sidebar/_cms.scss +61 -0
  303. package/styles/components/sidebar/_details.scss +58 -0
  304. package/styles/components/sidebar/_links.scss +415 -0
  305. package/styles/components/sidebar/_sidebar-animation.scss +121 -0
  306. package/styles/components/sidebar/_sidebar-tooltip.scss +33 -0
  307. package/styles/components/sidebar/_sidebar.scss +141 -0
  308. package/styles/components/sidebar/project-specific/_wi.scss +42 -0
  309. package/styles/qppds/utilities/_display-visability.scss +83 -0
  310. package/webpack.config.js +20 -18
  311. package/webpack.config.react.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://QPPStyle/webpack/bootstrap","webpack://QPPStyle/./node_modules/preact/dist/preact.module.js","webpack://QPPStyle/./node_modules/preact/hooks/dist/hooks.module.js","webpack://QPPStyle/./node_modules/preact/compat/dist/compat.module.js","webpack://QPPStyle/./node_modules/prop-types/index.js","webpack://QPPStyle/./node_modules/axios/lib/utils.js","webpack://QPPStyle/./lib/SvgComponents.jsx","webpack://QPPStyle/./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","webpack://QPPStyle/./components/SideNav/helpers.js","webpack://QPPStyle/./components/Header/hooks.js","webpack://QPPStyle/./components/SideNav/AnimationGroup/AnimationGroup.jsx","webpack://QPPStyle/./node_modules/axios/index.js","webpack://QPPStyle/./node_modules/cookie/index.js","webpack://QPPStyle/./node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js","webpack://QPPStyle/./components/Header/utag-helpers.js","webpack://QPPStyle/./node_modules/axios/lib/defaults.js","webpack://QPPStyle/./node_modules/jwt-decode/build/jwt-decode.esm.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://QPPStyle/./components/SanitizedContent/index.jsx","webpack://QPPStyle/./node_modules/cssfilter/lib/index.js","webpack://QPPStyle/./node_modules/xss/lib/util.js","webpack://QPPStyle/./session/logout.js","webpack://QPPStyle/./components/hooks/useGetConfig.js","webpack://QPPStyle/./components/SideNav/Links/index.js","webpack://QPPStyle/./node_modules/@reach/portal/dist/reach-portal.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/bind.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/buildURL.js","webpack://QPPStyle/./node_modules/axios/lib/core/enhanceError.js","webpack://QPPStyle/./node_modules/axios/lib/adapters/xhr.js","webpack://QPPStyle/./node_modules/axios/lib/core/createError.js","webpack://QPPStyle/./node_modules/axios/lib/cancel/isCancel.js","webpack://QPPStyle/./node_modules/axios/lib/core/mergeConfig.js","webpack://QPPStyle/./node_modules/axios/lib/cancel/Cancel.js","webpack://QPPStyle/./components/Infotip/Infotip.jsx","webpack://QPPStyle/./components/SessionDialogUI.jsx","webpack://QPPStyle/./components/Modal/index.jsx","webpack://QPPStyle/./node_modules/react-modal/lib/index.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/portalOpenInstances.js","webpack://QPPStyle/./node_modules/xss/lib/default.js","webpack://QPPStyle/./node_modules/cssfilter/lib/default.js","webpack://QPPStyle/./node_modules/cssfilter/lib/util.js","webpack://QPPStyle/./node_modules/xss/lib/parser.js","webpack://QPPStyle/./session/refresh.js","webpack://QPPStyle/./session/ttl.js","webpack://QPPStyle/./components/Header/HeaderMenuItem.jsx","webpack://QPPStyle/./lib/Chevron.jsx","webpack://QPPStyle/./components/SideNav/Details/index.js","webpack://QPPStyle/./components/SideNav/Chart/index.js","webpack://QPPStyle/./index.js","webpack://QPPStyle/./components/Error/error.js","webpack://QPPStyle/./components/Error/ErrorUI.jsx","webpack://QPPStyle/./components/Error/Collapsible.jsx","webpack://QPPStyle/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://QPPStyle/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://QPPStyle/./components/Footer/footer.js","webpack://QPPStyle/./components/Footer/FooterUI.jsx","webpack://QPPStyle/./node_modules/axios/lib/axios.js","webpack://QPPStyle/./node_modules/axios/lib/core/Axios.js","webpack://QPPStyle/./node_modules/axios/lib/core/InterceptorManager.js","webpack://QPPStyle/./node_modules/axios/lib/core/dispatchRequest.js","webpack://QPPStyle/./node_modules/axios/lib/core/transformData.js","webpack://QPPStyle/./node_modules/process/browser.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://QPPStyle/./node_modules/axios/lib/core/settle.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/cookies.js","webpack://QPPStyle/./node_modules/axios/lib/core/buildFullPath.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/combineURLs.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/validator.js","webpack://QPPStyle/./node_modules/axios/lib/cancel/CancelToken.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/spread.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://QPPStyle/./components/Tooltip/index.js","webpack://QPPStyle/./components/Tooltip/Tooltip.jsx","webpack://QPPStyle/./components/Tooltip/position.js","webpack://QPPStyle/./components/Infotip/InfotipIcon.jsx","webpack://QPPStyle/./components/Footer/LegacyFooterUI.jsx","webpack://QPPStyle/./components/Footer/Subscribe.jsx","webpack://QPPStyle/./components/Footer/SocialLinks.jsx","webpack://QPPStyle/./components/Header/header.js","webpack://QPPStyle/./components/Header/HeaderUI.jsx","webpack://QPPStyle/./components/Header/HeaderAccountMenu.jsx","webpack://QPPStyle/./node_modules/retry/index.js","webpack://QPPStyle/./node_modules/retry/lib/retry.js","webpack://QPPStyle/./node_modules/retry/lib/retry_operation.js","webpack://QPPStyle/./components/Modal/LegacyModal.jsx","webpack://QPPStyle/./node_modules/react-modal/lib/components/Modal.js","webpack://QPPStyle/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://QPPStyle/./node_modules/warning/warning.js","webpack://QPPStyle/./node_modules/exenv/index.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/classList.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/bodyTrap.js","webpack://QPPStyle/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://QPPStyle/./node_modules/xss/lib/index.js","webpack://QPPStyle/./node_modules/cssfilter/lib/css.js","webpack://QPPStyle/./node_modules/cssfilter/lib/parser.js","webpack://QPPStyle/./node_modules/xss/lib/xss.js","webpack://QPPStyle/./components/Modal/Modal.jsx","webpack://QPPStyle/./components/Header/HeaderMenuLink.js","webpack://QPPStyle/./components/Header/HeaderMenuButton.js","webpack://QPPStyle/./components/Header/NavigationButtonIcon.jsx","webpack://QPPStyle/./components/Header/HeaderMenuSignOutButton.js","webpack://QPPStyle/./session/index.js","webpack://QPPStyle/./components/Accordion/index.jsx","webpack://QPPStyle/./components/Header/HeaderCancel.jsx","webpack://QPPStyle/./components/Header/HeaderContainer.jsx","webpack://QPPStyle/./components/Header/HeaderLogo.jsx","webpack://QPPStyle/./components/NotificationBanner/index.js","webpack://QPPStyle/./components/Header/HeaderMobileButton.js","webpack://QPPStyle/./components/Header/HelpIcon.jsx","webpack://QPPStyle/./components/SideNav/index.js","webpack://QPPStyle/./components/SideNav/UI/index.js","webpack://QPPStyle/./components/SideNav/UI/SideNavUI.jsx","webpack://QPPStyle/./node_modules/react-svg-inline/lib/index.js","webpack://QPPStyle/./node_modules/classnames/index.js","webpack://QPPStyle/./components/SideNav/Content/index.js","webpack://QPPStyle/./components/SideNav/Content/LevelOneContent.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkContainer.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkDrawer.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkInline.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkToggle.jsx","webpack://QPPStyle/./components/SideNav/Links/NavItemInline.jsx","webpack://QPPStyle/./components/SideNav/Content/LevelTwoContent.jsx","webpack://QPPStyle/./components/SideNav/Details/IndividualDetails.jsx","webpack://QPPStyle/./components/SideNav/Details/PracticeDetails.jsx","webpack://QPPStyle/./components/SideNav/Chart/ScoreChart.jsx","webpack://QPPStyle/./lib/svg-definitions.svg","webpack://QPPStyle/./components/SideNav/Links/CmsSwitchLink.jsx","webpack://QPPStyle/./components/SessionDialog/sessionDialog.js","webpack://QPPStyle/./node_modules/what-input/dist/what-input.js","webpack://QPPStyle/./node_modules/d3-path/src/path.js","webpack://QPPStyle/./node_modules/d3-shape/src/constant.js","webpack://QPPStyle/./node_modules/d3-shape/src/math.js","webpack://QPPStyle/./node_modules/d3-shape/src/arc.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/linear.js","webpack://QPPStyle/./node_modules/d3-shape/src/point.js","webpack://QPPStyle/./node_modules/d3-shape/src/line.js","webpack://QPPStyle/./node_modules/d3-shape/src/area.js","webpack://QPPStyle/./node_modules/d3-shape/src/descending.js","webpack://QPPStyle/./node_modules/d3-shape/src/identity.js","webpack://QPPStyle/./node_modules/d3-shape/src/pie.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/radial.js","webpack://QPPStyle/./node_modules/d3-shape/src/lineRadial.js","webpack://QPPStyle/./node_modules/d3-shape/src/areaRadial.js","webpack://QPPStyle/./node_modules/d3-shape/src/pointRadial.js","webpack://QPPStyle/./node_modules/d3-shape/src/array.js","webpack://QPPStyle/./node_modules/d3-shape/src/link/index.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/circle.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/cross.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/diamond.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/star.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/square.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/triangle.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/wye.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol.js","webpack://QPPStyle/./node_modules/d3-shape/src/noop.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/basis.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/basisClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/basisOpen.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/bundle.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/cardinal.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/cardinalClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/cardinalOpen.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/catmullRom.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/linearClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/monotone.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/natural.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/step.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/none.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/none.js","webpack://QPPStyle/./node_modules/d3-shape/src/stack.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/expand.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/diverging.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/silhouette.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/wiggle.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/appearance.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/ascending.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/descending.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/insideOut.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/reverse.js","webpack://QPPStyle/./node_modules/d3-selection/src/namespaces.js","webpack://QPPStyle/./node_modules/d3-selection/src/namespace.js","webpack://QPPStyle/./node_modules/d3-selection/src/creator.js","webpack://QPPStyle/./node_modules/d3-selection/src/selector.js","webpack://QPPStyle/./node_modules/d3-selection/src/selectorAll.js","webpack://QPPStyle/./node_modules/d3-selection/src/matcher.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/sparse.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/enter.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/data.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/sort.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/attr.js","webpack://QPPStyle/./node_modules/d3-selection/src/window.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/style.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/property.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/classed.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/text.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/html.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/raise.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/lower.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/insert.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/remove.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/clone.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/on.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/dispatch.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/index.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/select.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/selectAll.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/filter.js","webpack://QPPStyle/./node_modules/d3-selection/src/constant.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/exit.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/join.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/merge.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/order.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/call.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/nodes.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/node.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/size.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/empty.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/each.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/append.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/datum.js","webpack://QPPStyle/./node_modules/d3-selection/src/select.js","webpack://QPPStyle/./node_modules/d3-selection/src/create.js","webpack://QPPStyle/./node_modules/d3-selection/src/local.js","webpack://QPPStyle/./node_modules/d3-selection/src/sourceEvent.js","webpack://QPPStyle/./node_modules/d3-selection/src/point.js","webpack://QPPStyle/./node_modules/d3-selection/src/mouse.js","webpack://QPPStyle/./node_modules/d3-selection/src/selectAll.js","webpack://QPPStyle/./node_modules/d3-selection/src/touch.js","webpack://QPPStyle/./node_modules/d3-selection/src/touches.js","webpack://QPPStyle/./node_modules/@reach/auto-id/dist/reach-auto-id.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/owner-document/dist/reach-utils-owner-document.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","webpack://QPPStyle/./node_modules/@reach/visually-hidden/dist/reach-visually-hidden.esm.js","webpack://QPPStyle/./node_modules/@reach/observe-rect/dist/observe-rect.esm.js","webpack://QPPStyle/./node_modules/@reach/rect/dist/reach-rect.esm.js","webpack://QPPStyle/./node_modules/@reach/tooltip/dist/reach-tooltip.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/get-document-dimensions/dist/reach-utils-get-document-dimensions.esm.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","f","a","u","h","parentNode","removeChild","v","arguments","length","children","defaultProps","y","type","props","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","current","_","this","context","k","indexOf","b","base","push","g","__r","debounceRendering","sort","some","__P","j","__n","ownerSVGElement","z","w","A","Array","isArray","x","P","N","M","e","appendChild","nextSibling","insertBefore","$","setProperty","test","H","style","cssText","replace","toLowerCase","slice","addEventListener","T","I","removeEventListener","setAttribute","removeAttribute","event","contextType","__E","render","O","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","L","diffed","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","C","checked","unmount","componentWillUnmount","S","firstChild","q","B","D","Consumer","Provider","splice","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","resolve","setTimeout","__H","concat","F","useDebugValue","requestAnimationFrame","clearTimeout","cancelAnimationFrame","filter","E","displayName","isReactComponent","__f","isPureReactComponent","R","for","$$typeof","map","count","only","toArray","__u","U","default","__R","__O","pop","fallback","delete","revealOrder","size","W","Map","reverse","set","V","textContent","configurable","writable","Z","Y","cancelBubble","defaultPrevented","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","G","class","J","multiple","selected","defaultValue","className","K","Q","ReactCurrentDispatcher","readContext","X","nn","tn","en","apply","rn","un","on","ln","fn","useState","useReducer","useEffect","useLayoutEffect","useRef","useImperativeHandle","useMemo","useCallback","useContext","version","Children","hydrate","unmountComponentAtNode","createPortal","createContext","createFactory","cloneElement","createRef","Fragment","isValidElement","findDOMNode","Component","PureComponent","memo","forwardRef","flushSync","unstable_batchedUpdates","StrictMode","Suspense","SuspenseList","lazy","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","toString","val","isUndefined","isObject","isPlainObject","getPrototypeOf","isFunction","obj","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","merge","result","assignValue","extend","thisArg","trim","str","stripBOM","content","charCodeAt","MyApplicationsIcon","viewBox","transform","points","UserSignInIcon","MyTestDataIcon","fill","ReportDataIcon","ManageUsersIcon","AccountHomeIcon","FacilityBasedPreviewIcon","PaymentIcon","PhysicianCompareIcon","id","stroke","strokeWidth","HardshipIcon","fillRule","width","height","TargetIcon","strokeLinecap","x1","y1","x2","y2","ReportsIcon","HelpSupportIcon","DashboardIcon","AccountSettings","DetailsIcon","StarIcon","CliniciansIcon","GroupReporting","IndividualReporting","ChevronLeft","ChevronRight","ChevronDown","SwitchPractice","ScoreIncrease","TooltipIcon","NavCollapse","NavExpand","CloseXIcon","focusable","CloseXIcon2","BellOutline","EarlyClaims","CliniciansList","YoutubeIcon","TwitterIcon","stroke-Width","WiViewReportsIcon","WiViewProgressIcon","WiManageGroupIcon","useIsomorphicLayoutEffect","submissionsUrl","dashboardUrl","manageUrl","feedbackUrl","physicianCompareUrl","reportsPortalUrl","facilityBasedPreviewBaseUrl","performanceFeedbackUrl","performanceYear","facilityBasedPreviewUrl","handleNavigation","linkCallbackFunction","label","currentTarget","pathname","hash","search","preventDefault","stopPropagation","utag","link","ga_event_category","ga_event_action","ga_event_label","page_title","title","page_url","location","useWindowWidth","undefined","windowSize","setWindowSize","handleResize","innerWidth","HeaderStateContext","HeaderStateProvider","RouterLink","currentOpenMenu","setCurrentOpenMenu","handleToggleMenu","closeMenus","propTypes","PropTypes","node","isRequired","func","useHeaderState","Error","hasDarkerBackground","darkerBackground","AnimationGroup","display","string","bool","parse","options","TypeError","opt","pairs","split","pairSplitRegExp","dec","decode","pair","eq_idx","substr","tryDecode","serialize","enc","encode","fieldContentRegExp","maxAge","isNaN","isFinite","Math","floor","domain","path","expires","toUTCString","httpOnly","secure","sameSite","decodeURIComponent","encodeURIComponent","canUseDOM","setUtagLink","eventCategory","eventAction","eventLabel","utils","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","defaults","transitional","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","XMLHttpRequest","process","transformRequest","rawValue","parser","encoder","JSON","stringify","stringifySafely","transformResponse","strictJSONParsing","responseType","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","method","message","atob","String","charAt","fromCharCode","toUpperCase","header","SafeNodeList","SafeHTMLCollection","_exenv","EE","SafeHTMLElement","HTMLElement","HTMLCollection","NodeList","defaultAllowedTags","defaultAllowedAttributes","SanitizedContent","html","customClassName","allowedTags","allowedAttributes","whiteList","reduce","tag","sanitizedHTML","array","DEFAULT","FilterCSS","filterCSS","arr","item","scope","spaceIndex","match","exec","index","LogoutSession","_window","cookies","cookie","logoutDestination","onSuccess","onError","url","Authorization","qpp_auth_token","err","console","log","useGetConfig","localStorageName","equalityCheckExclude","defaultContent","setResult","storageContent","localStorage","getItem","Date","valueOf","expiration","origin","axios","storageItem","keys","every","includes","setItem","withGetConfig","WrappedComponent","NavLinkContainer","NavLinkDrawer","NavLinkInline","NavLinkToggle","NavItemInline","_ref","dispatch","_ref$type","mountNode","portalNode","ownerDocument","body","args","params","paramsSerializer","serializedParams","parts","toISOString","join","hashmarkIndex","error","config","code","request","response","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","settle","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","reject","requestData","requestHeaders","auth","username","password","unescape","btoa","fullPath","baseURL","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","__CANCEL__","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","source","mergeDeepProperties","prop","axiosKeys","otherKeys","Cancel","BUTTON_SIZE","buttonStyle","background","border","padding","WebkitTouchCallout","WebkitUserSelect","userSelect","touchHandlers","onTouchStart","onTouchEnd","activeElement","focus","blur","Infotip","lightIcon","aria-label","aria-hidden","float","ariaLabel","DEBUG_STYLE","fetchTtlIntervalMs","SessionDialogUI","handleOpenModal","handleCloseModal","refreshSession","signOut","startTimer","shouldShowDialog","shouldSignOut","minutesUntil","checkExpiry","onInterval","showImmediate","showModal","showError","expiry","exp","clearInterval","warningInterval","operation","retry","retries","factor","minTimeout","maxTimeout","attempt","forceTimeoutHandle","setInterval","minutesLeft","warningTimeout","getTime","useDesignSystem","isOpen","primary","onClick","secondary","onRequestClose","appElement","Modal","rest","_Modal","_Modal2","element","querySelectorAll","tabbable","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","getComputedStyle","getPropertyValue","scrollWidth","scrollHeight","exception","warn","isTabIndexNotNaN","nodeName","disabled","href","parentElement","visible","tabIndex","getAttribute","isTabIndexNaN","resetState","globalElement","check","assertNodeList","setElement","useElement","_safeHTMLElement","el","validateElement","hide","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","iterator","next","done","return","show","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","documentNotReadyOrSSRTesting","_warning","_warning2","nodeList","selector","portalOpenInstances","openInstances","PortalOpenInstances","_this","instance","Constructor","_classCallCheck","register","openInstance","emit","deregister","subscribe","callback","subscribers","eventType","subscriber","getDefaultCSSWhiteList","getDefaultWhiteList","abbr","address","area","article","aside","audio","bdi","bdo","big","blockquote","br","caption","center","cite","col","colgroup","dd","del","details","div","dl","dt","em","figcaption","figure","font","footer","h1","h2","h3","h4","h5","h6","hr","img","ins","li","mark","nav","ol","pre","section","small","span","summary","sup","strong","strike","table","tbody","td","tfoot","th","thead","tr","tt","ul","video","defaultCSSFilter","escapeHtml","REGEXP_LT","REGEXP_GT","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","REGEXP_DEFAULT_ON_TAG_ATTR_4","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeQuote","unescapeQuote","escapeHtmlEntities","parseInt","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","len","friendlyAttrValue","escapeAttrValue","STRIP_COMMENT_TAG_REGEXP","onTag","onIgnoreTag","onTagAttr","onIgnoreTagAttr","safeAttrValue","cssFilter","lastIndex","onIgnoreTagStripAll","StripTagBody","tags","isRemoveAllTag","removeList","posStart","isRemoveTag","isClosing","ret","end","position","remove","rethtml","lastPos","pos","stripCommentTag","stripBlankChar","chars","char","REGEXP_URL_JAVASCRIPT","onAttr","onIgnoreAttr","trimRight","getTagName","tagName","REGEXP_ILLEGAL_ATTR_NAME","findNextEqual","findBeforeEqual","stripQuoteWrap","text","isQuoteWrapString","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","chariterator","ic","parseAttr","retAttrs","tmpName","addAttr","RefreshSession","requestOptions","Accept","fetchTtl","token","time_remaining","ttl","menuSizes","1","2","3","4","excludedClickOutClasses","HeaderMenuItem","handleClick","columns","menuName","rows","subtitle","isSubMenuFullWidth","setSubMenuFullWidth","openMobileSubMenu","setOpenMobileSubMenu","windowWidth","menuButtonRef","menuRef","numColumns","menuIdentifier","shouldSetFullWidth","getBoundingClientRect","right","listener","contains","classList","aria-expanded","aria-controls","data-toggle","Chevron","hidden","data-columns","columnContent","cIndex","heading","items","isSubLink","SubMenuComponent","button","HeaderMenuButton","signout","HeaderMenuSignOutButton","HeaderMenuLink","sublink","xmlns","IndividualDetails","PracticeDetails","ScoreChart","QppStyleComponents","errorPage","ErrorPage","Footer","Header","sideNav","SessionDialog","rootElement","ErrorUI","errorTitle","errorDetails","showLabel","hideLabel","contentTitle","oneOfType","Collapsible","isExpanded","_toggleExpanded","toggleExpanded","_renderShowButton","renderShowButton","_renderHideButton","renderHideButton","isHidden","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","shape","exact","checkPropTypes","buildVersion","isFullWidth","isNewFooter","showHcdResearch","infoTipLabel","FooterUI","signUpNowLink","listServ","setListServ","data-track-category","data-track-action","data-track-label","rel","src","alt","Axios","mergeConfig","createInstance","defaultConfig","instanceConfig","CancelToken","isCancel","all","promises","spread","InterceptorManager","dispatchRequest","validator","validators","interceptors","assertOptions","boolean","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","shift","newConfig","onFulfilled","onRejected","getUri","handlers","use","eject","transformData","throwIfCancellationRequested","throwIfRequested","reason","fns","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","normalizedName","write","toGMTString","RegExp","now","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","parsed","line","originURL","msie","userAgent","urlParsingNode","resolveURL","protocol","host","hostname","port","requestURL","pkg","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","desc","opts","schema","allowUnknown","executor","resolvePromise","payload","Tooltip","TEXT_COLOR","BACKGROUND_COLOR","useTooltip","trigger","tooltip","isVisible","triggerRect","tooltipPopupRef","triangleRef","tooltipRect","positionCssText","positionTriangle","TooltipPopup","color","positionTip","OFFSET","TRIANGLE_SCALE_X","TRIANGLE_SCALE_Y","isDirectionUp","collisions","top","bottom","innerHeight","left","maxLeft","centerLeft","min","max","pageXOffset","directionUp","pageYOffset","triangleTop","triangleLeft","triangleBorder","InfotipIcon","LegacyFooterUI","xlinkHref","Subscribe","action","acceptCharset","htmlFor","placeholder","SocialLinks","isLoginEnabled","skipToContentId","includeSkipToSidebar","showCancelButton","feedbackPerformanceYear","fbpPerformanceYear","showPhysicianCompareLink","showFacilityBasedPreviewLink","showCovidLink","showMaqi","isDevPre","HeaderUI","handleCancel","isMobileMenuExpanded","setIsMobileMenuExpanded","mapContentToRows","colIndex","row","defaultHeaderContent","Function","HeaderAccountMenu","hasAuthToken","hasAuthorizations","qpp_has_authorizations","hasNonRegistryAuthorizations","qpp_has_non_registry_authorizations","isDevPreAndNotAuthenticated","to","firstName","additionalLinks","devPreColumns","hasMenu","RetryOperation","timeouts","forever","Infinity","unref","maxRetryTime","randomize","createTimeout","random","round","pow","wrap","methods","original","op","mainError","_originalTimeouts","_timeouts","_options","_maxRetryTime","_fn","_errors","_attempts","_operationTimeout","_operationTimeoutCb","_timeout","_operationStart","_timer","_cachedTimeouts","reset","stop","currentTime","self","timeoutOps","cb","try","start","errors","attempts","counts","mainErrorCount","ReactModal","setAppElement","newProps","role","contentLabel","overlayClassName","displayModal","main","bodyOpenClassName","portalClassName","_extends","assign","_createClass","defineProperties","descriptor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement2","_reactLifecyclesCompat","_possibleConstructorReturn","ReferenceError","isReact16","createHTMLElement","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","_Component","_temp","_len","_key","__proto__","removePortal","parent","portalRef","portal","renderPortal","defaultStyles","subClass","superClass","setPrototypeOf","_inherits","prevProps","prevParent","nextParent","snapshot","_props","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","overlay","htmlOpenClassName","afterOpen","onAfterOpen","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","preventScroll","aria","shouldCloseOnEsc","overlayRef","contentRef","overlayElement","contentElement","contentEl","backgroundColor","overflow","WebkitOverflowScrolling","borderRadius","outline","polyfill","_typeof","focusManager","_scopeTab2","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","getElementsByTagName","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","beforeOpen","closeTimer","setupScopedFocus","markForFocusLater","openAnimationFrame","overlayEl","close","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","keyCode","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","which","additional","classNames","attributesFromObject","prefix","acc","moveFromContentToOverlay","prevState","add","_props2","contentStyles","overlayStyles","overlayProps","onMouseDown","contentProps","onKeyDown","onMouseUp","modal","testId","focusLaterElements","handleBlur","handleFocus","toFocus","modalElement","attachEvent","detachEvent","_tabbable","_tabbable2","needToFocus","shiftKey","head","tail","checkSafari","warning","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","htmlElement","cls","htmlClassList","removeClass","_cls","docBodyClassList","classes","_x","at","classString","classListRef","poll","incrementReference","decrementReference","_arr","before","after","_i","instances","_arr2","_i2","_portalOpenInstances","opacity","cloneNode","lastChild","nextProps","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","__suppressDeprecationWarning","FilterXSS","filterXSS","DedicatedWorkerGlobalScope","parseStyle","isNull","shallowCopyObject","css","sourcePosition","isWhite","cssLength","isParenthesisOpen","retCSS","addNewAttr","stripIgnoreTag","allowCommentTag","stripIgnoreTagBody","retHtml","info","attrs","closing","getAttrs","whiteAttrList","attrsHtml","isWhiteAttr","overflowSeparator","setOverflowSeparator","closeButtonRef","documentElement","clientHeight","labelledby","describedby","data-testid","loading","loadingText","isNotExcluded","NavigationButtonIcon","useModal","setOpen","openModal","closeModal","showLogoutWarning","Accordion","setActive","setActiveState","ariaPressed","rotate","toggleAccordion","openAccordion","closeAccordion","aria-pressed","subTitle","centerItem","rightItem","maxHeight","HeaderCancel","jumpToLink","getElementById","HeaderContainer","HeaderLogo","NotificationBanner","expanded","_renderCloseButton","renderCloseButton","_collapseNotification","collapseNotification","_expandNotification","expandNotification","_setBannerHeight","setBannerHeight","notifications","isNotificationExpanded","bannerContainer","transition","collapsedBanner","collapsedWrapper","notification","dateDismissed","dateUpdated","isDateValid","date","storageNotification","markNotificationClosed","dismissable","enabled","notificationStatus","elem","expandedWrapper","HeaderMobileButton","data-target","HelpIcon","SideNav","onExpanded","onCollapsed","chartData","currentLevel","showDevPreDfpLink","showSelfNomination","showApmIncentivePaymentLink","isAltStyle","showReportsPortal","showTargetedReviewLink","SideNavUI","expand","collapse","SvgComponents","showReportingLinks","svgIcons","isExpandedState","setIsExpandedState","itemsState","setItemsState","currentLevelState","setCurrentLevelState","collapseRef","getLevelContent","LevelTwoContent","LevelOneContent","levelOneContent","getDynamicContent","contentItems","recursionId","openDrawersByDefault","linkActiveFunc","linkCallback","useTooltips","linkClass","containerRecursionId","getDynamicIcon","icon","itemsMarkup","divider","container","linkBack","linkHome","practiceDetails","practiceName","practiceTin","apmEntityId","vgId","cpcPlusId","pcfId","individualDetails","individualName","individualNpi","linkDrawer","isAlwaysOpen","openByDefault","rightIcon","leftIcon","listOfLinks","sidebarExpand","isHighlighted","leftBorderHighlightDisabled","largerDrawerBottomPadding","custom","chart","switchLink","navClassName","svg","devPre","viewer","SVGIcons","_classnames2","cleanups","comment","defs","sketchMSShapeGroup","sketchMSPage","sketchMSLayerGroup","SVGInline","component","accessibilityLabel","accessibilityDesc","classSuffix","cleanupExceptions","componentProps","_objectWithoutProperties","cleanup","svgClasses","svgStr","cleanupSvg","_pos","idCount","hasOwn","arg","argType","inner","getIcon","user_has_apm_payments","qpp_is_dev_pre","qpp_ehr_authorized","lastName","hasApmPayments","ehrAuthorized","urlConditionMap","navLinks","IconComponent","Icon","sharedProps","staticDrawer","activeLink","setActiveLink","toggleActive","idx","React","isActive","setIsOpen","toggleDrawer","isLinkActive","currentPage","isCurrentPage","targetItems","expandedClass","renderLeftIcon","hasDarkerTitle","isLeftBorderHighlightDisabled","isHiddenWhileCollapsed","isLeftBorderDisabled","highlightTitle","hasLargerDrawBottomPadding","adjustItemSpacing","renderDrawerLinksRecursively","urlExpressionToMatch","urlRegExp","svgRef","showTooltip","setShowTooltip","tooltipRef","existingMouseenter","onmouseover","existingMouseout","onmouseout","svgOffset","expandedStyle","altStyle","PAST_REPORTING_YEARS","chartActive","updateTime","practiceId","isConnectedUsersPage","roleAbbr","finalFeedbackOpen","isApmPaymentDetailsPage","links","apmDetailsUrl","linkLabel","practiceUrlSegment","renderId","WIDTH","HEIGHT","RADIUS","GAP_VALUE","legendToggler","legend","hasLegend","setHasLegend","quality","aci","pi","ia","cost","titleMapping","setTitleMapping","categories","getAdvancingCareLabel","redirectToCategory","categoryId","track","draw","scorePie","pie","maxContribution","categorySum","sum","select","selectAll","attr","chartArc","arc","innerRadius","outerRadius","append","finalScore","arcs","enter","tabindex","clientY","clientX","toggleLegend","CmsSwitchLink","factory","loaded","ask","ignoreKeys","specificKeys","registerOnChange","unRegisterOnChange","docElem","currentElement","currentInput","currentIntent","currentTimestamp","shouldPersist","formInputs","functionList","ignoreMap","specificMap","inputMap","keydown","keyup","mousedown","mousemove","MSPointerDown","MSPointerMove","pointerdown","pointermove","touchstart","touchend","isScrolling","mousePos","pointerMap","supportsPassive","addListeners","passive","setPersist","PointerEvent","setInput","setIntent","MSPointerEvent","detectWheel","clearElement","sessionStorage","doUpdate","eventKey","pointerType","ignoreMatch","specificMatch","shouldUpdate","validateTouch","persistInput","activeElem","checkClosest","fireFunctions","detectScrolling","timestamp","touchIsValid","onmousewheel","screenX","screenY","ElementPrototype","Element","matches","msMatchesSelector","webkitMatchesSelector","closest","objPos","clearStorage","clear","PI","tau","epsilon","tauEpsilon","Path","_x0","_y0","_x1","_y1","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","x0","y0","x21","y21","x01","y01","l01_2","abs","x20","y20","l21_2","l20_2","l21","sqrt","l01","tan","acos","t01","t21","a0","a1","ccw","dx","cos","dy","sin","cw","da","rect","atan2","halfPi","asin","arcInnerRadius","arcOuterRadius","arcStartAngle","startAngle","arcEndAngle","endAngle","arcPadAngle","padAngle","intersect","x3","y3","x10","y10","x32","y32","cornerTangents","r1","rc","lo","ox","oy","x11","y11","x00","y00","d2","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","cx","cy","cornerRadius","constant","padRadius","r0","t0","t1","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","p0","p1","oc","ax","ay","bx","by","kc","lc","centroid","Linear","_context","areaStart","_line","areaEnd","NaN","lineStart","_point","lineEnd","point","defined","curve","output","defined0","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","identity","sortValues","descending","pa","curveRadialLinear","curveRadial","Radial","_curve","radial","lineRadial","angle","radius","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","linkSource","linkTarget","curveHorizontal","curveVertical","pointRadial","p2","p3","linkHorizontal","linkVertical","linkRadial","tan30","tan30_2","kr","kx","ky","sqrt3","symbols","circle","cross","diamond","square","star","triangle","wye","that","Basis","BasisClosed","_x2","_x3","_x4","_y2","_y3","_y4","BasisOpen","Bundle","beta","_basis","_beta","_y","bundle","_k","Cardinal","tension","cardinal","CardinalClosed","_x5","_y5","CardinalOpen","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","alpha","_alpha","x23","y23","catmullRom","CatmullRomClosed","CatmullRomOpen","LinearClosed","sign","slope3","h0","s0","s1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","controlPoints","_t0","px","py","i0","i1","Step","_t","stepBefore","stepAfter","series","order","stackValue","offset","oz","kz","sz","sij","ki","si","none","yp","yn","s2","sij0","s3","sk","peaks","peak","vi","vj","sums","ascending","appearance","tops","bottoms","xhtml","xlink","xml","namespaces","space","local","creatorInherit","uri","namespaceURI","creatorFixed","fullname","namespace","querySelector","empty","update","EnterNode","datum","_next","_parent","__data__","child","bindIndex","group","exit","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","attrRemove","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","defaultView","styleRemove","removeProperty","styleConstant","priority","styleFunction","styleValue","propertyRemove","propertyConstant","propertyFunction","classArray","ClassList","_node","_names","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","lower","previousSibling","constantNull","selection_cloneShallow","clone","selection_cloneDeep","filterEvents","mouseenter","mouseleave","filterContextListener","contextListener","related","relatedTarget","compareDocumentPosition","event1","event0","parseTypenames","typenames","onRemove","typename","__on","capture","onAdd","customEvent","sourceEvent","dispatchEvent","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","Selection","groups","parents","_groups","_parents","subgroups","subnode","subgroup","selectorAll","matcher","each","enterGroup","updateGroup","previous","_enter","_exit","sparse","onenter","onupdate","onexit","groups0","groups1","selection","m0","m1","merges","group0","group1","compareNode","compare","sortgroups","sortgroup","nodes","getAttributeNS","classed","creator","insert","deep","nextId","Local","createSVGPoint","matrixTransform","getScreenCTM","inverse","clientLeft","clientTop","changedTouches","identifier","touches","touch","serverHandoffComplete","genId","getOwnerDocument","makeId","_arrayLikeToArray","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","minLen","from","_unsupportedIterableToArray","assignRef","useComposedRefs","refs","composeEventHandlers","theirHandler","ourHandler","_excluded","_ref$as","as","Comp","_ref$style","excluded","sourceKeys","_objectWithoutPropertiesLoose","clip","margin","whiteSpace","wordWrap","rafId","observedNodes","changedStates","newRect","callbacks","observe","wasEmpty","has","hasRectChanged","unobserve","useRect","nodeRef","observeOrOptions","deprecated_onChange","onChange","_observeOrOptions$obs","_React$useState","initialRectIsSet","initialRefIsSet","_React$useState2","setRect","onChangeRef","observer","_on","_on2","_on3","_on4","_on5","_states","TooltipStates","TooltipEvents","_excluded2","_excluded3","_excluded4","MOUSE_REST_TIMEOUT","LEAVE_TIMEOUT","restTimeout","leavingVisibleTimer","initial","Idle","states","clearContextId","MouseEnter","Focused","Focus","Visible","Rest","leave","MouseMove","MouseLeave","MouseDown","Dismissed","Blur","LeavingVisible","SelectWithKeyboard","GlobalMouseMove","TimeComplete","subscriptions","idProp","onPointerEnter","onPointerMove","onPointerLeave","onPointerDown","onMouseEnter","onMouseMove","onMouseLeave","onFocus","onBlur","forwardedRef","idFromProps","initialId","setId","useId","isTooltipVisible","setIsVisible","ownRef","wrapMouseEvent","wrapPointerEventHandler","handler","handleMouseEnter","handleMouseMove","handleMouseLeave","handleMouseDown","_ref5","useDisabledTriggerOnSafari","__REACH_DISABLE_TOOLTIPS","_ref2","DEPRECATED_ariaLabel","_useTooltip","_ref3","_ref4","realAriaLabel","_ref4$as","_ref4$position","hasAriaLabel","getStyles","visibility","_ownerDocument$docume","_ownerDocument$docume2","ownerWindow","_getDocumentDimension","clientWidth","windowHeight","_transition","currentState","stateDef","changed","nextStateValue","nextDef"],"mappings":"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AG,IAAIid,OAAO,EAAE,EAAE,IAAI,OAAOrB,KAAKtD,MAAMlY,EAAEkE,EAAEqU,MAAM,KAAKhZ,KAAK,MAAM2E,GAAG,MAAM,IAAI3D,EAAE,4BAA4B2D,EAAEqY,Y,6BCEvlC/c,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQqb,UAAYrb,EAAQke,aAAele,EAAQme,wBAAqBtG,EAExE,IAIgCrH,EAJ5B4N,EAAS,EAAQ,IAMrB,IAAIC,IAF4B7N,EAFK4N,IAEgB5N,EAAIlP,WAAakP,EAAM,CAAEpF,QAASoF,IAEtEpF,QAEbkT,EAAkBD,EAAGhD,UAAYxJ,OAAO0M,YAAc,GAEjCve,EAAQme,mBAAqBE,EAAGhD,UAAYxJ,OAAO2M,eAAiB,GAE1Exe,EAAQke,aAAeG,EAAGhD,UAAYxJ,OAAO4M,SAAW,GAE3Dze,EAAQqb,UAAYgD,EAAGhD,UAEvCrb,EAAQoL,QAAUkT,G,6bClBlB,IAAMI,EAAqB,CACzB,IACA,OACA,UACA,UACA,QACA,IACA,aACA,KACA,SACA,UACA,OACA,OACA,MACA,WACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,KACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,QACA,MACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,UACA,SACA,QACA,SACA,OACA,SACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,MACA,UACA,SACA,IACA,QAIIC,EAA2B,CAC/B,IAAK,CACH,SACA,MACA,SACA,eACA,OACA,QACA,OACA,UACA,SACA,WACA,WACA,WACA,MACA,UACA,SACA,SACA,OACA,WACA,KACA,OACA,OACA,MACA,YACA,YACA,QACA,SACA,MACA,WACA,OACA,aACA,OACA,UACA,cACA,WACA,MACA,WACA,WACA,OACA,UACA,UACA,QACA,SACA,WACA,OAC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","file":"browser.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 49);\n","var n,l,u,i,t,o,r,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return y(l,f,t,o,null)}function y(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?k(t):o,t.__h),z(u,t),t.__e!=o&&b(t)))})}function w(n,l,u,i,t,o,r,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,o,r,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&null!=_.__k&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),a||\"option\"!==u.type?\"function\"==typeof u.type&&(u.__d=s):n.value=\"\"):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,l=\"function\"==typeof t.type?x(t,l,u):P(u,t,t,n.__k,t.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(o=!0),null!=r)for(;_<r.length;_++)if((s=r[_])&&(s===l||(d?s.localName==d:3==s.nodeType))){l=s,r[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,o,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,o&&\"foreignObject\"!==d,r,f,r?r[0]:i.__k&&k(i,0),c),null!=r)for(_=r.length;_--;)null!=r[_]&&h(r[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var o,r,f;l.__&&l.__(u,i),r=(o=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!o&&t||i).__k=v(d,null,[u]),r||e,e,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,f,!o&&t?t:r?r.__e:i.firstChild,o),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,o,r,f=a({},l.props);for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,o||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from\"preact/hooks\";export*from\"preact/hooks\";import{Component as a,createElement as s,options as h,toChildArray as v,Fragment as d,render as p,hydrate as m,cloneElement as y,createRef as b,createContext as _}from\"preact\";export{createElement,createContext,createRef,Fragment,Component}from\"preact\";function S(n,t){for(var e in t)n[e]=t[e];return n}function C(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:C(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return C(this.props,n)||C(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var R=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function x(n){function t(t,e){var r=S({},t);return delete r.ref,n(r,(e=t.ref||e)&&(\"object\"!=typeof e||\"current\"in e)?e:null)}return t.$$typeof=R,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var N=function(n,t){return null==n?null:v(v(n).map(t))},k={map:N,forEach:N,count:function(n){return n?v(n).length:0},only:function(n){var t=v(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:v},A=h.__e;h.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);A(n,t,e)};var O=h.unmount;function L(){this.__u=0,this.t=null,this.__b=null}function U(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function F(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName=\"Lazy\",u.__f=!0,u}function M(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(L.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=U(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__e){var n=r.state.__e;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement(\"div\"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=S({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__e&&s(d,null,n.fallback);return u&&(u.__h=null),[s(d,null,t.__e?null:n.children),u]};var T=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function D(n){return this.getChildContext=function(){return n.context},n.children}function I(n){var t=this,e=n.i;t.componentWillUnmount=function(){p(null,t.l),t.l=null,t.i=null},t.i&&t.i!==e&&t.componentWillUnmount(),n.__v?(t.l||(t.i=e,t.l={nodeType:1,parentNode:e,childNodes:[],appendChild:function(n){this.childNodes.push(n),t.i.appendChild(n)},insertBefore:function(n,e){this.childNodes.push(n),t.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),t.i.removeChild(n)}}),p(s(D,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function W(n,t){return s(I,{__v:n,i:t})}(M.prototype=new a).__e=function(n){var t=this,e=U(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),T(t,n,r)):u()};e?e(o):o()}},M.prototype.render=function(n){this.u=null,this.o=new Map;var t=v(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},M.prototype.componentDidUpdate=M.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){T(n,e,t)})};var j=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,V=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=\"\"),p(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),\"function\"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this[\"UNSAFE_\"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function $(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=$,n.nativeEvent=n};var q,G={configurable:!0,get:function(){return this.class}},J=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if(\"string\"==typeof t){for(var u in r={},e){var o=e[u];\"value\"===u&&\"defaultValue\"in e&&null==o||(\"defaultValue\"===u&&\"value\"in e&&null==e.value?u=\"value\":\"download\"===u&&!0===o?o=\"\":/ondoubleclick/i.test(u)?u=\"ondblclick\":/^onchange(textarea|input)/i.test(u+t)&&!V(e.type)?u=\"oninput\":/^on(Ani|Tra|Tou|BeforeInp)/.test(u)?u=u.toLowerCase():P.test(u)?u=u.replace(/[A-Z0-9]/,\"-$&\").toLowerCase():null===o&&(o=void 0),r[u]=o)}\"select\"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=v(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),\"select\"==t&&null!=r.defaultValue&&(r.value=v(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r}t&&e.class!=e.className&&(G.enumerable=\"className\"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,\"className\",G)),n.$$typeof=j,J&&J(n)};var K=h.__r;h.__r=function(n){K&&K(n),q=n.__c};var Q={ReactCurrentDispatcher:{current:{readContext:function(n){return q.__n[n.__c].props.value}}}},X=\"17.0.2\";function nn(n){return s.bind(null,n)}function tn(n){return!!n&&n.$$typeof===j}function en(n){return tn(n)?y.apply(null,arguments):n}function rn(n){return!!n.__k&&(p(null,n),!0)}function un(n){return n&&(n.base||1===n.nodeType&&n)||null}var on=function(n,t){return n(t)},ln=function(n,t){return n(t)},fn=d;export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:\"17.0.2\",Children:k,render:z,hydrate:B,unmountComponentAtNode:rn,createPortal:W,createElement:s,createContext:_,createFactory:nn,cloneElement:en,createRef:b,Fragment:d,isValidElement:tn,findDOMNode:un,Component:a,PureComponent:E,memo:g,forwardRef:x,flushSync:ln,unstable_batchedUpdates:on,StrictMode:d,Suspense:L,SuspenseList:M,lazy:F,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Q};export{X as version,k as Children,z as render,B as hydrate,rn as unmountComponentAtNode,W as createPortal,nn as createFactory,en as cloneElement,tn as isValidElement,un as findDOMNode,E as PureComponent,g as memo,x as forwardRef,ln as flushSync,on as unstable_batchedUpdates,fn as StrictMode,L as Suspense,M as SuspenseList,F as lazy,Q as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED};\n//# sourceMappingURL=compat.module.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","import React from 'react';\n\nexport const MyApplicationsIcon = () => (\n <svg className=\"my-applications\" viewBox=\"0 0 25 25\">\n <g>\n <g transform=\"translate(0.000000, 0.629018)\">\n <polygon points=\"12 23.0964379 24 15.374457 24 16.3397046 12 24.0616855 0 16.3397046 0 15.374457\"></polygon>\n <polygon points=\"12 19.2701998 24 11.5482189 24 12.5134666 12 20.2354474 0 12.5134666 0 11.5482189\"></polygon>\n <path d=\"M23.25,8.20460469 L12,0.965247611 L0.75,8.20460469 L12,15.4439618 L23.25,8.20460469 Z M24,7.72198089 L24,8.6872285 L12,16.4092094 L0,8.6872285 L0,7.72198089 L12,0 L24,7.72198089 Z\"></path>\n </g>\n </g>\n </svg>\n);\n\nexport const UserSignInIcon = () => (\n <svg className=\"user-sign-in\" viewBox=\"0 0 25 25\">\n <path\n d=\"M26.6,22.9c-1.2-2.3-3.3-4-5.7-4.7l-2.5-0.7c-0.1,0-0.1,0-0.1-0.1c0,0,0-0.1,0-0.2l1.8-2\n c1.5-1.6,2.1-3.8,1.9-5.9l-0.3-2.4c-0.3-2.3-1.5-4.3-3.4-5.5l-0.1,0c-1.2-0.8-2.6-1.1-4-1.1c-1.5,0-2.9,0.4-4.3,1.3\n c-1.8,1.2-2.9,3-3.2,5.1L6.2,9.1c-0.3,2.2,0.3,4.5,1.8,6.2l1.7,1.9c0,0,0,0,0,0.1c0,0.1,0,0.1,0,0.2c0,0.1-0.1,0.1-0.1,0.1l-2.5,0.7\n c-2.4,0.7-4.5,2.4-5.7,4.7c-0.5,1-0.5,2.3,0.1,3.3c0.7,1,1.8,1.6,2.9,1.6h19.3c1.2,0,2.3-0.6,2.9-1.6C27.2,25.3,27.2,24,26.6,22.9z\n M11.1,18.1c0.2-0.4,0.2-0.9,0.1-1.4c-0.1-0.2-0.2-0.4-0.3-0.5l-1.7-1.9C8,13,7.5,11.1,7.7,9.3l0.4-2.6c0.3-1.7,1.2-3.2,2.6-4.1\n c1-0.7,2.2-1,3.4-1c1.2,0,2.3,0.3,3.3,1l0.1,0h0C19,3.6,20,5.2,20.2,7l0.3,2.4c0.2,1.7-0.3,3.4-1.5,4.7l-1.8,2\n c-0.1,0.2-0.2,0.3-0.3,0.5c-0.2,0.4-0.1,0.9,0.1,1.4c0.2,0.4,0.6,0.7,1,0.9l2.5,0.7c2.1,0.6,3.8,2,4.8,3.9c0.3,0.6,0.3,1.3-0.1,1.8\n c-0.3,0.5-0.9,0.9-1.6,0.9H4.4c-0.7,0-1.2-0.4-1.6-0.9c-0.3-0.6-0.3-1.2,0-1.8l0,0c1-1.9,2.7-3.3,4.8-3.9l2.5-0.7\n C10.5,18.8,10.9,18.5,11.1,18.1z\"\n />\n </svg>\n);\n\nexport const MyTestDataIcon = () => (\n <svg className=\"my-test-data\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M2 20h20v-4H2v4zm2-3h2v2H4v-2zM2 4v4h20V4H2zm4 3H4V5h2v2zm-4 7h20v-4H2v4zm2-3h2v2H4v-2z\" />\n </svg>\n);\n\nexport const ReportDataIcon = () => (\n <svg className=\"report-data\" viewBox=\"0 0 35 35\">\n <title>report-data</title>\n <g>\n <polygon points=\"11.5,15.5 12.6,16.5 16.9,11.8 16.9,26.3 18.1,26.3 18.1,11.8 22.4,16.5 23.5,15.5 17.5,9 \t\" />\n <path\n d=\"M32.8,17.5c0-2.1-0.4-4.1-1.2-6c-2.3-5.5-7.8-9.4-14.1-9.4c-6.7,0-12.4,4.3-14.4,10.3c-0.5,1.6-0.9,3.3-0.9,5\n c0,3.7,1.3,7.1,3.5,9.8c2.8,3.4,7,5.5,11.8,5.5c3.2,0,6.1-1,8.6-2.6C30.1,27.4,32.8,22.8,32.8,17.5z M17.5,31.6c-3.1,0-6-1-8.3-2.7\n c-3.5-2.6-5.8-6.7-5.8-11.4c0-1.5,0.2-2.9,0.6-4.2c1.8-5.7,7.2-9.9,13.5-9.9c5.9,0,10.9,3.6,13.1,8.8c0.7,1.7,1.1,3.5,1.1,5.4\n c0,6-3.7,11.1-8.9,13.1C21.1,31.3,19.3,31.6,17.5,31.6z\"\n />\n </g>\n </svg>\n);\n\nexport const ManageUsersIcon = () => (\n <svg className=\"manage-users-svg\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M4.4,10.8V0.2H3.6v10.7c-1.9,0.2-3.4,1.8-3.4,3.8s1.5,3.6,3.4,3.8v6.4h0.9v-6.4c1.9-0.2,3.4-1.8,3.4-3.8\n S6.3,11.1,4.4,10.8z M4,17.6c-1.6,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S5.6,17.6,4,17.6z\"\n />\n <path\n d=\"M12.9,2.3V0.2h-0.9v2.2c-1.9,0.2-3.4,1.8-3.4,3.8c0,2,1.5,3.6,3.4,3.8v14.9h0.9V9.9c1.9-0.2,3.4-1.8,3.4-3.8\n C16.3,4.2,14.8,2.6,12.9,2.3z M12.5,9.1c-1.6,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S14.1,9.1,12.5,9.1z\"\n />\n <path\n d=\"M24.8,18.9c0-2-1.5-3.6-3.4-3.8V0.2h-0.9v14.9c-1.9,0.2-3.4,1.8-3.4,3.8s1.5,3.6,3.4,3.8v2.2h0.9v-2.2\n C23.3,22.4,24.8,20.8,24.8,18.9z M21,21.8c-1.6,0-3-1.3-3-3c0-1.6,1.3-3,3-3s3,1.3,3,3C24,20.5,22.6,21.8,21,21.8z\"\n />\n </g>\n </svg>\n);\n\nexport const AccountHomeIcon = () => (\n <svg className=\"account-home-icon\" viewBox=\"0 0 25 25\">\n <path d=\"M8.5,24 L8.5,15 C8.5,14.7238576 8.72385763,14.5 9,14.5 L16,14.5 C16.2761424,14.5 16.5,14.7238576 16.5,15 L16.5,24 L22.5,24 L22.5,9.238536 L12.5,1.14329791 L2.5,9.238536 L2.5,24 L8.5,24 Z M1.68540089,8.61137756 L12.1854009,0.111377565 C12.3688463,-0.0371258549 12.6311537,-0.0371258549 12.8145991,0.111377565 L23.3145991,8.61137756 C23.4318689,8.70631024 23.5,8.8491212 23.5,9 L23.5,24.5 C23.5,24.7761424 23.2761424,25 23,25 L2,25 C1.72385763,25 1.5,24.7761424 1.5,24.5 L1.5,9 C1.5,8.8491212 1.56813111,8.70631024 1.68540089,8.61137756 Z M9.5,15.5 L9.5,24 L15.5,24 L15.5,15.5 L9.5,15.5 Z\"></path>\n </svg>\n);\n\nexport const FacilityBasedPreviewIcon = () => (\n <svg className=\"facility-based-preview-svg\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M24.498 23.234l-5.359-5.262c.427-.79.651-1.672.651-2.575 0-1.848-.959-3.582-2.521-4.596V4.792a.513.513 0 0 0-.155-.366L12.762.152A.533.533 0 0 0 12.389 0H.547A.523.523 0 0 0 .02.518v22.154c0 .286.236.517.527.517h16.194a.523.523 0 0 0 .528-.517v-1.954l4.896 4.807c.311.306.726.475 1.166.475.441 0 .855-.169 1.167-.475a1.601 1.601 0 0 0 0-2.29zm-9.03-18.96h-2.552V1.768l1.276 1.253 1.276 1.253zm.746 16.255v1.625H1.074V1.036h10.787v3.756c0 .286.236.518.528.518h3.825v4.955a5.705 5.705 0 0 0-2.03-.373c-3.091 0-5.606 2.47-5.606 5.505 0 3.036 2.515 5.505 5.606 5.505.697 0 1.386-.128 2.03-.373zm.397-1.35l-.136.08a4.61 4.61 0 0 1-2.291.608c-2.51 0-4.551-2.005-4.551-4.47 0-2.464 2.041-4.47 4.551-4.47.806 0 1.599.21 2.291.608 1.394.8 2.26 2.28 2.26 3.862 0 .847-.242 1.671-.7 2.384a4.561 4.561 0 0 1-1.424 1.397zm7.141 5.614a.597.597 0 0 1-.42.171.596.596 0 0 1-.421-.171l-5.206-5.112a5.64 5.64 0 0 0 .84-.827h.001l5.206 5.113a.577.577 0 0 1 0 .826z\" />\n <path d=\"M12.28 12.348a3.542 3.542 0 0 0-1.738 3.05c0 .285.236.517.527.517a.523.523 0 0 0 .528-.518c0-.89.462-1.7 1.235-2.167a.513.513 0 0 0 .174-.712.533.533 0 0 0-.726-.17zM16.018 12.307a3.691 3.691 0 0 0-1.834-.486.523.523 0 0 0-.528.518c0 .286.237.518.528.518.458 0 .909.119 1.302.345a.533.533 0 0 0 .722-.186.513.513 0 0 0-.19-.709z\" />\n </g>\n </svg>\n);\n\nexport const PaymentIcon = () => (\n <svg className=\"payment-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M12.1618195,20.7968379 L12.1618195,12.9463878 C10.781964,12.4923749 9.69910643,12.0472873 8.91321499,11.6111111 C8.11242203,11.1666644 7.51873961,10.6203736 7.1321499,9.97222222 C6.7455602,9.32407083 6.55226824,8.5 6.55226824,7.5 C6.55226824,6.14814139 7.0447025,5.01389347 8.0295858,4.09722222 C9.01446909,3.18055097 10.3905237,2.65740806 12.1577909,2.52777778 L12.1577909,0.611111111 C12.1577909,0.425925 12.2130172,0.277778333 12.3234714,0.166666667 C12.4339256,0.055555 12.5811957,0 12.765286,0 L13.2899408,0 C13.4740312,0 13.6213012,0.055555 13.7317554,0.166666667 C13.8422096,0.277778333 13.8974359,0.425925 13.8974359,0.611111111 L13.8974359,2.55555556 C15.057205,2.66666722 16.0512779,2.97221972 16.8796844,3.47222222 C17.7080909,3.97222472 18.3339887,4.56944097 18.7573964,5.26388889 C19.1808042,5.95833681 19.4109137,6.65740389 19.4477318,7.36111111 C19.4477318,7.50926 19.3971077,7.63888833 19.295858,7.75 C19.1946083,7.86111167 19.0519404,7.91666667 18.8678501,7.91666667 L18.3155819,7.91666667 C18.1867186,7.91666667 18.0578573,7.87500042 17.9289941,7.79166667 C17.8001308,7.70833292 17.7264958,7.56481583 17.7080868,7.36111111 C17.5976326,6.43518056 17.1051983,5.67129931 16.2307692,5.06944444 C15.5784594,4.62047057 14.8006641,4.33896279 13.8973694,4.22491735 L13.8973694,11.7499783 C15.4069766,12.2314839 16.5851371,12.6944422 17.4319527,13.1388889 C18.2787682,13.5833356 18.9184725,14.1203672 19.3510848,14.75 C19.7836971,15.3796328 20,16.1944394 20,17.1944444 C20,18.7500078 19.4615438,19.9861065 18.3846154,20.9027778 C17.3076869,21.819449 15.8119754,22.3425919 13.8974359,22.4722222 L13.8974359,24.3888889 C13.8974359,24.574075 13.8422096,24.7222217 13.7317554,24.8333333 C13.6213012,24.944445 13.4740312,25 13.2899408,25 L12.765286,25 C12.5811957,25 12.4339256,24.944445 12.3234714,24.8333333 C12.2130172,24.7222217 12.1577909,24.574075 12.1577909,24.3888889 L12.1577909,22.4444444 C10.9059766,22.3518514 9.81985996,22.0648172 8.89940828,21.5833333 C7.97895661,21.1018494 7.27482164,20.5046332 6.78698225,19.7916667 C6.29914286,19.0787001 6.03681807,18.3148189 6,17.5 C6,17.3518511 6.05522627,17.2222228 6.16568047,17.1111111 C6.27613467,17 6.41420036,16.9444444 6.57988166,16.9444444 L7.1321499,16.9444444 C7.4635125,16.9444444 7.66600884,17.1296278 7.73964497,17.5 C7.86850821,18.3888933 8.37474903,19.1666633 9.25838264,19.8333333 C9.97320875,20.3726414 10.9410143,20.6938096 12.1618195,20.7968379 Z M13.8973694,20.8073012 C15.2350836,20.7193579 16.2613967,20.4085927 16.9763314,19.875 C17.8323514,19.2361079 18.260355,18.3425983 18.260355,17.1944444 C18.260355,16.4907372 18.0532565,15.9120393 17.6390533,15.4583333 C17.22485,15.0046274 16.6219632,14.6064832 15.8303748,14.2638889 C15.3408921,14.052044 14.6965598,13.8065676 13.8973694,13.5274567 L13.8973694,20.8073012 Z M12.1618195,4.19615363 C11.0995324,4.28099937 10.2283731,4.54894668 9.54832347,5 C8.71071245,5.55555833 8.29191321,6.38888333 8.29191321,7.5 C8.29191321,8.22222583 8.48060298,8.81944208 8.85798817,9.29166667 C9.23537335,9.76389125 9.80144264,10.1712946 10.556213,10.5138889 C10.9788577,10.7057296 11.5140579,10.9193435 12.1618195,11.1547327 L12.1618195,4.19615363 Z\"></path>\n </g>\n </svg>\n);\n\nexport const PhysicianCompareIcon = () => (\n <svg className=\"physician-compare-icon\" viewBox=\"0 0 25 25\">\n <g id=\"Page-1\" stroke=\"none\" strokeWidth=\"1\">\n <g id=\"Physician-Compare_Physician-Compare\">\n <path d=\"M19.2204301,5 L18.1451613,5 C17.7419355,5 17.4731183,5.2601626 17.4731183,5.6504065 C17.4731183,6.04065041 17.7419355,6.30081301 18.1451613,6.30081301 L19.2204301,6.30081301 C19.3548387,6.30081301 19.4892473,6.43089431 19.4892473,6.56097561 L19.4892473,11.8943089 C19.4892473,13.3252033 18.2795699,14.6260163 16.6666667,14.6260163 C15.0537634,14.6260163 13.844086,13.4552846 13.844086,11.8943089 L13.844086,6.56097561 C13.844086,6.43089431 13.9784946,6.30081301 14.1129032,6.30081301 L15.188172,6.30081301 C15.5913978,6.30081301 15.8602151,6.04065041 15.8602151,5.6504065 C15.8602151,5.2601626 15.5913978,5 15.188172,5 L14.1129032,5 C13.3064516,5 12.5,5.6504065 12.5,6.56097561 L12.5,11.8943089 C12.5,13.8455285 13.9784946,15.5365854 15.9946237,15.9268293 C15.8602151,18.398374 14.6505376,19.699187 12.5,19.699187 L12.2311828,19.699187 C9.40860215,19.699187 8.33333333,17.2276423 8.33333333,15.6666667 L8.33333333,14.495935 C9.67741935,14.1056911 10.6182796,12.9349593 10.6182796,11.504065 C10.7526882,9.81300813 9.27419355,8.38211382 7.52688172,8.38211382 C5.77956989,8.38211382 4.16666667,9.81300813 4.16666667,11.504065 C4.16666667,13.0650407 5.37634409,14.3658537 6.98924731,14.6260163 L6.98924731,15.6666667 C6.98924731,18.2682927 8.87096774,21 12.2311828,21 L12.5,21 C15.4569892,21 17.2043011,19.1788618 17.3387097,15.796748 C19.3548387,15.5365854 20.8333333,13.8455285 20.8333333,11.7642276 L20.8333333,6.56097561 C20.8333333,5.6504065 20.1612903,5 19.2204301,5 Z M5.77956989,11.504065 C5.77956989,10.5934959 6.58602151,9.94308943 7.39247312,9.94308943 C8.19892473,9.94308943 9.00537634,10.7235772 9.00537634,11.504065 C9.00537634,12.2845528 8.33333333,13.195122 7.52688172,13.195122 C6.72043011,13.195122 5.77956989,12.4146341 5.77956989,11.504065 Z\"></path>\n <path d=\"M20.718232,0 L4.14364641,0 C1.79558011,0 0,1.82291667 0,3.90625 L0,21.09375 C0,23.3072917 1.93370166,25 4.14364641,25 L20.8563536,25 C23.2044199,25 25,23.1770833 25,21.09375 L25,3.90625 C24.8618785,1.82291667 23.0662983,0 20.718232,0 Z M23.480663,21.09375 C23.480663,22.5260417 22.2375691,23.6979167 20.718232,23.6979167 L4.14364641,23.6979167 C2.62430939,23.6979167 1.38121547,22.5260417 1.38121547,21.09375 L1.38121547,3.90625 C1.38121547,2.47395833 2.62430939,1.30208333 4.14364641,1.30208333 L20.8563536,1.30208333 C22.3756906,1.30208333 23.6187845,2.47395833 23.6187845,3.90625 L23.6187845,21.09375 L23.480663,21.09375 Z\"></path>\n </g>\n </g>\n </svg>\n);\n\nexport const HardshipIcon = () => (\n <svg className=\"hardship-icon\" viewBox=\"0 0 25 25\" version=\"1.1\">\n <g>\n <g transform=\"translate(2.000000, 0.000000)\" fillRule=\"nonzero\">\n <path d=\"M18.7721739,2.6119403 L14.4991304,2.6119403 L12.4813043,2.6119403 C12.5178261,2.44402985 12.5543478,2.2761194 12.5543478,2.0988806 C12.5543478,0.942164179 11.6321739,0 10.5,0 C9.36782609,0 8.44565217,0.942164179 8.44565217,2.0988806 C8.44565217,2.2761194 8.47304348,2.44402985 8.51869565,2.6119403 L6.49173913,2.6119403 L2.21869565,2.6119403 C0.995217391,2.6119403 0,3.62873134 0,4.8880597 L0,22.733209 C0,23.983209 0.995217391,25 2.21869565,25 L18.7721739,25 C19.9956522,25 21,23.983209 21,22.7238806 L21,4.8880597 C21,3.62873134 19.9956522,2.6119403 18.7721739,2.6119403 Z M10.5,0.932835821 C11.13,0.932835821 11.6413043,1.45522388 11.6413043,2.0988806 C11.6413043,2.31343284 11.5682609,2.5 11.4769565,2.66791045 C11.403913,2.7891791 11.3126087,2.9011194 11.2030435,2.99440299 C11.1482609,3.04104478 11.0843478,3.08768657 11.0204348,3.125 C10.9747826,3.14365672 10.9382609,3.17164179 10.8926087,3.19029851 C10.7647826,3.22761194 10.6369565,3.26492537 10.5,3.26492537 C10.3630435,3.26492537 10.2352174,3.22761194 10.1165217,3.18097015 C10.0708696,3.16231343 10.0343478,3.14365672 9.98869565,3.11567164 C9.92478261,3.07835821 9.86086957,3.03171642 9.80608696,2.98507463 C9.6873913,2.89179104 9.59608696,2.77052239 9.52304348,2.63992537 C9.43173913,2.47201493 9.36782609,2.29477612 9.36782609,2.08955224 C9.35869565,1.45522388 9.87,0.932835821 10.5,0.932835821 Z M20.0869565,22.7238806 C20.0869565,23.4608209 19.5026087,24.0671642 18.7721739,24.0671642 L2.21869565,24.0671642 C1.4973913,24.0671642 0.903913043,23.4701493 0.903913043,22.7238806 L0.903913043,4.8880597 C0.913043478,4.14179104 1.4973913,3.54477612 2.21869565,3.54477612 L6.49173913,3.54477612 L6.49173913,4.38432836 C6.49173913,4.95335821 6.93913043,5.41044776 7.49608696,5.41044776 L13.503913,5.41044776 C14.0608696,5.41044776 14.5082609,4.95335821 14.5082609,4.38432836 L14.5082609,3.54477612 L18.7813043,3.54477612 C19.5026087,3.54477612 20.096087,4.14179104 20.096087,4.8880597 L20.096087,22.7238806 L20.0869565,22.7238806 L20.0869565,22.7238806 Z\"></path>\n <g transform=\"translate(4.000000, 9.000000)\">\n <rect x=\"3.50571429\" y=\"7.24\" width=\"7.97142857\" height=\"1\"></rect>\n <rect x=\"0.848571429\" y=\"7.24\" width=\"1.37142857\" height=\"1\"></rect>\n <rect x=\"6.50571429\" y=\"2.17\" width=\"4.97142857\" height=\"1\"></rect>\n <polygon points=\"2.13428571 4.04 0.402857143 2.01 1.01142857 1.31 2.13428571 2.62 4.03714286 0.41 4.64571429 1.11\"></polygon>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport const TargetIcon = () => (\n <svg className=\"target-icon stroke-based-icon\" viewBox=\"0 0 25 25\">\n <g strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(1.000000, 1.000000)\">\n <path\n d=\"M15.6521739,13.3410862 C14.9799955,14.9155188 13.3391142,15.8471825 11.6426584,15.617619 C9.9462025,15.3880555 8.61194453,14.0537975 8.38238102,12.3573416 C8.15281751,10.6608858 9.08448121,9.0200045 10.6589138,8.34782609\"\n strokeLinecap=\"round\"\n ></path>\n <path\n d=\"M19.826087,11.4686261 C19.5475194,15.6524455 16.0240274,18.8752139 11.8318419,18.780577 C7.63965639,18.6859401 4.26519733,15.3074531 4.17572893,11.1153254 C4.08626053,6.92319774 7.31350554,3.40382874 11.4978365,3.13043478\"\n strokeLinecap=\"round\"\n ></path>\n <path\n d=\"M22.9565217,10.4801044 C22.9565217,10.8094757 22.9565217,11.1488279 22.9565217,11.4781992 C22.9565217,16.1251852 20.1544991,20.3136359 15.8592987,22.0872623 C11.5640982,23.8608888 6.62327363,22.8696906 3.3445233,19.5766243 C0.065772964,16.283558 -0.903887735,11.3384639 0.888438166,7.05103466 C2.68076407,2.7636054 6.8813862,-0.0200950351 11.5283306,0 C11.867683,0 12.2070354,0 12.5264259,0\"\n strokeLinecap=\"round\"\n ></path>\n <path\n d=\"M23.4104348,8.34782609 C23.4626087,8.69217391 23.5147826,9.04695652 23.546087,9.39130435\"\n strokeLinecap=\"round\"\n ></path>\n <path d=\"M19.0559527,8.3085908 L16.1993898,7.27346855 C15.9679825,7.18675289 15.7867762,7.00255341 15.7042523,6.77015223 L14.6758896,3.9211919 C14.5392501,3.60164864 14.6150694,3.23112279 14.8663271,2.99053153 L17.5610181,0.255529619 C17.7680939,0.0454487694 18.069052,-0.043464617 18.357445,0.020237671 C18.6458381,0.083939959 18.8810085,0.291277194 18.9797777,0.568915255 L19.7415278,2.61067015 C19.8301804,2.85007338 20.017334,3.04018548 20.2557092,3.13297955 L22.4076532,3.94968151 C22.6793557,4.05644917 22.8788566,4.29253202 22.938341,4.57768034 C22.9978255,4.86282867 22.9092906,5.15867892 22.7028314,5.36466513 L19.960531,8.07117744 C19.7289278,8.31564041 19.3782081,8.40768945 19.0559527,8.3085908 Z\"></path>\n <line\n x1=\"12.5217391\"\n y1=\"10.4347826\"\n x2=\"16.6956522\"\n y2=\"6.26086957\"\n strokeLinecap=\"round\"\n ></line>\n </g>\n </g>\n </svg>\n);\n\nexport const ReportsIcon = () => (\n <svg className=\"reports-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M17.933,0 C18.1717358,0 18.3968908,0.110656353 18.5402903,0.296256203 L22.7874693,5.70648432 C22.9255465,5.88258285 23,6.10021604 23,6.324 L23,24 C23,24.5521424 22.5521424,25 22,25 L3,25 C2.44785763,25 2,24.5521424 2,24 L2,1 C2,0.447857625 2.44785763,0 3,0 L17.933,0 Z M16.937,1 L3,1 L3,24 L22,24 L22,7 L18.4371948,7 C17.6087677,7 16.9371948,6.32842712 16.9371948,5.5 L16.937,1 Z M16.5,20 C16.7761424,20 17,20.2238576 17,20.5 C17,20.7761424 16.7761424,21 16.5,21 L8.5,21 C8.22385763,21 8,20.7761424 8,20.5 C8,20.2238576 8.22385763,20 8.5,20 L16.5,20 Z M12.5,6 C12.7761424,6 13,6.22385763 13,6.5 L12.999,16.41 L15.4105156,14 C15.5840819,13.8264336 15.8535063,13.8071485 16.0483745,13.9421445 L16.1176224,14 C16.3128845,14.1952621 16.3128845,14.5118446 16.1176224,14.7071068 L16.1176224,14.7071068 L12.8535534,17.9711757 C12.6582912,18.1664379 12.3417088,18.1664379 12.1464466,17.9711757 L12.1464466,17.9711757 L8.88237764,14.7071068 C8.6871155,14.5118446 8.6871155,14.1952621 8.88237764,14 C9.07763979,13.8047379 9.39422228,13.8047379 9.58948443,14 L9.58948443,14 L11.999,16.41 L12,6.5 C12,6.22385763 12.2238576,6 12.5,6 Z M17.937,1.148 L17.9371948,5.5 C17.9371948,5.77614237 18.1610524,6 18.4371948,6 L21.746,6 L17.937,1.148 Z\"></path>\n </g>\n </svg>\n);\n\nexport const HelpSupportIcon = () => (\n <svg className=\"help-support\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M12.5,0.3C5.8,0.3,0.3,5.8,0.3,12.5s5.5,12.2,12.2,12.2s12.2-5.5,12.2-12.2S19.2,0.3,12.5,0.3z M12.5,23.8\n c-6.2,0-11.3-5.1-11.3-11.3S6.3,1.2,12.5,1.2s11.3,5.1,11.3,11.3S18.7,23.8,12.5,23.8z\"\n />\n <path\n d=\"M12.5,10.7h-0.4c-0.1,0-0.3,0-0.3,0.1c-0.1,0.1-0.1,0.2-0.1,0.3v8c0,0.1,0,0.3,0.1,0.3\n c0.1,0.1,0.2,0.1,0.3,0.1h0.4c0.1,0,0.3,0,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-8c0-0.1,0-0.3-0.1-0.3C12.8,10.7,12.7,10.7,12.5,10.7z\"\n />\n <path\n d=\"M12.6,6.7h-0.5c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.1,0.3-0.1,0.4v0.5c0,0.1,0,0.3,0.1,0.3\n c0.1,0.1,0.2,0.1,0.3,0.1h0.5c0.1,0,0.3,0,0.4-0.1C13,7.9,13,7.8,13,7.6V7.2c0-0.1,0-0.3-0.1-0.4C12.8,6.7,12.7,6.7,12.6,6.7z\"\n />\n </g>\n </svg>\n);\n\nexport const DashboardIcon = () => (\n <svg className=\"dashboard-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M22.2,12.8H12.1V2.8c0-0.3-0.2-0.5-0.5-0.5h-0.1c-6.2,0-11.2,5-11.2,11.2c0,6.2,5,11.2,11.2,11.2\n c6.2,0,11.2-5,11.2-11.2v-0.1C22.7,13.1,22.5,12.8,22.2,12.8z M11.6,13.9h10c-0.2,5.4-4.7,9.7-10.1,9.7c-5.6,0-10.2-4.6-10.2-10.2\n c0-5.4,4.3-9.9,9.7-10.1v10C11.1,13.7,11.3,13.9,11.6,13.9z\"\n />\n <path\n d=\"M24.7,9.9l0-0.1C24,4.9,20.1,1,15.2,0.3l-0.1,0l0,0c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.2-0.2,0.4V10\n c0,0.3,0.2,0.5,0.5,0.5h9.2c0.2,0,0.3-0.1,0.4-0.2C24.7,10.2,24.7,10.1,24.7,9.9z M23.5,9.5h-8v-8C19.5,2.2,22.8,5.5,23.5,9.5z\"\n />\n </g>\n </svg>\n);\n\nexport const AccountSettings = () => (\n <svg className=\"account-settings\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M12.5,6.5c-3.3,0-6,2.7-6,6s2.7,6,6,6s6-2.7,6-6S15.8,6.5,12.5,6.5z M12.5,17.5c-2.8,0-5-2.3-5-5s2.3-5,5-5\n s5,2.3,5,5S15.3,17.5,12.5,17.5z\"\n />\n <path\n d=\"M24.5,9.8l-3-0.7c-0.1-0.2-0.2-0.4-0.2-0.6l1.6-2.6c0.1-0.2,0.1-0.4-0.1-0.6l-3.1-3.1\n c-0.1-0.2-0.4-0.2-0.6-0.1l-2.6,1.6c-0.2-0.1-0.4-0.2-0.6-0.3l-0.7-3c-0.1-0.2-0.2-0.3-0.5-0.3h-4.4c-0.2,0-0.4,0.1-0.5,0.4l-0.7,3\n C9,3.6,8.8,3.7,8.6,3.8L5.9,2.2C5.7,2,5.5,2.1,5.3,2.2L2.2,5.3C2.1,5.5,2.1,5.8,2.2,5.9l1.6,2.6C3.7,8.7,3.6,8.9,3.6,9.1l-3,0.7\n c-0.2,0-0.4,0.2-0.4,0.5v4.4c0,0.2,0.2,0.4,0.4,0.5l3,0.7c0.1,0.2,0.2,0.4,0.2,0.6l-1.6,2.6c-0.1,0.2-0.1,0.4,0.1,0.6l3.1,3.1\n c0.2,0.2,0.4,0.2,0.6,0.1l2.6-1.6c0.2,0.1,0.4,0.2,0.6,0.3l0.7,3c0,0.2,0.2,0.4,0.5,0.4h4.4c0.2,0,0.4-0.2,0.5-0.4l0.7-3\n c0.2-0.1,0.4-0.2,0.6-0.3l2.6,1.6c0.2,0.1,0.4,0.1,0.6-0.1l3.1-3.1c0.1-0.2,0.2-0.4,0.1-0.6l-1.6-2.6c0.1-0.2,0.2-0.4,0.2-0.6\n l3-0.7c0.2,0,0.4-0.2,0.4-0.5v-4.4C24.8,10.1,24.7,9.9,24.5,9.8z M20.7,15.3c-0.1,0.3-0.3,0.7-0.4,1c-0.1,0.1-0.1,0.3,0,0.5\n l1.6,2.5l-2.6,2.6l-2.5-1.6c-0.1-0.1-0.3-0.1-0.4,0c-0.3,0.1-0.6,0.3-1,0.4c-0.2,0-0.3,0.2-0.3,0.3l-0.7,2.9h-3.7L10,21\n c0-0.2-0.2-0.3-0.3-0.3c-0.4-0.1-0.7-0.3-1-0.4c-0.1-0.1-0.3-0.1-0.5,0l-2.5,1.6l-2.6-2.6l1.6-2.5c0.1-0.1,0.1-0.3,0-0.5\n c-0.2-0.3-0.3-0.7-0.4-1C4.3,15.1,4.2,15,4,15l-2.9-0.7v-3.7L4,10c0.2,0,0.3-0.2,0.3-0.3c0.1-0.3,0.2-0.6,0.4-1\n c0.1-0.1,0.1-0.3,0-0.5L3.1,5.8l2.6-2.6l2.5,1.6c0.1,0.1,0.3,0.1,0.4,0c0.3-0.1,0.6-0.3,1-0.4C9.8,4.3,10,4.2,10,4l0.7-2.9h3.7\n L15,4c0,0.2,0.2,0.3,0.3,0.3c0.4,0.1,0.7,0.3,1,0.4c0.1,0.1,0.3,0.1,0.5,0l2.5-1.6l2.6,2.6l-1.6,2.5c-0.1,0.1-0.1,0.3,0,0.5\n c0.2,0.3,0.3,0.7,0.4,1C20.7,9.8,20.8,10,21,10l2.9,0.7v3.7L21,15C20.8,15,20.7,15.1,20.7,15.3z\"\n />\n </g>\n </svg>\n);\n\nexport const DetailsIcon = () => (\n <svg className=\"details-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M21.8,0.4H3.2c-1.2,0-2.1,1-2.1,2.1v20c0,1.2,1,2.1,2.1,2.1h18.6c1.2,0,2.1-1,2.1-2.1v-20\n C23.9,1.3,23,0.4,21.8,0.4z M22.9,22.5c0,0.6-0.5,1.1-1.1,1.1H3.2c-0.6,0-1.1-0.5-1.1-1.1v-20c0-0.6,0.5-1.1,1.1-1.1h18.6\n c0.6,0,1.1,0.5,1.1,1.1V22.5z\"\n />\n <rect x=\"6.2\" y=\"17.3\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"12.4\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"7.4\" width=\"1.6\" height=\"1\" />\n <rect x=\"9.3\" y=\"17.3\" width=\"6.1\" height=\"1\" />\n <rect x=\"9.3\" y=\"12.4\" width=\"9.3\" height=\"1\" />\n <rect x=\"9.3\" y=\"7.4\" width=\"6.5\" height=\"1\" />\n </g>\n </svg>\n);\n\nexport const StarIcon = () => (\n <svg className=\"star-icon\" viewBox=\"0 0 25 25\">\n <path\n d=\"M24.7,9.4c-0.1-0.1-0.2-0.1-0.3-0.2L16.6,8L13,0.9c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1,0-0.3,0-0.4,0\n c0,0-0.2,0.1-0.2,0.2L8.4,8L0.6,9.2c-0.3,0-0.5,0.3-0.5,0.6c0,0.1,0.1,0.2,0.2,0.3L6,15.7l-1.3,7.9c-0.1,0.3,0.1,0.6,0.4,0.7h0.1\n c0.1,0,0.2,0,0.3-0.1l7-3.7l7,3.7c0.1,0,0.2,0.1,0.3,0.1c0.3,0,0.6-0.3,0.6-0.6v-0.1l-1.3-7.9l5.6-5.6C24.9,10,24.9,9.6,24.7,9.4z\n M7.1,15.8c0-0.2,0-0.4-0.2-0.5l-5.1-5.1l7-1.1C9,9.1,9.1,9,9.2,8.8l3.2-6.4l3.2,6.4C15.7,9,15.8,9.1,16,9.1l7,1.1l-4.9,5\n c-0.1,0.1-0.3,0.4-0.3,0.6l1.4,7l-6.7-3.2c-0.2-0.1-0.4-0.1-0.5,0l-6.3,3.3L7.1,15.8z\"\n />\n </svg>\n);\n\nexport const CliniciansIcon = () => (\n <svg className=\"clinicians-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M24.7,18.8 L24.7,18.8 C24,17.4 22.7,16.3 21.1,15.9 L19.5,15.4 C19.5,15.4 19.4,15.4 19.4,15.3 L19.4,15.2 L19.4,15.2 L20.5,13.9 C21.4,12.9 21.8,11.5 21.7,10.2 L21.5,8.7 C21.3,7.3 20.6,6.1 19.4,5.4 L19.3,5.3 C18.6,4.8 17.7,4.6 16.8,4.6 C15.9,4.6 15,4.9 14.1,5.4 C13.9,5.5 13.8,5.6 13.6,5.8 L13.5,5.9 L13.5,5.9 C13.1,5.1 12.7,4.4 11.9,3.9 L11.9,3.9 C11.1,3.3 10,3 9.1,3 C8,3 7,3.3 6.2,3.9 C5,4.7 4.2,5.9 4,7.3 L3.7,9.1 C3.5,10.6 3.9,12.1 4.9,13.3 L6.1,14.6 C6.1,14.6 6.1,14.6 6.2,14.7 C6.2,14.8 6.2,14.9 6.2,14.9 C6.2,15 6.1,15.1 6,15.1 L4.3,15.6 C2.6,16.1 1.2,17.3 0.4,18.8 C-3.46944695e-16,19.5 -3.46944695e-16,20.3 0.4,21 C0.8,21.6 1.5,22 2.3,22 L10.8,22 L15.7,22 C16,22 16.2,21.9 16.4,21.9 L22.8,21.9 C23.5,21.9 24.2,21.5 24.6,20.9 C25,20.2 25,19.5 24.7,18.8 Z M15.7,21.3 L10.4,21.2 L9,21.2 L2.3,21.3 C1.2,21.3 0.5,20.1 1.1,19.2 C1.8,17.8 3.1,16.8 4.5,16.4 L6.2,15.9 C6.8,15.7 7.1,15.1 6.9,14.5 C6.8,14.4 6.8,14.3 6.7,14.2 L5.5,12.9 C4.6,11.9 4.2,10.6 4.4,9.3 L4.7,7.5 C5,6.3 5.6,5.2 6.6,4.5 C7.4,4 8.2,3.8 9.1,3.8 C9.9,3.8 10.7,4 11.4,4.5 L11.4,4.5 C12.2,5 12.8,5.8 13.2,6.7 C13.3,7 13.4,7.3 13.4,7.7 L13.4,7.7 L13.6,9.4 C13.7,10.5 13.4,11.5 12.8,12.4 C12.7,12.5 12.6,12.7 12.5,12.8 L12.3,13 L11.2,14.2 C11.1,14.3 11,14.4 11,14.5 C10.8,15.1 11.1,15.6 11.7,15.8 L12.8,16.2 L13.5,16.4 C13.8,16.5 13.8,16.5 14,16.6 C15.3,17.1 16.3,18 17,19.2 C17.5,20.1 16.8,21.3 15.7,21.3 Z M13.1,14.2 L14.2,15.4 L14.2,15.4 L14.2,15.5 L14.1,15.6 L14,15.6 C13.9,15.6 13.8,15.6 13.8,15.6 L12.2,15 C12.1,15 12,14.9 11.9,14.8 C11.8,14.7 11.8,14.6 11.9,14.5 L12,14.4 L12.8,13.5 C12.9,13.9 13,14 13.1,14.2 Z M23.8,20.4 C23.6,20.7 23.2,21 22.8,21 L17.5,21 L17.5,21 C17.9,20.3 17.9,19.5 17.6,18.8 C17,17.7 16,16.7 14.9,16.1 C15.1,15.8 15.1,15.5 15,15.2 C15,15.1 14.9,15 14.8,14.9 L13.7,13.7 C13.5,13.5 13.4,13.3 13.2,13.1 L13.2,13.1 C14,12 14.4,10.7 14.3,9.3 L14.1,7.6 C14.1,7.4 14,7.1 14,6.9 C14,6.9 14,6.9 14,6.8 L14.1,6.7 C14.3,6.5 14.5,6.3 14.7,6.2 C15.4,5.8 16.1,5.5 16.8,5.5 C17.5,5.5 18.2,5.6 18.8,6 L18.9,6.1 L18.9,6.1 C19.8,6.7 20.5,7.7 20.6,8.9 L20.8,10.4 C20.9,11.5 20.6,12.5 19.9,13.4 L18.8,14.7 C18.7,14.8 18.6,14.9 18.6,15 C18.5,15.3 18.5,15.6 18.7,15.9 C18.8,16.2 19.3,16.3 19.6,16.4 L21.2,16.9 C22.5,17.3 23.4,18.3 24,19.5 C24.1,19.6 24.1,20.1 23.8,20.4 Z\"></path>\n </g>\n </svg>\n);\n\nexport const GroupReporting = () => (\n <svg className=\"group-reporting\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M16.9,9C12.5,9,9,12.6,9,16.9s3.6,7.9,7.9,7.9c4.4,0,7.9-3.6,7.9-7.9S21.2,9,16.9,9z M16.9,23.8\n c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9s6.9,3.1,6.9,6.9S20.6,23.8,16.9,23.8z\"\n />\n <polygon points=\"13.5,17.2 14.3,17.9 16.5,15.5 16.5,20.6 17.4,20.6 17.4,15.5 19.6,17.9 20.4,17.2 17,13.5 \t\" />\n <rect x=\"8.5\" y=\"4\" width=\"2\" height=\"2.2\" />\n <rect x=\"12.9\" y=\"4\" width=\"2\" height=\"2.2\" />\n <rect x=\"8.5\" y=\"8.8\" width=\"2\" height=\"2.2\" />\n <path\n d=\"M7.2,21.9h-2V1h13v5.2l0,0v0.6c0,0.1,0,0.3,0.1,0.3c0.2,0,0.1,0,0.2,0h0.3c0.1,0,0.3,0,0.3-0.1\n c0,0,0-0.1,0-0.2V1.5c0,0,0,0,0-0.1V0.6c0-0.2-0.1-0.4-0.3-0.4l0,0l0,0l0,0h-0.1c0,0,0,0,0.1,0H7.6l0,0H4.8c-0.2,0-0.4,0.2-0.4,0.4\n v21.3H0.6c-0.1,0-0.2,0-0.3,0.1s-0.1,0.2-0.1,0.3v0.3c0,0.1,0,0.2,0.1,0.3C0.4,23,0.5,23,0.6,23h6.6c0.1,0,0.2,0,0.3-0.1\n c0.1-0.1,0.1-0.2,0.1-0.3v-0.3c0-0.1,0-0.2-0.1-0.3C7.4,21.9,7.3,21.9,7.2,21.9z\"\n />\n </g>\n </svg>\n);\n\nexport const IndividualReporting = () => (\n <svg className=\"individual-reporting\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M5.1,5.6C5.3,4.3,6.6,3,7.7,2.3c0.9-0.6,1.8-0.9,2.8-0.9c0.9,0,1.9,0.3,2.7,0.8l0,0c1.2,0.8,2,2,2.3,3.4l0,0\n l0,0c0,0.1,0,0.4,0.1,0.4c0.1,0,0.2,0,0.2,0h0.3c0.1,0,0.2,0,0.2-0.1V5.8l0,0c0,0,0,0,0-0.1l0,0l0,0c-0.2-1.7-1.2-3.2-2.6-4.1l0,0\n c-0.9-0.6-2-0.9-3.2-0.9s-2.3,0.4-3.3,1c-1.4,0.9-2.8,2.4-3,4l-0.3,2C3.6,9.3,3.6,11,4.8,12.3l1.3,1.5c0,0,0,0,0.1,0.1\n c0,0.1,0,0.2,0,0.3S6.1,14.3,6,14.4L4,15c-1.9,0.6-2.6,1.9-3.5,3.7c-0.4,0.8-0.4,1.7,0.1,2.5s1.3,1.2,2.2,1.2h3.8l0,0h0.1\n c0.1,0,0.3,0,0.3-0.1s0-0.2,0-0.3v-0.2c0-0.1,0-0.3-0.1-0.3c-0.1-0.1-0.1,0-0.2,0H5.2l0,0H2.8c-1.2,0-2-1.3-1.4-2.4\n c0.8-1.6,1.3-2.7,3-3.2l2-0.6c0.7-0.2,1-0.9,0.8-1.6c-0.1-0.2-0.2-0.3-0.3-0.4l-1.4-1.5c-1-1.1-1-2.6-0.7-4.1L5.1,5.6z\"\n />\n <path\n d=\"M16.9,8.6c-4.4,0-7.9,3.6-7.9,7.9s3.6,7.9,7.9,7.9s7.9-3.6,7.9-7.9S21.3,8.6,16.9,8.6z M16.9,23.4\n c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9s6.9,3.1,6.9,6.9S20.7,23.4,16.9,23.4z\"\n />\n <polygon points=\"13.6,16.8 14.3,17.5 16.6,15.1 16.6,20.2 17.4,20.2 17.4,15.1 19.7,17.5 20.4,16.8 17,13.1 \t\" />\n </g>\n </svg>\n);\n\nexport const ChevronLeft = () => (\n <svg className=\"chevron-left\" viewBox=\"0 0 1792 1792\">\n <title>chevron-left</title>\n <g>\n <path d=\"M1427 301l-531 531 531 531q19 19 19 45t-19 45l-166 166q-19 19-45 19t-45-19l-742-742q-19-19-19-45t19-45l742-742q19-19 45-19t45 19l166 166q19 19 19 45t-19 45z\" />\n </g>\n </svg>\n);\n\nexport const ChevronRight = () => (\n <svg className=\"chevron-right\" viewBox=\"0 0 1792 1792\">\n <title>chevron-right</title>\n <g>\n <path d=\"M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z\" />\n </g>\n </svg>\n);\n\nexport const ChevronDown = () => (\n <svg className=\"chevron-down\" viewBox=\"0 0 1792 1792\">\n <title>chevron-down</title>\n <g>\n <path d=\"M1683 808l-742 741q-19 19-45 19t-45-19l-742-741q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z\" />\n </g>\n </svg>\n);\n\nexport const SwitchPractice = () => (\n <svg className=\"switch-practice\" viewBox=\"0 0 15 15\">\n <title>switch-practice</title>\n <g>\n <path\n d=\"M14,8.7h-1.8c-0.1,0-0.2,0.1-0.3,0.2c-0.2,0.4-0.3,0.7-0.5,1.1c-0.9,1.4-2.4,2.2-4,2.2c-1.2,0-2.3-0.5-3.2-1.3l1.3-1.3\n c0.1-0.1,0.2-0.3,0.2-0.4c0-0.3-0.3-0.6-0.6-0.6H1c-0.3,0-0.6,0.3-0.6,0.6v4.1C0.4,13.7,0.7,14,1,14c0.2,0,0.3-0.1,0.4-0.2l1.2-1.2\n c1.3,1.2,3,2,4.8,2c3.4,0,6.1-2.3,6.9-5.5c0,0,0,0,0-0.1C14.3,8.8,14.2,8.7,14,8.7z\"\n />\n <path\n d=\"M14,1c-0.2,0-0.3,0.1-0.4,0.2l-1.2,1.2c-1.3-1.2-3.1-2-4.9-2C4.1,0.4,1.4,2.7,0.6,6c0,0,0,0,0,0.1c0,0.2,0.1,0.3,0.3,0.3\n h1.8C2.9,6.3,3,6.2,3,6.1C3.2,5.7,3.3,5.4,3.5,5c0.9-1.4,2.4-2.2,4-2.2c1.2,0,2.3,0.5,3.2,1.3L9.4,5.3C9.3,5.4,9.3,5.6,9.3,5.7\n c0,0.3,0.3,0.6,0.6,0.6H14c0.3,0,0.6-0.3,0.6-0.6V1.6C14.6,1.3,14.3,1,14,1z\"\n />\n </g>\n </svg>\n);\n\nexport const ScoreIncrease = () => (\n <svg className=\"score-increase\" viewBox=\"0 0 15 15\">\n <g>\n <path\n d=\"M9.7,4c0,0.4,0.3,0.7,0.7,0.7h2.2l-4.1,4L5.8,6.4C5.4,6,5.1,6,4.8,6.3l-4.5,4.3c-0.3,0.2-0.3,0.7-0.1,1\n s0.6,0.3,0.9,0.1l4.1-3.9L7.9,10c0.2,0.4,0.7,0.5,1,0.1l4.8-4.6v2.7c0,0.4,0.3,0.7,0.6,0.7c0.4,0,0.6-0.4,0.6-0.7V3.9\n c0-0.4-0.3-0.7-0.6-0.7h-3.9C10,3.2,9.7,3.6,9.7,4z\"\n />\n </g>\n </svg>\n);\n\nexport const TooltipIcon = () => (\n <svg className=\"tooltip-icon\" viewBox=\"0 0 15 15\">\n <g>\n <path\n d=\"M7.5,0.2c-4,0-7.3,3.3-7.3,7.3s3.3,7.3,7.3,7.3s7.3-3.3,7.3-7.3S11.5,0.2,7.5,0.2z M7.5,13.6c-3.4,0-6.1-2.7-6.1-6.1\n s2.7-6.1,6.1-6.1s6.1,2.7,6.1,6.1S10.9,13.6,7.5,13.6z\"\n />\n <path\n d=\"M8,9.9H6.9c-0.1,0-0.1,0-0.2,0.1s-0.1,0.1-0.1,0.2v1c0,0.1,0,0.1,0.1,0.2c0.1,0.1,0.1,0.1,0.2,0.1H8c0.1,0,0.1,0,0.2-0.1\n c0.1-0.1,0.1-0.1,0.1-0.2v-1c0-0.1,0-0.1-0.1-0.2C8.2,10,8.1,9.9,8,9.9z\"\n />\n <path\n d=\"M9.1,3.9C8.7,3.7,8.2,3.6,7.6,3.6S6.5,3.7,6,3.9C5.6,4.1,5.3,4.4,5,4.8C4.8,5.1,4.7,5.5,4.7,5.9c0,0.1,0,0.1,0.1,0.2\n c0,0.1,0.1,0.1,0.2,0.1h1c0.2,0,0.3-0.1,0.3-0.3c0.1-0.7,0.6-1.1,1.3-1.1c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.4,0.3,0.7\n c0,0.2-0.1,0.3-0.2,0.5C8.3,6.5,8.1,6.7,7.8,7S7.3,7.6,7.1,7.9C6.9,8.1,6.8,8.4,6.7,8.8c0,0.1,0,0.2,0,0.4c0,0.1,0,0.1,0.1,0.2\n c0,0,0.1,0.1,0.2,0.1h1.1c0.1,0,0.1,0,0.2-0.1s0.1-0.1,0.1-0.2c0-0.1,0-0.2,0.1-0.4c0-0.2,0.1-0.4,0.3-0.6C8.9,7.8,9,7.7,9.2,7.5\n c0.4-0.4,0.6-0.7,0.8-1s0.3-0.6,0.3-1c0-0.3-0.1-0.6-0.3-0.9C9.8,4.3,9.5,4.1,9.1,3.9z\"\n />\n </g>\n </svg>\n);\n\nexport const NavCollapse = () => (\n <svg className=\"nav-collapse\" viewBox=\"0 0 25 25\">\n <title>nav-collapse</title>\n <g>\n <polygon points=\"6.8,9.1 10,12.1 0.1,12.1 0.1,12.9 10,12.9 6.8,15.9 7.5,16.6 12,12.5 7.5,8.4 \t\" />\n <polygon points=\"24.9,12.1 15,12.1 18.2,9.1 17.5,8.4 13,12.5 17.5,16.6 18.2,15.9 15,12.9 24.9,12.9 \" />\n </g>\n </svg>\n);\n\nexport const NavExpand = () => (\n <svg className=\"nav-expand\" viewBox=\"0 0 25 25\">\n <title>nav-expand</title>\n <g>\n <polygon points=\"5.2,9.1 4.5,8.4 0.1,12.5 4.5,16.6 5.2,15.9 2,12.9 11,12.9 11,12.1 2,12.1 \" />\n <polygon points=\"20.5,8.4 19.8,9.1 23,12.1 14,12.1 14,12.9 23,12.9 19.8,15.9 20.5,16.6 24.9,12.5 \" />\n </g>\n </svg>\n);\n\nexport const CloseXIcon = () => (\n <svg className=\"closex\" viewBox=\"0 0 15 15\" focusable=\"false\">\n <g strokeWidth=\"1\" transform=\"translate(-968.000000, -236.000000)\">\n <path d=\"M982.725141,249.399456 L976.82556,243.499875 L982.725141,237.600294 C983.091286,237.234148 983.091286,236.640905 982.725141,236.274609 C982.359295,235.908464 981.765752,235.908464 981.399456,236.274609 L975.499875,242.17419 L969.600294,236.274609 C969.234448,235.908464 968.640905,235.908464 968.274609,236.274609 C967.908464,236.640155 967.908464,237.233998 968.274609,237.600294 L974.17419,243.499875 L968.274609,249.399456 C967.908464,249.765602 967.908464,250.358845 968.274609,250.725141 C968.640755,251.091286 969.233998,251.091286 969.600294,250.725141 L975.499875,244.82556 L981.399456,250.725141 C981.765602,251.091286 982.359295,251.091286 982.725141,250.725141 C983.091286,250.358995 983.091286,249.765752 982.725141,249.399456 Z\"></path>\n </g>\n </svg>\n);\n\nexport const CloseXIcon2 = () => (\n <svg viewBox=\"0 0 16 16\" focusable=\"false\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M0.292893219,0.292893219 C0.683417511,-0.0976310729 1.31658249,-0.0976310729 1.70710678,0.292893219 L1.70710678,0.292893219 L8,6.585 L14.2928932,0.292893219 C14.6834175,-0.0976310729 15.3165825,-0.0976310729 15.7071068,0.292893219 C16.0675907,0.65337718 16.0953203,1.22060824 15.7902954,1.61289944 L15.7071068,1.70710678 L9.415,8 L15.7071068,14.2928932 L15.7902954,14.3871006 C16.0953203,14.7793918 16.0675907,15.3466228 15.7071068,15.7071068 C15.3165825,16.0976311 14.6834175,16.0976311 14.2928932,15.7071068 L14.2928932,15.7071068 L8,9.415 L1.70710678,15.7071068 C1.31658249,16.0976311 0.683417511,16.0976311 0.292893219,15.7071068 C-0.0675907428,15.3466228 -0.0953202783,14.7793918 0.209704612,14.3871006 L0.292893219,14.2928932 L6.585,8 L0.292893219,1.70710678 L0.209704612,1.61289944 C-0.0953202783,1.22060824 -0.0675907428,0.65337718 0.292893219,0.292893219 Z\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n ></path>\n </g>\n </svg>\n);\n\nexport const BellOutline = () => (\n <svg className=\"bell-outline\" viewBox=\"0 0 448 512\">\n <path d=\"M433.884 366.059C411.634 343.809 384 316.118 384 208c0-79.394-57.831-145.269-133.663-157.83A31.845 31.845 0 0 0 256 32c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 6.75 2.095 13.008 5.663 18.17C121.831 62.731 64 128.606 64 208c0 108.118-27.643 135.809-49.893 158.059C-16.042 396.208 5.325 448 48.048 448H160c0 35.29 28.71 64 64 64s64-28.71 64-64h111.943c42.638 0 64.151-51.731 33.941-81.941zM224 480c-17.645 0-32-14.355-32-32h64c0 17.645-14.355 32-32 32zm175.943-64H48.048c-14.223 0-21.331-17.296-11.314-27.314C71.585 353.836 96 314.825 96 208c0-70.741 57.249-128 128-128 70.74 0 128 57.249 128 128 0 106.419 24.206 145.635 59.257 180.686C421.314 398.744 414.11 416 399.943 416z\" />\n </svg>\n);\n\nexport const EarlyClaims = () => (\n <svg className=\"early-claims-icon\" viewBox=\"0 0 25 25\">\n <g id=\"Claims-Icon-list\">\n <g id=\"Claims-Icon\" transform=\"translate(2.000000, 0.000000)\">\n <g id=\"Lines\" transform=\"translate(3.000000, 8.000000)\">\n <polygon points=\"0 1 15 1 15 0 0 0\"></polygon>\n <polygon points=\"0 4 15 4 15 3 0 3\"></polygon>\n <polygon points=\"0 7 15 7 15 6 0 6\"></polygon>\n <polygon points=\"0 10 15 10 15 9 0 9\"></polygon>\n <polygon points=\"0 13 15 13 15 12 0 12\"></polygon>\n </g>\n <path d=\"M1,24 L1,1 L16,1 L16,5.5 C16,5.776 16.224,6 16.5,6 L20,6 L20,24 L1,24 Z M17,1.851 L19.446,5 L17,5 L17,1.851 Z M20.895,5.235 L16.979,0.193 C16.884,0.071 16.738,0 16.583,0 L0.5,0 C0.224,0 0,0.224 0,0.5 L0,24.5 C0,24.776 0.224,25 0.5,25 L20.5,25 C20.776,25 21,24.776 21,24.5 L21,5.542 C21,5.43 20.963,5.322 20.895,5.235 Z\"></path>\n </g>\n </g>\n </svg>\n);\n\nexport const CliniciansList = () => (\n <svg className=\"clinicians-list-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path\n className=\"st0\"\n d=\"M21.8,0.4H3.2c-1.2,0-2.1,1-2.1,2.1v20c0,1.2,1,2.1,2.1,2.1h18.6c1.2,0,2.1-1,2.1-2.1v-20\n C23.9,1.3,23,0.4,21.8,0.4z M22.9,22.5c0,0.6-0.5,1.1-1.1,1.1H3.2c-0.6,0-1.1-0.5-1.1-1.1v-20c0-0.6,0.5-1.1,1.1-1.1h18.6\n c0.6,0,1.1,0.5,1.1,1.1V22.5z\"\n />\n <rect x=\"6.2\" y=\"17.3\" className=\"st0\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"12.4\" className=\"st0\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"7.4\" className=\"st0\" width=\"1.6\" height=\"1\" />\n <rect x=\"9.3\" y=\"17.3\" className=\"st0\" width=\"6.1\" height=\"1\" />\n <rect x=\"9.3\" y=\"12.4\" className=\"st0\" width=\"9.3\" height=\"1\" />\n <rect x=\"9.3\" y=\"7.4\" className=\"st0\" width=\"6.5\" height=\"1\" />\n </g>\n </svg>\n);\n\nexport const YoutubeIcon = () => (\n <svg className=\"youtube-icon\" width=\"19px\" height=\"14px\" viewBox=\"0 0 19 14\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-801.000000, -179.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g transform=\"translate(38.000000, 39.000000)\">\n <path\n d=\"M17.7486957,2.84298208 C17.551087,2.10010036 16.9670652,1.51515412 16.2265217,1.3162724 C14.8843478,0.955555556 9.5,0.955555556 9.5,0.955555556 C9.5,0.955555556 4.11565217,0.955555556 2.77347826,1.3162724 C2.03293478,1.51515412 1.44891304,2.10010036 1.25130435,2.84298208 C0.891304348,4.19030824 0.891304348,7 0.891304348,7 C0.891304348,7 0.891304348,9.80969176 1.25130435,11.1570179 C1.44891304,11.8998996 2.03293478,12.4848459 2.77347826,12.6837276 C4.11565217,13.0444444 9.5,13.0444444 9.5,13.0444444 C9.5,13.0444444 14.8843478,13.0444444 16.2265217,12.6837276 C16.9670652,12.4848459 17.551087,11.8998996 17.7486957,11.1570179 C18.1086957,9.80969176 18.1086957,7 18.1086957,7 C18.1086957,7 18.1086957,4.19030824 17.7486957,2.84298208 Z M7.73913043,9.5513405 L7.73913043,4.4486595 L12.2391304,7 L7.73913043,9.5513405 Z\"\n id=\"Youtube-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport const TwitterIcon = () => (\n <svg className=\"twitter-icon\" width=\"19px\" height=\"16px\" viewBox=\"0 0 19 16\">\n <g stroke=\"none\" stroke-Width=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-763.000000, -177.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g transform=\"translate(0.000000, 37.000000)\">\n <path\n d=\"M16.9243259,4.73901817 C16.9243259,4.57725788 16.9243259,4.41549759 16.916868,4.25373729 C17.6626567,3.71698723 18.3114928,3.05524058 18.826087,2.30526104 C18.1250456,2.6067234 17.3867149,2.81260014 16.6260105,2.90083303 C17.4240043,2.43025763 18.0206352,1.68763083 18.3040349,0.812654705 C17.5507884,1.25381914 16.7304209,1.56263424 15.8727639,1.72439454 C14.425934,0.202377237 12.0021209,0.128849832 10.4583384,1.56263424 C9.46643951,2.48172682 9.04133999,3.8566893 9.35457121,5.16547712 C6.28192201,5.01106957 3.41063575,3.5846379 1.47158528,1.22440818 C0.457312727,2.94494947 0.971906889,5.15077164 2.65738922,6.26103547 C2.04584253,6.24632999 1.45666951,6.0845697 0.919701685,5.79046007 C0.919701685,5.80516555 0.919701685,5.81987104 0.919701685,5.83457652 C0.919701685,7.62864522 2.20245815,9.17272074 3.99235089,9.53300502 C3.42555152,9.68741258 2.83637849,9.7094708 2.26212124,9.59917969 C2.76179963,11.1359025 4.20117171,12.1873444 5.83444883,12.2167553 C4.4771135,13.2681972 2.80654695,13.8343583 1.08377519,13.8343583 C0.778001843,13.8343583 0.4722285,13.8123 0.173913043,13.7828891 C1.93397424,14.8784474 3.96251934,15.4666667 6.04326965,15.4666667 C13.0760565,15.4666667 16.9243259,9.71682354 16.9243259,4.73901817 Z\"\n id=\"twitter-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport const WiViewReportsIcon = () => (\n <svg className=\"wi-view-reports\" viewBox=\"0 0 25 25\">\n <title>WI View Reports</title>\n <g>\n <path d=\"M20.8680556,0.0569444444 L3.37638889,0.0569444444 C3.11944444,0.0569444444 2.9125,0.265277778 2.9125,0.520833333 L2.9125,2.07777778 L1.35555556,2.07777778 C1.09861111,2.07777778 0.891666667,2.28472222 0.891666667,2.54027778 L0.891666667,24.4763889 C0.891666667,24.7333333 1.09861111,24.9402778 1.35555556,24.9402778 L18.8472222,24.9402778 C19.1027778,24.9402778 19.3097222,24.7319444 19.3097222,24.4763889 L19.3097222,22.9208333 L20.8680556,22.9208333 C21.1236111,22.9208333 21.3305556,22.7125 21.3305556,22.4583333 L21.3305556,0.522222222 C21.3305556,0.265277778 21.1236111,0.0569444444 20.8680556,0.0569444444 Z M1.82222222,24.0111111 L1.82222222,3.00833333 L18.3861111,3.00833333 L18.3861111,24.0125 L1.82222222,24.0125 L1.82222222,24.0111111 Z M18.8472222,2.07777778 L3.84305556,2.07777778 L3.84305556,0.986111111 L20.4027778,0.986111111 L20.4027778,21.9930556 L19.3097222,21.9930556 L19.3097222,2.54166667 C19.3097222,2.28611111 19.1027778,2.07777778 18.8472222,2.07777778 Z\"></path>\n <path d=\"M14.8069444,7.05138889 L5.4,7.05138889 C5.14305556,7.05138889 4.93611111,7.25972222 4.93611111,7.51666667 C4.93611111,7.77222222 5.14305556,7.97916667 5.4,7.97916667 L14.8069444,7.97916667 C15.0638889,7.97916667 15.2708333,7.77083333 15.2708333,7.51666667 C15.2708333,7.25972222 15.0638889,7.05138889 14.8069444,7.05138889 Z\"></path>\n <path d=\"M14.8069444,11.0472222 L5.4,11.0472222 C5.14305556,11.0472222 4.93611111,11.2569444 4.93611111,11.5138889 C4.93611111,11.7694444 5.14305556,11.9763889 5.4,11.9763889 L14.8069444,11.9763889 C15.0638889,11.9763889 15.2708333,11.7680556 15.2708333,11.5138889 C15.2708333,11.2569444 15.0638889,11.0472222 14.8069444,11.0472222 Z\"></path>\n <path d=\"M14.8069444,15.0416667 L5.4,15.0416667 C5.14305556,15.0416667 4.93611111,15.25 4.93611111,15.5069444 C4.93611111,15.7638889 5.14305556,15.9722222 5.4,15.9722222 L14.8069444,15.9722222 C15.0638889,15.9722222 15.2708333,15.7638889 15.2708333,15.5069444 C15.2708333,15.25 15.0638889,15.0416667 14.8069444,15.0416667 Z\"></path>\n <path d=\"M14.8069444,18.5819444 L5.4,18.5819444 C5.14305556,18.5819444 4.93611111,18.7902778 4.93611111,19.0472222 C4.93611111,19.3041667 5.14305556,19.5125 5.4,19.5125 L14.8069444,19.5125 C15.0638889,19.5125 15.2708333,19.3041667 15.2708333,19.0472222 C15.2708333,18.7902778 15.0638889,18.5819444 14.8069444,18.5819444 Z\"></path>\n </g>\n </svg>\n);\n\nexport const WiViewProgressIcon = () => (\n <svg className=\"wi-view-progress\" viewBox=\"0 0 25 25\">\n <title>WI View Progress</title>\n <g>\n <path d=\"M22.2,25.5H2.8c-1.8,0-3.3-1.5-3.3-3.3V2.8C-0.5,1,1-0.5,2.8-0.5h19.4c1.8,0,3.3,1.5,3.3,3.3v19.4C25.5,24,24,25.5,22.2,25.5z M2.8,0.5c-1.3,0-2.3,1-2.3,2.3v19.4c0,1.3,1,2.3,2.3,2.3h19.4c1.3,0,2.3-1,2.3-2.3V2.8c0-1.3-1-2.3-2.3-2.3H2.8z\" />\n <path d=\"M7.8,18.8c0.5,0,0.9-0.4,0.9-0.9v-4.6c0-0.5-0.4-0.9-0.9-0.9s-0.9,0.4-0.9,0.9v4.6C6.9,18.3,7.3,18.8,7.8,18.8z\" />\n <path d=\"M17.4,18.8c0.5,0,0.9-0.4,0.9-0.9V7.4c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9v10.5C16.5,18.3,16.9,18.8,17.4,18.8z\" />\n <path d=\"M12.6,18.8c0.5,0,0.9-0.4,0.9-0.9v-7.5c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9v7.5C11.7,18.3,12.1,18.8,12.6,18.8z\" />\n </g>\n </svg>\n);\n\nexport const WiManageGroupIcon = () => (\n <svg className=\"wi-manage-group\" viewBox=\"0 0 25 25\">\n <title>WI Manage Group</title>\n <g>\n <path d=\"M12.7775,0.110555556 C12.6219444,-0.0366666667 12.3783333,-0.0366666667 12.2227778,0.110555556 L0.125833333,11.5741667 C0.0455555556,11.6502778 0,11.7561111 0,11.8669444 L0,24.5969444 C0,24.7030556 0.0430555556,24.8069444 0.118055556,24.8819444 C0.193055556,24.9569444 0.296944444,25 0.403333333,25 L24.5969444,25 C24.7030556,25 24.8069444,24.9569444 24.8819444,24.8819444 C24.9569444,24.8066667 25,24.7027778 25,24.5966667 L25,11.8669444 C25,11.7561111 24.9544444,11.6505556 24.8741667,11.5741667 L12.7775,0.110555556 Z M0.806388889,12.0402778 L12.5,0.958611111 L24.1936111,12.0402778 L24.1936111,24.1936111 L0.806388889,24.1936111 L0.806388889,12.0402778 Z\"></path>\n <path d=\"M18.1452778,12.2311111 L14.785,12.2311111 L14.785,8.87083333 C14.785,8.76472222 14.7419444,8.66083333 14.6669444,8.58583333 C14.5919444,8.51083333 14.4880556,8.46777778 14.3819444,8.46777778 L10.6183333,8.46777778 C10.5122222,8.46777778 10.4083333,8.51083333 10.3333333,8.58583333 C10.2583333,8.66083333 10.2152778,8.76472222 10.2152778,8.87083333 L10.2152778,12.2311111 L6.855,12.2311111 C6.74888889,12.2311111 6.645,12.2741667 6.57,12.3491667 C6.495,12.4241667 6.45194444,12.5280556 6.45194444,12.6341667 L6.45194444,16.3975 C6.45194444,16.5036111 6.495,16.6075 6.57,16.6825 C6.645,16.7575 6.74888889,16.8005556 6.855,16.8005556 L10.2152778,16.8005556 L10.2152778,20.1608333 C10.2152778,20.2669444 10.2583333,20.3708333 10.3333333,20.4458333 C10.4083333,20.5208333 10.5122222,20.5638889 10.6183333,20.5638889 L14.3816667,20.5638889 C14.4877778,20.5638889 14.5916667,20.5208333 14.6666667,20.4458333 C14.7416667,20.3708333 14.7847222,20.2669444 14.7847222,20.1608333 L14.7847222,16.8011111 L18.145,16.8011111 C18.2511111,16.8011111 18.355,16.7580556 18.43,16.6830556 C18.505,16.6080556 18.5480556,16.5041667 18.5480556,16.3980556 L18.5480556,12.6344444 C18.5480556,12.5283333 18.505,12.4244444 18.43,12.3494444 C18.3552778,12.2741667 18.2513889,12.2311111 18.1452778,12.2311111 Z M17.7419444,15.9947222 L14.3816667,15.9947222 C14.2755556,15.9947222 14.1716667,16.0377778 14.0966667,16.1127778 C14.0216667,16.1877778 13.9786111,16.2916667 13.9786111,16.3977778 L13.9786111,19.7580556 L11.0213889,19.7580556 L11.0213889,16.3977778 C11.0213889,16.2916667 10.9783333,16.1877778 10.9033333,16.1127778 C10.8283333,16.0377778 10.7244444,15.9947222 10.6183333,15.9947222 L7.25805556,15.9947222 L7.25805556,13.0375 L10.6183333,13.0375 C10.7244444,13.0375 10.8283333,12.9944444 10.9033333,12.9194444 C10.9783333,12.8444444 11.0213889,12.7405556 11.0213889,12.6344444 L11.0213889,9.27416667 L13.9783333,9.27416667 L13.9783333,12.6344444 C13.9783333,12.7405556 14.0213889,12.8444444 14.0963889,12.9194444 C14.1713889,12.9944444 14.2752778,13.0375 14.3813889,13.0375 L17.7416667,13.0375 L17.7416667,15.9947222 L17.7419444,15.9947222 Z\"></path>\n </g>\n </svg>\n);\n","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","const submissionsUrl = '/user/submissions';\nconst dashboardUrl = '/user/dashboard';\nconst manageUrl = '/user/manage-access';\nconst feedbackUrl = `${submissionsUrl}/feedback`;\nconst physicianCompareUrl = `${submissionsUrl}/physician-compare`;\nconst reportsPortalUrl = `${submissionsUrl}/reports`;\nconst facilityBasedPreviewBaseUrl = `${submissionsUrl}/facility-based-preview`\n\nconst performanceFeedbackUrl = (performanceYear) => {\n if (performanceYear) {\n return `${feedbackUrl}/${performanceYear}`;\n } else {\n return feedbackUrl;\n }\n};\n\nconst facilityBasedPreviewUrl = (performanceYear) => {\n return `${facilityBasedPreviewBaseUrl}/${performanceYear}`;\n};\n\nconst handleNavigation = (e, linkCallbackFunction, label) => {\n if (linkCallbackFunction) {\n const { pathname, hash, search } = e.currentTarget;\n e.preventDefault();\n e.stopPropagation();\n linkCallbackFunction(`${pathname}${hash}${search}`);\n }\n window?.utag?.link({\n ga_event_category: 'side navbar',\n ga_event_action: 'click',\n ga_event_label: label,\n page_title: `${window.document.title}`,\n page_url: `${window.location.pathname}`,\n event: 'trackEvent',\n });\n};\n\nmodule.exports = {\n submissionsUrl,\n dashboardUrl,\n feedbackUrl,\n manageUrl,\n physicianCompareUrl,\n performanceFeedbackUrl,\n facilityBasedPreviewUrl,\n handleNavigation,\n reportsPortalUrl,\n facilityBasedPreviewBaseUrl,\n};\n","import React, { createContext, useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nexport function useWindowWidth() {\n const [windowSize, setWindowSize] = useState(undefined);\n useEffect(() => {\n function handleResize() {\n setWindowSize(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n handleResize();\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n return windowSize;\n}\n\nexport const HeaderStateContext = createContext(null);\n\nexport const HeaderStateProvider = ({ children, RouterLink }) => {\n const [currentOpenMenu, setCurrentOpenMenu] = useState('');\n\n const handleToggleMenu = (name) => {\n if (currentOpenMenu === name) {\n return setCurrentOpenMenu('');\n }\n return setCurrentOpenMenu(name);\n };\n\n const closeMenus = () => setCurrentOpenMenu('');\n return (\n <HeaderStateContext.Provider\n value={{ currentOpenMenu, handleToggleMenu, closeMenus, RouterLink }}\n >\n {children}\n </HeaderStateContext.Provider>\n );\n};\nHeaderStateProvider.propTypes = {\n children: PropTypes.node.isRequired,\n RouterLink: PropTypes.func,\n};\nHeaderStateProvider.defaultProps = {\n RouterLink: null,\n};\n\nexport const useHeaderState = () => {\n const context = useContext(HeaderStateContext);\n if (context === undefined) {\n throw new Error('useHeaderState must be used within a HeaderStateProvider');\n }\n return context;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst hasDarkerBackground = (darkerBackground) => {\n return darkerBackground ? 'background-highlight' : '';\n}\n\nconst AnimationGroup = ({ display, className, children, darkerBackground }) => {\n return (\n <div\n className={`animation-group animation-group-${className || 'default'}${\n display ? ' animation-group-enter' : ' animation-group-exit'\n } ${hasDarkerBackground(darkerBackground)}`}\n >\n {children}\n </div>\n );\n};\n\nAnimationGroup.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n display: PropTypes.bool,\n darkerBackground: PropTypes.bool\n};\n\nexport default AnimationGroup;\n","module.exports = require('./lib/axios');","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n\nexport { canUseDOM };\n","export const setUtagLink = (eventCategory, eventAction, eventLabel) =>\n window?.utag?.link({\n ga_event_category: eventCategory,\n ga_event_action: eventAction,\n ga_event_label: eventLabel,\n page_title: `${window.document.title}`,\n page_url: `${window.location.pathname}`,\n event: 'trackEvent',\n });\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","import React from 'react';\nimport xss from 'xss';\nimport PropTypes from 'prop-types';\n\n// Override the default allowed HTML tags\nconst defaultAllowedTags = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'b',\n 'blockquote',\n 'br',\n 'button',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hr',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'mark',\n 'meter',\n 'nav',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'svg',\n 'use',\n 'polygon',\n 'circle',\n 'g',\n 'path',\n];\n\n// Override the default allowed HTML attributes for all tags\nconst defaultAllowedAttributes = {\n '*': [\n 'action',\n 'alt',\n 'aria-*',\n 'autocomplete',\n 'cite',\n 'class',\n 'cols',\n 'colspan',\n 'data-*',\n 'datetime',\n 'disabled',\n 'download',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'href',\n 'hreflang',\n 'id',\n 'lang',\n 'list',\n 'max',\n 'maxlength',\n 'minlength',\n 'media',\n 'method',\n 'min',\n 'multiple',\n 'name',\n 'novalidate',\n 'open',\n 'pattern',\n 'placeholder',\n 'readonly',\n 'rel',\n 'required',\n 'reversed',\n 'rows',\n 'rowspan',\n 'sandbox',\n 'scope',\n 'scoped',\n 'selected',\n 'size',\n 'sizes',\n 'span',\n 'spellcheck',\n 'src',\n 'srcset',\n 'start',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'target',\n 'title',\n 'type',\n 'value',\n 'width',\n 'wrap',\n 'fill',\n 'stroke',\n ' stroke-width',\n 'd',\n 'points',\n 'viewbox',\n 'x',\n 'y',\n 'cx',\n 'cy',\n 'r',\n 'xmlns',\n 'xmlns:xlink',\n 'xlink:href',\n 'version',\n 'preserveaspectratio',\n 'enable-background',\n ],\n};\n\nconst SanitizedContent = ({\n html = '<div/>',\n customClassName = null,\n allowedTags = defaultAllowedTags,\n allowedAttributes = defaultAllowedAttributes,\n}) => {\n const whiteList = allowedTags.reduce((map, tag) => {\n map[tag] = allowedAttributes['*'];\n return map;\n }, {});\n const sanitizedHTML = xss(html, { whiteList });\n return (\n <div\n {...(customClassName && { className: customClassName })}\n dangerouslySetInnerHTML={{ __html: sanitizedHTML }}\n />\n );\n};\n\nSanitizedContent.propTypes = {\n html: PropTypes.string,\n customClassName: PropTypes.string,\n allowedTags: PropTypes.array,\n allowedAttributes: PropTypes.array,\n};\n\nexport default SanitizedContent;\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function (str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n },\n};\n","import cookie from 'cookie';\nimport axios from 'axios';\n\n/**\n * Makes an API request to end the user session.\n * @param {Object} [_window] The DOM Window\n * @return {Function} Returns a promise\n */\nconst LogoutSession = (_window) => {\n let cookies = cookie.parse(_window.document.cookie);\n let logoutDestination = '/logout-confirmation';\n\n if (cookies.hasOwnProperty('qpp_auth_token')) {\n let onSuccess = (/*response*/) => {\n // redirect to login/logged out screen\n _window.location.pathname = logoutDestination;\n };\n\n let onError = (/*response*/) => {\n // delete cookie and redirect login/logged out screen\n _window.location.pathname = logoutDestination;\n };\n\n return axios({\n method: 'POST',\n url: '/user/session-logout',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${cookies.qpp_auth_token}`,\n },\n })\n .then(onSuccess, onError)\n .catch(function (err) {\n console.log(err);\n });\n } else {\n _window.location.pathname = logoutDestination;\n }\n};\n\nexport default LogoutSession;\n","import React from 'react';\nimport axios from 'axios';\nimport { useState, useEffect } from 'react';\n\n// The content is populated with the following priority order:\n// 1. Use the content in localStorage if it's there\n// 2. If not, make a call to get it from a QPPFE endpoint.\n// Hydrate the localStorage item with the response if localStorage item doesn't match call content.\n// 3. If the call fails, use the default content\nconst useGetConfig = ({\n url = '',\n localStorageName = '',\n equalityCheckExclude = [],\n timeout = 30,\n defaultContent,\n}) => {\n const [result, setResult] = useState();\n\n if (!url || !localStorageName) {\n throw new Error('Arguments for url and localStorageName are required');\n }\n\n useEffect(() => {\n const storageContent = JSON.parse(localStorage.getItem(localStorageName));\n if (\n storageContent?.content &&\n new Date().valueOf() < storageContent.expiration\n ) {\n setResult(storageContent);\n } else {\n const origin = window.location.origin;\n axios\n .get(`${origin}${url}`)\n .then(({ data: { data = {} } }) => {\n const expiration = new Date().valueOf() + timeout * 60 * 1000;\n const storageItem = {\n expiration,\n };\n if (\n data?.content &&\n storageContent?.content &&\n Object.keys(data.content).every((key) => {\n if (equalityCheckExclude.includes(key)) {\n return true;\n }\n return data.content[key] === storageContent.content[key];\n })\n ) {\n storageItem.content = storageContent.content;\n } else {\n storageItem.content = data.content;\n }\n\n localStorage.setItem(localStorageName, JSON.stringify(storageItem));\n setResult(storageItem);\n })\n .catch((e) => {\n setResult({ content: defaultContent, expiration: 0 });\n });\n }\n }, []);\n\n return result;\n};\n\nexport const withGetConfig = (Component, options) => {\n function WrappedComponent(props) {\n const result = useGetConfig(options);\n return <Component result={result} {...props} />;\n }\n return WrappedComponent;\n};\n\nexport default useGetConfig;\n","import NavLinkContainer from './NavLinkContainer';\nimport NavLinkDrawer from './NavLinkDrawer';\nimport NavLinkInline from './NavLinkInline';\nimport NavLinkToggle from './NavLinkToggle';\nimport NavItemInline from './NavItemInline';\n\nexport {\n NavLinkContainer,\n NavLinkDrawer,\n NavLinkInline,\n NavLinkToggle,\n NavItemInline,\n};\n","import { useRef, createElement } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { createPortal } from 'react-dom';\n\n/**\n * Welcome to @reach/portal!\n *\n * Creates and appends a DOM node to the end of `document.body` and renders a\n * React tree into it. Useful for rendering a natural React element hierarchy\n * with a different DOM hierarchy to prevent parent styles from clipping or\n * hiding content (for popovers, dropdowns, and modals).\n *\n * @see Docs https://reach.tech/portal\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/portal\n * @see React https://reactjs.org/docs/portals.html\n */\n/**\n * Portal\n *\n * @see Docs https://reach.tech/portal#portal\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? \"reach-portal\" : _ref$type;\n var mountNode = useRef(null);\n var portalNode = useRef(null);\n var forceUpdate = useForceUpdate();\n useIsomorphicLayoutEffect(function () {\n // This ref may be null when a hot-loader replaces components on the page\n if (!mountNode.current) return; // It's possible that the content of the portal has, itself, been portaled.\n // In that case, it's important to append to the correct document element.\n\n var ownerDocument = mountNode.current.ownerDocument;\n portalNode.current = ownerDocument == null ? void 0 : ownerDocument.createElement(type);\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate();\n return function () {\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, [type, forceUpdate]);\n return portalNode.current ? /*#__PURE__*/createPortal(children, portalNode.current) : /*#__PURE__*/createElement(\"span\", {\n ref: mountNode\n });\n};\n/**\n * @see Docs https://reach.tech/portal#portal-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Portal;\nexport { Portal };\n","import { useState, useCallback } from 'react';\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\nexport { useForceUpdate };\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '../Tooltip';\nimport InfotipIcon from './InfotipIcon';\n\nconst BUTTON_SIZE = '16px';\n\nconst buttonStyle = {\n background: 'transparent',\n border: 0,\n padding: 0,\n width: BUTTON_SIZE,\n height: BUTTON_SIZE,\n WebkitTouchCallout: 'none',\n WebkitUserSelect: 'none',\n userSelect: 'none',\n};\n\n// Use basic touch handlers for mobile \"tap-to-open\" ui. Mobile touch\n// is currently not supported by @reach/tooltip; this may change in future.\n// Leverages @reach/tooltip \"focus\" behavior to open tooltip on tap,\n// and close tooltip on second tap or loss of focus.\n// TODO: We may want to improve this by tracking touch positions to ensure\n// that a 'touchend' event must be reasonably close to the tooltip target.\nconst touchHandlers = {\n onTouchStart: (e) => {\n e.stopPropagation();\n },\n onTouchEnd: (e) => {\n if (document.activeElement !== e.currentTarget) {\n e.preventDefault();\n e.currentTarget.focus();\n } else {\n e.preventDefault();\n e.currentTarget.blur();\n }\n },\n};\n\n/**\n * Tooltip with styled information icon\n */\nconst Infotip = ({ label, lightIcon, ...props }) => (\n <Tooltip label={label} {...props}>\n <button\n type=\"button\"\n aria-label=\"Information\"\n style={buttonStyle}\n {...touchHandlers}\n >\n <InfotipIcon\n lightIcon={lightIcon}\n width={BUTTON_SIZE}\n height={BUTTON_SIZE}\n aria-hidden\n style={{ float: 'left' }}\n />\n </button>\n </Tooltip>\n);\n\nInfotip.propTypes = {\n label: PropTypes.string.isRequired,\n ariaLabel: PropTypes.string,\n lightIcon: PropTypes.bool,\n DEBUG_STYLE: PropTypes.bool,\n};\n\nInfotip.defaultProps = {\n ariaLabel: undefined,\n lightIcon: false,\n DEBUG_STYLE: undefined,\n};\n\nexport default Infotip;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'cookie';\nimport retry from 'retry';\nimport jwtDecode from 'jwt-decode';\n\nimport Modal from './Modal';\nimport RefreshSession from '../session/refresh';\nimport LogoutSession from '../session/logout';\nimport fetchTtl from '../session/ttl';\n\nconst fetchTtlIntervalMs = 60000;\n\nexport default class SessionDialogUI extends Component {\n /**\n * Create a SessionDialogUI component.\n * @param {object} props - Configuration options. See SessionDialog for more\n */\n constructor(props) {\n super(props);\n\n this.handleOpenModal = this.handleOpenModal.bind(this);\n this.handleCloseModal = this.handleCloseModal.bind(this);\n this.refreshSession = this.refreshSession.bind(this);\n this.signOut = this.signOut.bind(this);\n this.startTimer = this.startTimer.bind(this);\n this.shouldShowDialog = this.shouldShowDialog.bind(this);\n this.shouldSignOut = this.shouldSignOut.bind(this);\n this.minutesUntil = this.minutesUntil.bind(this);\n this.checkExpiry = this.checkExpiry.bind(this);\n this.onInterval = this.onInterval.bind(this);\n\n if (props.showImmediate === true) {\n this.state = {\n showModal: true,\n showError: false,\n };\n } else {\n this.state = {\n showModal: false,\n showError: false,\n };\n\n this.startTimer();\n }\n }\n\n /**\n * Extracts the token exp value as a JavaScript date.\n * @param {Object} cookies - An object representation of the cookie store\n * @returns {(date|null)} The token expiration date, if found\n */\n getTokenExpiry(cookies) {\n let expiry = null;\n\n if (cookies.hasOwnProperty('qpp_auth_token') && cookies.qpp_auth_token) {\n // See https://tools.ietf.org/html/rfc7519\n // `exp` is a NumericDate representing \"seconds since the epoch\"\n // and it needs to be milliseconds to get a JavaScript date from it.\n const { exp } = jwtDecode(cookies.qpp_auth_token);\n expiry = new Date(exp * 1000);\n }\n\n return expiry;\n }\n\n checkExpiry(expiry) {\n if (expiry) {\n if (this.shouldShowDialog(expiry)) {\n this.handleOpenModal();\n } else if (this.shouldSignOut(expiry)) {\n this.signOut();\n clearInterval(this.warningInterval);\n }\n } else {\n clearInterval(this.warningInterval);\n }\n }\n\n onInterval() {\n const cookies = cookie.parse(document.cookie);\n\n if (cookies.hasOwnProperty('qpp_auth_token') && cookies.qpp_auth_token) {\n const operation = retry.operation({\n retries: 5,\n factor: 1,\n minTimeout: 1000,\n maxTimeout: 1000,\n });\n\n operation.attempt(() => {\n fetchTtl(cookies.qpp_auth_token)\n .then(this.checkExpiry)\n .catch((error) => {\n if (operation.retry(error)) {\n // try again before giving up\n return;\n }\n clearInterval(this.warningInterval);\n // sign an inactive user out\n this.forceTimeoutHandle = setTimeout(this.signOut, 120 * 1000);\n this.setState({\n showModal: false,\n showError: true,\n });\n });\n });\n }\n }\n\n /**\n * Checks whether the user is within a specified number of minutes before\n * their session token expires. If so, show a warning dialog. If the\n * expiration has been reached, sign the user out.\n */\n startTimer() {\n clearInterval(this.warningInterval);\n\n this.warningInterval = setInterval(this.onInterval, fetchTtlIntervalMs);\n }\n\n /**\n * Returns whether the current time is within the timeout range of expiry.\n * @param {date|number} expiry - Expiration date to check against\n * @returns {boolean}\n */\n shouldShowDialog(expiry) {\n if (typeof expiry === 'number') {\n const minutesLeft = expiry / 60;\n\n return !this.state.showModal && minutesLeft <= this.props.warningTimeout;\n } else {\n return (\n !this.state.showModal &&\n this.minutesUntil(expiry) <= this.props.warningTimeout\n );\n }\n }\n\n /**\n * Returns whether the current time has reached the expiration date.\n * @param {date|number} expiry - Expiration date to check against\n * @returns {boolean}\n */\n shouldSignOut(expiry) {\n if (typeof expiry === 'number') {\n return expiry <= 1;\n } else {\n return this.minutesUntil(expiry) <= 0;\n }\n }\n\n /**\n * Returns number of minutes until the expiration date.\n * @param {date} expiry - Expiration date to check against\n * @returns {number}\n */\n minutesUntil(expiry) {\n return (expiry - new Date().getTime()) / 60000;\n }\n\n /**\n * Sets the modal state to visible.\n */\n handleOpenModal() {\n this.setState({\n showModal: true,\n showError: false,\n });\n }\n\n /**\n * Sets the modal state to hidden.\n */\n handleCloseModal() {\n this.setState({\n showModal: false,\n showError: false,\n });\n }\n\n /**\n * Handles the user requesting their session be extended.\n */\n refreshSession() {\n RefreshSession({\n window,\n onSuccess: () => {\n this.startTimer();\n },\n });\n\n this.handleCloseModal();\n }\n\n /**\n * Handles the user requesting their session be ended.\n */\n signOut() {\n if (this.forceTimeoutHandle) {\n clearTimeout(this.forceTimeoutHandle);\n }\n LogoutSession(window);\n this.handleCloseModal();\n }\n\n render() {\n return (\n <React.Fragment>\n <Modal\n useDesignSystem\n title=\"You will be signed out within two minutes\"\n isOpen={this.state.showModal}\n primary={{\n title: 'Keep me signed in',\n onClick: this.refreshSession,\n }}\n secondary={{\n title: 'Sign me out now',\n onClick: this.signOut,\n }}\n onRequestClose={this.handleCloseModal}\n >\n <p>\n You have been inactive for thirty minutes. For your security, we\n will sign you out automatically.\n </p>\n </Modal>\n\n <Modal\n useDesignSystem\n title=\"Technical Difficulties\"\n isOpen={this.state.showError}\n primary={{\n title: 'Sign Out',\n onClick: this.signOut,\n }}\n onRequestClose={this.signOut}\n >\n <p>\n We’re experiencing technical difficulties. Please log in again to\n continue. For your security, we will sign you out automatically\n within two minutes.\n </p>\n </Modal>\n </React.Fragment>\n );\n }\n}\n\nSessionDialogUI.propTypes = {\n showImmediate: PropTypes.bool,\n warningTimeout: PropTypes.number,\n appElement: PropTypes.string,\n};\n\nSessionDialogUI.defaultProps = {\n showImmediate: false,\n warningTimeout: 2,\n appElement: undefined,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport LegacyModal from './LegacyModal';\nimport DsModal from './Modal';\n\nconst Modal = ({ useDesignSystem, ...rest }) => {\n if (useDesignSystem) {\n return <DsModal {...rest} />;\n }\n return <LegacyModal {...rest} />;\n};\n\nModal.propTypes = {\n useDesignSystem: PropTypes.bool,\n};\nModal.defaultProps = {\n useDesignSystem: false,\n};\nModal.displayName = 'Modal';\n\nexport default Modal;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV === \"production\") return;\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","/**\n * default settings\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"preload\",\n \"src\",\n ],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n figcaption: [],\n figure: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n summary: [],\n sup: [],\n strong: [],\n strike: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"preload\",\n \"src\",\n \"height\",\n \"width\",\n ],\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"&lt;\").replace(REGEXP_GT, \"&gt;\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value.substr(0, 11) === \"data:image/\" ||\n value.substr(0, 6) === \"ftp://\" ||\n value.substr(0, 2) === \"./\" ||\n value.substr(0, 3) === \"../\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = /</g;\nvar REGEXP_GT = />/g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /&quot;/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \"&quot;\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function () {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function (tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end,\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function (html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function (pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n },\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n return html.replace(STRIP_COMMENT_TAG_REGEXP, \"\");\n}\nvar STRIP_COMMENT_TAG_REGEXP = /<!--[\\s\\S]*?-->/g;\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function (char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. '<a hef=\"#\">'\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n var tagName = html.slice(1, -1);\n } else {\n var tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:'<a hef=\"#\">'\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"</\";\n}\n\n/**\n * parse input html and returns processed html\n *\n * @param {String} html\n * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)\n * @param {Function} escapeHtml\n * @return {String}\n */\nfunction parseTag(html, onTag, escapeHtml) {\n \"use strict\";\n\n var rethtml = \"\";\n var lastPos = 0;\n var tagStart = false;\n var quoteStart = false;\n var currentPos = 0;\n var len = html.length;\n var currentTagName = \"\";\n var currentHtml = \"\";\n\n chariterator: for (currentPos = 0; currentPos < len; currentPos++) {\n var c = html.charAt(currentPos);\n if (tagStart === false) {\n if (c === \"<\") {\n tagStart = currentPos;\n continue;\n }\n } else {\n if (quoteStart === false) {\n if (c === \"<\") {\n rethtml += escapeHtml(html.slice(lastPos, currentPos));\n tagStart = currentPos;\n lastPos = currentPos;\n continue;\n }\n if (c === \">\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if (c === '\"' || c === \"'\") {\n var i = 1;\n var ic = html.charAt(currentPos - i);\n\n while (ic.trim() === \"\" || ic === \"=\") {\n if (ic === \"=\") {\n quoteStart = c;\n continue chariterator;\n }\n ic = html.charAt(currentPos - ++i);\n }\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\\.\\-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"use strict\";\n\n var lastPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastPos &&\n (c === '\"' || c === \"'\") &&\n html.charAt(i - 1) === \"=\"\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\n","import cookie from 'cookie';\nimport axios from 'axios';\nimport LogoutSession from './logout.js';\n\n/**\n * Makes an API request to refresh the session token cookie, if it exists.\n * @param {Object} [options] - Optional configuration parameters.\n * @param {function} [options.onSuccess] - An optional success callback.\n * @param {function} [options.onError] - An optional error callback.\n * @param {Object} [options.window] - The DOM window.\n * @return {Function} Returns a promise\n */\nconst RefreshSession = (options = {}) => {\n let cookies = cookie.parse(options.window.document.cookie);\n\n if (cookies.hasOwnProperty('qpp_auth_token')) {\n const requestOptions = {\n method: 'POST',\n url: '/api/auth/sessions/refresh',\n headers: {\n Accept: 'application/vnd.qpp.cms.gov.v1+json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${cookies.qpp_auth_token}`\n }\n };\n\n let onSuccess = (/*response*/) => {\n if (typeof options.onSuccess === 'function') {\n options.onSuccess();\n }\n };\n\n let onError = (/*response*/) => {\n if (typeof options.onError === 'function') {\n options.onError();\n }\n\n return LogoutSession(options.window); // eslint-disable-line new-cap\n };\n\n return axios(requestOptions)\n .then(onSuccess, onError)\n .catch(function(err) {\n console.log(err);\n });\n }\n};\n\nexport default RefreshSession;\n","import axios from 'axios';\n\nconst fetchTtl = token => {\n const requestOptions = {\n method: 'GET',\n url: '/api/auth/sessions/ttl',\n headers: {\n Accept: 'application/vnd.qpp.cms.gov.v1+json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${token}`\n },\n transformResponse: [\n function(response) {\n return JSON.parse(response).data;\n }\n ]\n };\n\n return axios(requestOptions).then(response => {\n let expiry;\n\n if (response && response.data) {\n if (response.data.hasOwnProperty('time_remaining')) {\n expiry = response.data.time_remaining;\n } else {\n // See https://tools.ietf.org/html/rfc7519\n // `expiry` is a NumericDate representing \"seconds since the epoch\"\n // and it needs to be milliseconds to get a JavaScript date from it.\n expiry = new Date(response.data.ttl * 1000);\n }\n }\n\n return expiry;\n });\n};\n\nexport default fetchTtl;\n","import React, { Fragment, useRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useWindowWidth, useHeaderState } from './hooks';\nimport HeaderMenuLink from './HeaderMenuLink';\nimport HeaderMenuButton from './HeaderMenuButton';\nimport HeaderMenuSignOutButton from './HeaderMenuSignOutButton';\nimport Accordion from '../Accordion';\nimport { Chevron } from '../../lib/Chevron.jsx';\n\nconst menuSizes = {\n 1: 315,\n 2: 650,\n 3: 890,\n 4: 1200,\n};\n\nconst excludedClickOutClasses = [\n 'menu-dropdown-toggle',\n 'nav-link',\n 'nav-link-li',\n 'dropdown-description',\n 'dropdown-title',\n 'dropdown-title-chevron-container',\n 'signout-button',\n 'submenu-section',\n 'accordion',\n 'accordion-title',\n 'accordion-left-title',\n 'header-menu-btn',\n 'btn-navigation-icon',\n];\n\nconst HeaderMenuItem = ({\n handleClick,\n columns,\n menuName,\n rows,\n name,\n subtitle,\n className,\n}) => {\n const [isSubMenuFullWidth, setSubMenuFullWidth] = useState(false);\n const [openMobileSubMenu, setOpenMobileSubMenu] = useState('');\n\n const windowWidth = useWindowWidth();\n const menuButtonRef = useRef(null);\n const menuRef = useRef(null);\n const { RouterLink, handleToggleMenu, currentOpenMenu, closeMenus } =\n useHeaderState();\n const numColumns = (columns || []).length;\n\n const menuIdentifier = menuName || name;\n const isOpen = menuIdentifier === currentOpenMenu;\n\n useEffect(() => {\n const isMobile = windowWidth < 768;\n if (isOpen) {\n const shouldSetFullWidth =\n isMobile ||\n menuSizes[numColumns] >\n menuButtonRef.current.getBoundingClientRect().right;\n setSubMenuFullWidth(shouldSetFullWidth);\n }\n }, [windowWidth, isOpen]);\n\n useEffect(() => {\n const listener = (event) => {\n if (\n !menuRef ||\n !menuRef.current ||\n menuRef.current.contains(event.target) ||\n excludedClickOutClasses.some((className) =>\n event?.target?.classList.contains(className)\n )\n ) {\n return;\n }\n closeMenus();\n };\n document.addEventListener('mousedown', listener);\n return () => document.removeEventListener('mousedown', listener);\n }, [menuRef]);\n\n return (\n <li\n key={`header-item-${menuIdentifier}`}\n className={`header-item-${menuIdentifier}${\n isSubMenuFullWidth ? ' full-width-menu' : ''\n }${className ? ` ${className}` : ''}`}\n ref={menuRef}\n >\n <button\n ref={menuButtonRef}\n className=\"menu-dropdown-toggle\"\n aria-label={`${name} navigation dropdown`}\n aria-expanded={isOpen}\n aria-controls={`nav-section-${menuIdentifier}`}\n data-toggle=\"dropdown\"\n onClick={() => handleToggleMenu(menuIdentifier)}\n >\n <div className=\"dropdown-title-chevron-container\">\n <span className=\"dropdown-title\">{name}</span>\n <div className=\"chevron-container\">\n <Chevron focusable=\"false\" />\n </div>\n </div>\n\n <span className={`dropdown-description ${isOpen ? 'active' : ''}`}>\n {subtitle}\n </span>\n </button>\n <div\n className={`nav-section${isOpen ? ' open' : ''}`}\n id={`nav-section-${menuIdentifier}`}\n hidden={!isOpen}\n data-columns={numColumns}\n >\n {rows.map((columnContent, index) => {\n return (\n <ul key={`${menuIdentifier}-${index}`} className=\"nav-column\">\n {columnContent.map((c, cIndex) => {\n return (\n <Fragment key={`${menuIdentifier}-${index}-${cIndex}`}>\n <li className=\"submenu-section\">\n {c.heading && (\n <h3 className=\"submenu-heading\">{c.heading}</h3>\n )}\n <ul>\n {c.items.map((item) => {\n const isSubLink = item.type === 'sublink';\n const componentsByType = {\n button: HeaderMenuButton,\n signout: HeaderMenuSignOutButton,\n link: HeaderMenuLink,\n sublink: HeaderMenuLink,\n };\n const SubMenuComponent = componentsByType[item.type];\n return (\n <li\n onClick={handleClick}\n key={`item-link-${item.name}`}\n className={isSubLink ? 'nav-link-li sublink' : 'nav-link-li'}\n >\n <SubMenuComponent\n href={item.href}\n name={item.name}\n RouterLink={RouterLink}\n />\n </li>\n );\n })}\n </ul>\n </li>\n {name === 'MIPS' && (\n <li\n key={`${menuIdentifier}-mobile-${index}-${cIndex}`}\n className=\"submenu-section-mips-mobile\"\n onClick={() => {\n setOpenMobileSubMenu(c.heading);\n }}\n >\n <Accordion\n title={c.heading}\n isOpen={openMobileSubMenu === c.heading}\n >\n <ul>\n {c.items.map((item) => {\n const isSubLink = item.type === 'sublink';\n const componentsByType = {\n button: HeaderMenuButton,\n signout: HeaderMenuSignOutButton,\n link: HeaderMenuLink,\n sublink: HeaderMenuLink,\n };\n const SubMenuComponent =\n componentsByType[item.type];\n return (\n <li\n onClick={handleClick}\n key={`item-link-${item.name}`}\n className={isSubLink ? 'sublink' : ''}\n >\n <SubMenuComponent\n href={item.href}\n name={item.name}\n RouterLink={RouterLink}\n />\n </li>\n );\n })}\n </ul>\n </Accordion>\n </li>\n )}\n </Fragment>\n );\n })}\n </ul>\n );\n })}\n </div>\n </li>\n );\n};\n\nHeaderMenuItem.propTypes = {\n columns: PropTypes.array,\n menuName: PropTypes.string,\n rows: PropTypes.array,\n name: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n className: PropTypes.string,\n handleClick: PropTypes.func.isRequired,\n};\nHeaderMenuItem.defaultProps = {\n menuName: '',\n columns: [],\n rows: [],\n className: null,\n};\n\nexport default HeaderMenuItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const Chevron = (props) => {\n return (\n <svg\n width=\"10px\"\n height=\"6px\"\n viewBox=\"0 0 10 6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-56.000000, -9.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <path d=\"M61,14.9622437 C61.0868403,14.9622437 61.1636607,14.9288436 61.2304609,14.8620433 L61.2304609,14.8620433 L65.8997996,10.1927046 C65.9665999,10.1259043 66,10.049084 66,9.96224368 C66,9.87540334 65.9665999,9.79858303 65.8997996,9.73178276 L65.8997996,9.73178276 L65.3987976,9.23078076 C65.3319973,9.16398049 65.255177,9.13058036 65.1683367,9.13058036 C65.0814963,9.13058036 65.004676,9.16398049 64.9378758,9.23078076 L64.9378758,9.23078076 L61,13.1686565 L57.0621242,9.23078076 C56.995324,9.16398049 56.9185037,9.13058036 56.8316633,9.13058036 C56.744823,9.13058036 56.6680027,9.16398049 56.6012024,9.23078076 L56.6012024,9.23078076 L56.1002004,9.73178276 C56.0334001,9.79858303 56,9.87540334 56,9.96224368 C56,10.049084 56.0334001,10.1259043 56.1002004,10.1927046 L56.1002004,10.1927046 L60.7695391,14.8620433 C60.8363393,14.9288436 60.9131597,14.9622437 61,14.9622437 Z\"></path>\n </g>\n </g>\n </svg>\n );\n};\n\nChevron.propTypes = {\n className: PropTypes.string,\n};\n\nChevron.defaultProps = {\n className: 'accordion-icon',\n};\n","import IndividualDetails from './IndividualDetails';\nimport PracticeDetails from './PracticeDetails';\n\nexport { IndividualDetails, PracticeDetails };\n","import ScoreChart from './ScoreChart';\n\nexport { ScoreChart };\n","import ErrorPage from './components/Error/error';\nimport Footer from './components/Footer/footer';\nimport Header from './components/Header/header';\nimport SideNav from './components/SideNav';\nimport SessionDialog from './components/SessionDialog/sessionDialog';\n\nimport 'what-input';\n\nconst QppStyleComponents = {\n errorPage(options) {\n return new ErrorPage(options);\n },\n\n footer(options) {\n return new Footer(options);\n },\n\n header(options) {\n return new Header(options);\n },\n\n sideNav(options) {\n return SideNav(options);\n },\n\n SessionDialog(options) {\n return new SessionDialog(options);\n },\n};\n\nexport default QppStyleComponents;\n","import React from 'react';\nimport { render } from 'react-dom';\nimport ErrorUI from './ErrorUI';\n\n/**\n * Renders the QPP Error Page content.\n */\nexport default class ErrorPage {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {String} options.type - The error type\n * @param {String} options.code - The error code\n * @param {String} options.message - The error message\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n render(\n <ErrorUI\n type={options.type}\n code={options.code}\n message={options.message}\n />,\n options.rootElement\n );\n }\n}\n","import React from 'react';\nimport Collapsible from './Collapsible';\nimport PropTypes from 'prop-types';\n\nconst ErrorUI = (props) => {\n let errorTitle = `${props.type || 'Error'} ${props.code || ''}`;\n let errorDetails = props.message;\n\n return (\n <section className=\"page-error\">\n <div className=\"responsive-container\">\n <h1>We’re sorry.</h1>\n <p className=\"h2\">We cannot access this page.</p>\n <Collapsible\n showLabel=\"Open technical details about the error\"\n hideLabel=\"Close technical details about the error\"\n contentTitle={errorTitle}\n content={errorDetails}\n />\n </div>\n </section>\n );\n};\n\nErrorUI.propTypes = {\n code: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n type: PropTypes.string,\n};\n\nexport default ErrorUI;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nclass Collapsible extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isExpanded: false,\n };\n\n this._toggleExpanded = this.toggleExpanded.bind(this);\n this._renderShowButton = this.renderShowButton.bind(this);\n this._renderHideButton = this.renderHideButton.bind(this);\n }\n\n toggleExpanded() {\n this.setState({\n isExpanded: !this.state.isExpanded,\n });\n }\n\n renderShowButton() {\n return (\n <span className=\"collapsible-show-label\">{this.props.showLabel}</span>\n );\n }\n\n renderHideButton() {\n if (this.props.hideLabel) {\n return (\n <span className=\"collapsible-hide-label\">{this.props.hideLabel}</span>\n );\n } else {\n return '';\n }\n }\n\n render() {\n const isArray = Array.isArray(this.props.content);\n const isHidden = this.state.isExpanded ? undefined : true;\n\n return (\n <div className=\"collapsible-container\">\n <button\n onClick={this._toggleExpanded}\n className=\"collapsible-summary\"\n type=\"button\"\n aria-expanded={this.state.isExpanded ? true : false}\n >\n {this._renderShowButton()}\n {this._renderHideButton()}\n </button>\n\n <div className=\"collapsible-details\" hidden={isHidden}>\n {isArray ? (\n <ul className=\"items\">\n {this.props.content.map((c) => (\n <li key={c.contentTitle}>\n <p>\n <b>{c.contentTitle}</b>\n </p>\n <p>{c.content}</p>\n </li>\n ))}\n </ul>\n ) : (\n <div>\n <p>\n <b>{this.props.contentTitle}</b>\n </p>\n <p>{this.props.content}</p>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n\nCollapsible.propTypes = {\n showLabel: PropTypes.string.isRequired,\n hideLabel: PropTypes.string.isRequired,\n content: PropTypes.oneOfType([PropTypes.array, PropTypes.string]).isRequired,\n contentTitle: PropTypes.string,\n};\n\nexport default Collapsible;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/* global buildVersion */\n// buildVersion above is defined in webpack.config.js\nimport React from 'react';\nimport { render } from 'react-dom';\nimport FooterUI from './FooterUI';\n\n/**\n * Renders the QPP Footer content.\n */\nexport default class Footer {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n if (options.hasOwnProperty('rootElement')) {\n render(\n <FooterUI\n buildVersion={buildVersion}\n isFullWidth={options.isFullWidth}\n isNewFooter={options.isNewFooter}\n showHcdResearch={options.showHcdResearch}\n />,\n options.rootElement\n );\n } else {\n render(<FooterUI buildVersion={buildVersion} />, options);\n }\n }\n}\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport axios from 'axios';\n\nimport InfoTip from '../Infotip/Infotip';\nimport LegacyFooterUI from './LegacyFooterUI';\nimport Subscribe from './Subscribe';\nimport SocialLinks from './SocialLinks';\n\nconst infoTipLabel =\n 'When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.';\n\nconst FooterUI = (props) => {\n const isNewFooter = props.isNewFooter;\n const signUpNowLink = props.showHcdResearch\n ? '/about/hcd-research'\n : 'mailto:QPPUserResearch@cms.hhs.gov?subject=Sign up for feedback sessions&body=Please let us know your role and how many Tax Identification Numbers (TINs) you represent. Don’t send us your actual TINs, that is confidential information that should not be shared with this email address. If you do not represent a practice, let us know what work you do in connection to QPP.';\n const [listServ, setListServ] = useState(false);\n\n // The footer content is populated with the following priority order:\n // 1. Use the footer content in localStorage if it's there\n // 2. If not, make a call to get it from the QPPFE endpoint. Hydrate the localStorage item with the response.\n // 3. If the call fails, use the default value\n useEffect(() => {\n const storageContent = JSON.parse(\n localStorage.getItem('qpp_footer_listServ')\n );\n if (\n storageContent?.content &&\n new Date().valueOf() < storageContent.expiration\n ) {\n setListServ(storageContent.listServ);\n } else {\n const origin = window.location.origin;\n axios\n .get(\n !origin.includes('localhost')\n ? `${origin}/config/footer`\n : 'https://qpp.cms.gov/config/footer'\n )\n .then(({ data: { data = {} } }) => {\n localStorage.setItem(\n 'qpp_footer_listServ',\n JSON.stringify({\n listServ: data.listServ,\n })\n );\n setListServ(data.listServ);\n })\n .catch((e) => {\n setListServ(false);\n });\n }\n }, []);\n if (isNewFooter) {\n return (\n <>\n <div className=\"feedback-session-sign-up\">\n <div className=\"responsive-container\">\n <hr />\n <p>\n <strong>Help shape the future of QPP.</strong> Participate in a\n user feedback session.{' '}\n <a className=\"email-note-link\" href={signUpNowLink}>\n Sign up now\n </a>\n </p>\n </div>\n </div>\n <footer className=\"global-footer\">\n <div className=\"build-version\" id=\"build-version\">\n {props.buildVersion}\n </div>\n\n <div className=\"responsive-container\">\n <div className=\"global-footer-container\">\n <div className=\"footer-resources\">\n <p className=\"sub-title\">Resources</p>\n <ul>\n <li>\n <a\n href=\"/about/resource-library\"\n aria-label=\"Resource Library\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenEducationAndTools\"\n data-track-label=\"Education and Tools\"\n >\n Resource Library\n </a>\n </li>\n <li>\n <a\n href=\"/resources/help-and-support\"\n aria-label=\"Help and Support\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenHelpAndSupport\"\n data-track-label=\"Help and Support\"\n >\n Help and Support\n </a>\n </li>\n <li>\n <a\n href=\"/about/small-underserved-rural-practices\"\n aria-label=\"Support for Small Practices\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenSupportSmallPractices\"\n data-track-label=\"Support for Small Practices\"\n >\n Support for Small Practices\n </a>\n </li>\n <li>\n <a\n href=\"/developers\"\n aria-label=\"Developer Tools\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenDeveloperTools\"\n data-track-label=\"Quality Payment Program\"\n >\n Developer Tools\n </a>\n </li>\n <li>\n <a\n href=\"/glossary\"\n aria-label=\"Glossary\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenGlossary\"\n data-track-label=\"Glossary\"\n >\n Glossary\n </a>\n </li>\n </ul>\n </div>\n <div className=\"footer-contact-cms\">\n <p className=\"sub-title\">Contact CMS</p>\n <p className=\"contact-title\">By Phone:</p>\n <p>Monday - Friday 8 a.m - 8 p.m ET</p>\n <p>\n 1-866-288-8292 (TRS: 711)\n <span className=\"footer-trs-infotip\">\n <InfoTip label={infoTipLabel} />\n </span>\n </p>\n <p className=\"contact-title\">By Email:</p>\n <p>\n <a\n aria-label=\"QPP@cms.hhs.gov\"\n href=\"mailto:QPP@cms.hhs.gov\"\n className=\"email-link\"\n >\n QPP@cms.hhs.gov\n </a>\n </p>\n </div>\n <div className=\"footer-social-newsletter\">\n <p className=\"sub-title\">Stay Connected</p>\n <SocialLinks />\n <p className=\"sub-title\">\n {listServ\n ? 'Sign Up for the QPP Listserv'\n : 'Sign Up for the QPP Newsletter'}\n </p>\n <Subscribe />\n </div>\n </div>\n <hr />\n <div className=\"other-links\">\n <ul className=\"small\">\n <li>\n <a\n href=\"/privacy\"\n aria-label=\"Notice of Privacy and Disclaimer\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenPrivacyDisclaimer\"\n data-track-label=\"Notice of Privacy and Disclaimer\"\n >\n CMS Privacy Notice\n </a>\n </li>\n <li className=\"divider\"></li>{' '}\n <li>\n <a\n href=\"/accessibility\"\n aria-label=\"Accessibility\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenAccessibility\"\n data-track-label=\"Accessibility\"\n >\n Accessibility\n </a>\n </li>\n <li className=\"divider\"></li>{' '}\n <li>\n <a\n aria-label=\"Download Adobe Reader\"\n className=\"adobe-link\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n href=\"https://get.adobe.com/reader\"\n data-track-category=\"FooterNav\"\n data-track-action=\"DownloadAdobeReader\"\n data-track-label=\"AdobeReader\"\n >\n Download Adobe Reader\n </a>\n </li>\n </ul>\n <hr />\n </div>\n <div className=\"qpp-hhs-logo-container\">\n <div className=\"qpp-logo-container\">\n <img\n className=\"qpp-logo\"\n src=\"/images/qpp_logo_rgb_color.png\"\n alt=\"qpp logo\"\n />\n </div>\n <div className=\"hhs-logo-container\">\n <img\n className=\"hhs-logo\"\n alt=\"Department of Health &amp; Human Services USA\"\n src=\"/images/hhs-logo-black.svg\"\n />\n <p>\n A federal government website managed and paid for by the U.S\n Centers for Medicare &amp; Medicaid Services. 7500 Security\n Boulevard, Baltimore MD 21244\n </p>\n </div>\n </div>\n </div>\n </footer>\n </>\n );\n }\n return (\n <LegacyFooterUI\n buildVersion={props.buildVersion}\n isFullWidth={props.isFullWidth}\n signUpNowLink={signUpNowLink}\n />\n );\n};\n\nFooterUI.propTypes = {\n buildVersion: PropTypes.string,\n isFullWidth: PropTypes.bool,\n isNewFooter: PropTypes.bool,\n showHcdResearch: PropTypes.bool,\n};\n\nexport default FooterUI;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","import Tooltip from './Tooltip';\n\nexport default Tooltip;\n","import React, { cloneElement, useLayoutEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport positionTip, { positionTriangle } from './position';\nimport { useTooltip, TooltipPopup } from '@reach/tooltip';\nimport Portal from '@reach/portal';\n\n// TODO: investigate ways to allow more styling via css? the triangle\n// positioning effect issue may need to be resolved to allow for this.\nconst TEXT_COLOR = '#FFF';\nconst BACKGROUND_COLOR = '#333';\n\n/**\n * Generic styled tooltip component.\n * Corresponding styles: /styles/components/_tooltip.scss\n *\n * Extends implementation from @reach/tooltip:\n * https://reacttraining.com/reach-ui/tooltip\n */\nconst Tooltip = ({ children, label, ariaLabel, DEBUG_STYLE }) => {\n const [trigger, tooltip] = useTooltip({ DEBUG_STYLE });\n const { isVisible, triggerRect } = tooltip;\n const tooltipPopupRef = useRef();\n const triangleRef = useRef();\n\n useLayoutEffect(() => {\n // For some reason, the forwardRef for the tooltipPopup points to an undefined\n // dom element when we first render the portal containing the triangle. Using\n // an effect here will ensure that the ref is available when applying styles.\n // TODO: investigate and make issue for @reach-ui/tooltip?\n if (isVisible && tooltipPopupRef.current && triggerRect) {\n const tooltipRect = tooltipPopupRef.current.getBoundingClientRect();\n const positionCssText = positionTriangle(triggerRect, tooltipRect);\n const cssText = `\n position: absolute;\n width: 0;\n height: 0;\n ${positionCssText}\n border-top-color: ${BACKGROUND_COLOR};\n border-bottom-color: ${BACKGROUND_COLOR};\n z-index: 1;\n `;\n triangleRef.current.style.cssText = cssText;\n }\n });\n\n return (\n <>\n {cloneElement(children, trigger)}\n <TooltipPopup\n {...tooltip}\n label={label}\n ariaLabel={ariaLabel}\n style={{\n background: BACKGROUND_COLOR,\n color: TEXT_COLOR,\n }}\n ref={tooltipPopupRef}\n position={positionTip}\n />\n {isVisible && (\n <Portal>\n <div\n ref={triangleRef}\n style={{\n position: 'absolute',\n width: 0,\n height: 0,\n }}\n />\n </Portal>\n )}\n </>\n );\n};\n\nTooltip.propTypes = {\n children: PropTypes.node.isRequired,\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string,\n DEBUG_STYLE: PropTypes.bool,\n};\n\nTooltip.defaultProps = {\n ariaLabel: undefined,\n DEBUG_STYLE: undefined,\n};\n\nexport default Tooltip;\n","const OFFSET = 12; // modified from reach-ui/tooltip OFFSET value\nconst TRIANGLE_SCALE_X = 6;\nconst TRIANGLE_SCALE_Y = 8;\n\nconst isDirectionUp = (triggerRect, tooltipRect) => {\n const collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n bottom:\n window.innerHeight < triggerRect.bottom + tooltipRect.height + OFFSET,\n };\n\n return !collisions.top || collisions.bottom;\n};\n\n// modified from @reach/tooltip default positioning function\n// positions Tooltip relative to trigger\n// https://github.com/reach/reach-ui/blob/master/packages/tooltip/src/index.tsx#L532\nconst positionTip = (triggerRect, tooltipRect) => {\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n\n const triggerCenter = triggerRect.left + triggerRect.width / 2;\n const left = triggerCenter - tooltipRect.width / 2;\n const maxLeft = window.innerWidth - tooltipRect.width - 2;\n const centerLeft = Math.min(Math.max(2, left), maxLeft) + window.pageXOffset;\n\n const directionUp = isDirectionUp(triggerRect, tooltipRect);\n\n return {\n left: `${centerLeft}px`,\n top: directionUp\n ? `${\n triggerRect.top - OFFSET - tooltipRect.height + window.pageYOffset\n }px`\n : `${\n triggerRect.top + OFFSET + triggerRect.height + window.pageYOffset\n }px`,\n };\n};\n\nexport default positionTip;\n\n// position triangle relative to tooltip position\n// TODO: figure out a better way to render these updates from within react\n// rendering. This method causes an additional repaint after the Tooltip\n// has been rendered. may require changes to @reach/tooltip.\nexport const positionTriangle = (triggerRect, tooltipRect) => {\n const directionUp = isDirectionUp(triggerRect, tooltipRect);\n const triangleTop = directionUp\n ? triggerRect.top + window.pageYOffset - OFFSET\n : triggerRect.bottom + window.pageYOffset + OFFSET - TRIANGLE_SCALE_Y;\n\n const triangleLeft =\n triggerRect.left - TRIANGLE_SCALE_X + triggerRect.width / 2;\n\n const triangleBorder = directionUp\n ? `border-top: ${TRIANGLE_SCALE_Y}px solid;`\n : `border-bottom: ${TRIANGLE_SCALE_Y}px solid;`;\n\n return `\n border-left: ${TRIANGLE_SCALE_X}px solid transparent;\n border-right: ${TRIANGLE_SCALE_X}px solid transparent;\n left: ${triangleLeft}px;\n top: ${triangleTop}px;\n ${triangleBorder}\n `;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst InfotipIcon = ({ lightIcon, ...props }) => (\n <svg\n width=\"20px\"\n height=\"20px\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M9.721 19.158c-4.947 0-8.973-4.126-8.973-9.196C.748 4.892 4.774.766 9.72.766c4.948 0 8.974 4.126 8.974 9.196 0 5.07-4.026 9.196-8.974 9.196z\"\n fill=\"#2EB1ED\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M9.721 0C4.361 0 0 4.469 0 9.962c0 5.493 4.36 9.962 9.721 9.962 5.36 0 9.722-4.469 9.722-9.962C19.443 4.469 15.082 0 9.72 0z\"\n fill={lightIcon ? '#FFF' : '#04838A'}\n />\n <path\n d=\"M9.721 14.765c-.206 0-.374.112-.374.25v.5c0 .138.168.25.374.25.207 0 .374-.112.374-.25v-.5c0-.138-.167-.25-.374-.25zM9.764 4.706H9.72c-.792 0-1.536.29-2.1.821a2.767 2.767 0 0 0-.89 2.03c0 .197.166.356.373.356s.374-.159.374-.356c0-.577.237-1.118.668-1.523a2.268 2.268 0 0 1 1.607-.615c1.182.016 2.195.98 2.211 2.107.011.743-.373 1.427-1.028 1.83-.995.61-1.589 1.691-1.589 2.89v1.013c0 .197.168.357.374.357.207 0 .374-.16.374-.357v-1.013c0-.941.477-1.82 1.246-2.292.873-.537 1.386-1.448 1.371-2.438-.022-1.527-1.345-2.788-2.948-2.81z\"\n stroke={lightIcon ? '#04838A' : '#FFF'}\n strokeWidth=\".5\"\n fill={lightIcon ? '#04838A' : '#FFF'}\n fillRule=\"nonzero\"\n />\n </g>\n </svg>\n);\n\nexport default InfotipIcon;\n\nInfotipIcon.propTypes = {\n lightIcon: PropTypes.bool,\n};\n\nInfotipIcon.defaultProps = {\n lightIcon: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport InfoTip from '../Infotip/Infotip';\n\nconst infoTipLabel =\n 'When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.';\n\nconst LegacyFooterUI = ({ buildVersion, isFullWidth, signUpNowLink }) => {\n return (\n <footer className=\"legacy-footer\">\n <div className=\"build-version\" id=\"build-version\">\n {buildVersion}\n </div>\n <div className=\"banner\">\n <div\n className={\n isFullWidth ? 'container-full-width' : 'responsive-container'\n }\n >\n <div className=\"row\">\n <div className=\"col-sm-12 col-md-12 col-lg-12\">\n <span>Help shape the future of QPP</span> by participating in user\n feedback sessions.{' '}\n <a className=\"email-note-link\" href={signUpNowLink}>\n Send us an email to sign up\n </a>\n </div>\n </div>\n </div>\n </div>\n <div\n className={\n isFullWidth ? 'container-full-width' : 'responsive-container'\n }\n >\n <div className=\"row\">\n <div\n className={\n isFullWidth\n ? 'col-sm-12 col-md-8 col-lg-8'\n : 'col-sm-8 col-md-9 col-lg-9'\n }\n >\n <div className=\"logo-container\">\n <img\n src=\"/images/qpp_logo_reversed.png\"\n alt=\"Quality Payment Program\"\n className=\"qpp-logo\"\n />\n <div className=\"social-container\">\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://twitter.com/CMSGov\"\n aria-label=\"Follow us on Twitter. This link opens in a new window.\"\n >\n <span className=\"glyphicon glyphicon-twitter\"></span>\n </a>\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://www.youtube.com/playlist?list=PLaV7m2-zFKpj_6fBsqav6GvFzzq9oOpkk\"\n aria-label=\"Follow us on YouTube. This link opens in a new window.\"\n >\n <span className=\"glyphicon glyphicon-youtube\"></span>\n </a>\n </div>\n </div>\n <div className=\"links\">\n <ul>\n <li>\n <a\n href=\"/developers\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenDeveloperTools\"\n data-track-label=\"Quality Payment Program\"\n >\n Developer Tools\n </a>\n </li>\n <li>\n <a\n href=\"/about/resource-library\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenEducationAndTools\"\n data-track-label=\"Education and Tools\"\n >\n Resource Library\n </a>\n </li>\n <li>\n <a\n href=\"/glossary\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenGlossary\"\n data-track-label=\"Glossary\"\n >\n Glossary\n </a>\n </li>\n <li>\n <a\n href=\"/resources/help-and-support\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenHelpAndSupport\"\n data-track-label=\"Help and Support\"\n >\n Help and Support\n </a>\n </li>\n </ul>\n <ul className=\"small\">\n <li>\n <a\n href=\"/privacy\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenPrivacyDisclaimer\"\n data-track-label=\"Notice of Privacy and Disclaimer\"\n >\n CMS Privacy Notice\n </a>\n </li>\n <span className=\"divider\"></span>\n <li>\n <a\n href=\"/accessibility\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenAccessibility\"\n data-track-label=\"Accessibility\"\n >\n Accessibility\n </a>\n </li>\n <span className=\"divider\"></span>\n <li>\n <a\n className=\"adobe-link\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n href=\"https://get.adobe.com/reader\"\n data-track-category=\"FooterNav\"\n data-track-action=\"DownloadAdobeReader\"\n data-track-label=\"AdobeReader\"\n >\n <svg className=\"icon\">\n <use xlinkHref=\"#icon-download\" />\n </svg>\n Download Adobe Reader\n </a>\n </li>\n <span className=\"divider\"></span>\n <li>\n <a href=\"mailto:QPP@cms.hhs.gov\" className=\"email-link\">\n QPP@cms.hhs.gov\n </a>\n </li>\n <li>\n 1-866-288-8292 (TRS: 711)\n <div className=\"footer-trs-infotip\">\n <InfoTip lightIcon label={infoTipLabel} />\n </div>\n </li>\n </ul>\n </div>\n </div>\n <div\n className={\n isFullWidth\n ? 'col-sm-12 col-md-4 col-lg-4'\n : 'col-sm-4 col-md-3 col-lg-3'\n }\n >\n <div className=\"hhs-logo-container\">\n <img\n alt=\"Department of Health &amp; Human Services USA\"\n src=\"/images/hhs-logo-white.svg\"\n />\n </div>\n </div>\n </div>\n </div>\n </footer>\n );\n};\n\nLegacyFooterUI.propTypes = {\n buildVersion: PropTypes.string,\n isFullWidth: PropTypes.bool,\n signUpNowLink: PropTypes.string,\n};\n\nexport default LegacyFooterUI;\n","import React from 'react';\n\nconst Subscribe = () => (\n <div className=\"subscriber-form\">\n <form\n action=\"https://public.govdelivery.com/accounts/USCMS/subscriber/qualify\"\n target=\"_blank\"\n acceptCharset=\"UTF-8\"\n method=\"get\"\n rel=\"noopener noreferrer\"\n >\n <input type=\"hidden\" name=\"topic_id\" value=\"USCMS_12196\" />\n <label className=\"sr-only\" htmlFor=\"email-subscribe\">\n Email address\n </label>\n <input\n id=\"email-subscribe\"\n className=\"form-control\"\n type=\"email\"\n name=\"email\"\n placeholder=\"Enter your Email\"\n />\n <button\n className=\"btn btn-subscribe js-subscribe-submit\"\n type=\"submit\"\n name=\"commit\"\n >\n Subscribe\n </button>\n </form>\n </div>\n);\n\nexport default Subscribe;\n","import React from 'react';\n\nconst SocialLinks = () => (\n <div className=\"social-container\">\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://twitter.com/CMSGov\"\n aria-label=\"Follow us on Twitter. This link opens in a new window.\"\n >\n <svg width=\"19px\" height=\"16px\" viewBox=\"0 0 19 16\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-763.000000, -177.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g transform=\"translate(0.000000, 37.000000)\">\n <path\n d=\"M16.9243259,4.73901817 C16.9243259,4.57725788 16.9243259,4.41549759 16.916868,4.25373729 C17.6626567,3.71698723 18.3114928,3.05524058 18.826087,2.30526104 C18.1250456,2.6067234 17.3867149,2.81260014 16.6260105,2.90083303 C17.4240043,2.43025763 18.0206352,1.68763083 18.3040349,0.812654705 C17.5507884,1.25381914 16.7304209,1.56263424 15.8727639,1.72439454 C14.425934,0.202377237 12.0021209,0.128849832 10.4583384,1.56263424 C9.46643951,2.48172682 9.04133999,3.8566893 9.35457121,5.16547712 C6.28192201,5.01106957 3.41063575,3.5846379 1.47158528,1.22440818 C0.457312727,2.94494947 0.971906889,5.15077164 2.65738922,6.26103547 C2.04584253,6.24632999 1.45666951,6.0845697 0.919701685,5.79046007 C0.919701685,5.80516555 0.919701685,5.81987104 0.919701685,5.83457652 C0.919701685,7.62864522 2.20245815,9.17272074 3.99235089,9.53300502 C3.42555152,9.68741258 2.83637849,9.7094708 2.26212124,9.59917969 C2.76179963,11.1359025 4.20117171,12.1873444 5.83444883,12.2167553 C4.4771135,13.2681972 2.80654695,13.8343583 1.08377519,13.8343583 C0.778001843,13.8343583 0.4722285,13.8123 0.173913043,13.7828891 C1.93397424,14.8784474 3.96251934,15.4666667 6.04326965,15.4666667 C13.0760565,15.4666667 16.9243259,9.71682354 16.9243259,4.73901817 Z\"\n id=\"twitter-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </a>\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://www.youtube.com/playlist?list=PLaV7m2-zFKpj_6fBsqav6GvFzzq9oOpkk\"\n aria-label=\"Follow us on YouTube. This link opens in a new window.\"\n >\n <svg width=\"19px\" height=\"14px\" viewBox=\"0 0 19 14\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-801.000000, -179.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g id=\"Group\" transform=\"translate(38.000000, 39.000000)\">\n <path\n d=\"M17.7486957,2.84298208 C17.551087,2.10010036 16.9670652,1.51515412 16.2265217,1.3162724 C14.8843478,0.955555556 9.5,0.955555556 9.5,0.955555556 C9.5,0.955555556 4.11565217,0.955555556 2.77347826,1.3162724 C2.03293478,1.51515412 1.44891304,2.10010036 1.25130435,2.84298208 C0.891304348,4.19030824 0.891304348,7 0.891304348,7 C0.891304348,7 0.891304348,9.80969176 1.25130435,11.1570179 C1.44891304,11.8998996 2.03293478,12.4848459 2.77347826,12.6837276 C4.11565217,13.0444444 9.5,13.0444444 9.5,13.0444444 C9.5,13.0444444 14.8843478,13.0444444 16.2265217,12.6837276 C16.9670652,12.4848459 17.551087,11.8998996 17.7486957,11.1570179 C18.1086957,9.80969176 18.1086957,7 18.1086957,7 C18.1086957,7 18.1086957,4.19030824 17.7486957,2.84298208 Z M7.73913043,9.5513405 L7.73913043,4.4486595 L12.2391304,7 L7.73913043,9.5513405 Z\"\n id=\"Youtube-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </a>\n </div>\n);\n\nexport default SocialLinks;\n","import React from 'react';\nimport { render } from 'react-dom';\nimport HeaderUI from './HeaderUI.jsx';\n\n/**\n * Renders the QPP Header content.\n */\nexport default class Header {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {Boolean} options.isLoginEnabled\n * @param {String} options.skipToContentId - The HTML ID of main content\n * @param {Boolean} options.includeSkipToSidebar\n * @param {Boolean} options.showCancelButton\n * @param {Boolean} options.showCovidLink\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n render(\n <HeaderUI\n isLoginEnabled={options.isLoginEnabled}\n skipToContentId={options.skipToContentId}\n includeSkipToSidebar={options.includeSkipToSidebar}\n showCancelButton={options.showCancelButton}\n performanceYear={options.performanceYear}\n feedbackPerformanceYear={options.feedbackPerformanceYear}\n fbpPerformanceYear={options.fbpPerformanceYear}\n showPhysicianCompareLink={options.showPhysicianCompareLink}\n showFacilityBasedPreviewLink={options.showFacilityBasedPreviewLink}\n showCovidLink={options.showCovidLink}\n showMaqi={options.showMaqi}\n isDevPre={options.isDevPre}\n content={options.content}\n />,\n options.rootElement\n );\n }\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport HeaderAccountMenu from './HeaderAccountMenu.jsx';\nimport HeaderCancel from './HeaderCancel.jsx';\nimport HeaderContainer from './HeaderContainer';\nimport HeaderMenuItem from './HeaderMenuItem';\nimport HeaderMobileButton from './HeaderMobileButton';\nimport HelpIcon from './HelpIcon';\nimport defaultHeaderContent from './default-content.json';\nimport { HeaderStateProvider } from './hooks';\nimport useGetConfig from '../hooks/useGetConfig';\n\nconst HeaderUI = ({\n fbpPerformanceYear,\n feedbackPerformanceYear,\n handleCancel,\n includeSkipToSidebar,\n isDevPre,\n isLoginEnabled,\n performanceYear,\n showCancelButton,\n showPhysicianCompareLink,\n showFacilityBasedPreviewLink,\n skipToContentId,\n RouterLink,\n}) => {\n const [isMobileMenuExpanded, setIsMobileMenuExpanded] = useState(false);\n\n const mapContentToRows = (config) => {\n // Append transposed array to content\n return config?.map((section) => {\n // Only header items with multiple columns need to be transposed\n // Single column menus' tab order will remain the same\n if (section.columns?.length > 1) {\n const { columns } = section;\n return {\n ...section,\n rows: columns[0].map((_, colIndex) =>\n columns.map((row) => row[colIndex])\n ),\n };\n }\n return { ...section, rows: section.columns };\n });\n };\n\n const result = useGetConfig({\n localStorageName: 'qpp_top_nav_content',\n url: '/config/header',\n timeout: 30,\n defaultContent: defaultHeaderContent,\n });\n\n const content = mapContentToRows(result?.content);\n\n if (showCancelButton) {\n return (\n <HeaderStateProvider RouterLink={RouterLink}>\n <HeaderContainer\n showCancelButton\n skipToContentId={skipToContentId}\n includeSkipToSidebar={includeSkipToSidebar}\n >\n <HeaderCancel handleCancel={handleCancel} />\n </HeaderContainer>\n </HeaderStateProvider>\n );\n }\n\n if (isDevPre) {\n return (\n <HeaderStateProvider RouterLink={RouterLink}>\n <HeaderContainer\n skipToContentId={skipToContentId}\n includeSkipToSidebar={includeSkipToSidebar}\n >\n <nav aria-label=\"Primary navigation\" hidden={!isMobileMenuExpanded}>\n <ul className=\"navigation-menu\">\n <HeaderAccountMenu isDevPre isLoginEnabled={isLoginEnabled} />\n </ul>\n </nav>\n </HeaderContainer>\n </HeaderStateProvider>\n );\n }\n\n if (!content) {\n return null;\n }\n\n return (\n <HeaderStateProvider RouterLink={RouterLink}>\n <HeaderContainer\n skipToContentId={skipToContentId}\n includeSkipToSidebar={includeSkipToSidebar}\n >\n <HelpIcon />\n <HeaderMobileButton\n handleClick={() => setIsMobileMenuExpanded(!isMobileMenuExpanded)}\n isMobileMenuExpanded={isMobileMenuExpanded}\n />\n <nav aria-label=\"Primary navigation\" hidden={!isMobileMenuExpanded}>\n <ul className=\"navigation-menu navigation-new-style\">\n {content.map((header) => (\n <HeaderMenuItem\n handleClick={() => {\n setIsMobileMenuExpanded(!isMobileMenuExpanded);\n }}\n key={header.name}\n {...header}\n />\n ))}\n <HeaderAccountMenu\n handleClick={() => setIsMobileMenuExpanded(!isMobileMenuExpanded)}\n fbpPerformanceYear={fbpPerformanceYear}\n feedbackPerformanceYear={feedbackPerformanceYear}\n isLoginEnabled={isLoginEnabled}\n performanceYear={performanceYear}\n showPhysicianCompareLink={showPhysicianCompareLink}\n showFacilityBasedPreviewLink={showFacilityBasedPreviewLink}\n />\n </ul>\n </nav>\n </HeaderContainer>\n </HeaderStateProvider>\n );\n};\n\nHeaderUI.propTypes = {\n fbpPerformanceYear: PropTypes.string,\n feedbackPerformanceYear: PropTypes.string,\n handleCancel: PropTypes.func,\n includeSkipToSidebar: PropTypes.bool,\n isDevPre: PropTypes.bool,\n isLoginEnabled: PropTypes.bool,\n performanceYear: PropTypes.number,\n showCancelButton: PropTypes.bool,\n showPhysicianCompareLink: PropTypes.bool,\n showFacilityBasedPreviewLink: PropTypes.bool,\n skipToContentId: PropTypes.string,\n RouterLink: PropTypes.func,\n};\nHeaderUI.defaultProps = {\n fbpPerformanceYear: null,\n feedbackPerformanceYear: null,\n handleCancel: Function.prototype,\n includeSkipToSidebar: false,\n isDevPre: false,\n isLoginEnabled: true,\n performanceYear: 2017,\n showCancelButton: false,\n showPhysicianCompareLink: false,\n showFacilityBasedPreviewLink: false,\n skipToContentId: null,\n RouterLink: null,\n};\n\nexport default HeaderUI;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'cookie';\nimport jwtDecode from 'jwt-decode';\n\nimport { useHeaderState } from './hooks';\nimport { setUtagLink } from './utag-helpers';\nimport SessionDialogUI from '../SessionDialogUI';\nimport {\n performanceFeedbackUrl,\n physicianCompareUrl,\n dashboardUrl,\n manageUrl,\n submissionsUrl,\n facilityBasedPreviewUrl,\n} from '../SideNav/helpers';\nimport HeaderMenuItem from './HeaderMenuItem';\n\nconst HeaderAccountMenu = ({\n handleClick,\n fbpPerformanceYear,\n feedbackPerformanceYear,\n isLoginEnabled,\n isDevPre,\n performanceYear,\n showFacilityBasedPreviewLink,\n showPhysicianCompareLink,\n}) => {\n const cookies = cookie.parse(document.cookie);\n const hasAuthToken = cookies.hasOwnProperty('qpp_auth_token');\n const hasAuthorizations = cookies.qpp_has_authorizations === 'true';\n const hasNonRegistryAuthorizations =\n cookies.qpp_has_non_registry_authorizations === 'true';\n const isDevPreAndNotAuthenticated = !hasAuthToken && isDevPre;\n const { closeMenus, RouterLink } = useHeaderState();\n\n if (!isLoginEnabled || isDevPreAndNotAuthenticated) {\n return null;\n }\n\n // login link\n if (!hasAuthToken) {\n if (RouterLink) {\n return (\n <li onClick={handleClick} className=\"header-item-login login\">\n <RouterLink\n className=\"menu-link\"\n to=\"/login\"\n onClick={() => {\n closeMenus();\n setUtagLink('main navbar', 'click', '/login');\n }}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label=\"Sign In\"\n >\n <div className=\"nav-title\">Sign In</div>\n <div className=\"nav-description\">\n Manage Account <br />\n and Register\n </div>\n </RouterLink>\n </li>\n );\n }\n return (\n <li className=\"header-item-login login\">\n <a\n className=\"menu-link\"\n href=\"/login\"\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label=\"Sign In\"\n onClick={() => {\n setUtagLink('main navbar', 'click', '/login');\n }}\n >\n <div className=\"nav-title\">Sign In</div>\n <div className=\"nav-description\">\n Manage Account <br />\n and Register\n </div>\n </a>\n </li>\n );\n }\n\n if (hasAuthToken) {\n const { firstName } = jwtDecode(cookies.qpp_auth_token);\n const additionalLinks = [];\n if (hasAuthorizations) {\n additionalLinks.push(\n { type: 'link', href: dashboardUrl, name: 'Eligibility & Reporting' },\n {\n type: 'link',\n href: performanceFeedbackUrl(\n feedbackPerformanceYear || performanceYear\n ),\n name: 'Performance Feedback',\n }\n );\n if (showPhysicianCompareLink && hasNonRegistryAuthorizations) {\n additionalLinks.push({\n type: 'link',\n href: physicianCompareUrl,\n name: 'Doctors & Clinicians Preview',\n });\n }\n if (showFacilityBasedPreviewLink) {\n additionalLinks.push({\n type: 'link',\n href: facilityBasedPreviewUrl(fbpPerformanceYear || performanceYear),\n name: 'Facility Based Preview',\n });\n }\n }\n const columns = [\n [\n {\n items: [\n { type: 'link', href: submissionsUrl, name: 'Account Home' },\n ...additionalLinks,\n { type: 'link', href: manageUrl, name: 'Manage Access' },\n { type: 'signout', name: 'Sign Out' },\n ],\n },\n ],\n ];\n const devPreColumns = [\n [{ items: [{ type: 'signout', name: 'Sign Out' }] }],\n ];\n return (\n <>\n <SessionDialogUI />\n <HeaderMenuItem\n hasMenu\n menuName=\"Login\"\n name={firstName}\n subtitle=\"My Account\"\n className=\"account-menu-item\"\n columns={isDevPre ? devPreColumns : columns}\n rows={isDevPre ? devPreColumns : columns}\n />\n </>\n );\n }\n};\n\nHeaderAccountMenu.propTypes = {\n isLoginEnabled: PropTypes.bool.isRequired,\n showPhysicianCompareLink: PropTypes.bool,\n showFacilityBasedPreviewLink: PropTypes.bool,\n performanceYear: PropTypes.number,\n fbpPerformanceYear: PropTypes.string,\n feedbackPerformanceYear: PropTypes.string,\n isDevPre: PropTypes.bool,\n handleClick: PropTypes.func.isRequired,\n};\n\nHeaderAccountMenu.defaultProps = {\n showPhysicianCompareLink: false,\n showFacilityBasedPreviewLink: false,\n performanceYear: 2017,\n fbpPerformanceYear: null,\n feedbackPerformanceYear: null,\n isDevPre: false,\n};\n\nexport default HeaderAccountMenu;\n","module.exports = require('./lib/retry');","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","import React, { Component } from 'react';\nimport { render } from 'react-dom';\nimport ReactModal from 'react-modal';\nimport { CloseXIcon } from '../../lib/SvgComponents.jsx';\nimport SanitizedContent from '../SanitizedContent';\nimport PropTypes from 'prop-types';\n\nclass Modal extends Component {\n constructor() {\n super();\n\n this.state = {\n showModal: true,\n };\n\n this.handleOpenModal = this.handleOpenModal.bind(this);\n this.handleCloseModal = this.handleCloseModal.bind(this);\n\n ReactModal.setAppElement('body > *:not(.ReactModalPortal)');\n }\n\n handleOpenModal() {\n this.setState({ showModal: true });\n }\n\n handleCloseModal() {\n this.setState({ showModal: false });\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n this.setState({\n showModal: newProps.showModal,\n });\n }\n\n render() {\n return (\n <div>\n <ReactModal\n role=\"alertdialog\"\n contentLabel={this.props.contentLabel || 'Informational Modal Dialog'}\n isOpen={this.state.showModal}\n className=\"info-modal-content\"\n overlayClassName=\"info-modal-overlay\"\n onRequestClose={this.handleCloseModal}\n >\n <button\n className=\"closeModal\"\n aria-label=\"Close modal\"\n onClick={this.handleCloseModal}\n >\n <svg className=\"close-icon\" aria-hidden=\"true\">\n <CloseXIcon />\n </svg>\n </button>\n <SanitizedContent html={this.props.content} />\n </ReactModal>\n </div>\n );\n }\n}\n\nconst displayModal = ({ content, main }) => {\n render(<Modal content={content} showModal={true} />, main);\n};\n\nModal.propTypes = {\n contentLabel: PropTypes.string,\n content: PropTypes.string,\n};\n\nexport default displayModal;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n Modal.setCreateHTMLElement = function (fn) {\n return createHTMLElement = fn;\n };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV === \"production\") return;\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV === \"production\") return;\n\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \"<html /> (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","/**\n * xss\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.filterXSS = filterXSS;\nexports.FilterXSS = FilterXSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\nfor (var i in parser) exports[i] = parser[i];\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return (\n typeof self !== \"undefined\" &&\n typeof DedicatedWorkerGlobalScope !== \"undefined\" &&\n self instanceof DedicatedWorkerGlobalScope\n );\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","/**\n * filter xss\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\",\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing,\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList, onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function (html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n var stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function (sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: whiteList.hasOwnProperty(tag),\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"</\" + tag + \">\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function (name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n var html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n var ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n","import React, { useRef, useState, useEffect } from 'react';\nimport ReactModal from 'react-modal';\nimport PropTypes from 'prop-types';\n\nimport { CloseXIcon2 } from '../../lib/SvgComponents.jsx';\n\nconst Modal = ({\n children,\n onRequestClose,\n title,\n primary,\n secondary,\n appElement,\n isOpen,\n ...props\n}) => {\n const [overflowSeparator, setOverflowSeparator] = useState(false);\n const closeButtonRef = useRef(null);\n const contentRef = useRef(null);\n\n useEffect(() => {\n ReactModal.setAppElement(appElement);\n }, []);\n\n return (\n <ReactModal\n onRequestClose={onRequestClose}\n portalClassName=\"qpp-c-modal\"\n className=\"qpp-c-modal__content\"\n overlayClassName=\"qpp-c-modal__overlay\"\n bodyOpenClassName=\"qpp-c-modal__body-open\"\n isOpen={isOpen}\n onAfterOpen={() => {\n // Add heading separator based on overflow\n if (\n contentRef.current?.scrollHeight >\n document.documentElement.clientHeight * 0.6\n ) {\n setOverflowSeparator(true);\n } else {\n setOverflowSeparator(false);\n }\n\n // Set default focus\n if (closeButtonRef?.current) {\n closeButtonRef.current.focus();\n }\n }}\n aria={{\n labelledby: 'modal-heading',\n describedby: 'modal-body',\n }}\n {...props}\n >\n <div\n className={`qpp-c-modal__header ${\n overflowSeparator ? 'qpp-c-modal__header-sep' : ''\n }`}\n >\n <h3 id=\"modal-heading\">{title}</h3>\n <button\n className=\"closex qpp-c-button qpp-c-button--text qpp-u-color--black\"\n aria-label=\"close modal\"\n data-testid=\"modal-close-btn\"\n onClick={onRequestClose}\n ref={closeButtonRef}\n >\n <CloseXIcon2 />\n </button>\n </div>\n <div\n id=\"modal-body\"\n className=\"qpp-c-modal__body\"\n ref={contentRef}\n tabIndex={overflowSeparator ? \"0\" : undefined}\n >\n {children}\n </div>\n {(primary || secondary) && (\n <div className=\"qpp-c-modal__footer\">\n {secondary && (\n <button\n className={`qpp-c-button qpp-c-button--secondary ${\n primary ? 'qpp-u-margin-right--16' : ''\n }`}\n loading={secondary.loading}\n onClick={secondary.onClick || onRequestClose}\n aria-label={secondary.title}\n data-testid=\"modal-secondary-btn\"\n >\n {secondary.title}\n </button>\n )}\n {primary && (\n <button\n className=\"qpp-c-button\"\n loading={primary.loading}\n onClick={primary.onClick}\n data-testid=\"modal-primary-btn\"\n aria-label={primary.title}\n >\n {primary.title}\n </button>\n )}\n </div>\n )}\n </ReactModal>\n );\n};\n\nModal.propTypes = {\n title: PropTypes.string,\n children: PropTypes.node.isRequired,\n primary: PropTypes.shape({\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n onClick: PropTypes.func,\n loading: PropTypes.bool,\n loadingText: PropTypes.string,\n }),\n secondary: PropTypes.shape({\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n onClick: PropTypes.func,\n loading: PropTypes.bool,\n loadingText: PropTypes.string,\n }),\n onRequestClose: PropTypes.func,\n appElement: PropTypes.string,\n isOpen: PropTypes.bool,\n};\n\nModal.defaultProps = {\n onRequestClose: () => {},\n title: undefined,\n primary: null,\n secondary: null,\n appElement: 'body > *:not(.qpp-c-modal)',\n isOpen: false,\n};\n\nexport default Modal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { submissionsUrl } from '../SideNav/helpers';\nimport { useHeaderState } from './hooks';\nimport { setUtagLink } from './utag-helpers';\n\n// exclude submissions urls\nconst isNotExcluded = (href) => !href.includes(submissionsUrl);\n\nconst HeaderMenuLink = ({ href, name }) => {\n const { RouterLink, closeMenus } = useHeaderState();\n if (RouterLink && isNotExcluded(href)) {\n return (\n <RouterLink\n to={href}\n onClick={() => {\n closeMenus();\n setUtagLink('main navbar', 'click', href);\n }}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n className=\"nav-link\"\n >\n {name}\n </RouterLink>\n );\n }\n return (\n <a\n href={href}\n className=\"nav-link\"\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n onClick={() => {\n setUtagLink('main navbar', 'click', href);\n }}\n >\n {name}\n </a>\n );\n};\n\nHeaderMenuLink.propTypes = {\n href: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n};\n\nexport default HeaderMenuLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useHeaderState } from './hooks';\nimport NavigationButtonIcon from './NavigationButtonIcon';\nimport { setUtagLink } from './utag-helpers';\n\nconst HeaderMenuButton = ({ href, name }) => {\n const { RouterLink, closeMenus } = useHeaderState();\n if (RouterLink) {\n return (\n <RouterLink\n className=\"btn btn-navigation inverse-hover header-menu-btn\"\n to={href}\n onClick={() => {\n closeMenus();\n setUtagLink('main navbar', 'click', href);\n }}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n >\n {name}\n <NavigationButtonIcon />\n </RouterLink>\n );\n }\n return (\n <a\n className=\"btn btn-navigation inverse-hover header-menu-btn\"\n href={href}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n onClick={() => {\n setUtagLink('main navbar', 'click', href);\n }}\n >\n {name}\n <NavigationButtonIcon />\n </a>\n );\n};\n\nHeaderMenuButton.propTypes = {\n href: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n};\n\nexport default HeaderMenuButton;\n","import React from 'react';\n\nconst NavigationButtonIcon = () => (\n <svg\n className=\"btn-navigation-icon\"\n width=\"15px\"\n height=\"24px\"\n viewBox=\"0 0 15 24\"\n >\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n className=\"chevron-icon\"\n transform=\"translate(-20.000000, -114.000000)\"\n fillRule=\"nonzero\"\n >\n <g\n className=\"chevron-right\"\n transform=\"translate(20.000000, 114.000000)\"\n >\n <path d=\"M14.6682692,12.2740385 L3.96634615,22.9759615 C3.78365385,23.1586538 3.56730769,23.25 3.31730769,23.25 C3.06730769,23.25 2.85096154,23.1586538 2.66826923,22.9759615 L0.274038462,20.5817308 C0.0913461538,20.3990385 0,20.1826923 0,19.9326923 C0,19.6826923 0.0913461538,19.4663462 0.274038462,19.2836538 L7.93269231,11.625 L0.274038462,3.96634615 C0.0913461538,3.78365385 0,3.56730769 0,3.31730769 C0,3.06730769 0.0913461538,2.85096154 0.274038462,2.66826923 L2.66826923,0.274038462 C2.85096154,0.0913461538 3.06730769,0 3.31730769,0 C3.56730769,0 3.78365385,0.0913461538 3.96634615,0.274038462 L14.6682692,10.9759615 C14.8509615,11.1586538 14.9423077,11.375 14.9423077,11.625 C14.9423077,11.875 14.8509615,12.0913462 14.6682692,12.2740385 Z\"></path>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport default NavigationButtonIcon;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LogoutSession } from '../../session';\nimport { setUtagLink } from './utag-helpers';\nimport Modal from '../Modal/index';\n\nconst useModal = () => {\n const [open, setOpen] = useState(false);\n const openModal = () => setOpen(true);\n const closeModal = () => setOpen(false);\n return [open, openModal, closeModal];\n};\n\nconst HeaderMenuSignOutButton = ({ name }) => {\n const [open, openModal, closeModal] = useModal();\n const showLogoutWarning = () => {\n LogoutSession(window);\n };\n return (\n <>\n <button\n className=\"signout-button\"\n aria-label=\"Sign out\"\n onClick={openModal}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n >\n {name}\n </button>\n <Modal\n useDesignSystem\n isOpen={open}\n title=\"Sign out\"\n onRequestClose={closeModal}\n primary={{\n title: 'Sign me out now',\n onClick: () => {\n showLogoutWarning();\n setUtagLink('button', 'click', 'Sign me out now');\n },\n }}\n secondary={{\n title: 'Keep me signed in',\n onClick: () => {\n closeModal();\n setUtagLink('button', 'click', 'Keep me signed in');\n },\n }}\n >\n <p>Are you sure you want to sign out?</p>\n </Modal>\n </>\n );\n};\n\nHeaderMenuSignOutButton.propTypes = {\n name: PropTypes.string.isRequired,\n};\n\nexport default HeaderMenuSignOutButton;\n","import LogoutSession from './logout.js';\nimport RefreshSession from './refresh.js';\nimport fetchTtl from './ttl';\n\nexport { fetchTtl, LogoutSession, RefreshSession };\n","import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../../lib/Chevron.jsx';\n\nconst Accordion = (props) => {\n const content = useRef(null);\n const [setActive, setActiveState] = useState(props.isOpen ? 'active' : '');\n const ariaPressed = setActive ? 'true' : 'false';\n const getHeight = (node) => {\n if (node) {\n return `${node.scrollHeight}px`;\n }\n return 'auto';\n };\n const height = setActive ? getHeight(content.current) : '0px';\n const rotate = setActive ? 'accordion-icon rotate' : 'accordion-icon';\n\n function toggleAccordion() {\n setActiveState(setActive === '' ? 'active' : '');\n }\n\n function openAccordion() {\n setActiveState('active');\n }\n\n function closeAccordion() {\n setActiveState('');\n }\n\n useEffect(() => {\n if (props.isOpen) {\n openAccordion();\n } else {\n closeAccordion();\n }\n }, [props.isOpen]);\n\n return (\n <div className=\"accordion-section\" data-testid=\"accordion\">\n <button\n className={`accordion ${setActive}`}\n aria-label={props.title}\n aria-pressed={ariaPressed}\n aria-expanded={ariaPressed}\n tabIndex=\"0\"\n onClick={toggleAccordion}\n >\n <div className=\"accordion-left-title\">\n <p className=\"accordion-title\">{props.title}</p>\n {props.subTitle && (\n <p className=\"accordion-subtitle\">{props.subTitle}</p>\n )}\n </div>\n {props.centerItem && (\n <div className=\"accordion-center\">\n <p>{props.centerItem}</p>\n </div>\n )}\n {props.rightItem && (\n <div className=\"accordion-right\">\n <p>{props.rightItem}</p>\n </div>\n )}\n <div className=\"chevron-container\">\n <Chevron className={rotate} />\n </div>\n </button>\n <div\n ref={content}\n style={{ maxHeight: height }}\n className=\"accordion-content\"\n >\n <div className=\"accordion-text dashed-border\">{props.children}</div>\n </div>\n </div>\n );\n};\n\nAccordion.propTypes = {\n title: PropTypes.string.isRequired,\n subTitle: PropTypes.string,\n children: PropTypes.any.isRequired,\n centerItem: PropTypes.string,\n rightItem: PropTypes.string,\n isOpen: PropTypes.bool,\n};\n\nAccordion.defaultProps = {\n title: '',\n isOpen: false,\n};\n\nexport default Accordion;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst HeaderCancel = ({ handleCancel }) => {\n return (\n <button className=\"header-cancel\" onClick={handleCancel}>\n Cancel\n </button>\n );\n};\n\nHeaderCancel.propTypes = {\n handleCancel: PropTypes.func,\n};\n\nexport default HeaderCancel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport HeaderLogo from './HeaderLogo';\nimport NotificationBanner from '../NotificationBanner';\n\n/**\n * Accessibility enhancement that moves focus to an element for \"Skip\" links\n * @param {Object} e - The native JS event\n * @param {String} id - The HTML ID of the element to be focused\n */\nfunction jumpToLink(e, id) {\n e.preventDefault();\n document.getElementById(id).focus();\n}\n\nconst HeaderContainer = ({\n children,\n includeSkipToSidebar,\n showCancelButton,\n skipToContentId,\n}) => (\n <>\n <a\n className=\"skip\"\n onClick={(e) => jumpToLink(e, `${skipToContentId || 'mainContent'}`)}\n href={`#${skipToContentId || 'mainContent'}`}\n >\n Skip to content\n </a>\n {includeSkipToSidebar && (\n <a\n className=\"skip\"\n onClick={(e) => jumpToLink(e, 'qppSidebar')}\n href=\"#qppSidebar\"\n >\n Skip to sidebar\n </a>\n )}\n <NotificationBanner />\n <header id=\"top\" className={showCancelButton ? 'show-cancel-button' : ''}>\n <HeaderLogo />\n {children}\n </header>\n </>\n);\n\nHeaderContainer.propTypes = {\n children: PropTypes.node.isRequired,\n includeSkipToSidebar: PropTypes.bool,\n showCancelButton: PropTypes.bool,\n skipToContentId: PropTypes.string,\n};\nHeaderContainer.defaultProps = {\n includeSkipToSidebar: false,\n showCancelButton: false,\n skipToContentId: null,\n};\n\nexport default HeaderContainer;\n","import React from 'react';\n\nimport { useHeaderState } from './hooks';\n\nconst HeaderLogo = () => {\n const { closeMenus, RouterLink } = useHeaderState();\n if (RouterLink) {\n return (\n <RouterLink\n className=\"header-logo\"\n to=\"/\"\n onClick={closeMenus}\n data-track-category=\"HeaderNav\"\n data-track-action=\"OpenQPPHome\"\n data-track-label=\"Quality Payment Program\"\n >\n <img\n className=\"qpp-logo\"\n src=\"/images/qpp_logo_rgb_color.png\"\n alt=\"QPP logo\"\n />\n </RouterLink>\n );\n }\n return (\n <a\n className=\"header-logo\"\n href=\"/\"\n data-track-category=\"HeaderNav\"\n data-track-action=\"OpenQPPHome\"\n data-track-label=\"Quality Payment Program\"\n >\n <img\n className=\"qpp-logo\"\n src=\"/images/qpp_logo_rgb_color.png\"\n alt=\"QPP logo\"\n />\n </a>\n );\n};\n\nexport default HeaderLogo;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport SanitizedContent from '../SanitizedContent';\nimport { CloseXIcon, BellOutline } from '../../lib/SvgComponents.jsx';\nimport { withGetConfig } from '../hooks/useGetConfig';\n\nclass NotificationBanner extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n height: '100%',\n expanded: true,\n };\n\n this._renderCloseButton = this.renderCloseButton.bind(this);\n this._collapseNotification = this.collapseNotification.bind(this);\n this._expandNotification = this.expandNotification.bind(this);\n this._setBannerHeight = this.setBannerHeight.bind(this);\n }\n\n componentDidMount() {\n if (window.innerWidth <= 767) {\n this.setState({\n expanded: false,\n });\n }\n\n window.addEventListener('load', this._setBannerHeight);\n window.addEventListener('resize', this._setBannerHeight);\n }\n\n // Populate state with notification from localStorage\n componentDidUpdate(prevProps) {\n if (prevProps.result !== this.props?.result) {\n const { result: notifications } = this.props;\n if (Object.keys(notifications).length > 0) {\n this.setState({\n expanded: this.isNotificationExpanded(notifications.content),\n });\n }\n }\n }\n\n setBannerHeight() {\n const {\n result: {\n content: { content },\n },\n } = this.props;\n if (content) {\n this.bannerContainer.style.transition = 'none';\n\n this.state.expanded\n ? this.collapsedBanner.setAttribute('tabIndex', '-1')\n : this.collapsedBanner.setAttribute('tabIndex', ' ');\n\n this.setState({\n height: this.state.expanded\n ? '100%'\n : this.collapsedWrapper.offsetHeight + 'px',\n });\n }\n }\n\n isNotificationExpanded(notification) {\n const dateDismissed = new Date(notification.dateDismissed);\n const dateUpdated = new Date(notification.dateUpdated);\n const notDismissed =\n (this.isDateValid(dateUpdated) &&\n this.isDateValid(dateDismissed) &&\n dateUpdated >= dateDismissed) ||\n !this.isDateValid(dateDismissed);\n\n return notDismissed;\n }\n\n /**\n * Whether the date is valid, i.e. not null\n *\n * @param {Date} date\n * @return {Boolean}\n */\n isDateValid(date) {\n return !isNaN(Date.parse(date));\n }\n\n /**\n * Try to find this NotificationBanner instance in localStorage, or else add\n * a minimal version of it, and mark it with a dateDismissed, then update\n * localStorage.\n */\n markNotificationClosed() {\n const { result } = this.props;\n const dateDismissed = new Date().toISOString();\n const storageNotification = result || {};\n\n if (storageNotification && Object.keys(storageNotification).length > 0) {\n window.localStorage.setItem(\n 'notifications',\n JSON.stringify({\n ...storageNotification,\n content: {\n ...storageNotification.content,\n dateDismissed,\n },\n })\n );\n } else {\n window.localStorage.setItem(\n 'notifications',\n JSON.stringify({\n ...storageNotification,\n content: {\n name: 'header-notification',\n dateDismissed,\n },\n })\n );\n }\n }\n\n /**\n * Callback when the user dimisses a notification. Mark it as dismissed in\n * localStorage, empty the contents, and dispatch a custom event to notify\n * any observers that it has been dismissed.\n */\n collapseNotification(e) {\n e.stopPropagation();\n this.markNotificationClosed();\n this.collapsedBanner.setAttribute('tabIndex', ' ');\n this.bannerContainer.style.transition = 'height .2s ease-out';\n this.setState({\n expanded: false,\n height: this.collapsedWrapper.offsetHeight + 'px',\n });\n }\n\n expandNotification() {\n if (!this.state.expanded) {\n this.collapsedBanner.setAttribute('tabIndex', '-1');\n this.bannerContainer.style.transition = 'height .2s ease-out';\n this.setState({\n expanded: true,\n height: '100%',\n });\n }\n }\n\n /**\n * Renders the close button if the notification instance is dismissable.\n *\n * @return {String} HTML content\n */\n renderCloseButton() {\n const {\n result: {\n content: { dismissable },\n },\n } = this.props;\n if (dismissable) {\n return (\n <button\n onClick={this._collapseNotification}\n type=\"button\"\n className=\"notification-banner-close\"\n >\n <svg className=\"close-icon\" aria-hidden=\"true\" focusable=\"false\">\n <CloseXIcon />\n </svg>\n <span className=\"sr-only\">Close</span>\n </button>\n );\n } else {\n return '';\n }\n }\n\n /**\n * Render the notification if it has any contents.\n *\n * @return {String} HTML content\n */\n render() {\n const { expanded, height } = this.state;\n const { result: { content: { enabled, content } = {} } = {} } = this.props;\n if (!content || !enabled) {\n return <div id=\"notification-banner\" />;\n } else {\n const notificationStatus = expanded ? 'expanded' : 'collapsed';\n const { color = 'blue', label = 'Update' } = content;\n const className = `notification-banner notification-banner-${color} ${notificationStatus}`;\n\n return (\n <div\n style={{ height }}\n ref={(elem) => (this.bannerContainer = elem)}\n className={className}\n >\n <div\n ref={(elem) => (this.expandedWrapper = elem)}\n className={`notification-banner-wrapper expanded-view`}\n >\n <div className=\"notification-banner-label\">{label}</div>\n <div className=\"notification-banner-content\">\n <SanitizedContent\n html={expanded ? content : '<p>Nothing to see here</p>'}\n />\n </div>\n {expanded && this._renderCloseButton()}\n </div>\n\n <div\n ref={(elem) => (this.collapsedWrapper = elem)}\n className={`notification-banner-wrapper collapsed-view`}\n onClick={this._expandNotification}\n >\n <button\n ref={(elem) => (this.collapsedBanner = elem)}\n className={`notification-banner-label`}\n >\n {label}\n <span className=\"bell-icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <BellOutline />\n </svg>\n </span>\n </button>\n </div>\n </div>\n );\n }\n }\n}\n\nNotificationBanner.propTypes = {\n result: PropTypes.shape({\n content: PropTypes.shape({\n content: PropTypes.string,\n label: PropTypes.string,\n color: PropTypes.string,\n dismissable: PropTypes.bool,\n }),\n }),\n};\n\nNotificationBanner.defaultProps = {\n result: {\n content: {\n content: null,\n label: 'Update',\n color: 'blue',\n dismissable: true,\n },\n },\n};\n\nexport default withGetConfig(NotificationBanner, {\n timeout: 5,\n url: '/config/notification',\n localStorageName: 'active_notification',\n equalityCheckExclude: ['dateDismissed', 'dateUpdated'],\n defaultContent: {},\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CloseXIcon } from '../../lib/SvgComponents.jsx';\n\nconst HeaderMobileButton = ({ isMobileMenuExpanded, handleClick }) => (\n <button\n className=\"mobile-menu-btn-new\"\n type=\"button\"\n data-toggle=\"collapse\"\n data-target=\"#nav-mobile\"\n aria-label=\"Navigation menu\"\n aria-expanded={isMobileMenuExpanded ? 'true' : 'false'}\n aria-controls=\"nav-mobile\"\n onClick={handleClick}\n >\n {!isMobileMenuExpanded && (\n <div className=\"icon\">\n <span className=\"icon-bar\" />\n <span className=\"icon-bar\" />\n <span className=\"icon-bar\" />\n </div>\n )}\n {isMobileMenuExpanded && (\n <svg className=\"close-icon\" aria-hidden=\"true\">\n <CloseXIcon />\n </svg>\n )}\n <div className=\"toggle-text\">Menu</div>\n </button>\n);\n\nHeaderMobileButton.propTypes = {\n isMobileMenuExpanded: PropTypes.bool.isRequired,\n handleClick: PropTypes.func.isRequired,\n};\n\nexport default HeaderMobileButton;\n","import React from 'react';\n\nconst HelpIcon = () => (\n <a\n className=\"header-help\"\n href=\"tel:1-866-288-8292\"\n data-track-category=\"MainContent\"\n data-track-action=\"CallQPPServiceCenter\"\n data-track-label=\"QPP Service Center Phone\"\n >\n <svg viewBox=\"0 0 28 28\" className=\"header-help-icon\">\n <path\n d=\"M23.9,5.9c0-0.6-0.2-1.1-0.6-1.5c-2.5-2.5-5.7-3.8-9.2-3.8S7.2,1.9,4.8,4.4c-0.4,0.4-0.6,1-0.6,1.5\n c0,0.4,0.1,0.8,0.3,1.1c-1.3,1.9-2,4.1-2,6.6v2.9c0,2.1,1.1,4,2.9,5.1c0,1.2,1,2.1,2.2,2.1c1.2,0,2.2-1,2.2-2.2v-6.5\n c0-1.2-1-2.2-2.2-2.2c-1.1,0-2,0.8-2.1,1.8H3.8v-1.1c0-2.1,0.6-4,1.7-5.6C5.8,8.1,6,8.1,6.3,8.1c0.6,0,1.1-0.2,1.5-0.6\n c1.6-1.6,3.8-2.5,6.2-2.5s4.5,0.9,6.2,2.5c0.4,0.4,1,0.6,1.5,0.6c0.3,0,0.5,0,0.7-0.1c1.1,1.6,1.7,3.6,1.7,5.6v1.1h-1.5\n c-0.2-1-1.1-1.8-2.1-1.8c-1.2,0-2.2,1-2.2,2.2v6.5c0,1.2,1,2.2,2.2,2.2c1.2,0,2.1-0.9,2.2-2.1c0.5-0.3,1-0.7,1.4-1.1\n c-0.1,1.2-0.4,2.4-0.9,3.5c-0.1,0.3-0.4,0.4-0.7,0.4h-4.3c-0.3-0.8-1.1-1.5-2-1.5h-1.5c-1.2,0-2.2,1-2.2,2.2s1,2.2,2.2,2.2h1.5\n c0.9,0,1.7-0.6,2-1.5h4.3c0.9,0,1.7-0.5,2-1.3c0.7-1.8,1.1-3.6,1.1-5.5v-5.5c0-2.4-0.8-4.7-2-6.6C23.8,6.7,23.9,6.3,23.9,5.9z\n M8.2,15.1v6.5c0,0.4-0.3,0.7-0.7,0.7c-0.4,0-0.7-0.3-0.7-0.7v-6.5c0-0.4,0.3-0.7,0.7-0.7C7.9,14.4,8.2,14.7,8.2,15.1z M5.3,19.9\n c-0.9-0.8-1.5-2-1.5-3.3v-0.4h1.5V19.9z M16.9,25.2c0,0.4-0.3,0.7-0.7,0.7h-1.5c-0.4,0-0.7-0.3-0.7-0.7s0.3-0.7,0.7-0.7h1.5\n C16.6,24.5,16.9,24.8,16.9,25.2z M19.8,21.6v-6.5c0-0.4,0.3-0.7,0.7-0.7s0.7,0.3,0.7,0.7v6.5c0,0.4-0.3,0.7-0.7,0.7\n S19.8,22,19.8,21.6z M22.7,16.2h1.5v0.4c0,1.3-0.5,2.5-1.5,3.3V16.2z M21.2,6.5c-1.9-1.9-4.5-3-7.2-3s-5.3,1.1-7.2,3\n c-0.3,0.3-0.8,0.3-1,0C5.7,6.3,5.6,6.1,5.6,5.9s0.1-0.4,0.2-0.5C8,3.2,10.9,2,14,2s6,1.2,8.2,3.4l0,0c0.1,0.1,0.2,0.3,0.2,0.5\n s-0.1,0.4-0.2,0.5C21.9,6.7,21.5,6.7,21.2,6.5z\"\n />\n </svg>\n <span>Help</span>\n </a>\n);\n\nexport default HelpIcon;\n","import React from 'react';\nimport { render } from 'react-dom';\nimport { SideNavUI } from './UI';\n\nconst SideNav = (options = {}) => {\n const {\n rootElement,\n isExpanded,\n onExpanded,\n onCollapsed,\n chartData,\n currentLevel,\n config,\n feedbackPerformanceYear,\n fbpPerformanceYear,\n showDevPreDfpLink,\n showPhysicianCompareLink,\n showFacilityBasedPreviewLink,\n showSelfNomination,\n showApmIncentivePaymentLink,\n items,\n isAltStyle,\n showReportsPortal,\n showTargetedReviewLink,\n } = options;\n\n const { expand, collapse } = render(\n <SideNavUI\n isExpanded={isExpanded}\n onExpanded={onExpanded}\n onCollapsed={onCollapsed}\n chartData={chartData}\n currentLevel={currentLevel}\n config={config}\n feedbackPerformanceYear={feedbackPerformanceYear}\n fbpPerformanceYear={fbpPerformanceYear}\n showDevPreDfpLink={showDevPreDfpLink}\n showPhysicianCompareLink={showPhysicianCompareLink}\n showFacilityBasedPreviewLink={showFacilityBasedPreviewLink}\n showSelfNomination={showSelfNomination}\n showApmIncentivePaymentLink={showApmIncentivePaymentLink}\n items={items}\n isAltStyle={isAltStyle}\n showReportsPortal={showReportsPortal}\n showTargetedReviewLink={showTargetedReviewLink}\n />,\n rootElement\n );\n\n return { expand, collapse };\n};\n\nexport default SideNav;\n","import SideNavUI from './SideNavUI';\n\nexport { SideNavUI };\n","import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport SVGInline from 'react-svg-inline';\n\nimport { withGetConfig } from '../../hooks/useGetConfig';\nimport { LevelOneContent, LevelTwoContent } from '../Content';\nimport {\n NavLinkContainer,\n NavLinkInline,\n NavLinkDrawer,\n NavLinkToggle,\n} from '../Links';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport { PracticeDetails, IndividualDetails } from '../Details';\nimport { ScoreChart } from '../Chart';\nimport SanitizedContent from '../../SanitizedContent';\nimport * as SvgComponents from '../../../lib/SvgComponents.jsx';\nimport SVGIcons from '../../../lib/svg-definitions.svg';\nimport CmsSwitchLink from '../Links/CmsSwitchLink';\nimport defaultContent from './default-content';\n\nconst SideNavUI = ({\n chartData,\n config,\n currentLevel,\n isAltStyle,\n isExpanded,\n items,\n onCollapsed,\n onExpanded,\n performanceYear,\n showReportingLinks,\n svgIcons,\n result,\n}) => {\n const [isExpandedState, setIsExpandedState] = useState(isExpanded);\n const [itemsState, setItemsState] = useState(items);\n const [currentLevelState, setCurrentLevelState] = useState(currentLevel);\n\n const collapseRef = useRef(null);\n\n const expand = () => {\n setIsExpandedState(true);\n if (onExpanded) {\n onExpanded();\n }\n };\n\n const collapse = () => {\n setIsExpandedState(false);\n if (onCollapsed) {\n onCollapsed();\n }\n };\n\n const toggleExpanded = () => {\n isExpandedState ? collapse() : expand();\n };\n\n const getLevelContent = () => {\n return (\n {\n 2: (\n <LevelTwoContent\n showReportingLinks={showReportingLinks}\n isExpanded={isExpandedState}\n chartData={chartData}\n config={config}\n />\n ),\n }[currentLevelState] || (\n <LevelOneContent\n levelOneContent={result?.content}\n isExpanded={isExpandedState}\n config={config}\n />\n )\n );\n };\n\n const getDynamicContent = (contentItems, className, recursionId) => {\n const { openDrawersByDefault, linkActiveFunc, linkCallback, useTooltips } =\n config;\n const linkClass = isExpandedState ? 'link-inline' : 'link-collapsed';\n const containerRecursionId = recursionId || 0;\n\n const getDynamicIcon = (icon) => {\n const Component = SvgComponents[icon];\n return Component ? <Component /> : null;\n };\n\n const hasDarkerBackground = (darkerBackground) => {\n return darkerBackground ? 'hr-smaller-vertical-spacing' : '';\n }\n\n const itemsMarkup = (contentItems || []).map((item, index) => {\n const key = `${JSON.stringify(item)}-${index}-${containerRecursionId}`;\n return (\n {\n divider: (\n <AnimationGroup display={isExpandedState} key={key} darkerBackground={item.darkerBackground}>\n <hr className={`${hasDarkerBackground(item.darkerBackground)}`}/>\n </AnimationGroup>\n ),\n container: getDynamicContent(\n item.items,\n item.className,\n containerRecursionId + 1\n ),\n linkBack: (\n <AnimationGroup display={isExpandedState} key={key}>\n <NavLinkInline\n className=\"link-back\"\n icon={getDynamicIcon('ChevronLeft')}\n url={item.url}\n label={item.label}\n linkCallback={linkCallback}\n showLabel={true}\n useTooltips={useTooltips}\n />\n </AnimationGroup>\n ),\n linkHome: (\n <AnimationGroup display={isExpandedState} key={key}>\n <NavLinkInline\n className=\"account-home-link\"\n icon={getDynamicIcon(item?.icon)}\n url={item.url}\n label={item.label}\n linkCallback={linkCallback}\n showLabel={true}\n useTooltips={useTooltips}\n />\n </AnimationGroup>\n ),\n practiceDetails: (\n <AnimationGroup\n display={isExpandedState}\n className={'details'}\n key={key}\n >\n <PracticeDetails\n practiceName={item.practiceName}\n {...(!item.practiceTin\n ? {}\n : { practiceTin: item.practiceTin })}\n {...(!item.apmEntityId\n ? {}\n : { apmEntityId: item.apmEntityId })}\n {...(!item.vgId ? {} : { vgId: item.vgId })}\n {...(!item.cpcPlusId ? {} : { cpcPlusId: item.cpcPlusId })}\n {...(!item.pcfId ? {} : { pcfId: item.pcfId })}\n />\n </AnimationGroup>\n ),\n individualDetails: (\n <AnimationGroup display={isExpandedState} key={key}>\n <IndividualDetails\n individualName={item.individualName}\n individualNpi={item.individualNpi}\n />\n </AnimationGroup>\n ),\n linkDrawer: (\n <NavLinkDrawer\n key={key}\n isExpanded={isExpandedState}\n isAlwaysOpen={item.isAlwaysOpen}\n openByDefault={openDrawersByDefault}\n rightIcon=\"chevron-down\"\n leftIcon={getDynamicIcon(item?.icon)}\n className={linkClass}\n label={item.label}\n linkActiveFunc={linkActiveFunc}\n linkCallback={linkCallback}\n listOfLinks={item.items}\n url={item.url}\n sidebarExpand={expand}\n isHighlighted={item.isHighlighted}\n darkerBackground={item.darkerBackground}\n leftBorderHighlightDisabled={item.leftBorderHighlightDisabled}\n largerDrawerBottomPadding={item.largerDrawerBottomPadding}\n />\n ),\n custom: (\n <AnimationGroup display={isExpandedState} key={key}>\n <SanitizedContent\n html={item.content}\n customClassName={item.customClassName}\n />\n </AnimationGroup>\n ),\n chart: (\n <AnimationGroup display={isExpandedState} key={key}>\n <ScoreChart\n chartData={item.chartData}\n linkCallback={linkCallback}\n performanceYear={performanceYear}\n />\n </AnimationGroup>\n ),\n switchLink: (\n <AnimationGroup display={isExpandedState} key={key}>\n <CmsSwitchLink\n linkCallback={linkCallback}\n label={item.label}\n url={item.url}\n />\n </AnimationGroup>\n ),\n }[item.type] || (\n <NavLinkInline\n key={key}\n icon={getDynamicIcon(item?.icon)}\n className={item.className ? item.className : linkClass}\n url={item.url}\n label={item.label}\n linkCallback={linkCallback}\n showLabel={isExpandedState}\n disabled={item.disabled}\n useTooltips={useTooltips}\n target={item.target}\n />\n )\n );\n });\n\n if (className === 'link-container') {\n return (\n <div\n className=\"animation-flat\"\n key={`nav-link-container-${recursionId}`}\n >\n <NavLinkContainer\n listOfLinks={itemsMarkup}\n linkActiveFunc={linkActiveFunc}\n />\n </div>\n );\n } else {\n return <div className={className}>{itemsMarkup}</div>;\n }\n };\n\n const content = itemsState\n ? getDynamicContent(\n itemsState,\n 'sidebar-content' + (isAltStyle ? ' alt-style' : '')\n )\n : getLevelContent();\n\n useEffect(() => {\n setIsExpandedState(isExpanded);\n }, [isExpanded]);\n\n useEffect(() => {\n setCurrentLevelState(currentLevel);\n }, [currentLevel]);\n\n useEffect(() => {\n setItemsState(items);\n }, [items]);\n\n return (\n <aside\n id=\"qppSidebar\"\n tabIndex=\"-1\"\n className={`${isExpandedState ? 'sidebar' : 'sidebar closed'} sidebar-${\n config.navClassName\n }`}\n >\n <SVGInline svg={svgIcons} />\n {content}\n <NavLinkToggle\n isAltStyle={isAltStyle}\n collapseRef={collapseRef}\n isExpanded={isExpandedState}\n onClick={toggleExpanded}\n />\n </aside>\n );\n};\n\nSideNavUI.propTypes = {\n currentLevel: PropTypes.number,\n isExpanded: PropTypes.bool,\n onExpanded: PropTypes.func,\n onCollapsed: PropTypes.func,\n chartData: PropTypes.object,\n config: PropTypes.object,\n items: PropTypes.object,\n isAltStyle: PropTypes.bool,\n showReportingLinks: PropTypes.bool,\n performanceYear: PropTypes.string,\n svgIcons: PropTypes.string,\n result: PropTypes.shape({\n content: PropTypes.shape({\n default: PropTypes.arrayOf(PropTypes.object),\n devPre: PropTypes.arrayOf(PropTypes.object),\n viewer: PropTypes.arrayOf(PropTypes.object),\n }),\n }),\n};\n\nSideNavUI.defaultProps = {\n currentLevel: 1,\n isExpanded: true,\n onExpanded: () => {},\n onCollapsed: () => {},\n chartData: {},\n config: {},\n items: null,\n isAltStyle: false,\n showReportingLinks: false,\n performanceYear: '2017',\n svgIcons: SVGIcons,\n result: {\n content: {\n default: [],\n devPre: [],\n viewer: [],\n },\n },\n};\n\nexport default withGetConfig(SideNavUI, {\n timeout: 5,\n url: '/config/side-navigation',\n localStorageName: 'qpp_side_navigation',\n defaultContent,\n});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// import styles from \"./styles\"\n\nvar cleanups = {\n // some useless stuff for us\n // that svgo doesn't remove\n title: /<title>.*<\\/title>/gi,\n desc: /<desc>.*<\\/desc>/gi,\n comment: /<!--.*-->/gi,\n defs: /<defs>.*<\\/defs>/gi,\n\n // remove hardcoded dimensions\n width: / +width=\"\\d+(\\.\\d+)?(px)?\"/gi,\n height: / +height=\"\\d+(\\.\\d+)?(px)?\"/gi,\n\n // remove fill\n fill: / +fill=\"(none|#[0-9a-f]+)\"/gi,\n\n // Sketch.app shit\n sketchMSShapeGroup: / +sketch:type=\"MSShapeGroup\"/gi,\n sketchMSPage: / +sketch:type=\"MSPage\"/gi,\n sketchMSLayerGroup: / +sketch:type=\"MSLayerGroup\"/gi\n};\n\n// @styled(styles)\n\nvar SVGInline = function (_Component) {\n _inherits(SVGInline, _Component);\n\n function SVGInline() {\n _classCallCheck(this, SVGInline);\n\n return _possibleConstructorReturn(this, (SVGInline.__proto__ || Object.getPrototypeOf(SVGInline)).apply(this, arguments));\n }\n\n _createClass(SVGInline, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n className = _props.className,\n component = _props.component,\n svg = _props.svg,\n fill = _props.fill,\n width = _props.width,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityDesc = _props.accessibilityDesc,\n classSuffix = _props.classSuffix,\n cleanupExceptions = _props.cleanupExceptions,\n componentProps = _objectWithoutProperties(_props, [\"className\", \"component\", \"svg\", \"fill\", \"width\", \"accessibilityLabel\", \"accessibilityDesc\", \"classSuffix\", \"cleanupExceptions\"]);\n\n var _props2 = this.props,\n cleanup = _props2.cleanup,\n height = _props2.height;\n\n\n if (\n // simple way to enable entire cleanup\n cleanup === true ||\n // passing cleanupExceptions enable cleanup as well\n cleanup.length === 0 && cleanupExceptions.length > 0) {\n cleanup = Object.keys(cleanups);\n }\n cleanup = cleanup.filter(function (key) {\n return !(cleanupExceptions.indexOf(key) > -1);\n });\n\n if (width && height === undefined) {\n height = width;\n }\n\n // remove useless props for wrapper\n delete componentProps.cleanup;\n delete componentProps.height;\n\n var classes = (0, _classnames2.default)(_defineProperty({\n SVGInline: true,\n \"SVGInline--cleaned\": cleanup.length\n }, className, className));\n var svgClasses = classes.split(\" \").join(classSuffix + \" \") + classSuffix;\n var svgStr = SVGInline.cleanupSvg(svg, cleanup).replace(/<svg/, \"<svg class=\\\"\" + svgClasses + \"\\\"\" + (fill ? \" fill=\\\"\" + fill + \"\\\"\" : \"\") + (width || height ? ' style=\"' + (width ? \"width: \" + width + \";\" : \"\") + (height ? \"height: \" + height + \";\" : \"\") + '\"' : \"\"));\n var match = void 0;\n if (accessibilityDesc) {\n match = /<svg(.|\\n|\\r\\n)*?>/.exec(svgStr);\n var pos = match.index + match[0].length;\n svgStr = svgStr.substr(0, pos) + (\"<desc>\" + accessibilityDesc + \"</desc>\") + svgStr.substr(pos);\n }\n if (accessibilityLabel) {\n match = match || /<svg(.|\\n|\\r\\n)*?>/.exec(svgStr);\n var _pos = match.index + match[0].length - 1;\n var id = \"SVGInline-\" + SVGInline.idCount++ + \"-title\";\n svgStr = svgStr.substr(0, _pos) + (\" role=\\\"img\\\" aria-labelledby=\\\"\" + id + \"\\\"\") + svgStr.substr(_pos, 1) + (\"<title id=\\\"\" + id + \"\\\">\" + accessibilityLabel + \"</title>\") + svgStr.substr(_pos + 1);\n }\n return _react2.default.createElement(component, _extends({}, componentProps, { // take most props\n className: classes,\n dangerouslySetInnerHTML: {\n __html: svgStr\n }\n }));\n }\n }]);\n\n return SVGInline;\n}(_react.Component);\n\nSVGInline.propTypes = {\n className: _propTypes2.default.string,\n classSuffix: _propTypes2.default.string,\n component: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]),\n svg: _propTypes2.default.string.isRequired,\n fill: _propTypes2.default.string,\n cleanup: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.array]),\n cleanupExceptions: _propTypes2.default.array,\n width: _propTypes2.default.string,\n height: _propTypes2.default.string,\n accessibilityLabel: _propTypes2.default.string,\n accessibilityDesc: _propTypes2.default.string\n};\n\nSVGInline.defaultProps = {\n component: \"span\",\n classSuffix: \"-svg\",\n cleanup: [],\n cleanupExceptions: []\n};\n\nSVGInline.idCount = 0;\n\nSVGInline.cleanupSvg = function (svg) {\n var cleanup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return Object.keys(cleanups).filter(function (key) {\n return cleanup.indexOf(key) > -1;\n }).reduce(function (acc, key) {\n return acc.replace(cleanups[key], \"\");\n }, svg).trim();\n};\n\nexports.default = SVGInline;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import LevelOneContent from './LevelOneContent';\nimport LevelTwoContent from './LevelTwoContent';\n\nexport { LevelOneContent, LevelTwoContent };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'cookie';\nimport jwtDecode from 'jwt-decode';\n\nimport { NavLinkContainer, NavLinkInline, NavLinkDrawer } from '../Links';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport {\n AccountHomeIcon,\n DashboardIcon,\n FacilityBasedPreviewIcon,\n HardshipIcon,\n HelpSupportIcon,\n ManageUsersIcon,\n MyApplicationsIcon,\n MyTestDataIcon,\n PaymentIcon,\n PhysicianCompareIcon,\n StarIcon,\n TargetIcon,\n} from '../../../lib/SvgComponents';\nimport {\n dashboardUrl,\n facilityBasedPreviewBaseUrl,\n feedbackUrl,\n manageUrl,\n physicianCompareUrl,\n reportsPortalUrl,\n submissionsUrl,\n} from '../helpers';\n\nconst getIcon = (url) =>\n ({\n [dashboardUrl]: DashboardIcon,\n [feedbackUrl]: StarIcon,\n [manageUrl]: ManageUsersIcon,\n [physicianCompareUrl]: PhysicianCompareIcon,\n [reportsPortalUrl]: HardshipIcon,\n [submissionsUrl]: AccountHomeIcon,\n [facilityBasedPreviewBaseUrl]: FacilityBasedPreviewIcon,\n '/developers': HelpSupportIcon,\n '/resources/help-and-support': HelpSupportIcon,\n '/user/apm-incentive-payments': PaymentIcon,\n '/user/applications': MyApplicationsIcon,\n '/user/exception/#/landing': HardshipIcon,\n '/user/targeted-review/#/landing': TargetIcon,\n '/user/test-data': MyTestDataIcon,\n }[url] || null);\n\nconst LevelOneContent = ({\n isExpanded,\n config: { linkCallback, useTooltips } = {},\n levelOneContent,\n}) => {\n let {\n qpp_has_authorizations,\n user_has_apm_payments,\n qpp_is_dev_pre,\n qpp_ehr_authorized,\n qpp_has_non_registry_authorizations,\n qpp_auth_token,\n } = cookie.parse(document.cookie);\n\n let name = '';\n if (qpp_auth_token) {\n const { firstName, lastName } = jwtDecode(qpp_auth_token);\n name = `${firstName} ${lastName}`;\n }\n\n const hasAuthorizations = qpp_has_authorizations === 'true';\n const hasApmPayments = user_has_apm_payments === 'true';\n const isDevPre = qpp_is_dev_pre === 'true';\n const ehrAuthorized = qpp_ehr_authorized === 'true';\n const hasNonRegistryAuthorizations =\n qpp_has_non_registry_authorizations === 'true';\n\n const linkClass = isExpanded ? 'link-inline' : 'link-collapsed';\n const content = isDevPre ? levelOneContent?.devPre : levelOneContent?.default;\n\n // Mapping side nav link urls to the conditions that determine their inclusion in the side nav\n const urlConditionMap = {\n [dashboardUrl]: hasAuthorizations,\n [feedbackUrl]: hasAuthorizations,\n '/user/apm-incentive-payments': hasApmPayments,\n [physicianCompareUrl]: hasNonRegistryAuthorizations,\n [reportsPortalUrl]: hasAuthorizations,\n [facilityBasedPreviewBaseUrl]: hasAuthorizations,\n\n // dev pre\n '/user/applications': ehrAuthorized,\n '/user/test-data': ehrAuthorized,\n };\n\n const navLinks = content.reduce((acc, link) => {\n const { url, label, className, listOfLinks, ...rest } = link;\n\n // Any links failing the corresponding condition in the urlConditionMap are skipped\n if (url in urlConditionMap && !urlConditionMap[url]) {\n return acc;\n }\n\n const IconComponent = getIcon(url);\n const Icon = IconComponent ? <IconComponent /> : null;\n const sharedProps = {\n url,\n label,\n linkCallback,\n className: className ? `${linkClass} ${className}` : linkClass,\n };\n\n const { pathname, hash } = window.location;\n if (\n listOfLinks &&\n (pathname === url ||\n listOfLinks.some(\n (sublink) =>\n pathname === sublink.url || `${pathname}${hash}` === sublink.url\n ))\n ) {\n acc.push(\n <NavLinkDrawer\n key={`nav-drawer-${url}-${label}`}\n leftIcon={Icon}\n listOfLinks={listOfLinks}\n isExpanded={isExpanded}\n staticDrawer={false}\n openByDefault\n isAlwaysOpen\n {...sharedProps}\n {...rest}\n />\n );\n } else {\n acc.push(\n <NavLinkInline\n key={`nav-link-${url}-${label}`}\n icon={Icon}\n useTooltips={useTooltips}\n showLabel={isExpanded}\n {...sharedProps}\n {...rest}\n />\n );\n }\n return acc;\n }, []);\n\n return (\n <div className=\"sidebar-content\">\n <AnimationGroup display={isExpanded}>\n <h1 className=\"label\">{name}</h1>\n </AnimationGroup>\n <div className=\"level-one-nav animation-flat\">\n <NavLinkContainer listOfLinks={navLinks} />\n </div>\n </div>\n );\n};\n\nLevelOneContent.propTypes = {\n isExpanded: PropTypes.bool,\n config: PropTypes.object,\n levelOneContent: PropTypes.shape({\n default: PropTypes.arrayOf(PropTypes.object),\n devPre: PropTypes.arrayOf(PropTypes.object),\n viewer: PropTypes.arrayOf(PropTypes.object),\n }),\n};\n\nexport default LevelOneContent;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst NavLinkContainer = ({ listOfLinks, linkActiveFunc }) => {\n const [activeLink, setActiveLink] = useState(null);\n\n const toggleActive = (idx, disabled) => {\n if (disabled || linkActiveFunc) return;\n setActiveLink(idx);\n };\n\n return (\n <nav>\n <ul>\n {(listOfLinks || []).map((link, idx) => (\n <li\n key={idx.toString()}\n onClick={() => toggleActive(idx, link.props.disabled)}\n >\n {React.cloneElement(link, { isActive: activeLink === idx })}\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n\nNavLinkContainer.propTypes = {\n listOfLinks: PropTypes.array,\n linkActiveFunc: PropTypes.func,\n};\n\nNavLinkContainer.defaultProps = {\n listOfLinks: null,\n linkActiveFunc: null,\n};\n\nexport default NavLinkContainer;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { handleNavigation } from '../helpers';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\n\nconst NavLinkDrawer = ({\n className,\n disabled,\n isAlwaysOpen,\n isExpanded,\n items,\n label,\n leftIcon,\n linkActiveFunc,\n linkCallback,\n listOfLinks,\n openByDefault,\n rightIcon,\n sidebarExpand,\n staticDrawer,\n url,\n isHighlighted,\n darkerBackground,\n leftBorderHighlightDisabled,\n largerDrawerBottomPadding\n}) => {\n const [isOpen, setIsOpen] = useState(openByDefault);\n\n const toggleDrawer = () => {\n if (!isExpanded && typeof sidebarExpand === 'function') {\n sidebarExpand();\n setIsOpen(true);\n return;\n }\n\n if (!isAlwaysOpen && !disabled) {\n setIsOpen(!isOpen);\n }\n };\n\n const isLinkActive = (link, func) => {\n if (typeof func === 'function') {\n return func(link);\n }\n return window.location.href.indexOf(link.url) > 0;\n };\n\n const isCurrentPage = (link, linkActiveFunc) => {\n const targetItems = link.items || link.listOfLinks;\n if (link.url && isLinkActive(link, linkActiveFunc)) {\n return true;\n }\n return (\n targetItems &&\n targetItems.some((item) => isCurrentPage(item, linkActiveFunc))\n );\n };\n\n // Classes for the link drawer button\n const currentPage = isCurrentPage(\n { items, listOfLinks, url },\n linkActiveFunc\n );\n const expandedClass = currentPage ? 'expanded' : '';\n\n const renderLeftIcon = (leftIcon) => {\n if (leftIcon) {\n return (<svg\n className={`left-icon${isAlwaysOpen ? ' always-open' : ''}`}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n {leftIcon}\n </svg>)\n }\n }\n\n const hasDarkerBackground = (darkerBackground) => {\n return darkerBackground ? 'background-highlight' : '';\n }\n\n const hasDarkerTitle = (darkerBackground) => {\n return darkerBackground ? 'expanded currentPage' : '';\n }\n\n const isLeftBorderHighlightDisabled = (leftBorderHighlightDisabled) => {\n return leftBorderHighlightDisabled ? 'left-border-disabled' : ''\n }\n\n const isHiddenWhileCollapsed = (isLeftBorderDisabled, isExpanded) => {\n return isLeftBorderDisabled && !isExpanded ? 'hidden-nav-link-item' : '';\n }\n\n const highlightTitle = (isHighlighted) => {\n return isHighlighted && isExpanded ? 'highlight' : '';\n }\n\n const hasLargerDrawBottomPadding = (largerDrawerBottomPadding) => {\n return largerDrawerBottomPadding ? 'larger-drawer-bottom-padding' : '';\n }\n\n const adjustItemSpacing = (largerDrawerBottomPadding) => {\n return largerDrawerBottomPadding ? 'larger-item-spacing' : '';\n }\n\n useEffect(() => {\n if (disabled) {\n setIsOpen(false);\n }\n if (isAlwaysOpen) {\n setIsOpen(isAlwaysOpen);\n }\n }, []);\n\n // Render the links recursively. This will theoretically allow for an infinite number of nested link items.\n // className will either be empty, parent-link - top most node, or child-link.\n const renderDrawerLinksRecursively = (navLinks, className = '') => {\n return (\n navLinks &&\n navLinks.map((link) => {\n if (link.type === 'divider') {\n return (\n <AnimationGroup display={true}>\n <hr />\n </AnimationGroup>\n );\n }\n\n return (\n <li\n key={link.label}\n className={\n isLinkActive(link, linkActiveFunc)\n ? `active-link ${className}`\n : className\n }\n >\n {link.url ? (\n <a\n href={link.url}\n onClick={(e) => handleNavigation(e, linkCallback, link.label)}\n tabIndex={isOpen ? '0' : '-1'}\n data-track-category=\"SidebarNav\"\n data-track-action={`GoTo${\n link.label ? link.label.split(' ').join('') : ''\n }`}\n data-track-label={link.label}\n target=\"_self\"\n >\n {link.label}\n </a>\n ) : (\n <div>{link.label}</div>\n )}\n {link.items && link.items.length > 0 && (\n <ul aria-hidden={!isOpen}>\n {renderDrawerLinksRecursively(link.items, 'child-link')}\n </ul>\n )}\n </li>\n );\n })\n );\n };\n\n return (\n <div className={staticDrawer ? 'static-drawer link-drawer' : 'link-drawer'}>\n <button\n onClick={toggleDrawer}\n {...(!isAlwaysOpen ? { 'aria-pressed': isOpen } : {})}\n tabIndex=\"0\"\n aria-label={label}\n {...(isAlwaysOpen || disabled\n ? { disabled: isAlwaysOpen || disabled }\n : {})}\n className={`${className} ${expandedClass} ${highlightTitle(isHighlighted)} ${hasDarkerTitle(darkerBackground)}\n ${currentPage ? 'currentPage' : ''} ${isLeftBorderHighlightDisabled(leftBorderHighlightDisabled)}\n ${isHiddenWhileCollapsed(leftBorderHighlightDisabled, isExpanded)}`}\n >\n <div className={isExpanded ? 'link-body' : 'link-body collapsed'}>\n {renderLeftIcon(leftIcon)}\n <AnimationGroup display={isExpanded}>\n <span>{label}</span>\n </AnimationGroup>\n </div>\n {isExpanded && !isAlwaysOpen && (\n <svg\n className={`${isOpen ? 'right-icon rotated' : 'right-icon'}`}\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n {rightIcon}\n </svg>\n )}\n </button>\n <AnimationGroup display={isExpanded}>\n <div\n className={`${currentPage ? 'currentPage' : ''} ${\n isOpen && !disabled ? 'drawer open' : 'drawer'\n } ${hasDarkerBackground(darkerBackground)} ${hasLargerDrawBottomPadding(largerDrawerBottomPadding)}`}\n >\n <ul aria-hidden={!isOpen}>\n {listOfLinks &&\n renderDrawerLinksRecursively(listOfLinks, `parent-link ${adjustItemSpacing(largerDrawerBottomPadding)}`)}\n </ul>\n </div>\n </AnimationGroup>\n </div>\n );\n};\n\nNavLinkDrawer.propTypes = {\n isExpanded: PropTypes.bool,\n isAlwaysOpen: PropTypes.bool,\n openByDefault: PropTypes.bool,\n className: PropTypes.string,\n rightIcon: PropTypes.element,\n leftIcon: PropTypes.element,\n label: PropTypes.string,\n linkActiveFunc: PropTypes.func,\n linkCallback: PropTypes.func,\n listOfLinks: PropTypes.array,\n disabled: PropTypes.bool,\n sidebarExpand: PropTypes.func,\n staticDrawer: PropTypes.bool,\n items: PropTypes.object,\n url: PropTypes.string,\n isHighlighted: PropTypes.bool,\n darkerBackground: PropTypes.bool,\n leftBorderHighlightDisabled: PropTypes.bool,\n largerDrawerBottomPadding: PropTypes.bool\n};\n\nexport default NavLinkDrawer;\n","import React, { useState } from 'react';\nimport { handleNavigation } from '../helpers';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport PropTypes from 'prop-types';\n\nconst NavLinkInline = ({\n url,\n urlExpressionToMatch,\n className,\n icon,\n label,\n isActive,\n showLabel,\n linkCallback,\n disabled,\n useTooltips,\n target,\n}) => {\n const localUrl = urlExpressionToMatch || url;\n const urlRegExp = new RegExp(`${localUrl}/?$`);\n const path = window.location.href && window.location.href.split('?')[0];\n const currentPage = path && path.match(urlRegExp);\n const svgRef = React.useRef();\n const [showTooltip, setShowTooltip] = useState(false);\n const tooltipRef = React.useRef();\n\n React.useEffect(() => {\n if (!showLabel && useTooltips && svgRef.current) {\n const existingMouseenter = svgRef.current.onmouseover;\n const existingMouseout = svgRef.current.onmouseout;\n\n svgRef.current.onmouseover = () => {\n if (tooltipRef.current && useTooltips) {\n const svgOffset = svgRef.current.getBoundingClientRect();\n tooltipRef.current.style.top = `${svgOffset.top - 5}px`;\n tooltipRef.current.style.display = 'block';\n }\n if (typeof existingMouseenter === 'function') {\n existingMouseenter();\n }\n };\n\n svgRef.current.onmouseout = () => {\n if (tooltipRef.current) {\n tooltipRef.current.style.display = 'none';\n }\n if (typeof existingMouseout === 'function') {\n existingMouseout();\n }\n };\n setShowTooltip(true);\n }\n if (showLabel) {\n setShowTooltip(false);\n }\n }, [svgRef.current, showLabel]);\n\n return (\n <React.Fragment>\n <a\n href={disabled ? undefined : url}\n onClick={(e) => handleNavigation(e, linkCallback, label)}\n className={`${className} ${currentPage || isActive ? 'active' : ''} ${\n disabled ? 'disabled' : ''\n }`}\n data-track-category=\"SidebarNav\"\n data-track-action={`GoTo${label ? label.split(' ').join('') : ''}`}\n data-track-label={label}\n aria-label={label}\n target={`${target ? target : '_self'}`}\n >\n <svg\n className={`left-icon ${disabled ? 'disabled' : ''}`}\n aria-hidden=\"true\"\n focusable=\"false\"\n ref={svgRef}\n >\n {icon}\n </svg>\n <AnimationGroup display={showLabel}>\n <span tabIndex=\"-1\">{label}</span>\n </AnimationGroup>\n </a>\n {showTooltip && (\n <div ref={tooltipRef} className=\"sidebar-tooltip\">\n <span className=\"sidebar-tooltip-text\">{label}</span>\n </div>\n )}\n </React.Fragment>\n );\n};\n\nNavLinkInline.propTypes = {\n urlExpressionToMatch: PropTypes.string,\n url: PropTypes.string,\n className: PropTypes.string,\n icon: PropTypes.element,\n label: PropTypes.string,\n isActive: PropTypes.bool,\n showLabel: PropTypes.bool,\n linkCallback: PropTypes.func,\n disabled: PropTypes.bool,\n useTooltips: PropTypes.bool,\n target: PropTypes.string,\n};\n\nexport default NavLinkInline;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavCollapse, NavExpand } from '../../../lib/SvgComponents';\n\nconst NavLinkToggle = ({ isAltStyle, collapseRef, isExpanded, onClick }) => {\n const expandedStyle = isExpanded ? 'link-collapse' : 'link-expand';\n const altStyle = isAltStyle ? 'alt-style' : '';\n\n return (\n <button\n type=\"button\"\n aria-label={`Click to ${\n isExpanded ? 'collapse' : 'expand'\n } the sidebar menu`}\n ref={collapseRef}\n className={`${expandedStyle} ${altStyle}`}\n onClick={onClick}\n >\n <svg className=\"left-icon\" aria-hidden=\"true\" focusable=\"false\">\n {isExpanded ? <NavCollapse /> : <NavExpand />}\n </svg>\n <span>{isExpanded ? 'Collapse' : 'Expand'}</span>\n </button>\n );\n};\n\nNavLinkToggle.propTypes = {\n isAltStyle: PropTypes.bool,\n collapseRef: PropTypes.object,\n isExpanded: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nexport default NavLinkToggle;\n","import React from 'react';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport PropTypes from 'prop-types';\n\nconst NavItemInline = (props) => {\n const {\n url,\n urlExpressionToMatch,\n className,\n icon,\n label,\n isActive,\n showLabel,\n disabled,\n } = props;\n\n const localUrl = urlExpressionToMatch || url;\n const urlRegExp = new RegExp(`${localUrl}/?$`);\n const path = window.location.href && window.location.href.split('?')[0];\n const currentPage = path && path.match(urlRegExp);\n\n return (\n <div\n className={`${className} ${isActive || currentPage ? 'active' : ''} ${\n disabled ? 'disabled' : ''\n }`}\n aria-label={label}\n >\n <svg\n className={`left-icon ${disabled ? 'disabled' : ''}`}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n {icon}\n </svg>\n <AnimationGroup display={showLabel}>\n <span tabIndex=\"-1\">{label}</span>\n </AnimationGroup>\n </div>\n );\n};\n\nNavItemInline.propTypes = {\n urlExpressionToMatch: PropTypes.string,\n url: PropTypes.string,\n className: PropTypes.string,\n icon: PropTypes.element,\n label: PropTypes.string,\n isActive: PropTypes.bool,\n showLabel: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default NavItemInline;\n","import React from 'react';\nimport {\n NavLinkContainer,\n NavLinkInline,\n NavLinkDrawer,\n NavItemInline,\n} from '../Links';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport { PracticeDetails } from '../Details';\nimport { ScoreChart } from '../Chart';\nimport PropTypes from 'prop-types';\nimport {\n AccountHomeIcon,\n DashboardIcon,\n StarIcon,\n CliniciansIcon,\n ScoreIncrease,\n TooltipIcon,\n} from '../../../lib/SvgComponents.jsx';\nimport {\n submissionsUrl,\n manageUrl,\n dashboardUrl,\n performanceFeedbackUrl,\n} from '../helpers';\n\nconst PAST_REPORTING_YEARS = ['2017', '2018'];\n\nconst LevelTwoContent = ({\n isExpanded,\n chartData,\n showReportingLinks,\n config: {\n chartActive = true,\n openDrawersByDefault,\n linkCallback,\n updateTime,\n practiceId,\n practiceName,\n practiceTin,\n apmEntityId,\n isConnectedUsersPage,\n vgId,\n roleAbbr,\n performanceYear,\n finalFeedbackOpen,\n isApmPaymentDetailsPage,\n useTooltips,\n cpcPlusId,\n pcfId,\n } = {},\n}) => {\n const linkClass = isExpanded ? 'link-inline' : 'link-collapsed';\n let links = [];\n\n if (isApmPaymentDetailsPage) {\n const apmDetailsUrl = '/user/apm-incentive-payments/(.*)/practice-details';\n links.push(\n <NavItemInline\n icon={<CliniciansIcon />}\n className={linkClass}\n label=\"Payment Details\"\n urlExpressionToMatch={apmDetailsUrl}\n showLabel={isExpanded}\n />\n );\n } else {\n const linkLabel = isConnectedUsersPage\n ? 'Connected Users'\n : 'Eligibility & Reporting';\n let items = [];\n\n const practiceUrlSegment =\n performanceYear === '2017' || performanceYear === '2018' || !roleAbbr\n ? practiceId\n : practiceId + '_' + roleAbbr;\n\n if (showReportingLinks && !apmEntityId) {\n items = [\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/overview`,\n label: vgId ? 'Virtual Group Reporting' : 'Group Reporting Overview',\n items: [\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/quality`,\n label: 'Quality Measures',\n },\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/aci`,\n label: 'Promoting Interoperability',\n },\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/ia`,\n label: 'Improvement Activities',\n },\n ],\n },\n ];\n }\n links.push(\n <NavLinkDrawer\n key=\"connected-clinicians-link\"\n isAlwaysOpen\n url={\n !isConnectedUsersPage\n ? `${dashboardUrl}`\n : `${manageUrl}/${practiceId}/connected-users`\n }\n isExpanded={isExpanded}\n openByDefault={openDrawersByDefault}\n leftIcon={<DashboardIcon />}\n className={linkClass}\n label={linkLabel}\n linkCallback={linkCallback}\n listOfLinks={\n !isConnectedUsersPage && [\n {\n label: vgId\n ? 'Virtual Group Details & Participants'\n : apmEntityId\n ? 'APM Entity Details & Participants'\n : 'Practice Details & Clinicians',\n items: items,\n },\n ]\n }\n disabled={isConnectedUsersPage ? true : false}\n />\n );\n if (\n (apmEntityId && performanceYear === '2018' && finalFeedbackOpen) ||\n (!apmEntityId &&\n !vgId &&\n !isConnectedUsersPage &&\n PAST_REPORTING_YEARS.indexOf(performanceYear) >= 0)\n ) {\n links.push(\n <NavLinkInline\n key=\"performance-feedback-link\"\n icon={<StarIcon />}\n className={linkClass}\n url={performanceFeedbackUrl(\n finalFeedbackOpen && performanceYear === '2018'\n ? performanceYear\n : '2017'\n )}\n label=\"Performance Feedback\"\n linkCallback={linkCallback}\n showLabel={isExpanded}\n useTooltips={useTooltips}\n />\n );\n }\n }\n\n return (\n <div className=\"sidebar-content\">\n <AnimationGroup display={isExpanded}>\n <NavLinkInline\n icon={<AccountHomeIcon />}\n url={submissionsUrl}\n label=\"Account Home\"\n showLabel={isExpanded}\n className=\"account-home-link\"\n linkCallback={linkCallback}\n useTooltips={useTooltips}\n />\n <hr />\n </AnimationGroup>\n <AnimationGroup display={isExpanded} className={'details'}>\n <PracticeDetails\n practiceName={practiceName}\n {...(!practiceTin ? {} : { practiceTin })}\n {...(!apmEntityId ? {} : { apmEntityId })}\n {...(!vgId ? {} : { vgId })}\n {...(!cpcPlusId ? {} : { cpcPlusId })}\n {...(!pcfId ? {} : { pcfId })}\n />\n <hr />\n </AnimationGroup>\n <div className=\"level-two-nav animation-flat\">\n <NavLinkContainer listOfLinks={links} />\n <AnimationGroup display={isExpanded && chartActive} className=\"chart\">\n <div>\n <hr />\n <div className=\"chart-title\">\n <p className=\"title\">Final Group Score</p>\n <p className=\"disclaimer\">\n <svg className=\"left-icon\" aria-hidden=\"true\">\n <ScoreIncrease />\n </svg>\n Score may increase\n <svg className=\"right-icon\" aria-hidden=\"true\">\n <TooltipIcon />\n </svg>\n </p>\n {updateTime && (\n <p className=\"timestamp\">Last update at {updateTime}</p>\n )}\n </div>\n <ScoreChart chartData={chartData} linkCallback={linkCallback} />\n </div>\n </AnimationGroup>\n </div>\n </div>\n );\n};\n\nLevelTwoContent.propTypes = {\n isExpanded: PropTypes.bool,\n config: PropTypes.object,\n chartData: PropTypes.object,\n showReportingLinks: PropTypes.bool,\n};\n\nexport default LevelTwoContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst IndividualDetails = ({ individualName, individualNpi }) => {\n return (\n <div className=\"individual-container\">\n <h3 className=\"individual-name\">{individualName}</h3>\n <p className=\"individual-npi\">NPI: {individualNpi}</p>\n </div>\n );\n};\n\nIndividualDetails.propTypes = {\n individualName: PropTypes.string,\n individualNpi: PropTypes.string,\n};\n\nexport default IndividualDetails;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PracticeDetails = ({\n practiceName,\n practiceTin,\n apmEntityId,\n vgId,\n cpcPlusId,\n pcfId\n}) => {\n function renderId() {\n if (cpcPlusId) {\n return <p className=\"practice-tin\">CPC+ ID: {cpcPlusId}</p>;\n } else if (pcfId) {\n return <p className=\"practice-tin\">PCF ID: {pcfId}</p>;\n } else if (apmEntityId) {\n return <p className=\"practice-tin\">APM Entity ID: {apmEntityId}</p>;\n } else if (vgId) {\n return <p className=\"practice-tin\">VG ID: {vgId}</p>;\n } else if (practiceTin) {\n return <p className=\"practice-tin\">TIN: {practiceTin}</p>;\n } else {\n return;\n }\n }\n\n return (\n <div className=\"practice-container\">\n <h2 className=\"practice-name\">{practiceName || 'No name on record'}</h2>\n {renderId()}\n </div>\n );\n};\n\nPracticeDetails.propTypes = {\n practiceName: PropTypes.string,\n practiceTin: PropTypes.string,\n apmEntityId: PropTypes.string,\n vgId: PropTypes.string,\n cpcPlusId: PropTypes.string,\n pcfId: PropTypes.string,\n};\n\nexport default PracticeDetails;\n","import React, { useState, useEffect } from 'react';\nimport { pie, arc } from 'd3-shape';\nimport { select, event } from 'd3-selection';\nimport PropTypes from 'prop-types';\n\nconst WIDTH = 210;\nconst HEIGHT = 210;\nconst RADIUS = Math.min(WIDTH, HEIGHT) / 2;\nconst GAP_VALUE = 2.5;\n\nconst ScoreChart = ({ performanceYear, chartData, linkCallback }) => {\n const [hasLegend, setHasLegend] = useState(false);\n const [titleMapping, setTitleMapping] = useState({\n quality: 'Quality Measures',\n aci: 'Advancing Care Info',\n pi: 'Promoting Interoperability',\n ia: 'Improvement Activities',\n cost: 'Cost',\n });\n\n const { categories } = chartData;\n let legendToggler;\n let legend;\n\n const getAdvancingCareLabel = () => {\n if (performanceYear > 2017) {\n setTitleMapping({ ...titleMapping, aci: 'Promoting Interoperability' });\n }\n };\n\n const redirectToCategory = (link, categoryId) => {\n if (!link) {\n return;\n }\n\n // track explicitly chart legends\n if (window.utag) {\n window.utag.track('link', {\n ga_event_category: 'SidebarNav',\n ga_event_action: `GoTo${categoryId}`,\n ga_event_label: categoryId,\n });\n }\n\n if (linkCallback) {\n linkCallback(link);\n } else {\n window.location.href = link;\n }\n };\n\n const draw = (chartData) => {\n const scorePie = pie().sort(null);\n\n // Removing invalid categories\n const categories = chartData.categories.filter(\n ({ maxContribution }) => !!maxContribution\n );\n\n // Calculating the sum of valid categories in order to calculate ratios\n const categorySum = categories\n .map(({ maxContribution }) => maxContribution)\n .reduce((sum, current) => sum + current);\n\n if (!categorySum) {\n return;\n }\n\n select('.score-chart').selectAll('*').remove();\n\n const svg = select('.score-chart')\n .attr('width', WIDTH)\n .attr('height', HEIGHT);\n\n const chartArc = arc()\n .innerRadius(RADIUS - 1.5)\n .outerRadius(RADIUS - 25);\n\n // Preparing the data structure with ratios: [ FILLED, EMPTY, TRANSPARENT, FILLED, EMPTY, ... ]\n let data;\n if (categories.length === 0) {\n data = [];\n } else if (categories.length === 1) {\n const { value, maxContribution } = categories[0];\n data = [value || 0, maxContribution - value];\n } else {\n data = categories\n .map(({ value, maxContribution }) => [\n value || 0,\n maxContribution - value,\n GAP_VALUE * (categorySum / 100),\n ])\n .reduce((a, b) => a.concat(b), []);\n }\n\n svg.append('title').attr('id', 'titleID').text('Your submission score');\n\n svg\n .append('desc')\n .attr('id', 'descID')\n .text(`${chartData.finalScore} out of 100`);\n\n // Setting up the arcs\n let arcs = svg\n .append('g')\n .attr('class', 'arcs')\n .attr('role', 'presentation')\n .selectAll('g.arc')\n .data(scorePie(data))\n .enter()\n .append('g')\n .attr('class', (d, i) => {\n let role;\n if (i % 3 === 0) {\n role = 'filled';\n } else if (i % 3 === 1) {\n role = 'empty';\n } else {\n role = 'transparent';\n }\n return `arc ${categories[parseInt(i / 3)].name} ${role}`;\n })\n .attr('transform', `translate(${RADIUS}, ${RADIUS})`)\n // For accessibility, we add keyboard access to the filled slices\n .attr('tabindex', (d, i) => {\n let tabindex = -1;\n if (i % 3 === 0) {\n tabindex = 0;\n }\n return tabindex;\n })\n // IE for for focusable svg elements\n .attr('focusable', (d, i) => {\n if (i % 3 === 0) {\n return true;\n }\n })\n // For accessibility, we add keyboard access to the filled slices\n .on('keyup', (d, i) => {\n const code = event.keyCode || event.which;\n if (code === 13) {\n const { name, link } = categories[parseInt(i / 3)];\n redirectToCategory(link, name);\n }\n })\n // On click - go to category page\n .on('click', (d, i) => {\n const { name, link } = categories[parseInt(i / 3)];\n redirectToCategory(link, name);\n });\n\n // Add accessibility description\n arcs.append('desc').text((d, i) => {\n if (i % 3 === 0) {\n const { name, value, maxContribution } = categories[parseInt(i / 3)];\n return `${titleMapping[name]} ${value} out of ${maxContribution}`;\n }\n });\n\n arcs\n .append('path')\n .attr('d', chartArc)\n // On mouse over - show category tooltip\n .on('mouseover', (d, i) => {\n const { name, value, maxContribution } = categories[parseInt(i / 3)];\n select('.chart-tooltip')\n .style('opacity', 1)\n .text(`${titleMapping[name]} ${value}/${maxContribution}`);\n })\n // On mouse move - move category tooltip\n .on('mousemove', () => {\n select('.chart-tooltip')\n .style('top', event.clientY - HEIGHT + 10 + 'px')\n .style('left', event.clientX + 'px');\n })\n // On mouse out - hide category tooltip\n .on('mouseout', () => {\n select('.chart-tooltip').style('opacity', 0);\n });\n\n // Adding title and subtitle\n const text = svg\n .append('g')\n .attr('text-anchor', 'middle')\n .attr('transform', `translate(${WIDTH / 2}, ${HEIGHT / 2})`);\n\n // Adding title - X%\n text\n .append('text')\n .attr('y', 4)\n .attr('class', 'chart-title')\n .text(chartData.finalScore);\n\n // Adding subtitle - OUT OF 100\n text\n .append('text')\n .attr('y', 24)\n .attr('class', 'chart-subtitle')\n .text('OUT OF 100');\n };\n\n const toggleLegend = () => {\n setHasLegend(!hasLegend);\n };\n\n useEffect(() => {\n if (chartData?.finalScore) {\n draw(chartData);\n getAdvancingCareLabel();\n }\n }, [chartData?.finalScore]);\n\n if (hasLegend) {\n legendToggler = (\n <button className=\"open\" type=\"button\" aria-pressed=\"true\">\n Hide Legend\n <svg\n className=\"right-icon rotated\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <use xlinkHref=\"#chevron-down\" />\n </svg>\n </button>\n );\n legend = categories.map(({ name, value, maxContribution, link }, index) => {\n return (\n <li key={name} className=\"legend-axis\">\n <button onClick={() => redirectToCategory(link, name)}>\n <span className={`legend-axis-color ${name}`} />\n &nbsp;\n <span className=\"legend-axis-title\">{titleMapping[name]}</span>\n &nbsp;\n <span className=\"legend-axis-value\">{`${value}/${maxContribution}`}</span>\n </button>\n </li>\n );\n });\n } else {\n legendToggler = (\n <button type=\"button\" aria-pressed=\"false\">\n Show Legend\n <svg className=\"right-icon\" aria-hidden=\"true\" focusable=\"false\">\n <use xlinkHref=\"#chevron-down\" />\n </svg>\n </button>\n );\n }\n\n return (\n <div className=\"chart\">\n <svg className=\"score-chart\" focusable=\"false\" />\n <div className=\"chart-tooltip off\" />\n <div className=\"chart-legend-toggler\" onClick={toggleLegend}>\n {legendToggler}\n </div>\n <ul className=\"chart-legend\">{legend}</ul>\n </div>\n );\n};\n\nScoreChart.propTypes = {\n chartData: PropTypes.object,\n linkCallback: PropTypes.func,\n performanceYear: PropTypes.number,\n};\n\nexport default ScoreChart;\n","export default \"<svg aria-hidden=\\\"true\\\" style=\\\"position:absolute;width:0;height:0\\\" width=\\\"0\\\" height=\\\"0\\\" xmlns=\\\"https://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"https://www.w3.org/1999/xlink\\\" overflow=\\\"hidden\\\"><symbol id=\\\"icon-warning\\\" viewBox=\\\"-2 -2 25 25\\\"><style></style><defs><circle id=\\\"SVGID_1_\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"10\\\"/></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"/></clipPath><defs><path id=\\\"SVGID_3_\\\" d=\\\"M0 0h20v20H0z\\\"/></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"/></clipPath><path d=\\\"M10 22C3.4 22-2 16.6-2 10S3.4-2 10-2s12 5.4 12 12-5.4 12-12 12zm0-20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/><g><defs><path id=\\\"SVGID_5_\\\" d=\\\"M0 0h20v20H0z\\\"/></defs><defs><path id=\\\"SVGID_6_\\\" d=\\\"M0 0h20v20H0z\\\"/></defs><clipPath id=\\\"SVGID_7_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"/></clipPath><clipPath id=\\\"SVGID_8_\\\"><use xlink:href=\\\"#SVGID_6_\\\" overflow=\\\"visible\\\"/></clipPath><path d=\\\"M10 11.7c-.6 0-1-.4-1-1V5.8c0-.6.4-1 1-1s1 .4 1 1v4.9c0 .5-.4 1-1 1zM10 15.3c-.6 0-1-.4-1-1v-.4c0-.6.4-1 1-1s1 .4 1 1v.4c0 .6-.4 1-1 1z\\\"/></g></symbol><symbol id=\\\"search\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M3.9,12.8c-1.2-1.2-1.8-2.7-1.8-4.4c0-1.7,0.6-3.2,1.8-4.4c1.2-1.2,2.7-1.8,4.4-1.8c1.7,0,3.2,0.6,4.4,1.8 c2.4,2.4,2.4,6.4,0,8.8c-1.2,1.2-2.7,1.8-4.4,1.8C6.6,14.6,5.1,14,3.9,12.8z M19.7,18.3l-4.8-4.8c2.5-3.3,2.3-8-0.7-11 C12.6,1,10.5,0.1,8.3,0.1C6.1,0.1,4,1,2.4,2.6C0.9,4.1,0,6.2,0,8.4c0,2.2,0.9,4.3,2.4,5.9c1.6,1.6,3.7,2.4,5.9,2.4 c1.9,0,3.6-0.6,5.1-1.7l4.8,4.8c0.2,0.2,0.5,0.3,0.7,0.3c0.3,0,0.5-0.1,0.7-0.3C20.1,19.4,20.1,18.8,19.7,18.3z\\\"/></symbol><symbol id=\\\"star-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M24.7,9.4c-0.1-0.1-0.2-0.1-0.3-0.2L16.6,8L13,0.9c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1,0-0.3,0-0.4,0 c0,0-0.2,0.1-0.2,0.2L8.4,8L0.6,9.2c-0.3,0-0.5,0.3-0.5,0.6c0,0.1,0.1,0.2,0.2,0.3L6,15.7l-1.3,7.9c-0.1,0.3,0.1,0.6,0.4,0.7h0.1 c0.1,0,0.2,0,0.3-0.1l7-3.7l7,3.7c0.1,0,0.2,0.1,0.3,0.1c0.3,0,0.6-0.3,0.6-0.6v-0.1l-1.3-7.9l5.6-5.6C24.9,10,24.9,9.6,24.7,9.4z M7.1,15.8c0-0.2,0-0.4-0.2-0.5l-5.1-5.1l7-1.1C9,9.1,9.1,9,9.2,8.8l3.2-6.4l3.2,6.4C15.7,9,15.8,9.1,16,9.1l7,1.1l-4.9,5 c-0.1,0.1-0.3,0.4-0.3,0.6l1.4,7l-6.7-3.2c-0.2-0.1-0.4-0.1-0.5,0l-6.3,3.3L7.1,15.8z\\\"/></symbol><symbol id=\\\"dashboard\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M22.2,12.8H12.1V2.8c0-0.3-0.2-0.5-0.5-0.5h-0.1c-6.2,0-11.2,5-11.2,11.2c0,6.2,5,11.2,11.2,11.2 c6.2,0,11.2-5,11.2-11.2v-0.1C22.7,13.1,22.5,12.8,22.2,12.8z M11.6,13.9h10c-0.2,5.4-4.7,9.7-10.1,9.7c-5.6,0-10.2-4.6-10.2-10.2 c0-5.4,4.3-9.9,9.7-10.1v10C11.1,13.7,11.3,13.9,11.6,13.9z\\\"/><path d=\\\"M24.7,9.9l0-0.1C24,4.9,20.1,1,15.2,0.3l-0.1,0l0,0c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.2-0.2,0.4V10 c0,0.3,0.2,0.5,0.5,0.5h9.2c0.2,0,0.3-0.1,0.4-0.2C24.7,10.2,24.7,10.1,24.7,9.9z M23.5,9.5h-8v-8C19.5,2.2,22.8,5.5,23.5,9.5z\\\"/></symbol><symbol id=\\\"early-claims-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M0 1L15 1 15 0 0 0zM0 4L15 4 15 3 0 3zM0 7L15 7 15 6 0 6zM0 10L15 10 15 9 0 9zM0 13L15 13 15 12 0 12z\\\" transform=\\\"translate(5 8)\\\"/><path d=\\\"M1,24 L1,1 L16,1 L16,5.5 C16,5.776 16.224,6 16.5,6 L20,6 L20,24 L1,24 Z M17,1.851 L19.446,5 L17,5 L17,1.851 Z M20.895,5.235 L16.979,0.193 C16.884,0.071 16.738,0 16.583,0 L0.5,0 C0.224,0 0,0.224 0,0.5 L0,24.5 C0,24.776 0.224,25 0.5,25 L20.5,25 C20.776,25 21,24.776 21,24.5 L21,5.542 C21,5.43 20.963,5.322 20.895,5.235 Z\\\" transform=\\\"translate(2)\\\"/></symbol><symbol id=\\\"physician-compare-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M19.2204301,5 L18.1451613,5 C17.7419355,5 17.4731183,5.2601626 17.4731183,5.6504065 C17.4731183,6.04065041 17.7419355,6.30081301 18.1451613,6.30081301 L19.2204301,6.30081301 C19.3548387,6.30081301 19.4892473,6.43089431 19.4892473,6.56097561 L19.4892473,11.8943089 C19.4892473,13.3252033 18.2795699,14.6260163 16.6666667,14.6260163 C15.0537634,14.6260163 13.844086,13.4552846 13.844086,11.8943089 L13.844086,6.56097561 C13.844086,6.43089431 13.9784946,6.30081301 14.1129032,6.30081301 L15.188172,6.30081301 C15.5913978,6.30081301 15.8602151,6.04065041 15.8602151,5.6504065 C15.8602151,5.2601626 15.5913978,5 15.188172,5 L14.1129032,5 C13.3064516,5 12.5,5.6504065 12.5,6.56097561 L12.5,11.8943089 C12.5,13.8455285 13.9784946,15.5365854 15.9946237,15.9268293 C15.8602151,18.398374 14.6505376,19.699187 12.5,19.699187 L12.2311828,19.699187 C9.40860215,19.699187 8.33333333,17.2276423 8.33333333,15.6666667 L8.33333333,14.495935 C9.67741935,14.1056911 10.6182796,12.9349593 10.6182796,11.504065 C10.7526882,9.81300813 9.27419355,8.38211382 7.52688172,8.38211382 C5.77956989,8.38211382 4.16666667,9.81300813 4.16666667,11.504065 C4.16666667,13.0650407 5.37634409,14.3658537 6.98924731,14.6260163 L6.98924731,15.6666667 C6.98924731,18.2682927 8.87096774,21 12.2311828,21 L12.5,21 C15.4569892,21 17.2043011,19.1788618 17.3387097,15.796748 C19.3548387,15.5365854 20.8333333,13.8455285 20.8333333,11.7642276 L20.8333333,6.56097561 C20.8333333,5.6504065 20.1612903,5 19.2204301,5 Z M5.77956989,11.504065 C5.77956989,10.5934959 6.58602151,9.94308943 7.39247312,9.94308943 C8.19892473,9.94308943 9.00537634,10.7235772 9.00537634,11.504065 C9.00537634,12.2845528 8.33333333,13.195122 7.52688172,13.195122 C6.72043011,13.195122 5.77956989,12.4146341 5.77956989,11.504065 Z\\\"/><path d=\\\"M20.718232,0 L4.14364641,0 C1.79558011,0 0,1.82291667 0,3.90625 L0,21.09375 C0,23.3072917 1.93370166,25 4.14364641,25 L20.8563536,25 C23.2044199,25 25,23.1770833 25,21.09375 L25,3.90625 C24.8618785,1.82291667 23.0662983,0 20.718232,0 Z M23.480663,21.09375 C23.480663,22.5260417 22.2375691,23.6979167 20.718232,23.6979167 L4.14364641,23.6979167 C2.62430939,23.6979167 1.38121547,22.5260417 1.38121547,21.09375 L1.38121547,3.90625 C1.38121547,2.47395833 2.62430939,1.30208333 4.14364641,1.30208333 L20.8563536,1.30208333 C22.3756906,1.30208333 23.6187845,2.47395833 23.6187845,3.90625 L23.6187845,21.09375 L23.480663,21.09375 Z\\\"/></symbol><symbol id=\\\"hardship-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M18.7721739,2.6119403 L14.4991304,2.6119403 L12.4813043,2.6119403 C12.5178261,2.44402985 12.5543478,2.2761194 12.5543478,2.0988806 C12.5543478,0.942164179 11.6321739,0 10.5,0 C9.36782609,0 8.44565217,0.942164179 8.44565217,2.0988806 C8.44565217,2.2761194 8.47304348,2.44402985 8.51869565,2.6119403 L6.49173913,2.6119403 L2.21869565,2.6119403 C0.995217391,2.6119403 0,3.62873134 0,4.8880597 L0,22.733209 C0,23.983209 0.995217391,25 2.21869565,25 L18.7721739,25 C19.9956522,25 21,23.983209 21,22.7238806 L21,4.8880597 C21,3.62873134 19.9956522,2.6119403 18.7721739,2.6119403 Z M10.5,0.932835821 C11.13,0.932835821 11.6413043,1.45522388 11.6413043,2.0988806 C11.6413043,2.31343284 11.5682609,2.5 11.4769565,2.66791045 C11.403913,2.7891791 11.3126087,2.9011194 11.2030435,2.99440299 C11.1482609,3.04104478 11.0843478,3.08768657 11.0204348,3.125 C10.9747826,3.14365672 10.9382609,3.17164179 10.8926087,3.19029851 C10.7647826,3.22761194 10.6369565,3.26492537 10.5,3.26492537 C10.3630435,3.26492537 10.2352174,3.22761194 10.1165217,3.18097015 C10.0708696,3.16231343 10.0343478,3.14365672 9.98869565,3.11567164 C9.92478261,3.07835821 9.86086957,3.03171642 9.80608696,2.98507463 C9.6873913,2.89179104 9.59608696,2.77052239 9.52304348,2.63992537 C9.43173913,2.47201493 9.36782609,2.29477612 9.36782609,2.08955224 C9.35869565,1.45522388 9.87,0.932835821 10.5,0.932835821 Z M20.0869565,22.7238806 C20.0869565,23.4608209 19.5026087,24.0671642 18.7721739,24.0671642 L2.21869565,24.0671642 C1.4973913,24.0671642 0.903913043,23.4701493 0.903913043,22.7238806 L0.903913043,4.8880597 C0.913043478,4.14179104 1.4973913,3.54477612 2.21869565,3.54477612 L6.49173913,3.54477612 L6.49173913,4.38432836 C6.49173913,4.95335821 6.93913043,5.41044776 7.49608696,5.41044776 L13.503913,5.41044776 C14.0608696,5.41044776 14.5082609,4.95335821 14.5082609,4.38432836 L14.5082609,3.54477612 L18.7813043,3.54477612 C19.5026087,3.54477612 20.096087,4.14179104 20.096087,4.8880597 L20.096087,22.7238806 L20.0869565,22.7238806 L20.0869565,22.7238806 Z\\\" transform=\\\"translate(2)\\\"/><path d=\\\"M3.506 7.24H11.477V8.24H3.506zM.849 7.24H2.2199999999999998V8.24H.849zM6.506 2.17H11.477V3.17H6.506zM2.13428571 4.04L.402857143 2.01 1.01142857 1.31 2.13428571 2.62 4.03714286.41 4.64571429 1.11z\\\" transform=\\\"translate(6 9)\\\"/></symbol><symbol id=\\\"target-icon\\\" viewBox=\\\"0 0 25 25\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M15.6521739,13.3410862 C14.9799955,14.9155188 13.3391142,15.8471825 11.6426584,15.617619 C9.9462025,15.3880555 8.61194453,14.0537975 8.38238102,12.3573416 C8.15281751,10.6608858 9.08448121,9.0200045 10.6589138,8.34782609\\\" stroke-linecap=\\\"round\\\" transform=\\\"translate(1 1)\\\"/><path d=\\\"M19.826087,11.4686261 C19.5475194,15.6524455 16.0240274,18.8752139 11.8318419,18.780577 C7.63965639,18.6859401 4.26519733,15.3074531 4.17572893,11.1153254 C4.08626053,6.92319774 7.31350554,3.40382874 11.4978365,3.13043478\\\" stroke-linecap=\\\"round\\\" transform=\\\"translate(1 1)\\\"/><path d=\\\"M22.9565217 10.4801044C22.9565217 10.8094757 22.9565217 11.1488279 22.9565217 11.4781992 22.9565217 16.1251852 20.1544991 20.3136359 15.8592987 22.0872623 11.5640982 23.8608888 6.62327363 22.8696906 3.3445233 19.5766243.065772964 16.283558-.903887735 11.3384639.888438166 7.05103466 2.68076407 2.7636054 6.8813862-.0200950351 11.5283306 0 11.867683 0 12.2070354 0 12.5264259 0M23.4104348 8.34782609C23.4626087 8.69217391 23.5147826 9.04695652 23.546087 9.39130435\\\" stroke-linecap=\\\"round\\\" transform=\\\"translate(1 1)\\\"/><path d=\\\"M19.0559527,8.3085908 L16.1993898,7.27346855 C15.9679825,7.18675289 15.7867762,7.00255341 15.7042523,6.77015223 L14.6758896,3.9211919 C14.5392501,3.60164864 14.6150694,3.23112279 14.8663271,2.99053153 L17.5610181,0.255529619 C17.7680939,0.0454487694 18.069052,-0.043464617 18.357445,0.020237671 C18.6458381,0.083939959 18.8810085,0.291277194 18.9797777,0.568915255 L19.7415278,2.61067015 C19.8301804,2.85007338 20.017334,3.04018548 20.2557092,3.13297955 L22.4076532,3.94968151 C22.6793557,4.05644917 22.8788566,4.29253202 22.938341,4.57768034 C22.9978255,4.86282867 22.9092906,5.15867892 22.7028314,5.36466513 L19.960531,8.07117744 C19.7289278,8.31564041 19.3782081,8.40768945 19.0559527,8.3085908 Z\\\" transform=\\\"translate(1 1)\\\"/><path stroke-linecap=\\\"round\\\" d=\\\"M12.522 10.435L16.696 6.261\\\" transform=\\\"translate(1 1)\\\"/></g></symbol><symbol id=\\\"manage-users\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M4.4 10.8V.2H3.6v10.7c-1.9.2-3.4 1.8-3.4 3.8s1.5 3.6 3.4 3.8v6.4h.9v-6.4c1.9-.2 3.4-1.8 3.4-3.8S6.3 11.1 4.4 10.8zM4 17.6c-1.6 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3S5.6 17.6 4 17.6zM12.9 2.3V.2h-.9v2.2c-1.9.2-3.4 1.8-3.4 3.8 0 2 1.5 3.6 3.4 3.8v14.9h.9V9.9c1.9-.2 3.4-1.8 3.4-3.8C16.3 4.2 14.8 2.6 12.9 2.3zM12.5 9.1c-1.6 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3S14.1 9.1 12.5 9.1zM24.8 18.9c0-2-1.5-3.6-3.4-3.8V.2h-.9v14.9c-1.9.2-3.4 1.8-3.4 3.8s1.5 3.6 3.4 3.8v2.2h.9v-2.2C23.3 22.4 24.8 20.8 24.8 18.9zM21 21.8c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3s3 1.3 3 3C24 20.5 22.6 21.8 21 21.8z\\\"/></symbol></svg>\";","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { handleNavigation } from '../helpers';\nimport { SwitchPractice, ChevronRight } from '../../../lib/SvgComponents.jsx';\n\nconst CmsSwitchLink = ({ linkCallback, url, label }) => {\n return (\n <div className=\"switch-container\">\n <a\n href={url}\n onClick={(e) => handleNavigation(e, linkCallback, label)}\n className=\"switch-link\"\n >\n <div className=\"button-partition\">\n <svg className=\"icon\">\n <SwitchPractice />\n <title>Switch Practice Icon</title>\n </svg>\n <span>{label}</span>\n </div>\n <div className=\"button-partition\">\n <svg\n className=\"icon right-icon rotated\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <ChevronRight />\n </svg>\n </div>\n </a>\n </div>\n );\n};\n\nCmsSwitchLink.propTypes = {\n linkCallback: PropTypes.func,\n url: PropTypes.string,\n label: PropTypes.string,\n};\n\nexport default CmsSwitchLink;\n","import React from 'react';\nimport { render } from 'react-dom';\nimport SessionDialogUI from '../SessionDialogUI';\n\n/**\n * Renders the Session Dialog UI content.\n */\nexport default class SessionDialog {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {Boolean} options.showImmediate\n * @param {Number} options.warningTimeout\n * @param {String} options.appElement\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n render(\n <SessionDialogUI\n showImmediate={options.showImmediate}\n warningTimeout={options.warningTimeout}\n appElement={options.appElement}\n />,\n options.rootElement\n );\n }\n}\n","/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.10\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"whatInput\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"whatInput\"] = factory();\n\telse\n\t\troot[\"whatInput\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = 'false';\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true } : false;\n\n\t document.addEventListener('DOMContentLoaded', setPersist);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput);\n\t window.addEventListener('pointermove', setIntent);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput);\n\t window.addEventListener('MSPointerMove', setIntent);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput);\n\t window.addEventListener('mousemove', setIntent);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput);\n\t window.addEventListener('keyup', setInput);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement);\n\t window.addEventListener('focusout', clearElement);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an <svg> element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t var persistInput = function persistInput(which, value) {\n\t if (shouldPersist) {\n\t try {\n\t window.sessionStorage.setItem('what-' + which, value);\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\t var detectWheel = function detectWheel() {\n\t var wheelType = null;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos.x !== event.screenX || mousePos.y !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos.x = event.screenX;\n\t mousePos.y = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t },\n\n\t clearStorage: function clearStorage() {\n\t window.sessionStorage.clear();\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import curveLinear from \"./linear.js\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport line from \"./line.js\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport area from \"./area.js\";\nimport {lineRadial} from \"./lineRadial.js\";\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {pi, tau} from \"../math.js\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {pi, tau} from \"../math.js\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_join from \"./join\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","import {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\n}\n","import { useState, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\n\nvar genId = function genId() {\n return ++id;\n};\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\n\nfunction useId(idFromProps) {\n /*\n * If this instance isn't part of the initial render, we don't have to do the\n * double render/patch-up dance. We can just generate the ID and return it.\n */\n var initialId = idFromProps || (serverHandoffComplete ? genId() : null);\n\n var _React$useState = useState(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n /*\n * Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n * rendering flicker, though it'll make the first render slower (unlikely\n * to matter, but you're welcome to measure your app and let us know if\n * it's a problem).\n */\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n /*\n * Flag all future uses of `useId` to skip the update dance. This is in\n * `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n * accidentally bail out of the patch-up dance prematurely.\n */\n serverHandoffComplete = true;\n }\n }, []);\n return id != null ? String(id) : undefined;\n}\n\nexport { useId };\n","import { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n\nexport { getOwnerDocument, getOwnerWindow };\n","/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\n\nexport { makeId };\n","/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\nexport { isBoolean, isFunction, isNumber, isString };\n","import { useCallback } from 'react';\nimport { isFunction } from '../../type-check/dist/reach-utils-type-check.esm.js';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useCallback(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, refs);\n}\n\nexport { assignRef, useComposedRefs };\n","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n","import { forwardRef, createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"as\", \"style\"];\n\n/**\n * VisuallyHidden\n *\n * Provides text for screen readers that is visually hidden.\n * It is the logical opposite of the `aria-hidden` attribute.\n */\nvar VisuallyHidden = /*#__PURE__*/forwardRef(function VisuallyHidden(_ref, ref) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"span\" : _ref$as,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return /*#__PURE__*/createElement(Comp, _extends({\n ref: ref,\n style: _extends({\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n }, style)\n }, props));\n});\n/**\n * @see Docs https://reach.tech/visually-hidden#visuallyhidden-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n VisuallyHidden.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default VisuallyHidden;\nexport { VisuallyHidden };\n","var props = [\"bottom\", \"height\", \"left\", \"right\", \"top\", \"width\"];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\n\nexport default observeRect;\n//# sourceMappingURL=observe-rect.esm.js.map\n","import { useRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport observeRect from '@reach/observe-rect';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { isBoolean, isFunction } from '@reach/utils/type-check';\nimport warning from 'tiny-warning';\n\n/**\n * Welcome to @reach/rect!\n *\n * Measures DOM elements (aka. bounding client rect).\n *\n * @see getBoundingClientRect https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect\n * @see Docs https://reach.tech/rect\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/rect\n */\n\n/**\n * Rect\n *\n * @param props\n */\n\nvar Rect = function Rect(_ref) {\n var onChange = _ref.onChange,\n _ref$observe = _ref.observe,\n observe = _ref$observe === void 0 ? true : _ref$observe,\n children = _ref.children;\n var ref = useRef(null);\n var rect = useRect(ref, {\n observe: observe,\n onChange: onChange\n });\n return children({\n ref: ref,\n rect: rect\n });\n};\n/**\n * @see Docs https://reach.tech/rect#rect-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Rect.displayName = \"Rect\";\n Rect.propTypes = {\n children: PropTypes.func.isRequired,\n observe: PropTypes.bool,\n onChange: PropTypes.func\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\n/**\n * useRect\n *\n * @param nodeRef\n * @param observe\n * @param onChange\n */\nfunction useRect(nodeRef, observeOrOptions, deprecated_onChange) {\n var observe;\n var onChange;\n\n if (isBoolean(observeOrOptions)) {\n observe = observeOrOptions;\n } else {\n var _observeOrOptions$obs;\n\n observe = (_observeOrOptions$obs = observeOrOptions == null ? void 0 : observeOrOptions.observe) != null ? _observeOrOptions$obs : true;\n onChange = observeOrOptions == null ? void 0 : observeOrOptions.onChange;\n }\n\n if (isFunction(deprecated_onChange)) {\n onChange = deprecated_onChange;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isBoolean(observeOrOptions), \"Passing `observe` as the second argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `observe` property as the second argument (`useRect(ref, { observe })`).\\n\" + \"See https://reach.tech/rect#userect-observe\") : void 0;\n }, [observeOrOptions]); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isFunction(deprecated_onChange), \"Passing `onChange` as the third argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `onChange` property as the second argument (`useRect(ref, { onChange })`).\\n\" + \"See https://reach.tech/rect#userect-onchange\") : void 0;\n }, [deprecated_onChange]);\n }\n\n var _React$useState = useState(nodeRef.current),\n element = _React$useState[0],\n setElement = _React$useState[1];\n\n var initialRectIsSet = useRef(false);\n var initialRefIsSet = useRef(false);\n\n var _React$useState2 = useState(null),\n rect = _React$useState2[0],\n setRect = _React$useState2[1];\n\n var onChangeRef = useRef(onChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n useIsomorphicLayoutEffect(function () {\n onChangeRef.current = onChange;\n\n if (nodeRef.current !== element) {\n setElement(nodeRef.current);\n }\n });\n useIsomorphicLayoutEffect(function () {\n if (element && !initialRectIsSet.current) {\n initialRectIsSet.current = true;\n setRect(element.getBoundingClientRect());\n }\n }, [element]);\n useIsomorphicLayoutEffect(function () {\n if (!observe) {\n return;\n }\n\n var elem = element; // State initializes before refs are placed, meaning the element state will\n // be undefined on the first render. We still want the rect on the first\n // render, so initially we'll use the nodeRef that was passed instead of\n // state for our measurements.\n\n if (!initialRefIsSet.current) {\n initialRefIsSet.current = true;\n elem = nodeRef.current;\n }\n\n if (!elem) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"You need to place the ref\");\n }\n\n return;\n }\n\n var observer = observeRect(elem, function (rect) {\n onChangeRef.current == null ? void 0 : onChangeRef.current(rect);\n setRect(rect);\n });\n observer.observe();\n return function () {\n observer.unobserve();\n };\n }, [observe, element, nodeRef]);\n return rect;\n}\n\nexport default Rect;\nexport { Rect, useRect };\n","import { useState, useRef, useEffect, forwardRef, Children, createElement, Fragment, cloneElement } from 'react';\nimport { useId } from '@reach/auto-id';\nimport { getDocumentDimensions } from '@reach/utils/get-document-dimensions';\nimport { getOwnerDocument } from '@reach/utils/owner-document';\nimport { makeId } from '@reach/utils/make-id';\nimport { useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { Portal } from '@reach/portal';\nimport { VisuallyHidden } from '@reach/visually-hidden';\nimport { useRect } from '@reach/rect';\nimport warning from 'tiny-warning';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"children\", \"label\", \"ariaLabel\", \"id\", \"DEBUG_STYLE\"],\n _excluded2 = [\"label\", \"ariaLabel\", \"isVisible\", \"id\"],\n _excluded3 = [\"ariaLabel\", \"aria-label\", \"as\", \"id\", \"isVisible\", \"label\", \"position\", \"style\", \"triggerRect\"],\n _excluded4 = [\"type\"];\n\nvar _on, _on2, _on3, _on4, _on5, _states;\nvar MOUSE_REST_TIMEOUT = 100;\nvar LEAVE_TIMEOUT = 500; ////////////////////////////////////////////////////////////////////////////////\n// States\n\nvar TooltipStates; ////////////////////////////////////////////////////////////////////////////////\n// Events\n\n(function (TooltipStates) {\n TooltipStates[\"Idle\"] = \"IDLE\";\n TooltipStates[\"Focused\"] = \"FOCUSED\";\n TooltipStates[\"Visible\"] = \"VISIBLE\";\n TooltipStates[\"LeavingVisible\"] = \"LEAVING_VISIBLE\";\n TooltipStates[\"Dismissed\"] = \"DISMISSED\";\n})(TooltipStates || (TooltipStates = {}));\n\nvar TooltipEvents;\n\n(function (TooltipEvents) {\n TooltipEvents[\"Blur\"] = \"BLUR\";\n TooltipEvents[\"Focus\"] = \"FOCUS\";\n TooltipEvents[\"GlobalMouseMove\"] = \"GLOBAL_MOUSE_MOVE\";\n TooltipEvents[\"MouseDown\"] = \"MOUSE_DOWN\";\n TooltipEvents[\"MouseEnter\"] = \"MOUSE_ENTER\";\n TooltipEvents[\"MouseLeave\"] = \"MOUSE_LEAVE\";\n TooltipEvents[\"MouseMove\"] = \"MOUSE_MOVE\";\n TooltipEvents[\"Rest\"] = \"REST\";\n TooltipEvents[\"SelectWithKeyboard\"] = \"SELECT_WITH_KEYBOARD\";\n TooltipEvents[\"TimeComplete\"] = \"TIME_COMPLETE\";\n})(TooltipEvents || (TooltipEvents = {}));\n\nvar chart = {\n initial: TooltipStates.Idle,\n states: (_states = {}, _states[TooltipStates.Idle] = {\n enter: clearContextId,\n on: (_on = {}, _on[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on[TooltipEvents.Focus] = TooltipStates.Visible, _on)\n }, _states[TooltipStates.Focused] = {\n enter: startRestTimer,\n leave: clearRestTimer,\n on: (_on2 = {}, _on2[TooltipEvents.MouseMove] = TooltipStates.Focused, _on2[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on2[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on2[TooltipEvents.Blur] = TooltipStates.Idle, _on2[TooltipEvents.Rest] = TooltipStates.Visible, _on2)\n }, _states[TooltipStates.Visible] = {\n on: (_on3 = {}, _on3[TooltipEvents.Focus] = TooltipStates.Focused, _on3[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on3[TooltipEvents.MouseLeave] = TooltipStates.LeavingVisible, _on3[TooltipEvents.Blur] = TooltipStates.LeavingVisible, _on3[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on3[TooltipEvents.SelectWithKeyboard] = TooltipStates.Dismissed, _on3[TooltipEvents.GlobalMouseMove] = TooltipStates.LeavingVisible, _on3)\n }, _states[TooltipStates.LeavingVisible] = {\n enter: startLeavingVisibleTimer,\n leave: function leave() {\n clearLeavingVisibleTimer();\n clearContextId();\n },\n on: (_on4 = {}, _on4[TooltipEvents.MouseEnter] = TooltipStates.Visible, _on4[TooltipEvents.Focus] = TooltipStates.Visible, _on4[TooltipEvents.TimeComplete] = TooltipStates.Idle, _on4)\n }, _states[TooltipStates.Dismissed] = {\n leave: function leave() {\n clearContextId();\n },\n on: (_on5 = {}, _on5[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on5[TooltipEvents.Blur] = TooltipStates.Idle, _on5)\n }, _states)\n};\n/*\n * Chart context allows us to persist some data around, in Tooltip all we use\n * is the id of the current tooltip being interacted with.\n */\n\nvar state = {\n value: chart.initial,\n context: {\n id: null\n }\n}; ////////////////////////////////////////////////////////////////////////////////\n// Subscriptions:\n//\n// We could require apps to render a <TooltipProvider> around the app and use\n// React context to notify Tooltips of changes to our state machine, instead\n// we manage subscriptions ourselves and simplify the Tooltip API.\n//\n// Maybe if default context could take a hook (instead of just a static value)\n// that was rendered at the root for us, that'd be cool! But it doesn't.\n\nvar subscriptions = [];\n\nfunction subscribe(fn) {\n subscriptions.push(fn);\n return function () {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n}\n\nfunction notify() {\n subscriptions.forEach(function (fn) {\n return fn(state);\n });\n} ////////////////////////////////////////////////////////////////////////////////\n// Timeouts:\n// Manages when the user \"rests\" on an element. Keeps the interface from being\n// flashing tooltips all the time as the user moves the mouse around the screen.\n\n\nvar restTimeout;\n\nfunction startRestTimer() {\n window.clearTimeout(restTimeout);\n restTimeout = window.setTimeout(function () {\n send({\n type: TooltipEvents.Rest\n });\n }, MOUSE_REST_TIMEOUT);\n}\n\nfunction clearRestTimer() {\n window.clearTimeout(restTimeout);\n} // Manages the delay to hide the tooltip after rest leaves.\n\n\nvar leavingVisibleTimer;\n\nfunction startLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n leavingVisibleTimer = window.setTimeout(function () {\n return send({\n type: TooltipEvents.TimeComplete\n });\n }, LEAVE_TIMEOUT);\n}\n\nfunction clearLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n} // allows us to come on back later w/o entering something else first after the\n// user leaves or dismisses\n\n\nfunction clearContextId() {\n state.context.id = null;\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * useTooltip\n *\n * @param params\n */\n\n\nfunction useTooltip(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n idProp = _ref.id,\n onPointerEnter = _ref.onPointerEnter,\n onPointerMove = _ref.onPointerMove,\n onPointerLeave = _ref.onPointerLeave,\n onPointerDown = _ref.onPointerDown,\n onMouseEnter = _ref.onMouseEnter,\n onMouseMove = _ref.onMouseMove,\n onMouseLeave = _ref.onMouseLeave,\n onMouseDown = _ref.onMouseDown,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onKeyDown = _ref.onKeyDown,\n disabled = _ref.disabled,\n forwardedRef = _ref.ref,\n DEBUG_STYLE = _ref.DEBUG_STYLE;\n\n var id = String(useId(idProp));\n\n var _React$useState = useState(DEBUG_STYLE ? true : isTooltipVisible(id, true)),\n isVisible = _React$useState[0],\n setIsVisible = _React$useState[1]; // hopefully they always pass a ref if they ever pass one\n\n\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var triggerRect = useRect(ownRef, {\n observe: isVisible\n });\n useEffect(function () {\n return subscribe(function () {\n setIsVisible(isTooltipVisible(id));\n });\n }, [id]);\n useCheckStyles(\"tooltip\");\n useEffect(function () {\n var ownerDocument = getOwnerDocument(ownRef.current);\n\n function listener(event) {\n if ((event.key === \"Escape\" || event.key === \"Esc\") && state.value === TooltipStates.Visible) {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n ownerDocument.addEventListener(\"keydown\", listener);\n return function () {\n return ownerDocument.removeEventListener(\"keydown\", listener);\n };\n }, []);\n useDisabledTriggerOnSafari({\n disabled: disabled,\n isVisible: isVisible,\n ref: ownRef\n });\n\n function wrapMouseEvent(theirHandler, ourHandler) {\n // Use internal MouseEvent handler only if PointerEvent is not supported\n if (typeof window !== \"undefined\" && \"PointerEvent\" in window) {\n return theirHandler;\n }\n\n return composeEventHandlers(theirHandler, ourHandler);\n }\n\n function wrapPointerEventHandler(handler) {\n return function onPointerEvent(event) {\n // Handle pointer events only from mouse device\n if (event.pointerType !== \"mouse\") {\n return;\n }\n\n handler(event);\n };\n }\n\n function handleMouseEnter() {\n send({\n type: TooltipEvents.MouseEnter,\n id: id\n });\n }\n\n function handleMouseMove() {\n send({\n type: TooltipEvents.MouseMove,\n id: id\n });\n }\n\n function handleMouseLeave() {\n send({\n type: TooltipEvents.MouseLeave\n });\n }\n\n function handleMouseDown() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.MouseDown\n });\n }\n }\n\n function handleFocus() {\n // @ts-ignore\n if (window.__REACH_DISABLE_TOOLTIPS) {\n return;\n }\n\n send({\n type: TooltipEvents.Focus,\n id: id\n });\n }\n\n function handleBlur() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.Blur\n });\n }\n }\n\n function handleKeyDown(event) {\n if (event.key === \"Enter\" || event.key === \" \") {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n var trigger = {\n // The element that triggers the tooltip references the tooltip element with\n // `aria-describedby`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip\n \"aria-describedby\": isVisible ? makeId(\"tooltip\", id) : undefined,\n \"data-state\": isVisible ? \"tooltip-visible\" : \"tooltip-hidden\",\n \"data-reach-tooltip-trigger\": \"\",\n ref: ref,\n onPointerEnter: composeEventHandlers(onPointerEnter, wrapPointerEventHandler(handleMouseEnter)),\n onPointerMove: composeEventHandlers(onPointerMove, wrapPointerEventHandler(handleMouseMove)),\n onPointerLeave: composeEventHandlers(onPointerLeave, wrapPointerEventHandler(handleMouseLeave)),\n onPointerDown: composeEventHandlers(onPointerDown, wrapPointerEventHandler(handleMouseDown)),\n onMouseEnter: wrapMouseEvent(onMouseEnter, handleMouseEnter),\n onMouseMove: wrapMouseEvent(onMouseMove, handleMouseMove),\n onMouseLeave: wrapMouseEvent(onMouseLeave, handleMouseLeave),\n onMouseDown: wrapMouseEvent(onMouseDown, handleMouseDown),\n onFocus: composeEventHandlers(onFocus, handleFocus),\n onBlur: composeEventHandlers(onBlur, handleBlur),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n };\n var tooltip = {\n id: id,\n triggerRect: triggerRect,\n isVisible: isVisible\n };\n return [trigger, tooltip, isVisible];\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tooltip\n *\n * @see Docs https://reach.tech/tooltip#tooltip\n */\n\n\nvar Tooltip = /*#__PURE__*/forwardRef(function (_ref2, forwardedRef) {\n var children = _ref2.children,\n label = _ref2.label,\n DEPRECATED_ariaLabel = _ref2.ariaLabel,\n id = _ref2.id,\n DEBUG_STYLE = _ref2.DEBUG_STYLE,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var child = Children.only(children);\n process.env.NODE_ENV !== \"production\" ? warning(!DEPRECATED_ariaLabel, \"The `ariaLabel prop is deprecated and will be removed from @reach/tooltip in a future version of Reach UI. Please use `aria-label` instead.\") : void 0; // We need to pass some properties from the child into useTooltip\n // to make sure users can maintain control over the trigger's ref and events\n\n var _useTooltip = useTooltip({\n id: id,\n onPointerEnter: child.props.onPointerEnter,\n onPointerMove: child.props.onPointerMove,\n onPointerLeave: child.props.onPointerLeave,\n onPointerDown: child.props.onPointerDown,\n onMouseEnter: child.props.onMouseEnter,\n onMouseMove: child.props.onMouseMove,\n onMouseLeave: child.props.onMouseLeave,\n onMouseDown: child.props.onMouseDown,\n onFocus: child.props.onFocus,\n onBlur: child.props.onBlur,\n onKeyDown: child.props.onKeyDown,\n disabled: child.props.disabled,\n ref: child.ref,\n DEBUG_STYLE: DEBUG_STYLE\n }),\n trigger = _useTooltip[0],\n tooltip = _useTooltip[1];\n\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/cloneElement(child, trigger), /*#__PURE__*/createElement(TooltipPopup, _extends({\n ref: forwardedRef,\n label: label,\n \"aria-label\": DEPRECATED_ariaLabel\n }, tooltip, props)));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Tooltip.displayName = \"Tooltip\";\n Tooltip.propTypes = {\n children: PropTypes.node.isRequired,\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TooltipPopup\n *\n * @see Docs https://reach.tech/tooltip#tooltippopup\n */\n\n\nvar TooltipPopup = /*#__PURE__*/forwardRef(function TooltipPopup(_ref3, forwardRef) {\n var label = _ref3.label,\n DEPRECATED_ariaLabel = _ref3.ariaLabel,\n isVisible = _ref3.isVisible,\n id = _ref3.id,\n props = _objectWithoutPropertiesLoose(_ref3, _excluded2);\n\n return isVisible ? /*#__PURE__*/createElement(Portal, null, /*#__PURE__*/createElement(TooltipContent, _extends({\n ref: forwardRef,\n label: label,\n \"aria-label\": DEPRECATED_ariaLabel,\n isVisible: isVisible\n }, props, {\n id: makeId(\"tooltip\", String(id))\n }))) : null;\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TooltipPopup.displayName = \"TooltipPopup\";\n TooltipPopup.propTypes = {\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string,\n position: PropTypes.func\n };\n}\n/**\n * TooltipContent\n *\n * We need a separate component so that useRect works inside the portal.\n *\n * @see Docs https://reach.tech/tooltip#tooltipcontent\n */\n\n\nvar TooltipContent = /*#__PURE__*/forwardRef(function TooltipContent(_ref4, forwardedRef) {\n var ariaLabel = _ref4.ariaLabel,\n realAriaLabel = _ref4[\"aria-label\"],\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"div\" : _ref4$as,\n id = _ref4.id,\n isVisible = _ref4.isVisible,\n label = _ref4.label,\n _ref4$position = _ref4.position,\n position = _ref4$position === void 0 ? positionTooltip : _ref4$position,\n style = _ref4.style,\n triggerRect = _ref4.triggerRect,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded3);\n\n // The element that serves as the tooltip container has role tooltip.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip When an app passes\n // an `aria-label`, we actually want to implement `role=\"tooltip\"` on a\n // visually hidden element inside of the trigger. In these cases we want the\n // screen reader user to know both the content in the tooltip, but also the\n // content in the badge. For screen reader users, the only content announced\n // to them is whatever is in the tooltip.\n var hasAriaLabel = (realAriaLabel || ariaLabel) != null;\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var tooltipRect = useRect(ownRef, {\n observe: isVisible\n });\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Comp, _extends({\n role: hasAriaLabel ? undefined : \"tooltip\"\n }, props, {\n ref: ref,\n \"data-reach-tooltip\": \"\",\n id: hasAriaLabel ? undefined : id,\n style: _extends({}, style, getStyles(position, triggerRect, tooltipRect))\n }), label), hasAriaLabel && /*#__PURE__*/createElement(VisuallyHidden, {\n role: \"tooltip\",\n id: id\n }, realAriaLabel || ariaLabel));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TooltipContent.displayName = \"TooltipContent\";\n TooltipContent.propTypes = {};\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction getStyles(position, triggerRect, tooltipRect) {\n var haventMeasuredTooltipYet = !tooltipRect;\n\n if (haventMeasuredTooltipYet) {\n return {\n visibility: \"hidden\"\n };\n }\n\n return position(triggerRect, tooltipRect);\n} // Default offset from the trigger (e.g., if the tooltip is positioned above,\n// there will be 8px between the bottom of the tooltip and the top of the trigger).\n// It feels awkward when it's perfectly aligned w/ the trigger\n\n\nvar OFFSET_DEFAULT = 8;\nvar positionTooltip = function positionTooltip(triggerRect, tooltipRect, offset) {\n if (offset === void 0) {\n offset = OFFSET_DEFAULT;\n }\n\n var _getDocumentDimension = getDocumentDimensions(),\n windowWidth = _getDocumentDimension.width,\n windowHeight = _getDocumentDimension.height;\n\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n\n var collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n right: windowWidth < triggerRect.left + tooltipRect.width,\n bottom: windowHeight < triggerRect.bottom + tooltipRect.height + offset,\n left: triggerRect.left - tooltipRect.width < 0\n };\n var directionRight = collisions.right && !collisions.left;\n var directionUp = collisions.bottom && !collisions.top;\n return {\n left: directionRight ? triggerRect.right - tooltipRect.width + window.pageXOffset + \"px\" : triggerRect.left + window.pageXOffset + \"px\",\n top: directionUp ? triggerRect.top - offset - tooltipRect.height + window.pageYOffset + \"px\" : triggerRect.top + offset + triggerRect.height + window.pageYOffset + \"px\"\n };\n};\n/**\n * This is a workaround for using tooltips with disabled controls in Safari.\n * Safari fires `pointerenter` but does not fire `pointerleave`, and\n * `onPointerEventLeave` added to the trigger element will not work.\n *\n * TODO: We may remove or modiify this behavior in a future version. Direction\n * from WAI-ARIA needed for guidance on handling disabled triggers. Tooltips\n * must be accessible by keyboard, and disabled form controls are generally\n * excluded from the tab sequence.\n *\n * @see https://github.com/reach/reach-ui/issues/564\n * @see https://github.com/w3c/aria-practices/issues/128#issuecomment-588625727\n */\n\nfunction useDisabledTriggerOnSafari(_ref5) {\n var disabled = _ref5.disabled,\n isVisible = _ref5.isVisible,\n ref = _ref5.ref;\n useEffect(function () {\n if (!(typeof window !== \"undefined\" && \"PointerEvent\" in window) || !disabled || !isVisible) {\n return;\n }\n\n var ownerDocument = getOwnerDocument(ref.current);\n\n function handleMouseMove(event) {\n if (!isVisible) {\n return;\n }\n\n if (event.target instanceof Element && event.target.closest(\"[data-reach-tooltip-trigger][data-state='tooltip-visible']\")) {\n return;\n }\n\n send({\n type: TooltipEvents.GlobalMouseMove\n });\n }\n\n ownerDocument.addEventListener(\"mousemove\", handleMouseMove);\n return function () {\n ownerDocument.removeEventListener(\"mousemove\", handleMouseMove);\n };\n }, [disabled, isVisible, ref]);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Send an event to our state machine to find the next state from the current\n * state + action.\n *\n * It also manages lifecycles of the machine, (enter/leave hooks on the state\n * chart)\n *\n * @param event\n * @param payload\n */\n\n\nfunction send(event) {\n var _transition = transition(state, event),\n value = _transition.value,\n context = _transition.context,\n changed = _transition.changed;\n\n if (changed) {\n state = {\n value: value,\n context: context\n };\n notify();\n }\n}\n\nfunction transition(currentState, event) {\n var stateDef = chart.states[currentState.value];\n var nextState = stateDef && stateDef.on && stateDef.on[event.type]; // Really useful for debugging\n // console.log({ event, state, nextState, contextId: context.id });\n // !nextState && console.log(\"no transition taken\");\n\n if (!nextState) {\n return _extends({}, currentState, {\n changed: false\n });\n }\n\n if (stateDef && stateDef.leave) {\n stateDef.leave(currentState.context, event);\n }\n\n event.type;\n var payload = _objectWithoutPropertiesLoose(event, _excluded4); // TODO: Use actions instead of directly setting context\n\n\n var context = _extends({}, state.context, payload);\n\n var nextStateValue = typeof nextState === \"string\" ? nextState : nextState.target;\n var nextDef = chart.states[nextStateValue];\n\n if (nextDef && nextDef.enter) {\n nextDef.enter(currentState.context, event);\n }\n\n return {\n value: nextStateValue,\n context: context,\n changed: true\n };\n}\n\nfunction isTooltipVisible(id, initial) {\n return state.context.id === id && (initial ? state.value === TooltipStates.Visible : state.value === TooltipStates.Visible || state.value === TooltipStates.LeavingVisible);\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Tooltip;\nexport { LEAVE_TIMEOUT, MOUSE_REST_TIMEOUT, Tooltip, TooltipPopup, positionTooltip, useTooltip };\n","import { getOwnerDocument } from '../../owner-document/dist/reach-utils-owner-document.esm.js';\nimport '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n var _ownerDocument$docume, _ownerDocument$docume2;\n\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n };\n}\n\nexport { getDocumentDimensions };\n"],"sourceRoot":""}
1
+ {"version":3,"file":"browser.js","mappings":"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2U,UAAU,+BACb,wBAAC,UAAD,CACEuP,KAAMqB,EAAWxR,EAAU,gCAG9BwR,GAAYvvB,KAAKwvB,sBAGpB,+BACE1zB,IAAK,SAACuI,GAAD,OAAW,EAAKgsB,iBAAmBhsB,GACxCsa,UAAS,6CACTO,QAASlf,KAAK4vB,qBAEd,kCACE9zB,IAAK,SAACuI,GAAD,OAAW,EAAK+rB,gBAAkB/rB,GACvCsa,UAAS,6BAER3U,EACD,gCAAM2U,UAAU,aACd,+BAAKwL,cAAY,OAAO5B,UAAU,SAChC,wBAAC,EAAA6I,YAAD,WArCZ,OAAO,+BAAKp1B,GAAG,8BArLfszB,CAA2BxO,EAAAA,WAqOjCwO,EAAmB9P,UAAY,CAC7BtC,OAAQuC,EAAAA,QAAUyP,MAAM,CACtBnR,QAAS0B,EAAAA,QAAUyP,MAAM,CACvBnR,QAAS0B,EAAAA,QAAUC,OACnB1V,MAAOyV,EAAAA,QAAUC,OACjBwR,MAAOzR,EAAAA,QAAUC,OACjBqR,YAAatR,EAAAA,QAAUI,UAK7ByP,EAAmBxP,aAAe,CAChC5C,OAAQ,CACNa,QAAS,CACPA,QAAS,KACT/T,MAAO,SACPknB,MAAO,OACPH,aAAa,gBAKJ,IAAAM,eAAc/B,EAAoB,CAC/Clf,QAAS,EACTb,IAAK,uBACLqb,iBAAkB,sBAClB0G,qBAAsB,CAAC,gBAAiB,eACxCzG,eAAgB,gfClQlB,IAAM0G,EAAqB,CACzB,IACA,OACA,UACA,UACA,QACA,IACA,aACA,KACA,SACA,UACA,OACA,OACA,MACA,WACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,KACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,QACA,MACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,UACA,SACA,QACA,SACA,OACA,SACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,MACA,UACA,SACA,IACA,QAIIC,EAA2B,CAC/B,IAAK,CACH,SACA,MACA,SACA,eACA,OACA,QACA,OACA,UACA,SACA,WACA,WACA,WACA,MACA,UACA,SACA,SACA,OACA,WACA,KACA,OACA,OACA,MACA,YACA,YACA,QACA,SACA,MACA,WACA,OACA,aACA,OACA,UACA,cACA,WACA,MACA,WACA,WACA,OACA,UACA,UACA,QACA,SACA,WACA,OACA,QACA,OACA,aACA,MACA,SACA,QACA,OACA,QACA,UACA,WACA,SACA,QACA,OACA,QACA,QACA,OACA,OACA,SACA,gBACA,IACA,SACA,UACA,IACA,IACA,KACA,KACA,IACA,QACA,cACA,aACA,UACA,sBACA,sBAIEC,EAAmB,SAAC,GAKpB,QAJJvD,KAAAA,OAII,MAJG,SAIH,MAHJwD,gBAAAA,OAGI,MAHc,KAGd,MAFJC,YAAAA,OAEI,MAFUJ,EAEV,MADJK,kBAAAA,OACI,MADgBJ,EAChB,EACEK,EAAYF,EAAYG,QAAO,SAAClR,EAAKmR,GAEzC,OADAnR,EAAImR,GAAOH,EAAkB,KACtBhR,IACN,IACGoR,GAAgB,aAAI9D,EAAM,CAAE2D,UAAAA,IAClC,OACE,mCACOH,GAAmB,CAAE/S,UAAW+S,GADvC,CAEEO,wBAAyB,CAAEC,OAAQF,OAKzCP,EAAiBjS,UAAY,CAC3B0O,KAAMzO,EAAAA,QAAUC,OAChBgS,gBAAiBjS,EAAAA,QAAUC,OAC3BiS,YAAalS,EAAAA,QAAUuB,MACvB4Q,kBAAmBnS,EAAAA,QAAUuB,iBAGhByQ,0YChMMU,EAQnB,WAAYhd,GAAS,WACnB,IAAAkM,QACE,wBAAC,UAAD,CACE+Q,cAAejd,EAAQid,cACvBC,eAAgBld,EAAQkd,eACxBhE,WAAYlZ,EAAQkZ,aAEtBlZ,EAAQmM,wBAfO6Q,42DCIrB,IAAMG,EAAqB,IAENC,EAAAA,SAAAA,qBAKnB,WAAY9xB,GAAO,wBACjB,cAAMA,IAEDktB,gBAAkB,EAAKA,gBAAgBhvB,KAArB,MACvB,EAAKivB,iBAAmB,EAAKA,iBAAiBjvB,KAAtB,MACxB,EAAK6zB,eAAiB,EAAKA,eAAe7zB,KAApB,MACtB,EAAK8zB,QAAU,EAAKA,QAAQ9zB,KAAb,MACf,EAAK+zB,WAAa,EAAKA,WAAW/zB,KAAhB,MAClB,EAAKg0B,iBAAmB,EAAKA,iBAAiBh0B,KAAtB,MACxB,EAAKi0B,cAAgB,EAAKA,cAAcj0B,KAAnB,MACrB,EAAKk0B,aAAe,EAAKA,aAAal0B,KAAlB,MACpB,EAAKm0B,YAAc,EAAKA,YAAYn0B,KAAjB,MACnB,EAAKo0B,WAAa,EAAKA,WAAWp0B,KAAhB,OAEU,IAAxB8B,EAAM2xB,cACR,EAAKrwB,MAAQ,CACX2rB,WAAW,EACXsF,WAAW,IAGb,EAAKjxB,MAAQ,CACX2rB,WAAW,EACXsF,WAAW,GAGb,EAAKN,cAzBU,0CAkCnB,SAAe9kB,GACb,IAAIqlB,EAAS,KAEb,GAAIrlB,EAAQ9N,eAAe,mBAAqB8N,EAAQwX,eAAgB,CAItE,IAAQ8N,GAAQ,aAAUtlB,EAAQwX,gBAA1B8N,IACRD,EAAS,IAAIjZ,KAAW,IAANkZ,GAGpB,OAAOD,6BAGT,SAAYA,GACNA,EACEjzB,KAAK2yB,iBAAiBM,GACxBjzB,KAAK2tB,kBACI3tB,KAAK4yB,cAAcK,KAC5BjzB,KAAKyyB,UACLU,cAAcnzB,KAAKozB,kBAGrBD,cAAcnzB,KAAKozB,2CAIvB,WAAa,WACLxlB,EAAUkM,EAAAA,QAAOtB,MAAMpc,SAAS0d,QAEtC,GAAIlM,EAAQ9N,eAAe,mBAAqB8N,EAAQwX,eAAgB,CACtE,IAAMiO,EAAYC,EAAAA,QAAMD,UAAU,CAChCE,QAAS,EACTC,OAAQ,EACRC,WAAY,IACZC,WAAY,MAGdL,EAAUM,SAAQ,YAChB,aAAS/lB,EAAQwX,gBACdxT,KAAK,EAAKkhB,aADb,OAES,SAACj0B,GACFw0B,EAAUC,MAAMz0B,KAIpBs0B,cAAc,EAAKC,iBAEnB,EAAKQ,mBAAqB1tB,WAAW,EAAKusB,QAAS,MACnD,EAAKlS,SAAS,CACZmN,WAAW,EACXsF,WAAW,sCAYvB,WACEG,cAAcnzB,KAAKozB,iBAEnBpzB,KAAKozB,gBAAkBS,YAAY7zB,KAAK+yB,WAAYT,mCAQtD,SAAiBW,GACf,GAAsB,iBAAXA,EAAqB,CAC9B,IAAMa,EAAcb,EAAS,GAE7B,OAAQjzB,KAAK+B,MAAM2rB,WAAaoG,GAAe9zB,KAAKS,MAAM4xB,eAE1D,OACGryB,KAAK+B,MAAM2rB,WACZ1tB,KAAK6yB,aAAaI,IAAWjzB,KAAKS,MAAM4xB,4CAU9C,SAAcY,GACZ,MAAsB,iBAAXA,EACFA,GAAU,EAEVjzB,KAAK6yB,aAAaI,IAAW,8BASxC,SAAaA,GACX,OAAQA,GAAS,IAAIjZ,MAAO+Z,WAAa,mCAM3C,WACE/zB,KAAKugB,SAAS,CACZmN,WAAW,EACXsF,WAAW,oCAOf,WACEhzB,KAAKugB,SAAS,CACZmN,WAAW,EACXsF,WAAW,kCAOf,WAAiB,YACf,aAAe,CACbtwB,OACAsxB,UAAW,WACT,EAAKtB,gBAIT1yB,KAAK4tB,0CAMP,WACM5tB,KAAK4zB,oBACP3tB,aAAajG,KAAK4zB,qBAEpB,aAAclxB,QACd1C,KAAK4tB,yCAGP,WACE,OACE,wBAAC,UAAMpjB,SAAP,KACE,wBAAC,UAAD,CACEof,iBAAe,EACf9K,MAAM,4CACNZ,OAAQle,KAAK+B,MAAM2rB,UACnB5D,QAAS,CACPhL,MAAO,oBACPI,QAASlf,KAAKwyB,gBAEhBzI,UAAW,CACTjL,MAAO,kBACPI,QAASlf,KAAKyyB,SAEhB5I,eAAgB7pB,KAAK4tB,kBAErB,uIAMF,wBAAC,UAAD,CACEhE,iBAAe,EACf9K,MAAM,yBACNZ,OAAQle,KAAK+B,MAAMixB,UACnBlJ,QAAS,CACPhL,MAAO,WACPI,QAASlf,KAAKyyB,SAEhB5I,eAAgB7pB,KAAKyyB,SAErB,kMAlOWF,CAAwBzR,EAAAA,qBAAxByR,EA6OrBA,EAAgB/S,UAAY,CAC1B4S,cAAe3S,EAAAA,QAAUI,KACzBwS,eAAgB5S,EAAAA,QAAUrJ,OAC1BiY,WAAY5O,EAAAA,QAAUC,QAGxB6S,EAAgBzS,aAAe,CAC7BsS,eAAe,EACfC,eAAgB,EAChBhE,gBAAYnrB,8QChQd,IAAM+wB,EAAsB,SAACC,GAC3B,OAAOA,EAAmB,uBAAyB,IAG/CC,EAAiB,SAAC,GAAuD,IAArDC,EAAqD,EAArDA,QAASzV,EAA4C,EAA5CA,UAAW/jB,EAAiC,EAAjCA,SAAUs5B,EAAuB,EAAvBA,iBACtD,OACE,+BACEvV,UAAS,0CAAqCA,GAAa,WAAlD,OACPyV,EAAU,yBAA2B,wBAD9B,YAELH,EAAoBC,KAEvBt5B,IAKPu5B,EAAe3U,UAAY,CACzB5kB,SAAU6kB,EAAAA,QAAUxgB,KACpB0f,UAAWc,EAAAA,QAAUC,OACrB0U,QAAS3U,EAAAA,QAAUI,KACnBqU,iBAAkBzU,EAAAA,QAAUI,gBAGfsU,k6DCrBf,IAAME,EAAQ,IACRC,EAAS,IACTC,EAASC,KAAKC,IAAIJ,EAAOC,GAAU,EACnCI,EAAY,IAEZC,EAAa,SAAC,GAAiD,IAW/DC,EACAC,EAZgBxQ,EAA+C,EAA/CA,gBAAiByQ,EAA8B,EAA9BA,UAAWC,EAAmB,EAAnBA,aAChD,KAAkC,IAAA55B,WAAS,GAA3C,GAAO65B,EAAP,KAAkBC,EAAlB,KACA,KAAwC,IAAA95B,UAAS,CAC/C+5B,QAAS,mBACTC,IAAK,sBACLC,GAAI,6BACJC,GAAI,yBACJC,KAAM,SALR,GAAOC,EAAP,KAAqBC,EAArB,KAQQC,EAAeX,EAAfW,WAIFC,EAAwB,WACxBrR,EAAkB,MACpBmR,EAAgB,EAAD,KAAMD,GAAN,IAAoBJ,IAAK,iCAItCQ,EAAqB,SAACzM,EAAM0M,GAC3B1M,IAKDxmB,OAAOwpB,MACTxpB,OAAOwpB,KAAK2J,MAAM,OAAQ,CACxB1J,kBAAmB,aACnBC,gBAAiB,OAAF,OAASwJ,GACxBvJ,eAAgBuJ,IAIhBb,EACFA,EAAa7L,GAEbxmB,OAAO6Y,SAASV,KAAOqO,IAIrB4M,EAAO,SAAChB,GACZ,IAAMiB,GAAW,IAAAC,OAAMC,KAAK,MAGtBR,EAAaX,EAAUW,WAAW74B,QACtC,sBAAGs5B,mBAICC,EAAcV,EACjB7U,KAAI,qBAAGsV,mBACPpE,QAAO,SAACsE,EAAK76B,GAAN,OAAkB66B,EAAM76B,KAElC,GAAK46B,EAAL,EAIA,IAAAE,QAAO,gBAAgBC,UAAU,KAAKjc,SAEtC,IASI9L,EATEgoB,GAAM,IAAAF,QAAO,gBAChBG,KAAK,QAASnC,GACdmC,KAAK,SAAUlC,GAEZmC,GAAW,IAAAC,OACdC,YAAYpC,EAAS,KACrBqC,YAAYrC,EAAS,IAIxB,GAA0B,IAAtBkB,EAAWj5B,OACb+R,EAAO,QACF,GAA0B,IAAtBknB,EAAWj5B,OAAc,CAClC,MAAmCi5B,EAAW,GAAtCz4B,EAAR,EAAQA,MACRuR,EAAO,CAACvR,GAAS,EADjB,EAAek5B,gBACuBl5B,QAEtCuR,EAAOknB,EACJ7U,KAAI,gBAAG5jB,EAAH,EAAGA,MAAH,MAAgC,CACnCA,GAAS,EADN,EAAUk5B,gBAEKl5B,EAClB03B,GAAayB,EAAc,SAE5BrE,QAAO,SAAC9vB,EAAGC,GAAJ,OAAUD,EAAE0S,OAAOzS,KAAI,IAGnCs0B,EAAIM,OAAO,SAASL,KAAK,KAAM,WAAWM,KAAK,yBAE/CP,EACGM,OAAO,QACPL,KAAK,KAAM,UACXM,KAHH,UAGWhC,EAAUiC,WAHrB,gBAMA,IAAIC,EAAOT,EACRM,OAAO,KACPL,KAAK,QAAS,QACdA,KAAK,OAAQ,gBACbF,UAAU,SACV/nB,KAAKwnB,EAASxnB,IACd7I,QACAmxB,OAAO,KACPL,KAAK,SAAS,SAAChT,EAAGlmB,GACjB,IAAI8N,EAQJ,OANEA,EADE9N,EAAI,GAAM,EACL,SACEA,EAAI,GAAM,EACZ,QAEA,cAET,cAAcm4B,EAAWwB,SAAS35B,EAAI,IAAIc,KAA1C,YAAkDgN,MAEnDorB,KAAK,YAnBG,oBAmBuBjC,EAnBvB,aAmBkCA,EAnBlC,MAqBRiC,KAAK,YAAY,SAAChT,EAAGlmB,GACpB,IAAI45B,GAAY,EAIhB,OAHI55B,EAAI,GAAM,IACZ45B,EAAW,GAENA,KAGRV,KAAK,aAAa,SAAChT,EAAGlmB,GACrB,GAAIA,EAAI,GAAM,EACZ,OAAO,KAIVsI,GAAG,SAAS,SAAC4d,EAAGlmB,GAEf,GAAa,MADAiC,EAAAA,MAAM43B,SAAW53B,EAAAA,MAAM63B,OACnB,CACf,MAAuB3B,EAAWwB,SAAS35B,EAAI,IAAvCc,EAAR,EAAQA,KAAM8qB,EAAd,EAAcA,KACdyM,EAAmBzM,EAAM9qB,OAI5BwH,GAAG,SAAS,SAAC4d,EAAGlmB,GACf,MAAuBm4B,EAAWwB,SAAS35B,EAAI,IAAvCc,EAAR,EAAQA,KAAM8qB,EAAd,EAAcA,KACdyM,EAAmBzM,EAAM9qB,MAI7B44B,EAAKH,OAAO,QAAQC,MAAK,SAACtT,EAAGlmB,GAC3B,GAAIA,EAAI,GAAM,EAAG,CACf,MAAyCm4B,EAAWwB,SAAS35B,EAAI,IAAzDc,EAAR,EAAQA,KAAMpB,EAAd,EAAcA,MAAOk5B,EAArB,EAAqBA,gBACrB,gBAAUX,EAAan3B,GAAvB,YAAgCpB,EAAhC,mBAAgDk5B,OAIpDc,EACGH,OAAO,QACPL,KAAK,IAAKC,GAEV7wB,GAAG,aAAa,SAAC4d,EAAGlmB,GACnB,MAAyCm4B,EAAWwB,SAAS35B,EAAI,IAAzDc,EAAR,EAAQA,KAAMpB,EAAd,EAAcA,MAAOk5B,EAArB,EAAqBA,iBACrB,IAAAG,QAAO,kBACJ71B,MAAM,UAAW,GACjBs2B,KAFH,UAEWvB,EAAan3B,GAFxB,YAEiCpB,EAFjC,YAE0Ck5B,OAG3CtwB,GAAG,aAAa,YACf,IAAAywB,QAAO,kBACJ71B,MAAM,MAAOjB,EAAAA,MAAM83B,QAAU/C,EAAS,GAAK,MAC3C9zB,MAAM,OAAQjB,EAAAA,MAAM+3B,QAAU,SAGlC1xB,GAAG,YAAY,YACd,IAAAywB,QAAO,kBAAkB71B,MAAM,UAAW,MAI9C,IAAMs2B,EAAOP,EACVM,OAAO,KACPL,KAAK,cAAe,UACpBA,KAAK,YAHK,oBAGqBnC,EAAQ,EAH7B,aAGmCC,EAAS,EAH5C,MAMbwC,EACGD,OAAO,QACPL,KAAK,IAAK,GACVA,KAAK,QAAS,eACdM,KAAKhC,EAAUiC,YAGlBD,EACGD,OAAO,QACPL,KAAK,IAAK,IACVA,KAAK,QAAS,kBACdM,KAAK,gBAGJS,EAAe,WACnBtC,GAAcD,IA+ChB,OA5CA,IAAA1sB,YAAU,WACJwsB,MAAAA,GAAAA,EAAWiC,aACbjB,EAAKhB,GACLY,OAED,CAACZ,MAAAA,OAAD,EAACA,EAAWiC,aAEX/B,GACFJ,EACE,kCAAQjW,UAAU,OAAO7jB,KAAK,SAASikB,eAAa,QAApD,cAEE,+BACEJ,UAAU,qBACVwL,cAAY,OACZ5B,UAAU,SAEV,+BAAKxF,UAAU,oBAIrB8R,EAASY,EAAW7U,KAAI,WAAyCvd,GAAU,IAAhDjF,EAAgD,EAAhDA,KAAMpB,EAA0C,EAA1CA,MAAOk5B,EAAmC,EAAnCA,gBAAiBhN,EAAkB,EAAlBA,KACvD,OACE,8BAAIrpB,IAAKzB,EAAMugB,UAAU,eACvB,kCAAQO,QAAS,kBAAMyW,EAAmBzM,EAAM9qB,KAC9C,gCAAMugB,UAAS,4BAAuBvgB,KADxC,IAGE,gCAAMugB,UAAU,qBAAqB4W,EAAan3B,IAHpD,IAKE,gCAAMugB,UAAU,qBAAhB,UAAwC3hB,EAAxC,YAAiDk5B,UAMzDtB,EACE,kCAAQ95B,KAAK,SAASikB,eAAa,SAAnC,cAEE,+BAAKJ,UAAU,aAAawL,cAAY,OAAO5B,UAAU,SACvD,+BAAKxF,UAAU,oBAOrB,+BAAKpE,UAAU,SACb,+BAAKA,UAAU,cAAc4J,UAAU,UACvC,+BAAK5J,UAAU,sBACf,+BAAKA,UAAU,uBAAuBO,QAASqY,GAC5C3C,GAEH,8BAAIjW,UAAU,gBAAgBkW,KAKpCF,EAAWnV,UAAY,CACrBsV,UAAWrV,EAAAA,QAAU+X,OACrBzC,aAActV,EAAAA,QAAU0G,KACxB9B,gBAAiB5E,EAAAA,QAAUrJ,kBAGdue,iRCzQNA,WAAAA,EAAAA,olCC6BT,IAAM8C,EAAU,SAACloB,GAAD,aACb,SACE+V,EAAAA,aAAeoS,EAAAA,eADjB,IAEEC,EAAAA,YAAcC,EAAAA,UAFhB,IAGE/R,EAAAA,UAAYgS,EAAAA,iBAHd,IAIErS,EAAAA,oBAAsBsS,EAAAA,sBAJxB,IAKEC,EAAAA,iBAAmBC,EAAAA,cALrB,IAMEpS,EAAAA,eAAiBqS,EAAAA,iBANnB,IAOEC,EAAAA,4BAA8BC,EAAAA,0BAPhC,IAQC,cAAeC,EAAAA,iBARhB,IASC,8BAA+BA,EAAAA,iBAThC,IAUC,+BAAgCC,EAAAA,aAVjC,IAWC,qBAAsBC,EAAAA,oBAXvB,IAYC,4BAA6BN,EAAAA,cAZ9B,IAaC,kCAAmCO,EAAAA,YAbpC,IAcC,kBAAmBC,EAAAA,gBAdpB,GAeCjpB,IAAQ,MAENkpB,EAAkB,SAAC,GAInB,MAHJzY,EAGI,EAHJA,WAGI,IAFJ9R,OAAU6mB,GAEN,aAFoC,GAEpC,GAFMA,aAAc2D,EAEpB,EAFoBA,YACxBC,EACI,EADJA,gBAEA,EAOI7e,EAAAA,QAAOtB,MAAMpc,SAAS0d,QANxB4K,EADF,EACEA,uBACAkU,EAFF,EAEEA,sBACAC,EAHF,EAGEA,eACAC,EAJF,EAIEA,mBACAlU,EALF,EAKEA,oCACAQ,EANF,EAMEA,eAGEhnB,EAAO,GACX,GAAIgnB,EAAgB,CAClB,OAAgC,aAAUA,GAAlCD,EAAR,EAAQA,UAAW4T,EAAnB,EAAmBA,SACnB36B,EAAO,GAAH,OAAM+mB,EAAN,YAAmB4T,GAGzB,IAAMtU,EAA+C,SAA3BC,EACpBsU,EAA2C,SAA1BJ,EAEjBK,EAAuC,SAAvBH,EAChBnU,EACoC,SAAxCC,EAEIsU,EAAYlZ,EAAa,cAAgB,iBACzCjC,EAN8B,SAAnB8a,EAMUF,MAAAA,OAAH,EAAGA,EAAiBQ,OAASR,MAAAA,OAA7B,EAA6BA,EAAe,QAG9DS,GAAe,OAClB9T,EAAAA,aAAeb,GADG,IAElBkT,EAAAA,YAAclT,GAFI,IAGnB,+BAAgCuU,GAHb,IAIlBxT,EAAAA,oBAAsBb,GAJJ,IAKlBoT,EAAAA,iBAAmBtT,GALD,IAMlByT,EAAAA,4BAA8BzT,GANZ,IASnB,qBAAsBwU,GATH,IAUnB,kBAAmBA,GAVA,GAafI,EAAWtb,EAAQ+T,QAAO,SAACwH,EAAKpQ,GACpC,IAAQ3Z,EAAgD2Z,EAAhD3Z,IAAKvF,EAA2Ckf,EAA3Clf,MAAO2U,EAAoCuK,EAApCvK,UAAW4a,EAAyBrQ,EAAzBqQ,YAAgBnK,EAA/C,EAAwDlG,EAAxD,GAGA,GAAI3Z,KAAO6pB,IAAoBA,EAAgB7pB,GAC7C,OAAO+pB,EAGT,IAAME,EAAgB/B,EAAQloB,GACxBkqB,EAAOD,EAAgB,wBAACA,EAAD,MAAoB,KAC3CE,EAAc,CAClBnqB,IAAAA,EACAvF,MAAAA,EACA+qB,aAAAA,EACApW,UAAWA,EAAY,GAAH,OAAMua,EAAN,YAAmBva,GAAcua,GAGvD,EAA2Bx2B,OAAO6Y,SAA1BF,EAAR,EAAQA,SAAUH,EAAlB,EAAkBA,KAkClB,OAhCEqe,IACCle,IAAa9L,GACZgqB,EAAYl3B,MACV,SAAC+mB,GAAD,OACE/N,IAAa+N,EAAQ7Z,KAAO,UAAG8L,GAAH,OAAcH,KAAWkO,EAAQ7Z,QAGnE+pB,EAAI/2B,KACF,wBAAC,EAAAo3B,cAAD,GACE95B,IAAG,qBAAgB0P,EAAhB,YAAuBvF,GAC1B4vB,SAAUH,EACVF,YAAaA,EACbvZ,WAAYA,EACZ6Z,cAAc,EACdC,eAAa,EACbC,cAAY,GACRL,EACAtK,KAIRkK,EAAI/2B,KACF,wBAAC,EAAAy3B,cAAD,GACEn6B,IAAG,mBAAc0P,EAAd,YAAqBvF,GACxBiwB,KAAMR,EACNf,YAAaA,EACblY,UAAWR,GACP0Z,EACAtK,KAIHkK,IACN,IAEH,OACE,+BAAK3a,UAAU,mBACb,wBAAC,UAAD,CAAgByV,QAASpU,GACvB,8BAAIrB,UAAU,SAASvgB,IAEzB,+BAAKugB,UAAU,gCACb,wBAAC,EAAAub,iBAAD,CAAkBX,YAAaF,OAMvCZ,EAAgBjZ,UAAY,CAC1BQ,WAAYP,EAAAA,QAAUI,KACtB3R,OAAQuR,EAAAA,QAAU+X,OAClBmB,gBAAiBlZ,EAAAA,QAAUyP,MAAM,CAC/BiL,QAAS1a,EAAAA,QAAU2a,QAAQ3a,EAAAA,QAAU+X,QACrC2B,OAAQ1Z,EAAAA,QAAU2a,QAAQ3a,EAAAA,QAAU+X,QACpC6C,OAAQ5a,EAAAA,QAAU2a,QAAQ3a,EAAAA,QAAU+X,qBAIzBiB,8hBC/If,IAAM6B,EAAuB,CAAC,OAAQ,QAEhCC,EAAkB,SAAC,GAuBnB,IAtBJva,EAsBI,EAtBJA,WACA8U,EAqBI,EArBJA,UACA0F,EAoBI,EApBJA,mBAoBI,IAnBJtsB,OAmBI,gBADA,GACA,GAlBFusB,YAAAA,OAkBE,SAjBFC,EAiBE,EAjBFA,qBACA3F,EAgBE,EAhBFA,aACA4F,EAeE,EAfFA,WACAC,EAcE,EAdFA,WACAC,EAaE,EAbFA,aACAC,EAYE,EAZFA,YACAC,EAWE,EAXFA,YACAC,EAUE,EAVFA,qBACAC,EASE,EATFA,KACAC,EAQE,EARFA,SACA7W,EAOE,EAPFA,gBACA8W,EAME,EANFA,kBACAC,EAKE,EALFA,wBACA1C,EAIE,EAJFA,YACA2C,EAGE,EAHFA,UACAC,EAEE,EAFFA,MAGIpC,EAAYlZ,EAAa,cAAgB,iBAC3Cub,EAAQ,GAEZ,GAAIH,EAAyB,CAC3B,IAAMI,EAAgB,qDACtBD,EAAMh5B,KACJ,wBAAC,EAAAk5B,cAAD,CACExB,KAAM,wBAAC,EAAAyB,eAAD,MACN/c,UAAWua,EACXlvB,MAAM,kBACN2xB,qBAAsBH,EACtBhb,UAAWR,SAGV,CACL,IAAM4b,EAAYZ,EACd,kBACA,0BACArV,EAAQ,GAENkW,EACgB,SAApBxX,GAAkD,SAApBA,GAA+B6W,EAEzDN,EAAa,IAAMM,EADnBN,EAGFJ,IAAuBO,IACzBpV,EAAQ,CACN,CACEpW,IAAK,GAAF,OAAKqW,EAAAA,eAAL,sBAAiCiW,EAAjC,aACH7xB,MAAOixB,EAAO,0BAA4B,2BAC1CtV,MAAO,CACL,CACEpW,IAAK,GAAF,OAAKqW,EAAAA,eAAL,sBAAiCiW,EAAjC,YACH7xB,MAAO,oBAET,CACEuF,IAAK,GAAF,OAAKqW,EAAAA,eAAL,sBAAiCiW,EAAjC,QACH7xB,MAAO,8BAET,CACEuF,IAAK,GAAF,OAAKqW,EAAAA,eAAL,sBAAiCiW,EAAjC,OACH7xB,MAAO,8BAMjBuxB,EAAMh5B,KACJ,wBAAC,EAAAo3B,cAAD,CACE95B,IAAI,4BACJk6B,cAAY,EACZxqB,IACGyrB,EAAD,UAEOnV,EAAAA,UAFP,YAEoB+U,EAFpB,8BACOtV,EAAAA,cAGTtF,WAAYA,EACZ8Z,cAAeY,EACfd,SAAU,wBAAC,EAAAlC,cAAD,MACV/Y,UAAWua,EACXlvB,MAAO4xB,EACP7G,aAAcA,EACdwE,aACGyB,GAAwB,CACvB,CACEhxB,MAAOixB,EACH,uCACAF,EACA,oCACA,gCACJpV,MAAOA,IAIb5d,WAAUizB,MAIXD,GAAmC,SAApB1W,GAA8B8W,IAC5CJ,IACCE,IACAD,GACDV,EAAqBz5B,QAAQwjB,IAAoB,IAEnDkX,EAAMh5B,KACJ,wBAAC,EAAAy3B,cAAD,CACEn6B,IAAI,4BACJo6B,KAAM,wBAAC,EAAArC,SAAD,MACNjZ,UAAWua,EACX3pB,KAAK,IAAAgW,wBACH4V,GAAyC,SAApB9W,EACjBA,EACA,QAENra,MAAM,uBACN+qB,aAAcA,EACdvU,UAAWR,EACX0Y,YAAaA,KAMrB,OACE,+BAAK/Z,UAAU,mBACb,wBAAC,UAAD,CAAgByV,QAASpU,GACvB,wBAAC,EAAAga,cAAD,CACEC,KAAM,wBAAC,EAAAhC,gBAAD,MACN1oB,IAAKqW,EAAAA,eACL5b,MAAM,eACNwW,UAAWR,EACXrB,UAAU,oBACVoW,aAAcA,EACd2D,YAAaA,IAEf,oCAEF,wBAAC,UAAD,CAAgBtE,QAASpU,EAAYrB,UAAW,WAC9C,wBAAC,EAAAmd,gBAAD,GACEjB,aAAcA,GACRC,EAAmB,CAAEA,YAAAA,GAAP,GACdC,EAAmB,CAAEA,YAAAA,GAAP,GACdE,EAAY,CAAEA,KAAAA,GAAP,GACPI,EAAiB,CAAEA,UAAAA,GAAP,GACZC,EAAa,CAAEA,MAAAA,GAAP,KAEhB,oCAEF,+BAAK3c,UAAU,gCACb,wBAAC,EAAAub,iBAAD,CAAkBX,YAAagC,IAC/B,wBAAC,UAAD,CAAgBnH,QAASpU,GAAcya,EAAa9b,UAAU,SAC5D,mCACE,mCACA,+BAAKA,UAAU,eACb,6BAAGA,UAAU,SAAb,qBACA,6BAAGA,UAAU,cACX,+BAAKA,UAAU,YAAYwL,cAAY,QACrC,wBAAC,EAAA4R,cAAD,OAFJ,qBAKE,+BAAKpd,UAAU,aAAawL,cAAY,QACtC,wBAAC,EAAA6R,YAAD,QAGHrB,GACC,6BAAGhc,UAAU,aAAb,kBAAyCgc,IAG7C,wBAAC,EAAAhG,WAAD,CAAYG,UAAWA,EAAWC,aAAcA,SAQ5DwF,EAAgB/a,UAAY,CAC1BQ,WAAYP,EAAAA,QAAUI,KACtB3R,OAAQuR,EAAAA,QAAU+X,OAClB1C,UAAWrV,EAAAA,QAAU+X,OACrBgD,mBAAoB/a,EAAAA,QAAUI,gBAGjB0a,0TCpNN9B,gBAAAA,EAAAA,UAAiB8B,gBAAAA,EAAAA,kRCA1B,IAAM0B,EAAoB,SAAC,GAAsC,IAApCC,EAAoC,EAApCA,eAAgBC,EAAoB,EAApBA,cAC3C,OACE,+BAAKxd,UAAU,wBACb,8BAAIA,UAAU,mBAAmBud,GACjC,6BAAGvd,UAAU,kBAAb,QAAoCwd,KAK1CF,EAAkBzc,UAAY,CAC5B0c,eAAgBzc,EAAAA,QAAUC,OAC1Byc,cAAe1c,EAAAA,QAAUC,kBAGZuc,6QCdf,IAAMH,EAAkB,SAAC,GAOnB,IANJjB,EAMI,EANJA,aACAC,EAKI,EALJA,YACAC,EAII,EAJJA,YACAE,EAGI,EAHJA,KACAI,EAEI,EAFJA,UACAC,EACI,EADJA,MAEA,SAASc,IACP,OAAIf,EACK,6BAAG1c,UAAU,gBAAb,YAAsC0c,GACpCC,EACF,6BAAG3c,UAAU,gBAAb,WAAqC2c,GACnCP,EACF,6BAAGpc,UAAU,gBAAb,kBAA4Coc,GAC1CE,EACF,6BAAGtc,UAAU,gBAAb,UAAoCsc,GAClCH,EACF,6BAAGnc,UAAU,gBAAb,QAAkCmc,QAEzC,EAIJ,OACE,+BAAKnc,UAAU,sBACb,8BAAIA,UAAU,iBAAiBkc,GAAgB,qBAC9CuB,MAKPN,EAAgBtc,UAAY,CAC1Bqb,aAAcpb,EAAAA,QAAUC,OACxBob,YAAarb,EAAAA,QAAUC,OACvBqb,YAAatb,EAAAA,QAAUC,OACvBub,KAAMxb,EAAAA,QAAUC,OAChB2b,UAAW5b,EAAAA,QAAUC,OACrB4b,MAAO7b,EAAAA,QAAUC,kBAGJoc,2TCzCNG,kBAAAA,EAAAA,UAAmBH,gBAAAA,EAAAA,uSCE5B,IAAMO,EAAgB,SAAC,GAAiC,IAA/BtH,EAA+B,EAA/BA,aAAcxlB,EAAiB,EAAjBA,IAAKvF,EAAY,EAAZA,MAC1C,OACE,+BAAK2U,UAAU,oBACb,6BACE9D,KAAMtL,EACN2P,QAAS,SAACxG,GAAD,OAAO,IAAA4jB,kBAAiB5jB,EAAGqc,EAAc/qB,IAClD2U,UAAU,eAEV,+BAAKA,UAAU,oBACb,+BAAKA,UAAU,QACb,wBAAC,EAAA4d,eAAD,MACA,8DAEF,oCAAOvyB,IAET,+BAAK2U,UAAU,oBACb,+BACEA,UAAU,0BACVwL,cAAY,OACZ5B,UAAU,SAEV,wBAAC,EAAAiU,aAAD,WAQZH,EAAc7c,UAAY,CACxBuV,aAActV,EAAAA,QAAU0G,KACxB5W,IAAKkQ,EAAAA,QAAUC,OACf1V,MAAOyV,EAAAA,QAAUC,kBAGJ2c,8RCpCf,IAAMZ,EAAgB,SAACh7B,GACrB,IACE8O,EAQE9O,EARF8O,IACAosB,EAOEl7B,EAPFk7B,qBACAhd,EAMEle,EANFke,UACAsb,EAKEx5B,EALFw5B,KACAjwB,EAIEvJ,EAJFuJ,MACAyyB,EAGEh8B,EAHFg8B,SACAjc,EAEE/f,EAFF+f,UACAzY,EACEtH,EADFsH,SAII20B,EAAY,IAAIviB,OAAJ,UADDwhB,GAAwBpsB,EACvB,QACZoK,EAAOjX,OAAO6Y,SAASV,MAAQnY,OAAO6Y,SAASV,KAAKe,MAAM,KAAK,GAC/D+gB,EAAchjB,GAAQA,EAAKO,MAAMwiB,GAEvC,OACE,+BACE/d,UAAS,UAAKA,EAAL,YAAkB8d,GAAYE,EAAc,SAAW,GAAvD,YACP50B,EAAW,WAAa,IAE1B8W,aAAY7U,GAEZ,+BACE2U,UAAS,oBAAe5W,EAAW,WAAa,IAChDoiB,cAAY,OACZ5B,UAAU,SAET0R,GAEH,wBAAC,UAAD,CAAgB7F,QAAS5T,GACvB,gCAAMvB,SAAS,MAAMjV,MAM7ByxB,EAAcjc,UAAY,CACxBmc,qBAAsBlc,EAAAA,QAAUC,OAChCnQ,IAAKkQ,EAAAA,QAAUC,OACff,UAAWc,EAAAA,QAAUC,OACrBua,KAAMxa,EAAAA,QAAUtjB,QAChB6N,MAAOyV,EAAAA,QAAUC,OACjB+c,SAAUhd,EAAAA,QAAUI,KACpBW,UAAWf,EAAAA,QAAUI,KACrB9X,SAAU0X,EAAAA,QAAUI,gBAGP4b,stCClDf,IAAMvB,EAAmB,SAAC,GAAoC,IAAlCX,EAAkC,EAAlCA,YAAaqD,EAAqB,EAArBA,eACvC,KAAoC,IAAAzhC,UAAS,MAA7C,GAAO0hC,EAAP,KAAmBC,EAAnB,KAEMC,EAAe,SAACC,EAAKj1B,GACrBA,GAAY60B,GAChBE,EAAcE,IAGhB,OACE,mCACE,mCACIzD,GAAe,IAAI3Y,KAAI,SAACsI,EAAM8T,GAAP,OACvB,8BACEn9B,IAAKm9B,EAAI//B,WACTiiB,QAAS,kBAAM6d,EAAaC,EAAK9T,EAAKzoB,MAAMsH,YAE3Ck1B,EAAAA,QAAMxyB,aAAaye,EAAM,CAAEuT,SAAUI,IAAeG,WAQjE9C,EAAiB1a,UAAY,CAC3B+Z,YAAa9Z,EAAAA,QAAUuB,MACvB4b,eAAgBnd,EAAAA,QAAU0G,MAG5B+T,EAAiBpa,aAAe,CAC9ByZ,YAAa,KACbqD,eAAgB,gBAGH1C,i8CC/Bf,IAAMP,EAAgB,SAAC,GAoBjB,IAnBJhb,EAmBI,EAnBJA,UACA5W,EAkBI,EAlBJA,SACAgyB,EAiBI,EAjBJA,aACA/Z,EAgBI,EAhBJA,WACA2F,EAeI,EAfJA,MACA3b,EAcI,EAdJA,MACA4vB,EAaI,EAbJA,SACAgD,EAYI,EAZJA,eACA7H,EAWI,EAXJA,aACAwE,EAUI,EAVJA,YACAO,EASI,EATJA,cACAoD,EAQI,EARJA,UACAC,EAOI,EAPJA,cACAtD,EAMI,EANJA,aACAtqB,EAKI,EALJA,IACA6tB,EAII,EAJJA,cACAlJ,EAGI,EAHJA,iBACAmJ,EAEI,EAFJA,4BACAC,EACI,EADJA,0BAEA,KAA4B,IAAAniC,UAAS2+B,GAArC,GAAO5b,EAAP,KAAeqf,EAAf,KAEMC,EAAe,WACnB,IAAKxd,GAAuC,mBAAlBmd,EAGxB,OAFAA,SACAI,GAAU,GAIPxD,GAAiBhyB,GACpBw1B,GAAWrf,IAITuf,EAAe,SAACvU,EAAM/C,GAC1B,MAAoB,mBAATA,EACFA,EAAK+C,GAEPxmB,OAAO6Y,SAASV,KAAKha,QAAQqoB,EAAK3Z,KAAO,GAe5CotB,EAZgB,SAAhBe,EAAiBxU,EAAM0T,GAC3B,IAAMe,EAAczU,EAAKvD,OAASuD,EAAKqQ,YACvC,SAAIrQ,EAAK3Z,MAAOkuB,EAAavU,EAAM0T,KAIjCe,GACAA,EAAYt7B,MAAK,SAACumB,GAAD,OAAU8U,EAAc9U,EAAMgU,MAK/Bc,CAClB,CAAE/X,MAAAA,EAAO4T,YAAAA,EAAahqB,IAAAA,GACtBqtB,GAEIgB,EAAgBjB,EAAc,WAAa,GAE3CkB,EAAiB,SAACjE,GACtB,GAAIA,EACF,OAAQ,+BACNjb,UAAS,mBAAcob,EAAe,eAAiB,IACvD5P,cAAY,OACZ5B,UAAU,SAETqR,IAKD3F,EAAsB,SAACC,GAC3B,OAAOA,EAAmB,uBAAyB,IAG/C4J,EAAiB,SAAC5J,GACtB,OAAOA,EAAmB,uBAAyB,IAG/C6J,EAAgC,SAACV,GACrC,OAAOA,EAA8B,uBAAyB,IAG1DW,EAAyB,SAACC,EAAsBje,GACpD,OAAOie,IAAyBje,EAAa,uBAAyB,IAGlEke,EAAiB,SAACd,GACtB,OAAOA,GAAiBpd,EAAa,YAAc,IAG/Cme,EAA6B,SAACb,GAClC,OAAOA,EAA4B,+BAAiC,IAGhEc,EAAoB,SAACd,GACzB,OAAOA,EAA4B,sBAAwB,KAG7D,IAAAh1B,YAAU,WACJP,GACFw1B,GAAU,GAERxD,GACFwD,EAAUxD,KAEX,IAIH,IAAMsE,EAA+B,SAA/BA,EAAgChF,GAA6B,IAAnB1a,EAAmB,uDAAP,GAC1D,OACE0a,GACAA,EAASzY,KAAI,SAACsI,GACZ,MAAkB,YAAdA,EAAKpuB,KAEL,wBAAC,UAAD,CAAgBs5B,SAAS,GACvB,oCAMJ,8BACEv0B,IAAKqpB,EAAKlf,MACV2U,UACE8e,EAAavU,EAAM0T,GAAnB,sBACmBje,GACfA,GAGLuK,EAAK3Z,IACJ,6BACEsL,KAAMqO,EAAK3Z,IACX2P,QAAS,SAACxG,GAAD,OAAO,IAAA4jB,kBAAiB5jB,EAAGqc,EAAc7L,EAAKlf,QACvDiV,SAAUf,EAAS,IAAM,KACzBqE,sBAAoB,aACpBC,oBAAA,cACE0G,EAAKlf,MAAQkf,EAAKlf,MAAM4R,MAAM,KAAK9e,KAAK,IAAM,IAEhD2lB,mBAAkByG,EAAKlf,MACvBrK,OAAO,SAENupB,EAAKlf,OAGR,mCAAMkf,EAAKlf,OAEZkf,EAAKvD,OAASuD,EAAKvD,MAAMnpB,OAAS,GACjC,8BAAI2tB,eAAcjM,GACfmgB,EAA6BnV,EAAKvD,MAAO,oBASxD,OACE,+BAAKhH,UAAWkb,EAAe,4BAA8B,eAC3D,oCACE3a,QAASse,GACHzD,EAA4C,GAA7B,CAAE,eAAgB7b,GAFzC,CAGEe,SAAS,IACTJ,aAAY7U,GACP+vB,GAAgBhyB,EACjB,CAAEA,SAAUgyB,GAAgBhyB,GAC5B,GAPN,CAQE4W,UAAS,UAAKA,EAAL,YAAkBif,EAAlB,YAAmCM,EAAed,GAAlD,YAAoEU,EAAe5J,GAAnF,sBACNyI,EAAc,cAAgB,GADxB,YAC8BoB,EAA8BV,GAD5D,sBAENW,EAAuBX,EAA6Brd,MAEvD,+BAAKrB,UAAWqB,EAAa,YAAc,uBACxC6d,EAAejE,GAChB,wBAAC,UAAD,CAAgBxF,QAASpU,GACvB,oCAAOhW,KAGVgW,IAAe+Z,GACd,+BACEpb,UAAS,UAAKT,EAAS,qBAAuB,cAC9CqK,UAAU,QACV4B,cAAY,QAEX+S,IAIP,wBAAC,UAAD,CAAgB9I,QAASpU,GACvB,+BACErB,UAAS,UAAKge,EAAc,cAAgB,GAAnC,YACPze,IAAWnW,EAAW,cAAgB,SAD/B,YAELksB,EAAoBC,GAFf,YAEoCiK,EAA2Bb,KAExE,8BAAInT,eAAcjM,GACfqb,GACC8E,EAA6B9E,EAAD,sBAA6B6E,EAAkBd,UAQzF3D,EAAcna,UAAY,CACxBQ,WAAYP,EAAAA,QAAUI,KACtBka,aAActa,EAAAA,QAAUI,KACxBia,cAAera,EAAAA,QAAUI,KACzBlB,UAAWc,EAAAA,QAAUC,OACrBwd,UAAWzd,EAAAA,QAAUtjB,QACrBy9B,SAAUna,EAAAA,QAAUtjB,QACpB6N,MAAOyV,EAAAA,QAAUC,OACjBkd,eAAgBnd,EAAAA,QAAU0G,KAC1B4O,aAActV,EAAAA,QAAU0G,KACxBoT,YAAa9Z,EAAAA,QAAUuB,MACvBjZ,SAAU0X,EAAAA,QAAUI,KACpBsd,cAAe1d,EAAAA,QAAU0G,KACzB0T,aAAcpa,EAAAA,QAAUI,KACxB8F,MAAOlG,EAAAA,QAAU+X,OACjBjoB,IAAKkQ,EAAAA,QAAUC,OACf0d,cAAe3d,EAAAA,QAAUI,KACzBqU,iBAAkBzU,EAAAA,QAAUI,KAC5Bwd,4BAA6B5d,EAAAA,QAAUI,KACvCyd,0BAA2B7d,EAAAA,QAAUI,gBAGxB8Z,ivCCrOf,IAAMK,EAAgB,SAAC,GAYjB,IAXJzqB,EAWI,EAXJA,IACAosB,EAUI,EAVJA,qBACAhd,EASI,EATJA,UACAsb,EAQI,EARJA,KACAjwB,EAOI,EAPJA,MACAyyB,EAMI,EANJA,SACAjc,EAKI,EALJA,UACAuU,EAII,EAJJA,aACAhtB,EAGI,EAHJA,SACA2wB,EAEI,EAFJA,YACA/4B,EACI,EADJA,OAGM+8B,EAAY,IAAIviB,OAAJ,UADDwhB,GAAwBpsB,EACvB,QACZoK,EAAOjX,OAAO6Y,SAASV,MAAQnY,OAAO6Y,SAASV,KAAKe,MAAM,KAAK,GAC/D+gB,EAAchjB,GAAQA,EAAKO,MAAMwiB,GACjC4B,EAASrB,EAAAA,QAAMjiC,SACrB,KAAsC,IAAAG,WAAS,GAA/C,GAAOojC,EAAP,KAAoBC,EAApB,KACMC,EAAaxB,EAAAA,QAAMjiC,SAiCzB,OA/BAiiC,EAAAA,QAAM30B,WAAU,WACd,IAAKkY,GAAakY,GAAe4F,EAAO/iC,QAAS,CAC/C,IAAMmjC,EAAqBJ,EAAO/iC,QAAQojC,YACpCC,EAAmBN,EAAO/iC,QAAQsjC,WAExCP,EAAO/iC,QAAQojC,YAAc,WAC3B,GAAIF,EAAWljC,SAAWm9B,EAAa,CACrC,IAAMoG,EAAYR,EAAO/iC,QAAQ4G,wBACjCs8B,EAAWljC,QAAQiF,MAAM6L,IAAzB,UAAkCyyB,EAAUzyB,IAAM,EAAlD,MACAoyB,EAAWljC,QAAQiF,MAAM4zB,QAAU,QAEH,mBAAvBsK,GACTA,KAIJJ,EAAO/iC,QAAQsjC,WAAa,WACtBJ,EAAWljC,UACbkjC,EAAWljC,QAAQiF,MAAM4zB,QAAU,QAEL,mBAArBwK,GACTA,KAGJJ,GAAe,GAEbhe,GACFge,GAAe,KAEhB,CAACF,EAAO/iC,QAASilB,IAGlB,wBAAC,UAAMhW,SAAP,KACE,6BACEqQ,KAAM9S,OAAW7E,EAAYqM,EAC7B2P,QAAS,SAACxG,GAAD,OAAO,IAAA4jB,kBAAiB5jB,EAAGqc,EAAc/qB,IAClD2U,UAAS,UAAKA,EAAL,YAAkBge,GAAeF,EAAW,SAAW,GAAvD,YACP10B,EAAW,WAAa,IAE1Bwa,sBAAoB,aACpBC,oBAAA,cAA0BxY,EAAQA,EAAM4R,MAAM,KAAK9e,KAAK,IAAM,IAC9D2lB,mBAAkBzY,EAClB6U,aAAY7U,EACZrK,OAAM,UAAKA,GAAkB,UAE7B,+BACEgf,UAAS,oBAAe5W,EAAW,WAAa,IAChDoiB,cAAY,OACZ5B,UAAU,QACVzsB,IAAKwiC,GAEJrE,GAEH,wBAAC,UAAD,CAAgB7F,QAAS5T,GACvB,gCAAMvB,SAAS,MAAMjV,KAGxBu0B,GACC,+BAAKziC,IAAK2iC,EAAY9f,UAAU,mBAC9B,gCAAMA,UAAU,wBAAwB3U,MAOlDgwB,EAAcxa,UAAY,CACxBmc,qBAAsBlc,EAAAA,QAAUC,OAChCnQ,IAAKkQ,EAAAA,QAAUC,OACff,UAAWc,EAAAA,QAAUC,OACrBua,KAAMxa,EAAAA,QAAUtjB,QAChB6N,MAAOyV,EAAAA,QAAUC,OACjB+c,SAAUhd,EAAAA,QAAUI,KACpBW,UAAWf,EAAAA,QAAUI,KACrBkV,aAActV,EAAAA,QAAU0G,KACxBpe,SAAU0X,EAAAA,QAAUI,KACpB6Y,YAAajZ,EAAAA,QAAUI,KACvBlgB,OAAQ8f,EAAAA,QAAUC,kBAGLsa,uRCtGf,IAAM+E,EAAgB,SAAC,GAAqD,IAAnDC,EAAmD,EAAnDA,WAAYC,EAAuC,EAAvCA,YAAajf,EAA0B,EAA1BA,WAAYd,EAAc,EAAdA,QACtDggB,EAAgBlf,EAAa,gBAAkB,cAC/Cmf,EAAWH,EAAa,YAAc,GAE5C,OACE,kCACElkC,KAAK,SACL+jB,aAAA,mBACEmB,EAAa,WAAa,SAD5B,qBAGAlkB,IAAKmjC,EACLtgB,UAAS,UAAKugB,EAAL,YAAsBC,GAC/BjgB,QAASA,GAET,+BAAKP,UAAU,YAAYwL,cAAY,OAAO5B,UAAU,SACrDvI,EAAa,wBAAC,EAAAof,YAAD,MAAkB,wBAAC,EAAAC,UAAD,OAElC,oCAAOrf,EAAa,WAAa,YAKvC+e,EAAcvf,UAAY,CACxBwf,WAAYvf,EAAAA,QAAUI,KACtBof,YAAaxf,EAAAA,QAAU+X,OACvBxX,WAAYP,EAAAA,QAAUI,KACtBX,QAASO,EAAAA,QAAU0G,gBAGN4Y,0ZC1Bb7E,iBAAAA,EAAAA,UACAP,cAAAA,EAAAA,UACAK,cAAAA,EAAAA,UACA+E,cAAAA,EAAAA,UACAtD,cAAAA,EAAAA,0WCKU6D,EAAAA,EAAAA,iyDAKZ,IAAMC,EAAY,SAAC,GAab,IAZJzK,EAYI,EAZJA,UACA5mB,EAWI,EAXJA,OACAsxB,EAUI,EAVJA,aACAR,EASI,EATJA,WACAhf,EAQI,EARJA,WACA2F,EAOI,EAPJA,MACA8Z,EAMI,EANJA,YACAC,EAKI,EALJA,WACArb,EAII,EAJJA,gBACAmW,EAGI,EAHJA,mBACAmF,EAEI,EAFJA,SACAziB,EACI,EADJA,OAEA,KAA8C,IAAA/hB,UAAS6kB,GAAvD,GAAO4f,EAAP,KAAwBC,EAAxB,KACA,KAAoC,IAAA1kC,UAASwqB,GAA7C,GAAOma,EAAP,KAAmBC,EAAnB,KACA,KAAkD,IAAA5kC,UAASqkC,GAA3D,GAAOQ,EAAP,KAA0BC,EAA1B,KAEMhB,GAAc,IAAAjkC,QAAO,MAErBklC,EAAS,WACbL,GAAmB,GACfH,GACFA,KAIES,EAAW,WACfN,GAAmB,GACfJ,GACFA,KAIEvf,EAAiB,WACrB0f,EAAkBO,IAAaD,KAG3BE,EAAkB,WACtB,MACE,CACElZ,EACE,wBAAC,EAAAqT,gBAAD,CACEC,mBAAoBA,EACpBxa,WAAY4f,EACZ9K,UAAWA,EACX5mB,OAAQA,KAGZ8xB,IACA,wBAAC,EAAAvH,gBAAD,CACEE,gBAAiBzb,MAAAA,OAAF,EAAEA,EAAQa,QACzBiC,WAAY4f,EACZ1xB,OAAQA,KA0KV6P,EAAU+hB,EApKU,SAApBO,EAAqBC,EAAc3hB,EAAW4hB,GAClD,IAAQ7F,EACNxsB,EADMwsB,qBAAsBkC,EAC5B1uB,EAD4B0uB,eAAgB7H,EAC5C7mB,EAD4C6mB,aAAc2D,EAC1DxqB,EAD0DwqB,YAEtDQ,EAAY0G,EAAkB,cAAgB,iBAC9CY,EAAuBD,GAAe,EAEtCE,EAAiB,SAACxG,GACtB,IAAMnZ,EAAYwe,EAAcrF,GAChC,OAAOnZ,EAAY,wBAACA,EAAD,MAAgB,MAG/BmT,EAAsB,SAACC,GAC3B,OAAOA,EAAmB,8BAAgC,IAGtDwM,GAAeJ,GAAgB,IAAI1f,KAAI,SAACgI,EAAMvlB,GAClD,IAAMxD,EAAM,GAAH,OAAM0Y,KAAKI,UAAUiQ,GAArB,YAA8BvlB,EAA9B,YAAuCm9B,GAChD,MACE,CACEG,QACE,wBAAC,UAAD,CAAgBvM,QAASwL,EAAiB//B,IAAKA,EAAKq0B,iBAAkBtL,EAAKsL,kBACzE,8BAAIvV,UAAS,UAAKsV,EAAoBrL,EAAKsL,sBAG/C0M,UAAWP,EACTzX,EAAKjD,MACLiD,EAAKjK,UACL6hB,EAAuB,GAEzBK,SACE,wBAAC,UAAD,CAAgBzM,QAASwL,EAAiB//B,IAAKA,GAC7C,wBAAC,EAAAm6B,cAAD,CACErb,UAAU,YACVsb,KAAMwG,EAAe,eACrBlxB,IAAKqZ,EAAKrZ,IACVvF,MAAO4e,EAAK5e,MACZ+qB,aAAcA,EACdvU,WAAW,EACXkY,YAAaA,KAInBoI,SACE,wBAAC,UAAD,CAAgB1M,QAASwL,EAAiB//B,IAAKA,GAC7C,wBAAC,EAAAm6B,cAAD,CACErb,UAAU,oBACVsb,KAAMwG,EAAe7X,MAAAA,OAAD,EAACA,EAAMqR,MAC3B1qB,IAAKqZ,EAAKrZ,IACVvF,MAAO4e,EAAK5e,MACZ+qB,aAAcA,EACdvU,WAAW,EACXkY,YAAaA,KAInBqI,gBACE,wBAAC,UAAD,CACE3M,QAASwL,EACTjhB,UAAW,UACX9e,IAAKA,GAEL,wBAAC,EAAAi8B,gBAAD,GACEjB,aAAcjS,EAAKiS,cACbjS,EAAKkS,YAEP,CAAEA,YAAalS,EAAKkS,aADpB,GAEElS,EAAKmS,YAEP,CAAEA,YAAanS,EAAKmS,aADpB,GAEEnS,EAAKqS,KAAY,CAAEA,KAAMrS,EAAKqS,MAAlB,GACZrS,EAAKyS,UAAiB,CAAEA,UAAWzS,EAAKyS,WAAvB,GACjBzS,EAAK0S,MAAa,CAAEA,MAAO1S,EAAK0S,OAAnB,MAIzB0F,kBACE,wBAAC,UAAD,CAAgB5M,QAASwL,EAAiB//B,IAAKA,GAC7C,wBAAC,EAAAo8B,kBAAD,CACEC,eAAgBtT,EAAKsT,eACrBC,cAAevT,EAAKuT,iBAI1B8E,WACE,wBAAC,EAAAtH,cAAD,CACE95B,IAAKA,EACLmgB,WAAY4f,EACZ7F,aAAcnR,EAAKmR,aACnBD,cAAeY,EACfwC,UAAU,eACVtD,SAAU6G,EAAe7X,MAAAA,OAAD,EAACA,EAAMqR,MAC/Btb,UAAWua,EACXlvB,MAAO4e,EAAK5e,MACZ4yB,eAAgBA,EAChB7H,aAAcA,EACdwE,YAAa3Q,EAAKjD,MAClBpW,IAAKqZ,EAAKrZ,IACV4tB,cAAe+C,EACf9C,cAAexU,EAAKwU,cACpBlJ,iBAAkBtL,EAAKsL,iBACvBmJ,4BAA6BzU,EAAKyU,4BAClCC,0BAA2B1U,EAAK0U,4BAGpC4D,OACE,wBAAC,UAAD,CAAgB9M,QAASwL,EAAiB//B,IAAKA,GAC7C,wBAAC,UAAD,CACEquB,KAAMtF,EAAK7K,QACX2T,gBAAiB9I,EAAK8I,mBAI5BpsB,MACE,wBAAC,UAAD,CAAgB8uB,QAASwL,EAAiB//B,IAAKA,GAC7C,wBAAC,EAAA80B,WAAD,CACEG,UAAWlM,EAAKkM,UAChBC,aAAcA,EACd1Q,gBAAiBA,KAIvB8c,WACE,wBAAC,UAAD,CAAgB/M,QAASwL,EAAiB//B,IAAKA,GAC7C,wBAAC,UAAD,CACEk1B,aAAcA,EACd/qB,MAAO4e,EAAK5e,MACZuF,IAAKqZ,EAAKrZ,QAIhBqZ,EAAK9tB,OACL,wBAAC,EAAAk/B,cAAD,CACEn6B,IAAKA,EACLo6B,KAAMwG,EAAe7X,MAAAA,OAAD,EAACA,EAAMqR,MAC3Btb,UAAWiK,EAAKjK,UAAYiK,EAAKjK,UAAYua,EAC7C3pB,IAAKqZ,EAAKrZ,IACVvF,MAAO4e,EAAK5e,MACZ+qB,aAAcA,EACdvU,UAAWof,EACX73B,SAAU6gB,EAAK7gB,SACf2wB,YAAaA,EACb/4B,OAAQipB,EAAKjpB,YAMrB,MAAkB,mBAAdgf,EAEA,+BACEA,UAAU,iBACV9e,IAAG,6BAAwB0gC,IAE3B,wBAAC,EAAArG,iBAAD,CACEX,YAAamH,EACb9D,eAAgBA,KAKf,+BAAKje,UAAWA,GAAY+hB,GAKnCL,CACEP,EACA,mBAAqBd,EAAa,aAAe,KAEnDoB,IAcJ,OAZA,IAAA93B,YAAU,WACRu3B,EAAmB7f,KAClB,CAACA,KAEJ,IAAA1X,YAAU,WACR23B,EAAqBT,KACpB,CAACA,KAEJ,IAAAl3B,YAAU,WACRy3B,EAAcpa,KACb,CAACA,IAGF,iCACE3pB,GAAG,aACHijB,SAAS,KACTN,UAAS,UAAKihB,EAAkB,UAAY,iBAAnC,oBACP1xB,EAAOkzB,eAGT,wBAAC,UAAD,CAAW7K,IAAKoJ,IACf5hB,EACD,wBAAC,EAAAghB,cAAD,CACEC,WAAYA,EACZC,YAAaA,EACbjf,WAAY4f,EACZ1gB,QAASgB,MAMjBqf,EAAU/f,UAAY,CACpBggB,aAAc/f,EAAAA,QAAUrJ,OACxB4J,WAAYP,EAAAA,QAAUI,KACtB6f,WAAYjgB,EAAAA,QAAU0G,KACtBsZ,YAAahgB,EAAAA,QAAU0G,KACvB2O,UAAWrV,EAAAA,QAAU+X,OACrBtpB,OAAQuR,EAAAA,QAAU+X,OAClB7R,MAAOlG,EAAAA,QAAU+X,OACjBwH,WAAYvf,EAAAA,QAAUI,KACtB2a,mBAAoB/a,EAAAA,QAAUI,KAC9BwE,gBAAiB5E,EAAAA,QAAUC,OAC3BigB,SAAUlgB,EAAAA,QAAUC,OACpBxC,OAAQuC,EAAAA,QAAUyP,MAAM,CACtBnR,QAAS0B,EAAAA,QAAUyP,MAAM,CACvBiL,QAAS1a,EAAAA,QAAU2a,QAAQ3a,EAAAA,QAAU+X,QACrC2B,OAAQ1Z,EAAAA,QAAU2a,QAAQ3a,EAAAA,QAAU+X,QACpC6C,OAAQ5a,EAAAA,QAAU2a,QAAQ3a,EAAAA,QAAU+X,aAK1C+H,EAAUzf,aAAe,CACvB0f,aAAc,EACdxf,YAAY,EACZ0f,WAAY,aACZD,YAAa,aACb3K,UAAW,GACX5mB,OAAQ,GACRyX,MAAO,KACPqZ,YAAY,EACZxE,oBAAoB,EACpBnW,gBAAiB,OACjBsb,SAAU0B,EAAAA,QACVnkB,OAAQ,CACNa,QAAS,CACPoc,QAAS,GACThB,OAAQ,GACRkB,OAAQ,iBAKC,IAAAhJ,eAAckO,EAAW,CACtCnvB,QAAS,EACTb,IAAK,0BACLqb,iBAAkB,sBAClBC,eAAAA,EAAAA,yRCvUO0U,UAAAA,EAAAA,uICFT,IAAM3Z,EAAiB,oBACjBN,EAAe,kBACfO,EAAY,sBACZ8R,EAAc,GAAH,OAAM/R,EAAN,aACXJ,EAAsB,GAAH,OAAMI,EAAN,sBACnBmS,EAAmB,GAAH,OAAMnS,EAAN,YAChBsS,EAA8B,GAAH,OAAMtS,EAAN,2BAE3BL,EAAyB,SAAClB,GAC9B,OAAIA,EACF,UAAUsT,EAAV,YAAyBtT,GAElBsT,GAILlS,EAA0B,SAACpB,GAC/B,gBAAU6T,EAAV,YAAyC7T,IAGrCiY,EAAmB,SAAC5jB,EAAG4oB,EAAsBt3B,GAAU,QAC3D,GAAIs3B,EAAsB,CACxB,MAAmC5oB,EAAEyU,cAA7B9R,EAAR,EAAQA,SAAUH,EAAlB,EAAkBA,KAAMD,EAAxB,EAAwBA,OACxBvC,EAAE6N,iBACF7N,EAAEsU,kBACFsU,EAAqB,GAAD,OAAIjmB,GAAJ,OAAeH,GAAf,OAAsBD,IAEtC,QAAN,EAAAvY,cAAA,mBAAQwpB,YAAR,SAAchD,KAAK,CACjBiD,kBAAmB,cACnBC,gBAAiB,QACjBC,eAAgBriB,EAChBsiB,WAAY,GAAF,OAAK5pB,OAAOtG,SAAS0iB,OAC/ByN,SAAU,GAAF,OAAK7pB,OAAO6Y,SAASF,UAC7B9b,MAAO,gBAIXiO,EAAOC,QAAU,CACfmY,eAAAA,EACAN,aAAAA,EACAqS,YAAAA,EACA9R,UAAAA,EACAL,oBAAAA,EACAD,uBAAAA,EACAE,wBAAAA,EACA6W,iBAAAA,EACAvE,iBAAAA,EACAG,4BAAAA,iRC3CF,IAAMqJ,EAAU,WAAkB,IAAjBpsB,EAAiB,uDAAP,GAEvBmM,EAkBEnM,EAlBFmM,YACAtB,EAiBE7K,EAjBF6K,WACA0f,EAgBEvqB,EAhBFuqB,WACAD,EAeEtqB,EAfFsqB,YACA3K,EAcE3f,EAdF2f,UACA0K,EAaErqB,EAbFqqB,aACAtxB,EAYEiH,EAZFjH,OACAgW,EAWE/O,EAXF+O,wBACAD,EAUE9O,EAVF8O,mBACAud,EASErsB,EATFqsB,kBACAjd,EAQEpP,EARFoP,yBACAD,EAOEnP,EAPFmP,6BACAmd,EAMEtsB,EANFssB,mBACAC,EAKEvsB,EALFusB,4BACA/b,EAIExQ,EAJFwQ,MACAqZ,EAGE7pB,EAHF6pB,WACA2C,EAEExsB,EAFFwsB,kBACAC,EACEzsB,EADFysB,uBAGF,GAA6B,IAAAvgB,QAC3B,wBAAC,EAAAke,UAAD,CACEvf,WAAYA,EACZ0f,WAAYA,EACZD,YAAaA,EACb3K,UAAWA,EACX0K,aAAcA,EACdtxB,OAAQA,EACRgW,wBAAyBA,EACzBD,mBAAoBA,EACpBud,kBAAmBA,EACnBjd,yBAA0BA,EAC1BD,6BAA8BA,EAC9Bmd,mBAAoBA,EACpBC,4BAA6BA,EAC7B/b,MAAOA,EACPqZ,WAAYA,EACZ2C,kBAAmBA,EACnBC,uBAAwBA,IAE1BtgB,GAGF,MAAO,CAAE4e,OAvBT,EAAQA,OAuBSC,SAvBjB,EAAgBA,qBA0BHoB,i9CC5Cf,IAAMM,EAAa,OACbC,EAAmB,OASnBh4B,EAAU,SAAC,GAAgD,IAA9ClP,EAA8C,EAA9CA,SAAUoP,EAAoC,EAApCA,MAAOE,EAA6B,EAA7BA,UAAWjC,EAAkB,EAAlBA,YAC7C,KAA2B,IAAAhB,YAAW,CAAEgB,YAAAA,IAAxC,GAAOqC,EAAP,KAAgBC,EAAhB,KACQ9B,EAA2B8B,EAA3B9B,UAAWG,EAAgB2B,EAAhB3B,YACbm5B,GAAkB,IAAA/mC,UAClBgnC,GAAc,IAAAhnC,UAuBpB,OArBA,IAAAuS,kBAAgB,WAKd,GAAI9E,GAAas5B,EAAgBxmC,SAAWqN,EAAa,CACvD,IAAMuC,EAAc42B,EAAgBxmC,QAAQ4G,wBACtC8/B,GAAkB,IAAAC,kBAAiBt5B,EAAauC,GAChDg3B,EAAU,yHAAH,OAICF,EAJD,iDAKmBH,EALnB,qDAMsBA,EANtB,sDASbE,EAAYzmC,QAAQiF,MAAM2hC,QAAUA,MAKtC,iDACG,IAAA13B,cAAa7P,EAAU0P,GACxB,wBAAC,EAAAI,aAAD,KACMH,EADN,CAEEP,MAAOA,EACPE,UAAWA,EACX1J,MAAO,CACLksB,WAAYoV,EACZ5Q,MAAO2Q,GAET/lC,IAAKimC,EACL1gC,SAAU+gC,EAAAA,WAEX35B,GACC,wBAAC,UAAD,KACE,+BACE3M,IAAKkmC,EACLxhC,MAAO,CACLa,SAAU,WACVC,MAAO,EACPL,OAAQ,QAStB6I,EAAQ0V,UAAY,CAClB5kB,SAAU6kB,EAAAA,QAAUxgB,KAAK0gB,WACzB3V,MAAOyV,EAAAA,QAAUxgB,KAAK0gB,WACtBzV,UAAWuV,EAAAA,QAAUC,OACrBzX,YAAawX,EAAAA,QAAUI,MAGzB/V,EAAQgW,aAAe,CACrB5V,eAAWhH,EACX+E,iBAAa/E,aAGA4G,sQCrFAA,EAAAA,uLCFf,IAAMu4B,EAAS,GACTC,EAAmB,EACnBC,EAAmB,EAEnBC,EAAgB,SAAC55B,EAAauC,GAClC,IAAMiB,EAAa,CACjBC,IAAKzD,EAAYyD,IAAMlB,EAAYlK,OAAS,EAC5CuL,OACE9J,OAAOuJ,YAAcrD,EAAY4D,OAASrB,EAAYlK,OAASohC,GAGnE,OAAQj2B,EAAWC,KAAOD,EAAWI,QAMjC41B,EAAc,SAACx5B,EAAauC,GAChC,IAAKvC,IAAgBuC,EACnB,MAAO,GAGT,IACMoB,EADgB3D,EAAY2D,KAAO3D,EAAYtH,MAAQ,EAChC6J,EAAY7J,MAAQ,EAC3CmhC,EAAU//B,OAAOqJ,WAAaZ,EAAY7J,MAAQ,EAClDohC,EAAalO,KAAKC,IAAID,KAAKmO,IAAI,EAAGp2B,GAAOk2B,GAAW//B,OAAOgK,YAE3DD,EAAc+1B,EAAc55B,EAAauC,GAE/C,MAAO,CACLoB,KAAM,GAAF,OAAKm2B,EAAL,MACJr2B,IAAgB,UAAXI,EAEC7D,EAAYyD,IAAMg2B,EAASl3B,EAAYlK,OAASyB,OAAOiK,YAGvD/D,EAAYyD,IAAMg2B,EAASz5B,EAAY3H,OAASyB,OAAOiK,YAL7C,kBAULy1B,EAMiB,EAAnBF,iBAAmB,SAACt5B,EAAauC,GAC5C,IAAMsB,EAAc+1B,EAAc55B,EAAauC,GACzCy3B,EAAcn2B,EAChB7D,EAAYyD,IAAM3J,OAAOiK,YAAc01B,EACvCz5B,EAAY4D,OAAS9J,OAAOiK,YAAc01B,EAASE,EAEjDM,EACJj6B,EAAY2D,KAAO+1B,EAAmB15B,EAAYtH,MAAQ,EAEtDwhC,EAAiBr2B,EAAW,sBACf81B,EADe,sCAEZA,EAFY,aAIlC,uCACqBD,EADrB,wDAEsBA,EAFtB,gDAGcO,EAHd,6BAIaD,EAJb,wBAKQE,EALR,s8CCnDF,IAAMC,EAAe,SAAC,GAMhB,QALJxzB,IAAAA,OAKI,MALE,GAKF,MAJJqb,iBAAAA,OAII,MAJe,GAIf,MAHJ0G,qBAAAA,OAGI,MAHmB,GAGnB,MAFJlhB,QAAAA,OAEI,MAFM,GAEN,EADJya,EACI,EADJA,eAEA,KAA4B,IAAA1vB,YAA5B,GAAO+hB,EAAP,KAAe8lB,EAAf,KAEA,IAAKzzB,IAAQqb,EACX,MAAM,IAAI9rB,MAAM,uDA2ClB,OAxCA,IAAAwJ,YAAU,WACR,IAAMwZ,EAAiBvJ,KAAKC,MAAMuJ,aAAaC,QAAQ4I,IACvD,GACE9I,MAAAA,GAAAA,EAAgB/D,UAChB,IAAI/D,MAAOiI,UAAYH,EAAeI,WAEtC8gB,EAAUlhB,OACL,CACL,IAAMK,EAASzf,OAAO6Y,SAAS4G,OAC/B9P,EAAAA,QACGrP,IADH,UACUmf,GADV,OACmB5S,IAChBqC,MAAK,YAA6B,QAA1BrD,KAAQA,KAAAA,OAAkB,MAAX,GAAW,EAE3B00B,EAAc,CAClB/gB,YAFiB,IAAIlI,MAAOiI,UAAsB,GAAV7R,EAAe,KAKvD7B,MAAAA,GAAAA,EAAMwP,SAANxP,MACAuT,GAAAA,EAAgB/D,SAChB3iB,OAAOwF,KAAK2N,EAAKwP,SAASmlB,OAAM,SAACrjC,GAC/B,QAAIyxB,EAAqBlP,SAASviB,IAG3B0O,EAAKwP,QAAQle,KAASiiB,EAAe/D,QAAQle,MAGtDojC,EAAYllB,QAAU+D,EAAe/D,QAErCklB,EAAYllB,QAAUxP,EAAKwP,QAG7BgE,aAAaM,QAAQuI,EAAkBrS,KAAKI,UAAUsqB,IACtDD,EAAUC,MAvBd,OAyBS,SAACvqB,GACNsqB,EAAU,CAAEjlB,QAAS8M,EAAgB3I,WAAY,UAGtD,IAEIhF,GAGoB,EAAhBmU,cAAgB,SAACvQ,EAAW3L,GACvC,SAASguB,EAAiB1iC,GACxB,IAAMyc,EAAS6lB,EAAa5tB,GAC5B,OAAO,wBAAC2L,EAAD,GAAW5D,OAAQA,GAAYzc,IAExC,OAAO0iC,aAGMJ,sUCjEf,IAAMK,EAAqB,CACzBC,UADyB,SACfluB,GACR,OAAO,IAAIiM,EAAAA,QAAUjM,IAGvBmuB,OALyB,SAKlBnuB,GACL,OAAO,IAAI2O,EAAAA,QAAO3O,IAGpB6V,OATyB,SASlB7V,GACL,OAAO,IAAIiW,EAAAA,QAAOjW,IAGpBouB,QAbyB,SAajBpuB,GACN,OAAO,aAAQA,IAGjBgd,cAjByB,SAiBXhd,GACZ,OAAO,IAAIgd,EAAAA,QAAchd,eAIdiuB,6eC3BR,IAAM9jB,EAAU,EAAVA,QAAU,SAAC7e,GACtB,OACE,iCACEa,MAAM,OACNL,OAAO,MACPiiB,QAAQ,WACRsK,MAAM,8BACF/sB,GAEJ,6BAAG0iB,OAAO,OAAOC,YAAY,IAAIC,KAAK,OAAOC,SAAS,WACpD,6BACEC,UAAU,mCACVF,KAAK,UACLC,SAAS,WAET,gCAAME,EAAE,82BAOlBlE,EAAQE,UAAY,CAClBb,UAAWc,EAAAA,QAAUC,QAGvBJ,EAAQQ,aAAe,CACrBnB,UAAW,m4BC5BqB,EAArB2Z,mBAAqB,kBAChC,+BAAK3Z,UAAU,kBAAkBuE,QAAQ,aACvC,iCACE,6BAAGK,UAAU,iCACX,mCAASigB,OAAO,oFAChB,mCAASA,OAAO,sFAChB,gCAAMhgB,EAAE,4LAMc,EAAjBigB,eAAiB,kBAC5B,+BAAK9kB,UAAU,eAAeuE,QAAQ,aACpC,gCACEM,EAAE,87BAasB,EAAjBgV,eAAiB,kBAC5B,+BAAK7Z,UAAU,eAAeuE,QAAQ,aACpC,gCAAMM,EAAE,gBAAgBH,KAAK,SAC7B,gCAAMG,EAAE,8FAIkB,EAAjBkgB,eAAiB,kBAC5B,+BAAK/kB,UAAU,cAAcuE,QAAQ,aACnC,oDACA,iCACE,mCAASsgB,OAAO,8FAChB,gCACEhgB,EAAE,gaASqB,EAAlBqU,gBAAkB,kBAC7B,+BAAKlZ,UAAU,mBAAmBuE,QAAQ,aACxC,iCACE,gCACEM,EAAE,2LAGJ,gCACEA,EAAE,4MAGJ,gCACEA,EAAE,yNAOqB,EAAlByU,gBAAkB,kBAC7B,+BAAKtZ,UAAU,oBAAoBuE,QAAQ,aACzC,gCAAMM,EAAE,ilBAI4B,EAA3B2U,yBAA2B,kBACtC,+BAAKxZ,UAAU,6BAA6BuE,QAAQ,aAClD,iCACE,gCAAMM,EAAE,s7BACR,gCAAMA,EAAE,gVAKa,EAAd6U,YAAc,kBACzB,+BAAK1Z,UAAU,eAAeuE,QAAQ,aACpC,iCACE,gCAAMM,EAAE,kmGAKsB,EAAvBsU,qBAAuB,kBAClC,+BAAKnZ,UAAU,yBAAyBuE,QAAQ,aAC9C,6BAAGlnB,GAAG,SAASmnB,OAAO,OAAOC,YAAY,KACvC,6BAAGpnB,GAAG,uCACJ,gCAAMwnB,EAAE,kuDACR,gCAAMA,EAAE,0nBAMY,EAAfwU,aAAe,kBAC1B,+BAAKrZ,UAAU,gBAAgBuE,QAAQ,YAAY9G,QAAQ,OACzD,iCACE,6BAAGmH,UAAU,gCAAgCD,SAAS,WACpD,gCAAME,EAAE,m+DACR,6BAAGD,UAAU,iCACX,gCAAMogB,EAAE,aAAaC,EAAE,OAAOtiC,MAAM,aAAaL,OAAO,MACxD,gCAAM0iC,EAAE,cAAcC,EAAE,OAAOtiC,MAAM,aAAaL,OAAO,MACzD,gCAAM0iC,EAAE,aAAaC,EAAE,OAAOtiC,MAAM,aAAaL,OAAO,MACxD,mCAASuiC,OAAO,0GAOA,EAAbjL,WAAa,kBACxB,+BAAK5Z,UAAU,gCAAgCuE,QAAQ,aACrD,6BAAGE,YAAY,IAAIC,KAAK,OAAOC,SAAS,WACtC,6BAAGC,UAAU,iCACX,gCACEC,EAAE,+NACFqgB,cAAc,UAEhB,gCACErgB,EAAE,gOACFqgB,cAAc,UAEhB,gCACErgB,EAAE,yYACFqgB,cAAc,UAEhB,gCACErgB,EAAE,2FACFqgB,cAAc,UAEhB,gCAAMrgB,EAAE,gsBACR,gCACEsgB,GAAG,aACHC,GAAG,aACHC,GAAG,aACHC,GAAG,aACHJ,cAAc,cAOG,EAAdK,YAAc,kBACzB,+BAAKvlB,UAAU,eAAeuE,QAAQ,aACpC,iCACE,gCAAMM,EAAE,ktCAKiB,EAAlB4U,gBAAkB,kBAC7B,+BAAKzZ,UAAU,eAAeuE,QAAQ,aACpC,iCACE,gCACEM,EAAE,+LAGJ,gCACEA,EAAE,uNAGJ,gCACEA,EAAE,sNAOmB,EAAhBkU,cAAgB,kBAC3B,+BAAK/Y,UAAU,iBAAiBuE,QAAQ,aACtC,iCACE,gCACEM,EAAE,0RAIJ,gCACEA,EAAE,qOAOqB,EAAlB2gB,gBAAkB,kBAC7B,+BAAKxlB,UAAU,mBAAmBuE,QAAQ,aACxC,iCACE,gCACEM,EAAE,4IAGJ,gCACEA,EAAE,29CAkBiB,EAAd4gB,YAAc,kBACzB,+BAAKzlB,UAAU,eAAeuE,QAAQ,aACpC,iCACE,gCACEM,EAAE,8OAIJ,gCAAMmgB,EAAE,MAAMC,EAAE,OAAOtiC,MAAM,MAAML,OAAO,MAC1C,gCAAM0iC,EAAE,MAAMC,EAAE,OAAOtiC,MAAM,MAAML,OAAO,MAC1C,gCAAM0iC,EAAE,MAAMC,EAAE,MAAMtiC,MAAM,MAAML,OAAO,MACzC,gCAAM0iC,EAAE,MAAMC,EAAE,OAAOtiC,MAAM,MAAML,OAAO,MAC1C,gCAAM0iC,EAAE,MAAMC,EAAE,OAAOtiC,MAAM,MAAML,OAAO,MAC1C,gCAAM0iC,EAAE,MAAMC,EAAE,MAAMtiC,MAAM,MAAML,OAAO,SAKvB,EAAX22B,SAAW,kBACtB,+BAAKjZ,UAAU,YAAYuE,QAAQ,aACjC,gCACEM,EAAE,siBASsB,EAAjBkY,eAAiB,kBAC5B,+BAAK/c,UAAU,kBAAkBuE,QAAQ,aACvC,iCACE,gCAAMM,EAAE,6sEAKgB,EAAjB6gB,eAAiB,kBAC5B,+BAAK1lB,UAAU,kBAAkBuE,QAAQ,aACvC,iCACE,gCACEM,EAAE,8KAGJ,mCAASggB,OAAO,+FAChB,gCAAMG,EAAE,MAAMC,EAAE,IAAItiC,MAAM,IAAIL,OAAO,QACrC,gCAAM0iC,EAAE,OAAOC,EAAE,IAAItiC,MAAM,IAAIL,OAAO,QACtC,gCAAM0iC,EAAE,MAAMC,EAAE,MAAMtiC,MAAM,IAAIL,OAAO,QACvC,gCACEuiB,EAAE,qaASyB,EAAtB8gB,oBAAsB,kBACjC,+BAAK3lB,UAAU,uBAAuBuE,QAAQ,aAC5C,iCACE,gCACEM,EAAE,urBAOJ,gCACEA,EAAE,gLAGJ,mCAASggB,OAAO,kGAKK,EAAde,YAAc,kBACzB,+BAAK5lB,UAAU,eAAeuE,QAAQ,iBACpC,qDACA,iCACE,gCAAMM,EAAE,oKAKc,EAAfgZ,aAAe,kBAC1B,+BAAK7d,UAAU,gBAAgBuE,QAAQ,iBACrC,sDACA,iCACE,gCAAMM,EAAE,mKAKa,EAAdghB,YAAc,kBACzB,+BAAK7lB,UAAU,eAAeuE,QAAQ,iBACpC,qDACA,iCACE,gCAAMM,EAAE,0KAKgB,EAAjB+Y,eAAiB,kBAC5B,+BAAK5d,UAAU,kBAAkBuE,QAAQ,aACvC,wDACA,iCACE,gCACEM,EAAE,uUAIJ,gCACEA,EAAE,iUAQmB,EAAhBuY,cAAgB,kBAC3B,+BAAKpd,UAAU,iBAAiBuE,QAAQ,aACtC,iCACE,gCACEM,EAAE,+QAQiB,EAAdwY,YAAc,kBACzB,+BAAKrd,UAAU,eAAeuE,QAAQ,aACpC,iCACE,gCACEM,EAAE,0KAGJ,gCACEA,EAAE,+LAGJ,gCACEA,EAAE,yjBAUiB,EAAd4b,YAAc,kBACzB,+BAAKzgB,UAAU,eAAeuE,QAAQ,aACpC,qDACA,iCACE,mCAASsgB,OAAO,mFAChB,mCAASA,OAAO,0FAKG,EAAZnE,UAAY,kBACvB,+BAAK1gB,UAAU,aAAauE,QAAQ,aAClC,mDACA,iCACE,mCAASsgB,OAAO,8EAChB,mCAASA,OAAO,wFAKI,EAAbpZ,WAAa,kBACxB,+BAAKzL,UAAU,SAASuE,QAAQ,YAAYqF,UAAU,SACpD,6BAAGnF,YAAY,IAAIG,UAAU,uCAC3B,gCAAMC,EAAE,4uBAKa,EAAdwL,YAAc,kBACzB,+BAAK9L,QAAQ,YAAYqF,UAAU,SACjC,6BAAGpF,OAAO,OAAOC,YAAY,IAAIC,KAAK,OAAOC,SAAS,WACpD,gCACEE,EAAE,o2BACFH,KAAK,UACLC,SAAS,eAMU,EAAd8N,YAAc,kBACzB,+BAAKzS,UAAU,eAAeuE,QAAQ,eACpC,gCAAMM,EAAE,4qBAIe,EAAdihB,YAAc,kBACzB,+BAAK9lB,UAAU,oBAAoBuE,QAAQ,aACzC,6BAAGlnB,GAAG,oBACJ,6BAAGA,GAAG,cAAcunB,UAAU,iCAC5B,6BAAGvnB,GAAG,QAAQunB,UAAU,iCACtB,mCAASigB,OAAO,sBAChB,mCAASA,OAAO,sBAChB,mCAASA,OAAO,sBAChB,mCAASA,OAAO,wBAChB,mCAASA,OAAO,2BAElB,gCAAMhgB,EAAE,uUAMc,EAAjBkhB,eAAiB,kBAC5B,+BAAK/lB,UAAU,uBAAuBuE,QAAQ,aAC5C,iCACE,gCACEvE,UAAU,MACV6E,EAAE,8OAIJ,gCAAMmgB,EAAE,MAAMC,EAAE,OAAOjlB,UAAU,MAAMrd,MAAM,MAAML,OAAO,MAC1D,gCAAM0iC,EAAE,MAAMC,EAAE,OAAOjlB,UAAU,MAAMrd,MAAM,MAAML,OAAO,MAC1D,gCAAM0iC,EAAE,MAAMC,EAAE,MAAMjlB,UAAU,MAAMrd,MAAM,MAAML,OAAO,MACzD,gCAAM0iC,EAAE,MAAMC,EAAE,OAAOjlB,UAAU,MAAMrd,MAAM,MAAML,OAAO,MAC1D,gCAAM0iC,EAAE,MAAMC,EAAE,OAAOjlB,UAAU,MAAMrd,MAAM,MAAML,OAAO,MAC1D,gCAAM0iC,EAAE,MAAMC,EAAE,MAAMjlB,UAAU,MAAMrd,MAAM,MAAML,OAAO,SAKpC,EAAd0jC,YAAc,kBACzB,+BAAKhmB,UAAU,eAAerd,MAAM,OAAOL,OAAO,OAAOiiB,QAAQ,aAC/D,6BAAGC,OAAO,OAAOC,YAAY,IAAIC,KAAK,OAAOC,SAAS,WACpD,6BACEC,UAAU,sCACVF,KAAK,UACLC,SAAS,WAET,6BAAGC,UAAU,qCACX,6BAAGA,UAAU,mCACX,gCACEC,EAAE,uzBACFxnB,GAAG,uBASU,EAAd4oC,YAAc,kBACzB,+BAAKjmB,UAAU,eAAerd,MAAM,OAAOL,OAAO,OAAOiiB,QAAQ,aAC/D,6BAAGC,OAAO,OAAO0hB,eAAa,IAAIxhB,KAAK,OAAOC,SAAS,WACrD,6BACEC,UAAU,sCACVF,KAAK,UACLC,SAAS,WAET,6BAAGC,UAAU,qCACX,6BAAGA,UAAU,kCACX,gCACEC,EAAE,gtCACFxnB,GAAG,uBASgB,EAApB8oC,kBAAoB,kBAC/B,+BAAKnmB,UAAU,kBAAkBuE,QAAQ,aACvC,wDACA,iCACE,gCAAMM,EAAE,w9BACR,gCAAMA,EAAE,yUACR,gCAAMA,EAAE,yUACR,gCAAMA,EAAE,+TACR,gCAAMA,EAAE,gUAKoB,EAArBuhB,mBAAqB,kBAChC,+BAAKpmB,UAAU,mBAAmBuE,QAAQ,aACxC,yDACA,iCACE,gCAAMM,EAAE,2OACR,gCAAMA,EAAE,gHACR,gCAAMA,EAAE,0HACR,gCAAMA,EAAE,6HAKmB,EAApBwhB,kBAAoB,kBAC/B,+BAAKrmB,UAAU,kBAAkBuE,QAAQ,aACvC,wDACA,iCACE,gCAAMM,EAAE,upBACR,gCAAMA,EAAE,m6ECnhBLyhB,SAAAA,EAAAA,UAAUtb,cAAAA,EAAAA,UAAeub,eAAAA,EAAAA,mRCIlC,IAAMvb,EAAgB,SAACwb,GACrB,IAAIv3B,EAAUkM,EAAAA,QAAOtB,MAAM2sB,EAAQ/oC,SAAS0d,QACxCsrB,EAAoB,uBAExB,GAAIx3B,EAAQ9N,eAAe,kBAAmB,CAC5C,IAAIk0B,EAAY,WAEdmR,EAAQ5pB,SAASF,SAAW+pB,GAG1BC,EAAU,WAEZF,EAAQ5pB,SAASF,SAAW+pB,GAG9B,OAAO,aAAM,CACXp1B,OAAQ,OACRT,IAAK,uBACLd,QAAS,CACP,eAAgB,mBAChBU,cAAe,UAAF,OAAYvB,EAAQwX,mBAGlCxT,KAAKoiB,EAAWqR,GARZ,OASE,SAAUC,GACfxoB,QAAQyoB,IAAID,MAGhBH,EAAQ5pB,SAASF,SAAW+pB,aAIjBzb,8RC5Bf,IAAMub,EAAiB,WAAkB,IAAjB/vB,EAAiB,uDAAP,GAC1BvH,EAAUkM,EAAAA,QAAOtB,MAAMrD,EAAQzS,OAAOtG,SAAS0d,QAEnD,GAAIlM,EAAQ9N,eAAe,kBAAmB,CAC1C,IAAM0lC,EAAiB,CACnBx1B,OAAQ,OACRT,IAAK,6BACLd,QAAS,CACLg3B,OAAQ,sCACR,eAAgB,mBAChBt2B,cAAe,UAAF,OAAYvB,EAAQwX,kBAIrC4O,EAAY,WACqB,mBAAtB7e,EAAQ6e,WACf7e,EAAQ6e,aAIZqR,EAAU,WAKV,MAJ+B,mBAApBlwB,EAAQkwB,SACflwB,EAAQkwB,WAGL,aAAclwB,EAAQzS,SAGjC,OAAO,aAAM8iC,GACR5zB,KAAKoiB,EAAWqR,GADd,OAEI,SAASC,GACZxoB,QAAQyoB,IAAID,kBAKbJ,4PC9Cf,IAAMD,EAAW,SAAA9xB,GACb,IAAMqyB,EAAiB,CACnBx1B,OAAQ,MACRT,IAAK,yBACLd,QAAS,CACLg3B,OAAQ,sCACR,eAAgB,mBAChBt2B,cAAe,UAAF,OAAYgE,IAE7B8C,kBAAmB,CACf,SAAStG,GACL,OAAO4I,KAAKC,MAAM7I,GAAUpB,QAKxC,OAAO,aAAMi3B,GAAgB5zB,MAAK,SAAAjC,GAC9B,IAAIsjB,EAaJ,OAXItjB,GAAYA,EAASpB,OAEjB0kB,EADAtjB,EAASpB,KAAKzO,eAAe,kBACpB6P,EAASpB,KAAKm3B,eAKd,IAAI1rB,KAAyB,IAApBrK,EAASpB,KAAKo3B,MAIjC1S,gBAIAgS,iDCpCf,OAOC,WACA,aAEA,IAAIW,EAAS,GAAG9lC,eAEhB,SAAS+lC,IAGR,IAFA,IAAIC,EAAU,GAELxoC,EAAI,EAAGA,EAAIf,UAAUC,OAAQc,IAAK,CAC1C,IAAIyoC,EAAMxpC,UAAUe,GACpB,GAAKyoC,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BF,EAAQvjC,KAAKwjC,QACP,GAAIrpC,MAAMoB,QAAQioC,IAAQA,EAAIvpC,OAAQ,CAC5C,IAAIypC,EAAQJ,EAAW9lC,MAAM,KAAMgmC,GAC/BE,GACHH,EAAQvjC,KAAK0jC,QAER,GAAgB,WAAZD,EACV,IAAK,IAAInmC,KAAOkmC,EACXH,EAAO1oC,KAAK6oC,EAAKlmC,IAAQkmC,EAAIlmC,IAChCimC,EAAQvjC,KAAK1C,IAMjB,OAAOimC,EAAQhpC,KAAK,KAGgB0Q,EAAOC,SAC3Co4B,EAAW1L,QAAU0L,EACrBr4B,EAAOC,QAAUo4B,QAKhB,KAFwB,EAAF,WACtB,OAAOA,GACP,QAFoB,OAEpB,aAxCH,8BCOAp4B,EAAQ+K,MAkCR,SAAeqF,EAAK1I,GAClB,GAAmB,iBAAR0I,EACT,MAAM,IAAIpf,UAAU,iCAQtB,IALA,IAAI2e,EAAM,GACNT,EAAMxH,GAAW,GACjB+wB,EAAQroB,EAAIjC,MAAMuqB,GAClBC,EAAMzpB,EAAI0pB,QAAUA,EAEf/oC,EAAI,EAAGA,EAAI4oC,EAAM1pC,OAAQc,IAAK,CACrC,IAAIgpC,EAAOJ,EAAM5oC,GACbipC,EAASD,EAAKzlC,QAAQ,KAG1B,KAAI0lC,EAAS,GAAb,CAIA,IAAI1mC,EAAMymC,EAAKxqB,OAAO,EAAGyqB,GAAQ9tB,OAC7B5b,EAAMypC,EAAKxqB,SAASyqB,EAAQD,EAAK9pC,QAAQic,OAGzC,KAAO5b,EAAI,KACbA,EAAMA,EAAIqB,MAAM,GAAI,IAIlBgF,MAAaka,EAAIvd,KACnBud,EAAIvd,GAAO2mC,EAAU3pC,EAAKupC,KAI9B,OAAOhpB,GAlET3P,EAAQg5B,UAqFR,SAAmBroC,EAAMvB,EAAKsY,GAC5B,IAAIwH,EAAMxH,GAAW,GACjBuxB,EAAM/pB,EAAI1D,QAAUA,EAExB,GAAmB,mBAARytB,EACT,MAAM,IAAIjoC,UAAU,4BAGtB,IAAKkoC,EAAmBroC,KAAKF,GAC3B,MAAM,IAAIK,UAAU,4BAGtB,IAAIzB,EAAQ0pC,EAAI7pC,GAEhB,GAAIG,IAAU2pC,EAAmBroC,KAAKtB,GACpC,MAAM,IAAIyB,UAAU,2BAGtB,IAAIof,EAAMzf,EAAO,IAAMpB,EAEvB,GAAI,MAAQ2f,EAAIiqB,OAAQ,CACtB,IAAIA,EAASjqB,EAAIiqB,OAAS,EAE1B,GAAIhW,MAAMgW,KAAYC,SAASD,GAC7B,MAAM,IAAInoC,UAAU,4BAGtBof,GAAO,aAAe2W,KAAKsS,MAAMF,GAGnC,GAAIjqB,EAAI/C,OAAQ,CACd,IAAK+sB,EAAmBroC,KAAKqe,EAAI/C,QAC/B,MAAM,IAAInb,UAAU,4BAGtBof,GAAO,YAAclB,EAAI/C,OAG3B,GAAI+C,EAAIhD,KAAM,CACZ,IAAKgtB,EAAmBroC,KAAKqe,EAAIhD,MAC/B,MAAM,IAAIlb,UAAU,0BAGtBof,GAAO,UAAYlB,EAAIhD,KAGzB,GAAIgD,EAAIjD,QAAS,CACf,GAAuC,mBAA5BiD,EAAIjD,QAAQqtB,YACrB,MAAM,IAAItoC,UAAU,6BAGtBof,GAAO,aAAelB,EAAIjD,QAAQqtB,cAGhCpqB,EAAIqqB,WACNnpB,GAAO,cAGLlB,EAAI9C,SACNgE,GAAO,YAGT,GAAIlB,EAAIsqB,SAAU,CAIhB,OAHuC,iBAAjBtqB,EAAIsqB,SACtBtqB,EAAIsqB,SAAS71B,cAAgBuL,EAAIsqB,UAGnC,KAAK,EACHppB,GAAO,oBACP,MACF,IAAK,MACHA,GAAO,iBACP,MACF,IAAK,SACHA,GAAO,oBACP,MACF,IAAK,OACHA,GAAO,kBACP,MACF,QACE,MAAM,IAAIpf,UAAU,+BAI1B,OAAOof,GAlKT,IAAIwoB,EAASjsB,mBACTnB,EAAS/J,mBACTi3B,EAAkB,MAUlBQ,EAAqB,wCAiKzB,SAASH,EAAU3oB,EAAKwoB,GACtB,IACE,OAAOA,EAAOxoB,GACd,MAAOnF,GACP,OAAOmF,oBCjMX,IAAIqpB,EAAU,EAAQ,MAClBC,EAAa,EAAQ,MACjB,EAAQ,MAShB,SAASC,EAAQhqB,GACf,OAAO,MAACA,EA0BV,SAASiqB,EAAWlyB,IAClBA,EAlBF,SAA4BiI,GAC1B,IAAIkqB,EAAM,GACV,IAAK,IAAIhqC,KAAK8f,EACZkqB,EAAIhqC,GAAK8f,EAAI9f,GAEf,OAAOgqC,EAaGC,CAAkBpyB,GAAW,KAC/B0c,UAAY1c,EAAQ0c,WAAaqV,EAAQrV,UACjD1c,EAAQqyB,OAASryB,EAAQqyB,QAAUN,EAAQM,OAC3CryB,EAAQsyB,aAAetyB,EAAQsyB,cAAgBP,EAAQO,aACvDtyB,EAAQuyB,cAAgBvyB,EAAQuyB,eAAiBR,EAAQQ,cACzD1nC,KAAKmV,QAAUA,EAGjBkyB,EAAUppC,UAAUwZ,QAAU,SAAUkwB,GAItC,KADAA,GADAA,EAAMA,GAAO,IACH1qC,YACA,MAAO,GAEjB,IACIkY,EADKnV,KACQmV,QACb0c,EAAY1c,EAAQ0c,UACpB2V,EAASryB,EAAQqyB,OACjBC,EAAetyB,EAAQsyB,aACvBC,EAAgBvyB,EAAQuyB,cAyC5B,OAvCaP,EAAWQ,GAAK,SAAUC,EAAgBvmC,EAAUjD,EAAMpB,EAAO4C,GAE5E,IAAIioC,EAAQhW,EAAUzzB,GAClB0pC,GAAU,EAQd,IAPc,IAAVD,EAAgBC,EAAUD,EACJ,mBAAVA,EAAsBC,EAAUD,EAAM7qC,GAC7C6qC,aAAiB1tB,SAAQ2tB,EAAUD,EAAMvpC,KAAKtB,KACvC,IAAZ8qC,IAAkBA,GAAU,GAGhC9qC,EAAQ0qC,EAActpC,EAAMpB,GAC5B,CAEA,IAkBMsqC,EAlBFzqB,EAAO,CACTxb,SAAUA,EACVumC,eAAgBA,EAChBhoC,OAAQA,EACRkoC,QAASA,GAGX,OAAIA,EAGEV,EADAE,EAAME,EAAOppC,EAAMpB,EAAO6f,IAErBze,EAAO,IAAMpB,EAEbsqC,EAMJF,EADDE,EAAMG,EAAarpC,EAAMpB,EAAO6f,SACpC,EACSyqB,OAUf95B,EAAOC,QAAU45B,gBCvGjB,SAASU,IAMP,IAAIlW,EAAY,CAEhB,iBAA6B,EAC7B,eAA2B,EAC3B,cAA0B,EAC1B,oBAAgC,EAChC,sBAAkC,EAClC,KAAmB,EACnB,gBAA4B,EAC5B,WAAyB,EACzB,mBAA+B,EAC/B,uBAAmC,EACnC,sBAAkC,EAClC,uBAAmC,EACnC,6BAAyC,EACzC,kBAA8B,EAC9B,wBAAoC,EACpC,6BAAyC,EACzC,SAAuB,EACvB,uBAAmC,EACnC,YAA0B,EAC1B,yBAAqC,EACrC,mBAA+B,EAC/B,oBAAgC,EAChC,oBAAgC,EAChC,qBAAiC,EACjC,uBAAmC,EACnC,qBAAiC,EACjC,mBAA+B,EAC/B,kBAA8B,EAC9B,SAAuB,EACvB,OAAqB,EACrB,kBAA8B,EAC9B,kBAA8B,EAC9B,kBAA8B,EAC9B,QAAsB,EACtB,iBAA6B,EAC7B,uBAAmC,EACnC,6BAAyC,EACzC,8BAA0C,EAC1C,uBAAmC,EACnC,uBAAmC,EACnC,mBAA+B,EAC/B,gBAA4B,EAC5B,gBAA4B,EAC5B,uBAAmC,EACnC,uBAAmC,EACnC,sBAAkC,EAClC,uBAAmC,EACnC,sBAAkC,EAClC,eAA2B,EAC3B,qBAAiC,EACjC,qBAAiC,EACjC,qBAAiC,EACjC,iBAA6B,EAC7B,gBAA4B,EAC5B,sBAAkC,EAClC,sBAAkC,EAClC,sBAAkC,EAClC,kBAA8B,EAC9B,gBAA4B,EAC5B,cAA0B,EAC1B,oBAAgC,EAChC,0BAAsC,EACtC,2BAAuC,EACvC,oBAAgC,EAChC,oBAAgC,EAChC,gBAA4B,EAC5B,QAAsB,EACtB,wBAAoC,EACpC,cAA0B,EAC1B,cAA0B,EAC1B,YAAwB,EACxB,gBAA4B,EAC5B,eAA2B,EAC3B,gBAA4B,EAC5B,gBAA4B,EAC5B,gBAA4B,EAC5B,QAAsB,EACtB,OAAqB,EACrB,MAAoB,EACpB,aAAyB,EACzB,aAAyB,EACzB,OAAqB,EACrB,+BAA2C,EAC3C,gBAA4B,EAC5B,eAA2B,EAC3B,cAA0B,EAC1B,eAA2B,EAC3B,qBAAiC,EACjC,qBAAiC,EACjC,qBAAiC,EACjC,eAA2B,EAC3B,gBAA4B,EAC5B,SAAuB,EACvB,SAAuB,EACvB,SAAuB,EACvB,qBAAiC,EACjC,iBAA6B,EAC7B,eAA2B,EAC3B,MAAoB,EACpB,KAAmB,EACnB,aAAyB,EACzB,cAA0B,EAC1B,QAAsB,EACtB,WAAyB,EACzB,SAAuB,EACvB,kBAA8B,EAC9B,gBAA4B,EAC5B,mBAA+B,EAC/B,qBAAiC,EACjC,WAAyB,EACzB,eAA2B,EAC3B,QAAsB,EACtB,MAAoB,EACpB,cAA0B,EAC1B,kBAA8B,EAC9B,aAAyB,EACzB,aAAyB,EACzB,eAA2B,EAC3B,aAAyB,EACzB,OAAqB,EACrB,gBAA4B,EAC5B,eAA2B,EAC3B,iBAA6B,EAC7B,aAAyB,EACzB,aAAyB,EACzB,MAAoB,EACpB,eAA2B,EAC3B,yBAAqC,EACrC,gBAA4B,EAC5B,0BAAsC,EACtC,aAAyB,EACzB,oBAAgC,EAChC,gBAA4B,EAC5B,cAA0B,EAC1B,kBAA8B,EAC9B,gBAA4B,EAC5B,2BAAuC,EACvC,qBAAiC,EACjC,2BAAuC,EACvC,0BAAsC,EACtC,wBAAoC,EACpC,yBAAqC,EACrC,eAA2B,EAC3B,MAAoB,EACpB,aAAyB,EACzB,qBAAiC,EACjC,kBAA8B,EAC9B,kBAA8B,EAC9B,eAA2B,EAC3B,mBAA+B,EAC/B,qBAAiC,EACjC,YAAwB,EACxB,gBAA4B,EAC5B,kBAA8B,EAC9B,iBAA6B,EAC7B,uBAAmC,EACnC,yBAAqC,EACrC,sBAAkC,EAClC,uBAAmC,EACnC,QAAsB,EACtB,SAAuB,EACvB,MAAoB,EACpB,qBAAiC,EACjC,oBAAgC,EAChC,YAAwB,EACxB,mBAA+B,EAC/B,oBAAgC,EAChC,mBAA+B,EAC/B,iBAA6B,EAC7B,gBAA4B,EAC5B,MAAoB,EACpB,kBAA8B,EAC9B,kBAA8B,EAC9B,oBAAgC,EAChC,cAA0B,EAC1B,aAAyB,EACzB,eAA2B,EAC3B,aAAyB,EACzB,iBAA6B,EAC7B,sBAAkC,EAClC,uBAAmC,EACnC,0BAAsC,EACtC,cAA0B,EAC1B,oBAAgC,EAChC,uBAAmC,EACnC,mBAA+B,EAC/B,QAAsB,EACtB,iBAA6B,EAC7B,eAA2B,EAC3B,gBAA4B,EAC5B,cAA0B,EAC1B,iBAA6B,EAC7B,eAA2B,EAC3B,OAAqB,EACrB,MAAoB,EACpB,YAAwB,EACxB,mBAA+B,EAC/B,mBAA+B,EAC/B,kBAA8B,EAC9B,mBAA+B,EAC/B,kBAA8B,EAC9B,aAAyB,EACzB,cAA0B,EAC1B,eAA2B,EAC3B,iBAA6B,EAC7B,eAA2B,EAC3B,aAAyB,EACzB,oBAAgC,EAChC,aAAyB,EACzB,cAA0B,EAC1B,aAAyB,EACzB,aAAyB,EACzB,cAA0B,EAC1B,aAAyB,EACzB,WAAuB,EACvB,YAAwB,EACxB,aAAyB,EACzB,YAAwB,EACxB,aAAyB,EACzB,UAAsB,EACtB,cAA0B,EAC1B,mBAA+B,EAC/B,SAAuB,EACvB,OAAqB,EACrB,SAAuB,EACvB,SAAuB,EACvB,iBAA6B,EAC7B,kBAA8B,EAC9B,iBAA6B,EAC7B,iBAA6B,EAC7B,UAAwB,EACxB,iBAA6B,EAC7B,cAA0B,EAC1B,cAA0B,EAC1B,SAAuB,EACvB,kBAA8B,EAC9B,gBAA4B,EAC5B,iBAA6B,EAC7B,eAA2B,EAC3B,MAAoB,EACpB,oBAAgC,EAChC,qBAAiC,EACjC,qBAAiC,EACjC,eAA2B,EAC3B,OAAqB,EACrB,eAA2B,EAC3B,gBAA4B,EAC5B,aAA2B,EAC3B,sBAAkC,EAClC,OAAqB,EACrB,eAA2B,EAC3B,eAA2B,EAC3B,UAAwB,EACxB,sBAAkC,EAClC,QAAsB,EACtB,mBAA+B,EAC/B,QAAsB,EACtB,MAAoB,EACpB,cAA0B,EAC1B,eAA2B,EAC3B,UAAwB,EACxB,OAAqB,EACrB,UAAwB,EACxB,kBAA8B,EAC9B,cAA0B,EAC1B,cAA0B,EAC1B,iBAA6B,EAC7B,yBAAqC,EACrC,iBAA6B,EAC7B,gBAA4B,EAC5B,MAAoB,EACpB,OAAqB,EACrB,YAAwB,EACxB,gBAA4B,EAC5B,iBAA6B,EAC7B,qBAAiC,EACjC,eAA2B,EAC3B,QAAsB,EACtB,cAA0B,EAC1B,YAAwB,EACxB,gBAA4B,EAC5B,cAA0B,EAC1B,mBAA+B,EAC/B,wBAAoC,EACpC,mBAA+B,EAC/B,yBAAqC,EACrC,wBAAoC,EACpC,wBAAoC,EACpC,yBAAqC,EACrC,iBAA6B,EAC7B,uBAAmC,EACnC,0BAAsC,EACtC,uBAAmC,EACnC,eAA2B,EAC3B,eAA2B,EAC3B,gBAA4B,EAC5B,oBAAgC,EAChC,iBAA6B,EAC7B,eAA2B,EAC3B,uBAAmC,EACnC,kBAA8B,EAC9B,2BAAuC,EACvC,aAAyB,EACzB,KAAmB,EACnB,WAAyB,EACzB,oBAAgC,EAChC,mBAA+B,EAC/B,YAA0B,EAC1B,oBAAgC,EAChC,uBAAmC,EACnC,uBAAmC,EACnC,8BAA0C,EAC1C,gBAA4B,EAC5B,kBAA8B,EAC9B,YAA0B,EAC1B,iBAA6B,EAC7B,kBAA8B,EAC9B,gBAA4B,EAC5B,eAA2B,EAC3B,eAA2B,EAC3B,cAA0B,EAC1B,gBAA4B,EAC5B,gBAA4B,EAC5B,QAAsB,EACtB,eAA2B,EAC3B,QAAsB,EACtB,OAAqB,EACrB,eAA2B,EAC3B,cAA0B,EAC1B,gBAA4B,EAC5B,aAAyB,EACzB,aAAyB,EACzB,gBAA4B,EAC5B,gBAA4B,EAC5B,WAAuB,GAEvB,OAAOA,EA4BT,IAAImW,EAAwB,qBAe5Bv6B,EAAQokB,UAAYkW,IACpBt6B,EAAQs6B,oBAAsBA,EAC9Bt6B,EAAQ+5B,OAjCR,SAAiBppC,EAAMpB,EAAOmY,KAkC9B1H,EAAQg6B,aAtBR,SAAuBrpC,EAAMpB,EAAOmY,KAuBpC1H,EAAQi6B,cAVR,SAAuBtpC,EAAMpB,GAC3B,OAAIgrC,EAAsB1pC,KAAKtB,GAAe,GACvCA,mBC/XT,IAAIkqC,EAAU,EAAQ,MAClBG,EAAY,EAAQ,MAmBxB,IAAK,IAAI/pC,KAFTmQ,EAAUD,EAAOC,QAPjB,SAAoBygB,EAAM/Y,GAExB,OADU,IAAIkyB,EAAUlyB,GACbsC,QAAQyW,KAMbmZ,UAAYA,EACNH,EAASz5B,EAAQnQ,GAAK4pC,EAAQ5pC,GAGtB,oBAAXoF,SACTA,OAAOulC,UAAYz6B,EAAOC,yBCxB5B,IAAIgd,EAAI,EAAQ,MAmEhBjd,EAAOC,QAxDP,SAAqBk6B,EAAKH,GAEI,OAD5BG,EAAMld,EAAEyd,UAAUP,IACVA,EAAInrC,OAAS,KAAYmrC,GAAO,KACxC,IAAIQ,EAAYR,EAAInrC,OAChB4rC,GAAoB,EACpBC,EAAU,EACV/qC,EAAI,EACJgrC,EAAS,GAEb,SAASC,IAEP,IAAKH,EAAmB,CACtB,IAAIxoC,EAAS6qB,EAAEhS,KAAKkvB,EAAIzpC,MAAMmqC,EAAS/qC,IACnCkrC,EAAI5oC,EAAOiB,QAAQ,KACvB,IAAW,IAAP2nC,EAAU,CACZ,IAAIpqC,EAAOqsB,EAAEhS,KAAK7Y,EAAO1B,MAAM,EAAGsqC,IAC9BxrC,EAAQytB,EAAEhS,KAAK7Y,EAAO1B,MAAMsqC,EAAI,IAEpC,GAAIpqC,EAAM,CACR,IAAIkpC,EAAME,EAAOa,EAASC,EAAO9rC,OAAQ4B,EAAMpB,EAAO4C,GAClD0nC,IAAKgB,GAAUhB,EAAM,QAI/Be,EAAU/qC,EAAI,EAGhB,KAAOA,EAAI6qC,EAAW7qC,IAAK,CACzB,IAAIgW,EAAIq0B,EAAIrqC,GACZ,GAAU,MAANgW,GAA4B,MAAfq0B,EAAIrqC,EAAI,GAAY,CAEnC,IAAIkrC,EAAIb,EAAI9mC,QAAQ,KAAMvD,EAAI,GAE9B,IAAW,IAAPkrC,EAAU,MAGdH,GADA/qC,EAAIkrC,EAAI,GACM,EACdJ,GAAoB,MACL,MAAN90B,EACT80B,GAAoB,EACL,MAAN90B,EACT80B,GAAoB,EACL,MAAN90B,EACL80B,GAGFG,IAEa,OAANj1B,GACTi1B,IAIJ,OAAO9d,EAAEhS,KAAK6vB,cCtEhB96B,EAAOC,QAAU,CACf5M,QAAS,SAAUzD,EAAKwrB,GACtB,IAAItrB,EAAGkrC,EACP,GAAI9rC,MAAMuB,UAAU4C,QAClB,OAAOzD,EAAIyD,QAAQ+nB,GAErB,IAAKtrB,EAAI,EAAGkrC,EAAIprC,EAAIZ,OAAQc,EAAIkrC,EAAGlrC,IACjC,GAAIF,EAAIE,KAAOsrB,EACb,OAAOtrB,EAGX,OAAQ,GAEVwE,QAAS,SAAU1E,EAAKiM,EAAIo/B,GAC1B,IAAInrC,EAAGkrC,EACP,GAAI9rC,MAAMuB,UAAU6D,QAClB,OAAO1E,EAAI0E,QAAQuH,EAAIo/B,GAEzB,IAAKnrC,EAAI,EAAGkrC,EAAIprC,EAAIZ,OAAQc,EAAIkrC,EAAGlrC,IACjC+L,EAAGnM,KAAKurC,EAAOrrC,EAAIE,GAAIA,EAAGF,IAG9Bqb,KAAM,SAAUoF,GACd,OAAI3V,OAAOjK,UAAUwa,KACZoF,EAAIpF,OAENoF,EAAI7I,QAAQ,iBAAkB,KAEvCkzB,UAAW,SAAUrqB,GACnB,OAAI3V,OAAOjK,UAAUiqC,UACZrqB,EAAIqqB,YAENrqB,EAAI7I,QAAQ,UAAW,iVChC3B,IAAI0zB,EAAQ,+BAEnB,SACEnS,IAAK,6BACLmS,MAAOA,EACPC,MAAO,+BACPC,IAAK,uCACLpb,MAAO,iCCLM,WAASpvB,GACtB,IAAIyqC,EAASzqC,GAAQ,GAAId,EAAIurC,EAAOhoC,QAAQ,KAE5C,OADIvD,GAAK,GAAqC,WAA/BurC,EAASzqC,EAAKF,MAAM,EAAGZ,MAAiBc,EAAOA,EAAKF,MAAMZ,EAAI,IACtEwrC,EAAWhpC,eAAe+oC,GAAU,CAACE,MAAOD,EAAWD,GAASG,MAAO5qC,GAAQA,ECFxF,SAAS6qC,EAAe7qC,GACtB,OAAO,WACL,IAAIhC,EAAW4D,KAAKxE,cAChB0tC,EAAMlpC,KAAKmpC,aACf,OAAOD,IAAQR,GAAStsC,EAASyP,gBAAgBs9B,eAAiBT,EAC5DtsC,EAASX,cAAc2C,GACvBhC,EAASgtC,gBAAgBF,EAAK9qC,IAIxC,SAASirC,EAAaC,GACpB,OAAO,WACL,OAAOtpC,KAAKxE,cAAc4tC,gBAAgBE,EAASP,MAAOO,EAASN,QAIxD,WAAS5qC,GACtB,IAAIkrC,EAAWC,EAAUnrC,GACzB,OAAQkrC,EAASN,MACXK,EACAJ,GAAgBK,GCvBxB,SAASE,KAEM,WAASC,GACtB,OAAmB,MAAZA,EAAmBD,EAAO,WAC/B,OAAOxpC,KAAK0pC,cAAcD,ICJ9B,SAASE,IACP,MAAO,GAGM,WAASF,GACtB,OAAmB,MAAZA,EAAmBE,EAAQ,WAChC,OAAO3pC,KAAK4pC,iBAAiBH,ICNlB,WAASA,GACtB,OAAO,WACL,OAAOzpC,KAAK6pC,QAAQJ,ICFT,WAASK,GACtB,OAAO,IAAIptC,MAAMotC,EAAOttC,QCMnB,SAASutC,EAAUC,EAAQC,GAChCjqC,KAAKxE,cAAgBwuC,EAAOxuC,cAC5BwE,KAAKmpC,aAAea,EAAOb,aAC3BnpC,KAAKkqC,MAAQ,KACblqC,KAAKmqC,QAAUH,EACfhqC,KAAKoqC,SAAWH,EAGlBF,EAAU9rC,UAAY,CACpBE,YAAa4rC,EACbpuC,YAAa,SAASwO,GAAS,OAAOnK,KAAKmqC,QAAQE,aAAalgC,EAAOnK,KAAKkqC,QAC5EG,aAAc,SAASlgC,EAAOzL,GAAQ,OAAOsB,KAAKmqC,QAAQE,aAAalgC,EAAOzL,IAC9EgrC,cAAe,SAASD,GAAY,OAAOzpC,KAAKmqC,QAAQT,cAAcD,IACtEG,iBAAkB,SAASH,GAAY,OAAOzpC,KAAKmqC,QAAQP,iBAAiBH,KCd9E,SAASa,EAAUN,EAAQO,EAAO7kC,EAAOokC,EAAQU,EAAMj8B,GASrD,IARA,IACItP,EADA3B,EAAI,EAEJmtC,EAAcF,EAAM/tC,OACpBkuC,EAAan8B,EAAK/R,OAKfc,EAAIotC,IAAcptC,GACnB2B,EAAOsrC,EAAMjtC,KACf2B,EAAKmrC,SAAW77B,EAAKjR,GACrBwsC,EAAOxsC,GAAK2B,GAEZyG,EAAMpI,GAAK,IAAIysC,EAAUC,EAAQz7B,EAAKjR,IAK1C,KAAOA,EAAImtC,IAAentC,GACpB2B,EAAOsrC,EAAMjtC,MACfktC,EAAKltC,GAAK2B,GAKhB,SAAS0rC,EAAQX,EAAQO,EAAO7kC,EAAOokC,EAAQU,EAAMj8B,EAAM1O,GACzD,IAAIvC,EACA2B,EAKA2rC,EAJAC,EAAiB,GACjBJ,EAAcF,EAAM/tC,OACpBkuC,EAAan8B,EAAK/R,OAClBsuC,EAAY,IAAIpuC,MAAM+tC,GAK1B,IAAKntC,EAAI,EAAGA,EAAImtC,IAAentC,GACzB2B,EAAOsrC,EAAMjtC,MACfwtC,EAAUxtC,GAAKstC,EAzCL,IAyC4B/qC,EAAI3C,KAAK+B,EAAMA,EAAKmrC,SAAU9sC,EAAGitC,GACnEK,KAAYC,EACdL,EAAKltC,GAAK2B,EAEV4rC,EAAeD,GAAY3rC,GAQjC,IAAK3B,EAAI,EAAGA,EAAIotC,IAAcptC,GAExB2B,EAAO4rC,EADXD,EAtDY,IAsDW/qC,EAAI3C,KAAK8sC,EAAQz7B,EAAKjR,GAAIA,EAAGiR,MAElDu7B,EAAOxsC,GAAK2B,EACZA,EAAKmrC,SAAW77B,EAAKjR,GACrButC,EAAeD,GAAY,MAE3BllC,EAAMpI,GAAK,IAAIysC,EAAUC,EAAQz7B,EAAKjR,IAK1C,IAAKA,EAAI,EAAGA,EAAImtC,IAAentC,GACxB2B,EAAOsrC,EAAMjtC,KAAQutC,EAAeC,EAAUxtC,MAAQ2B,IACzDurC,EAAKltC,GAAK2B,GClDhB,SAAS8rC,EAAU/oC,EAAGC,GACpB,OAAOD,EAAIC,GAAK,EAAID,EAAIC,EAAI,EAAID,GAAKC,EAAI,EAAI+oC,ICpB/C,SAASC,EAAW7sC,GAClB,OAAO,WACL4B,KAAKkrC,gBAAgB9sC,IAIzB,SAAS+sC,EAAa7B,GACpB,OAAO,WACLtpC,KAAKorC,kBAAkB9B,EAASP,MAAOO,EAASN,QAIpD,SAASqC,EAAajtC,EAAMpB,GAC1B,OAAO,WACLgD,KAAK8a,aAAa1c,EAAMpB,IAI5B,SAASsuC,EAAehC,EAAUtsC,GAChC,OAAO,WACLgD,KAAKurC,eAAejC,EAASP,MAAOO,EAASN,MAAOhsC,IAIxD,SAASwuC,EAAaptC,EAAMpB,GAC1B,OAAO,WACL,IAAIoc,EAAIpc,EAAM+C,MAAMC,KAAMzD,WACjB,MAAL6c,EAAWpZ,KAAKkrC,gBAAgB9sC,GAC/B4B,KAAK8a,aAAa1c,EAAMgb,IAIjC,SAASqyB,EAAenC,EAAUtsC,GAChC,OAAO,WACL,IAAIoc,EAAIpc,EAAM+C,MAAMC,KAAMzD,WACjB,MAAL6c,EAAWpZ,KAAKorC,kBAAkB9B,EAASP,MAAOO,EAASN,OAC1DhpC,KAAKurC,eAAejC,EAASP,MAAOO,EAASN,MAAO5vB,ICtC9C,WAASna,GACtB,OAAQA,EAAKzD,eAAiByD,EAAKzD,cAAcoQ,aACzC3M,EAAK7C,UAAY6C,GAClBA,EAAK2M,YCDd,SAAS8/B,EAAYttC,GACnB,OAAO,WACL4B,KAAKQ,MAAMmrC,eAAevtC,IAI9B,SAASwtC,EAAcxtC,EAAMpB,EAAO6uC,GAClC,OAAO,WACL7rC,KAAKQ,MAAMsrC,YAAY1tC,EAAMpB,EAAO6uC,IAIxC,SAASE,EAAc3tC,EAAMpB,EAAO6uC,GAClC,OAAO,WACL,IAAIzyB,EAAIpc,EAAM+C,MAAMC,KAAMzD,WACjB,MAAL6c,EAAWpZ,KAAKQ,MAAMmrC,eAAevtC,GACpC4B,KAAKQ,MAAMsrC,YAAY1tC,EAAMgb,EAAGyyB,IAalC,SAASG,EAAW/sC,EAAMb,GAC/B,OAAOa,EAAKuB,MAAMyrC,iBAAiB7tC,IAC5B,EAAYa,GAAMitC,iBAAiBjtC,EAAM,MAAMgtC,iBAAiB7tC,GCjCzE,SAAS+tC,EAAe/tC,GACtB,OAAO,kBACE4B,KAAK5B,IAIhB,SAASguC,EAAiBhuC,EAAMpB,GAC9B,OAAO,WACLgD,KAAK5B,GAAQpB,GAIjB,SAASqvC,EAAiBjuC,EAAMpB,GAC9B,OAAO,WACL,IAAIoc,EAAIpc,EAAM+C,MAAMC,KAAMzD,WACjB,MAAL6c,SAAkBpZ,KAAK5B,GACtB4B,KAAK5B,GAAQgb,GChBtB,SAASkzB,EAAW5sB,GAClB,OAAOA,EAAOjH,OAAOmD,MAAM,SAG7B,SAASwM,EAAUnpB,GACjB,OAAOA,EAAKmpB,WAAa,IAAImkB,EAAUttC,GAGzC,SAASstC,EAAUttC,GACjBe,KAAKwsC,MAAQvtC,EACbe,KAAKysC,OAASH,EAAWrtC,EAAKytC,aAAa,UAAY,IAuBzD,SAASC,EAAW1tC,EAAM2tC,GAExB,IADA,IAAIC,EAAOzkB,EAAUnpB,GAAO3B,GAAK,EAAGU,EAAI4uC,EAAMpwC,SACrCc,EAAIU,GAAG6uC,EAAKC,IAAIF,EAAMtvC,IAGjC,SAASyvC,EAAc9tC,EAAM2tC,GAE3B,IADA,IAAIC,EAAOzkB,EAAUnpB,GAAO3B,GAAK,EAAGU,EAAI4uC,EAAMpwC,SACrCc,EAAIU,GAAG6uC,EAAKxyB,OAAOuyB,EAAMtvC,IAGpC,SAAS0vC,EAAYJ,GACnB,OAAO,WACLD,EAAW3sC,KAAM4sC,IAIrB,SAASK,EAAaL,GACpB,OAAO,WACLG,EAAc/sC,KAAM4sC,IAIxB,SAASM,EAAgBN,EAAO5vC,GAC9B,OAAO,YACJA,EAAM+C,MAAMC,KAAMzD,WAAaowC,EAAaI,GAAe/sC,KAAM4sC,ICzDtE,SAASO,IACPntC,KAAKotC,YAAc,GAGrB,SAASC,EAAarwC,GACpB,OAAO,WACLgD,KAAKotC,YAAcpwC,GAIvB,SAASswC,EAAatwC,GACpB,OAAO,WACL,IAAIoc,EAAIpc,EAAM+C,MAAMC,KAAMzD,WAC1ByD,KAAKotC,YAAmB,MAALh0B,EAAY,GAAKA,GCbxC,SAASm0B,IACPvtC,KAAKwtC,UAAY,GAGnB,SAASC,EAAazwC,GACpB,OAAO,WACLgD,KAAKwtC,UAAYxwC,GAIrB,SAAS0wC,EAAa1wC,GACpB,OAAO,WACL,IAAIoc,EAAIpc,EAAM+C,MAAMC,KAAMzD,WAC1ByD,KAAKwtC,UAAiB,MAALp0B,EAAY,GAAKA,GCbtC,SAASu0B,IACH3tC,KAAK4tC,aAAa5tC,KAAK6tC,WAAWlyC,YAAYqE,MCDpD,SAAS8tC,IACH9tC,KAAK+tC,iBAAiB/tC,KAAK6tC,WAAWxD,aAAarqC,KAAMA,KAAK6tC,WAAWG,YCE/E,SAASC,IACP,OAAO,KCJT,SAAS5zB,IACP,IAAI2vB,EAAShqC,KAAK6tC,WACd7D,GAAQA,EAAOpuC,YAAYoE,MCFjC,SAASkuC,IACP,IAAIC,EAAQnuC,KAAKouC,WAAU,GAAQpE,EAAShqC,KAAK6tC,WACjD,OAAO7D,EAASA,EAAOK,aAAa8D,EAAOnuC,KAAK4tC,aAAeO,EAGjE,SAASE,IACP,IAAIF,EAAQnuC,KAAKouC,WAAU,GAAOpE,EAAShqC,KAAK6tC,WAChD,OAAO7D,EAASA,EAAOK,aAAa8D,EAAOnuC,KAAK4tC,aAAeO,EPMjE5B,EAAUtuC,UAAY,CACpB6uC,IAAK,SAAS1uC,GACJ4B,KAAKysC,OAAO5rC,QAAQzC,GACpB,IACN4B,KAAKysC,OAAOlqC,KAAKnE,GACjB4B,KAAKwsC,MAAM1xB,aAAa,QAAS9a,KAAKysC,OAAO3vC,KAAK,QAGtDud,OAAQ,SAASjc,GACf,IAAId,EAAI0C,KAAKysC,OAAO5rC,QAAQzC,GACxBd,GAAK,IACP0C,KAAKysC,OAAOnpC,OAAOhG,EAAG,GACtB0C,KAAKwsC,MAAM1xB,aAAa,QAAS9a,KAAKysC,OAAO3vC,KAAK,QAGtDqrB,SAAU,SAAS/pB,GACjB,OAAO4B,KAAKysC,OAAO5rC,QAAQzC,IAAS,IQ7BxC,IAAIkwC,EAAe,GAER,GAAQ,KAEK,oBAAblyC,WAEH,iBADQA,SAASyP,kBAErByiC,EAAe,CAACC,WAAY,YAAaC,WAAY,cAIzD,SAASC,GAAsBnlC,EAAUjG,EAAOknC,GAE9C,OADAjhC,EAAWolC,GAAgBplC,EAAUjG,EAAOknC,GACrC,SAAShrC,GACd,IAAIovC,EAAUpvC,EAAMqvC,cACfD,IAAYA,IAAY3uC,MAAkD,EAAxC2uC,EAAQE,wBAAwB7uC,QACrEsJ,EAASpM,KAAK8C,KAAMT,IAK1B,SAASmvC,GAAgBplC,EAAUjG,EAAOknC,GACxC,OAAO,SAASuE,GACd,IAAIC,EAAS,GACb,GAAQD,EACR,IACExlC,EAASpM,KAAK8C,KAAMA,KAAKoqC,SAAU/mC,EAAOknC,GAC1C,QACA,GAAQwE,IAKd,SAASC,GAAeC,GACtB,OAAOA,EAAUx2B,OAAOmD,MAAM,SAASgF,KAAI,SAASsuB,GAClD,IAAI9wC,EAAO,GAAId,EAAI4xC,EAAEruC,QAAQ,KAE7B,OADIvD,GAAK,IAAGc,EAAO8wC,EAAEhxC,MAAMZ,EAAI,GAAI4xC,EAAIA,EAAEhxC,MAAM,EAAGZ,IAC3C,CAACxC,KAAMo0C,EAAG9wC,KAAMA,MAI3B,SAAS+wC,GAASC,GAChB,OAAO,WACL,IAAIxpC,EAAK5F,KAAKqvC,KACd,GAAKzpC,EAAL,CACA,IAAK,IAAkCnI,EAA9B+qC,EAAI,EAAGlrC,GAAK,EAAGgyC,EAAI1pC,EAAGpJ,OAAWgsC,EAAI8G,IAAK9G,EAC7C/qC,EAAImI,EAAG4iC,GAAM4G,EAASt0C,MAAQ2C,EAAE3C,OAASs0C,EAASt0C,MAAS2C,EAAEW,OAASgxC,EAAShxC,KAGjFwH,IAAKtI,GAAKG,EAFVuC,KAAKwJ,oBAAoB/L,EAAE3C,KAAM2C,EAAE6L,SAAU7L,EAAE8xC,WAK7CjyC,EAAGsI,EAAGpJ,OAASc,SACT0C,KAAKqvC,OAIrB,SAASG,GAAMJ,EAAUpyC,EAAOuyC,GAC9B,IAAIE,EAAOnB,EAAaxuC,eAAesvC,EAASt0C,MAAQ2zC,GAAwBC,GAChF,OAAO,SAASlrB,EAAGlmB,EAAGitC,GACpB,IAAoB9sC,EAAhBmI,EAAK5F,KAAKqvC,KAAS/lC,EAAWmmC,EAAKzyC,EAAOM,EAAGitC,GACjD,GAAI3kC,EAAI,IAAK,IAAI4iC,EAAI,EAAG8G,EAAI1pC,EAAGpJ,OAAQgsC,EAAI8G,IAAK9G,EAC9C,IAAK/qC,EAAImI,EAAG4iC,IAAI1tC,OAASs0C,EAASt0C,MAAQ2C,EAAEW,OAASgxC,EAAShxC,KAI5D,OAHA4B,KAAKwJ,oBAAoB/L,EAAE3C,KAAM2C,EAAE6L,SAAU7L,EAAE8xC,SAC/CvvC,KAAKuJ,iBAAiB9L,EAAE3C,KAAM2C,EAAE6L,SAAWA,EAAU7L,EAAE8xC,QAAUA,QACjE9xC,EAAET,MAAQA,GAIdgD,KAAKuJ,iBAAiB6lC,EAASt0C,KAAMwO,EAAUimC,GAC/C9xC,EAAI,CAAC3C,KAAMs0C,EAASt0C,KAAMsD,KAAMgxC,EAAShxC,KAAMpB,MAAOA,EAAOsM,SAAUA,EAAUimC,QAASA,GACrF3pC,EACAA,EAAGrD,KAAK9E,GADJuC,KAAKqvC,KAAO,CAAC5xC,IA0BnB,SAASiyC,GAAYZ,EAAQxlC,EAAUqmC,EAAMlzC,GAClD,IAAIsyC,EAAS,GACbD,EAAOc,YAAc,GACrB,GAAQd,EACR,IACE,OAAOxlC,EAASvJ,MAAM4vC,EAAMlzC,GAC5B,QACA,GAAQsyC,GCtGZ,SAASc,GAAc5wC,EAAMnE,EAAMoV,GACjC,IAAIxN,EAAS,EAAYzD,GACrBM,EAAQmD,EAAOotC,YAEE,mBAAVvwC,EACTA,EAAQ,IAAIA,EAAMzE,EAAMoV,IAExB3Q,EAAQmD,EAAOtG,SAAS2zC,YAAY,SAChC7/B,GAAQ3Q,EAAMywC,UAAUl1C,EAAMoV,EAAO+/B,QAAS//B,EAAOggC,YAAa3wC,EAAM4wC,OAASjgC,EAAOigC,QACvF5wC,EAAMywC,UAAUl1C,GAAM,GAAO,IAGpCmE,EAAK4wC,cAActwC,GAGrB,SAAS6wC,GAAiBt1C,EAAMoV,GAC9B,OAAO,WACL,OAAO2/B,GAAc7vC,KAAMlF,EAAMoV,IAIrC,SAASmgC,GAAiBv1C,EAAMoV,GAC9B,OAAO,WACL,OAAO2/B,GAAc7vC,KAAMlF,EAAMoV,EAAOnQ,MAAMC,KAAMzD,aCOjD,IAAI+zC,GAAO,CAAC,MAEZ,SAASC,GAAUC,EAAQC,GAChCzwC,KAAK0wC,QAAUF,EACfxwC,KAAK2wC,SAAWF,EAGlB,SAASG,KACP,OAAO,IAAIL,GAAU,CAAC,CAACn0C,SAASyP,kBAAmBykC,IAGrDC,GAAUtyC,UAAY2yC,GAAU3yC,UAAY,CAC1CE,YAAaoyC,GACbla,OC1Ca,SAASA,GACA,mBAAXA,IAAuBA,EAASoT,EAASpT,IAEpD,IAAK,IAAIma,EAASxwC,KAAK0wC,QAASpB,EAAIkB,EAAOh0C,OAAQq0C,EAAY,IAAIn0C,MAAM4yC,GAAI9G,EAAI,EAAGA,EAAI8G,IAAK9G,EAC3F,IAAK,IAAiFvpC,EAAM6xC,EAAnFvG,EAAQiG,EAAOhI,GAAIxqC,EAAIusC,EAAM/tC,OAAQu0C,EAAWF,EAAUrI,GAAK,IAAI9rC,MAAMsB,GAAmBV,EAAI,EAAGA,EAAIU,IAAKV,GAC9G2B,EAAOsrC,EAAMjtC,MAAQwzC,EAAUza,EAAOn5B,KAAK+B,EAAMA,EAAKmrC,SAAU9sC,EAAGitC,MAClE,aAActrC,IAAM6xC,EAAQ1G,SAAWnrC,EAAKmrC,UAChD2G,EAASzzC,GAAKwzC,GAKpB,OAAO,IAAIP,GAAUM,EAAW7wC,KAAK2wC,WD+BrCra,UE3Ca,SAASD,GACA,mBAAXA,IAAuBA,EAAS2a,EAAY3a,IAEvD,IAAK,IAAIma,EAASxwC,KAAK0wC,QAASpB,EAAIkB,EAAOh0C,OAAQq0C,EAAY,GAAIJ,EAAU,GAAIjI,EAAI,EAAGA,EAAI8G,IAAK9G,EAC/F,IAAK,IAAyCvpC,EAArCsrC,EAAQiG,EAAOhI,GAAIxqC,EAAIusC,EAAM/tC,OAAcc,EAAI,EAAGA,EAAIU,IAAKV,GAC9D2B,EAAOsrC,EAAMjtC,MACfuzC,EAAUtuC,KAAK8zB,EAAOn5B,KAAK+B,EAAMA,EAAKmrC,SAAU9sC,EAAGitC,IACnDkG,EAAQluC,KAAKtD,IAKnB,OAAO,IAAIsxC,GAAUM,EAAWJ,IFgChC7zC,OG5Ca,SAASsd,GACD,mBAAVA,IAAsBA,EAAQ+2B,EAAQ/2B,IAEjD,IAAK,IAAIs2B,EAASxwC,KAAK0wC,QAASpB,EAAIkB,EAAOh0C,OAAQq0C,EAAY,IAAIn0C,MAAM4yC,GAAI9G,EAAI,EAAGA,EAAI8G,IAAK9G,EAC3F,IAAK,IAAuEvpC,EAAnEsrC,EAAQiG,EAAOhI,GAAIxqC,EAAIusC,EAAM/tC,OAAQu0C,EAAWF,EAAUrI,GAAK,GAAUlrC,EAAI,EAAGA,EAAIU,IAAKV,GAC3F2B,EAAOsrC,EAAMjtC,KAAO4c,EAAMhd,KAAK+B,EAAMA,EAAKmrC,SAAU9sC,EAAGitC,IAC1DwG,EAASxuC,KAAKtD,GAKpB,OAAO,IAAIsxC,GAAUM,EAAW7wC,KAAK2wC,WHkCrCpiC,KhB4Ba,SAASvR,EAAO6C,GAC7B,IAAK7C,EAGH,OAFAuR,EAAO,IAAI7R,MAAMsD,KAAK8C,QAAS0lC,GAAK,EACpCxoC,KAAKkxC,MAAK,SAAS1tB,GAAKjV,IAAOi6B,GAAKhlB,KAC7BjV,EAGT,IoBnFsBo1B,EpBmFlBhlC,EAAOkB,EAAM8qC,EAAUL,EACvBmG,EAAUzwC,KAAK2wC,SACfH,EAASxwC,KAAK0wC,QAEG,mBAAV1zC,IoBvFW2mC,EpBuF4B3mC,EAAjBA,EoBtF1B,WACL,OAAO2mC,IpBuFT,IAAK,IAAI2L,EAAIkB,EAAOh0C,OAAQstC,EAAS,IAAIptC,MAAM4yC,GAAI5pC,EAAQ,IAAIhJ,MAAM4yC,GAAI9E,EAAO,IAAI9tC,MAAM4yC,GAAI9G,EAAI,EAAGA,EAAI8G,IAAK9G,EAAG,CAC/G,IAAIwB,EAASyG,EAAQjI,GACjB+B,EAAQiG,EAAOhI,GACfiC,EAAcF,EAAM/tC,OACpB+R,EAAOvR,EAAME,KAAK8sC,EAAQA,GAAUA,EAAOI,SAAU5B,EAAGiI,GACxD/F,EAAan8B,EAAK/R,OAClB20C,EAAazrC,EAAM8iC,GAAK,IAAI9rC,MAAMguC,GAClC0G,EAActH,EAAOtB,GAAK,IAAI9rC,MAAMguC,GAGxC/rC,EAAKqrC,EAAQO,EAAO4G,EAAYC,EAFhB5G,EAAKhC,GAAK,IAAI9rC,MAAM+tC,GAEoBl8B,EAAM1O,GAK9D,IAAK,IAAoBwxC,EAAU3yC,EAA1B4yC,EAAK,EAAGC,EAAK,EAAmBD,EAAK5G,IAAc4G,EAC1D,GAAID,EAAWF,EAAWG,GAAK,CAE7B,IADIA,GAAMC,IAAIA,EAAKD,EAAK,KACf5yC,EAAO0yC,EAAYG,OAAUA,EAAK7G,IAC3C2G,EAASnH,MAAQxrC,GAAQ,MAQ/B,OAHAorC,EAAS,IAAIyG,GAAUzG,EAAQ2G,IACxBe,OAAS9rC,EAChBokC,EAAO2H,MAAQjH,EACRV,GgBnEPpkC,MjB9Ca,WACb,OAAO,IAAI6qC,GAAUvwC,KAAKwxC,QAAUxxC,KAAK0wC,QAAQ9vB,IAAI8wB,GAAS1xC,KAAK2wC,WiB8CnEnG,KK/Ca,WACb,OAAO,IAAI+F,GAAUvwC,KAAKyxC,OAASzxC,KAAK0wC,QAAQ9vB,IAAI8wB,GAAS1xC,KAAK2wC,WL+ClE7zC,KMnDa,SAAS60C,EAASC,EAAUC,GACzC,IAAInsC,EAAQ1F,KAAK0F,QAASokC,EAAS9pC,KAAMwqC,EAAOxqC,KAAKwqC,OAIrD,OAHA9kC,EAA2B,mBAAZisC,EAAyBA,EAAQjsC,GAASA,EAAMmxB,OAAO8a,EAAU,IAChE,MAAZC,IAAkB9H,EAAS8H,EAAS9H,IAC1B,MAAV+H,EAAgBrH,EAAKnwB,SAAew3B,EAAOrH,GACxC9kC,GAASokC,EAASpkC,EAAMoQ,MAAMg0B,GAAQgI,QAAUhI,GN+CvDh0B,MOlDa,SAAS86B,GAEtB,IAAK,IAAImB,EAAU/xC,KAAK0wC,QAASsB,EAAUpB,EAAUF,QAASuB,EAAKF,EAAQv1C,OAAQ01C,EAAKF,EAAQx1C,OAAQ8yC,EAAI9a,KAAKC,IAAIwd,EAAIC,GAAKC,EAAS,IAAIz1C,MAAMu1C,GAAKzJ,EAAI,EAAGA,EAAI8G,IAAK9G,EACpK,IAAK,IAAmGvpC,EAA/FmzC,EAASL,EAAQvJ,GAAI6J,EAASL,EAAQxJ,GAAIxqC,EAAIo0C,EAAO51C,OAAQsZ,EAAQq8B,EAAO3J,GAAK,IAAI9rC,MAAMsB,GAAUV,EAAI,EAAGA,EAAIU,IAAKV,GACxH2B,EAAOmzC,EAAO90C,IAAM+0C,EAAO/0C,MAC7BwY,EAAMxY,GAAK2B,GAKjB,KAAOupC,EAAIyJ,IAAMzJ,EACf2J,EAAO3J,GAAKuJ,EAAQvJ,GAGtB,OAAO,IAAI+H,GAAU4B,EAAQnyC,KAAK2wC,WPqClCmB,MQrDa,WAEb,IAAK,IAAItB,EAASxwC,KAAK0wC,QAASlI,GAAK,EAAG8G,EAAIkB,EAAOh0C,SAAUgsC,EAAI8G,GAC/D,IAAK,IAA8DrwC,EAA1DsrC,EAAQiG,EAAOhI,GAAIlrC,EAAIitC,EAAM/tC,OAAS,EAAGkC,EAAO6rC,EAAMjtC,KAAYA,GAAK,IAC1E2B,EAAOsrC,EAAMjtC,MACXoB,GAA6C,EAArCO,EAAK4vC,wBAAwBnwC,IAAWA,EAAKmvC,WAAWxD,aAAaprC,EAAMP,GACvFA,EAAOO,GAKb,OAAOe,MR2CPi2B,KfpDa,SAASqc,GAGtB,SAASC,EAAYvwC,EAAGC,GACtB,OAAOD,GAAKC,EAAIqwC,EAAQtwC,EAAEooC,SAAUnoC,EAAEmoC,WAAapoC,GAAKC,EAHrDqwC,IAASA,EAAUvH,GAMxB,IAAK,IAAIyF,EAASxwC,KAAK0wC,QAASpB,EAAIkB,EAAOh0C,OAAQg2C,EAAa,IAAI91C,MAAM4yC,GAAI9G,EAAI,EAAGA,EAAI8G,IAAK9G,EAAG,CAC/F,IAAK,IAAmFvpC,EAA/EsrC,EAAQiG,EAAOhI,GAAIxqC,EAAIusC,EAAM/tC,OAAQi2C,EAAYD,EAAWhK,GAAK,IAAI9rC,MAAMsB,GAAUV,EAAI,EAAGA,EAAIU,IAAKV,GACxG2B,EAAOsrC,EAAMjtC,MACfm1C,EAAUn1C,GAAK2B,GAGnBwzC,EAAUxc,KAAKsc,GAGjB,OAAO,IAAIhC,GAAUiC,EAAYxyC,KAAK2wC,UAAUmB,SeqChD50C,KSvDa,WACb,IAAI6e,EAAWxf,UAAU,GAGzB,OAFAA,UAAU,GAAKyD,KACf+b,EAAShc,MAAM,KAAMxD,WACdyD,MToDP0yC,MUxDa,WACb,IAAIA,EAAQ,IAAIh2C,MAAMsD,KAAK8C,QAASxF,GAAK,EAEzC,OADA0C,KAAKkxC,MAAK,WAAawB,IAAQp1C,GAAK0C,QAC7B0yC,GVsDPzzC,KWzDa,WAEb,IAAK,IAAIuxC,EAASxwC,KAAK0wC,QAASlI,EAAI,EAAG8G,EAAIkB,EAAOh0C,OAAQgsC,EAAI8G,IAAK9G,EACjE,IAAK,IAAI+B,EAAQiG,EAAOhI,GAAIlrC,EAAI,EAAGU,EAAIusC,EAAM/tC,OAAQc,EAAIU,IAAKV,EAAG,CAC/D,IAAI2B,EAAOsrC,EAAMjtC,GACjB,GAAI2B,EAAM,OAAOA,EAIrB,OAAO,MXiDP6D,KY1Da,WACb,IAAIA,EAAO,EAEX,OADA9C,KAAKkxC,MAAK,aAAepuC,KAClBA,GZwDP6mC,Ma3Da,WACb,OAAQ3pC,KAAKf,Qb2DbiyC,Kc5Da,SAASn1B,GAEtB,IAAK,IAAIy0B,EAASxwC,KAAK0wC,QAASlI,EAAI,EAAG8G,EAAIkB,EAAOh0C,OAAQgsC,EAAI8G,IAAK9G,EACjE,IAAK,IAAgDvpC,EAA5CsrC,EAAQiG,EAAOhI,GAAIlrC,EAAI,EAAGU,EAAIusC,EAAM/tC,OAAcc,EAAIU,IAAKV,GAC9D2B,EAAOsrC,EAAMjtC,KAAIye,EAAS7e,KAAK+B,EAAMA,EAAKmrC,SAAU9sC,EAAGitC,GAI/D,OAAOvqC,MdqDPw2B,KdnBa,SAASp4B,EAAMpB,GAC5B,IAAIssC,EAAWC,EAAUnrC,GAEzB,GAAI7B,UAAUC,OAAS,EAAG,CACxB,IAAIyC,EAAOe,KAAKf,OAChB,OAAOqqC,EAASN,MACV/pC,EAAK0zC,eAAerJ,EAASP,MAAOO,EAASN,OAC7C/pC,EAAKytC,aAAapD,GAG1B,OAAOtpC,KAAKkxC,MAAe,MAATl0C,EACXssC,EAASN,MAAQmC,EAAeF,EAAgC,mBAAVjuC,EACtDssC,EAASN,MAAQyC,EAAiBD,EAClClC,EAASN,MAAQsC,EAAiBD,GAAgB/B,EAAUtsC,KcOnEwD,MZxCa,SAASpC,EAAMpB,EAAO6uC,GACnC,OAAOtvC,UAAUC,OAAS,EACpBwD,KAAKkxC,MAAe,MAATl0C,EACL0uC,EAA+B,mBAAV1uC,EACrB+uC,EACAH,GAAextC,EAAMpB,EAAmB,MAAZ6uC,EAAmB,GAAKA,IAC1DG,EAAWhsC,KAAKf,OAAQb,IYmC9Bw0C,SX3Ca,SAASx0C,EAAMpB,GAC5B,OAAOT,UAAUC,OAAS,EACpBwD,KAAKkxC,MAAe,MAATl0C,EACPmvC,EAAkC,mBAAVnvC,EACxBqvC,EACAD,GAAkBhuC,EAAMpB,IAC5BgD,KAAKf,OAAOb,IWsClBy0C,QVHa,SAASz0C,EAAMpB,GAC5B,IAAI4vC,EAAQN,EAAWluC,EAAO,IAE9B,GAAI7B,UAAUC,OAAS,EAAG,CAExB,IADA,IAAIqwC,EAAOzkB,EAAUpoB,KAAKf,QAAS3B,GAAK,EAAGU,EAAI4uC,EAAMpwC,SAC5Cc,EAAIU,OAAQ6uC,EAAK1kB,SAASykB,EAAMtvC,IAAK,OAAO,EACrD,OAAO,EAGT,OAAO0C,KAAKkxC,MAAuB,mBAAVl0C,EACnBkwC,EAAkBlwC,EAClBgwC,EACAC,GAAcL,EAAO5vC,KUR3B85B,KThDa,SAAS95B,GACtB,OAAOT,UAAUC,OACXwD,KAAKkxC,KAAc,MAATl0C,EACNmwC,GAA+B,mBAAVnwC,EACrBswC,EACAD,GAAcrwC,IAClBgD,KAAKf,OAAOmuC,aS2ClBlf,KRjDa,SAASlxB,GACtB,OAAOT,UAAUC,OACXwD,KAAKkxC,KAAc,MAATl0C,EACNuwC,GAA+B,mBAAVvwC,EACrB0wC,EACAD,GAAczwC,IAClBgD,KAAKf,OAAOuuC,WQ4ClBG,MP/Da,WACb,OAAO3tC,KAAKkxC,KAAKvD,IO+DjBG,MNhEa,WACb,OAAO9tC,KAAKkxC,KAAKpD,IMgEjBjX,OenEa,SAASz4B,GACtB,IAAI/C,EAAyB,mBAAT+C,EAAsBA,EAAO00C,EAAQ10C,GACzD,OAAO4B,KAAKq2B,QAAO,WACjB,OAAOr2B,KAAKrE,YAAYN,EAAO0E,MAAMC,KAAMzD,gBfiE7Cw2C,OL/Da,SAAS30C,EAAM40C,GAC5B,IAAI33C,EAAyB,mBAAT+C,EAAsBA,EAAO00C,EAAQ10C,GACrDi4B,EAAmB,MAAV2c,EAAiB/E,EAAiC,mBAAX+E,EAAwBA,EAASvJ,EAASuJ,GAC9F,OAAOhzC,KAAKq2B,QAAO,WACjB,OAAOr2B,KAAKqqC,aAAahvC,EAAO0E,MAAMC,KAAMzD,WAAY85B,EAAOt2B,MAAMC,KAAMzD,YAAc,UK4D3F8d,OJlEa,WACb,OAAOra,KAAKkxC,KAAK72B,IIkEjB8zB,MH9Da,SAAS8E,GACtB,OAAOjzC,KAAKq2B,OAAO4c,EAAO5E,EAAsBH,IG8DhDjE,MgBzEa,SAASjtC,GACtB,OAAOT,UAAUC,OACXwD,KAAK4yC,SAAS,WAAY51C,GAC1BgD,KAAKf,OAAOmrC,UhBuElBxkC,GFEa,SAASwpC,EAAUpyC,EAAOuyC,GACvC,IAA+CjyC,EAAyB4xC,EAApED,EAAYD,GAAeI,EAAW,IAAQpxC,EAAIixC,EAAUzyC,OAEhE,KAAID,UAAUC,OAAS,GAAvB,CAcA,IAFAoJ,EAAK5I,EAAQwyC,GAAQL,GACN,MAAXI,IAAiBA,GAAU,GAC1BjyC,EAAI,EAAGA,EAAIU,IAAKV,EAAG0C,KAAKkxC,KAAKtrC,EAAGqpC,EAAU3xC,GAAIN,EAAOuyC,IAC1D,OAAOvvC,KAdL,IAAI4F,EAAK5F,KAAKf,OAAOowC,KACrB,GAAIzpC,EAAI,IAAK,IAA0BnI,EAAtB+qC,EAAI,EAAG8G,EAAI1pC,EAAGpJ,OAAWgsC,EAAI8G,IAAK9G,EACjD,IAAKlrC,EAAI,EAAGG,EAAImI,EAAG4iC,GAAIlrC,EAAIU,IAAKV,EAC9B,IAAK4xC,EAAID,EAAU3xC,IAAIxC,OAAS2C,EAAE3C,MAAQo0C,EAAE9wC,OAASX,EAAEW,KACrD,OAAOX,EAAET,OETjBrC,SD9Ca,SAASG,EAAMoV,GAC5B,OAAOlQ,KAAKkxC,MAAwB,mBAAXhhC,EACnBmgC,GACAD,IAAkBt1C,EAAMoV,MC8ChC,YiB5Ee,YAASu5B,GACtB,MAA2B,iBAAbA,EACR,IAAI8G,GAAU,CAAC,CAACn0C,SAASstC,cAAcD,KAAa,CAACrtC,SAASyP,kBAC9D,IAAI0kC,GAAU,CAAC,CAAC9G,IAAY6G,ICFrB,YAASlyC,GACtB,OAAO,GAAO00C,EAAQ10C,GAAMlB,KAAKd,SAASyP,kBCJ5C,IAAIqnC,GAAS,EAEE,SAASlK,KACtB,OAAO,IAAImK,GAGb,SAASA,KACPnzC,KAAKyqB,EAAI,OAASyoB,IAAQj2C,SAAS,ICLtB,cAEb,IADA,IAAqB2C,EAAjBrE,EAAU,GACPqE,EAASrE,EAAQq0C,aAAar0C,EAAUqE,EAC/C,OAAOrE,ECLM,YAAS0D,EAAMM,GAC5B,IAAIg3B,EAAMt3B,EAAKm0C,iBAAmBn0C,EAElC,GAAIs3B,EAAI8c,eAAgB,CACtB,IAAIC,EAAQ/c,EAAI8c,iBAGhB,OAFAC,EAAM3P,EAAIpkC,EAAM+3B,QAASgc,EAAM1P,EAAIrkC,EAAM83B,QAElC,EADPic,EAAQA,EAAMC,gBAAgBt0C,EAAKu0C,eAAeC,YACpC9P,EAAG2P,EAAM1P,GAGzB,IAAIxhC,EAAOnD,EAAKkD,wBAChB,MAAO,CAAC5C,EAAM+3B,QAAUl1B,EAAKmK,KAAOtN,EAAKy0C,WAAYn0C,EAAM83B,QAAUj1B,EAAKiK,IAAMpN,EAAK00C,WCRxE,YAAS10C,GACtB,IAAIM,EAAQqwC,KAEZ,OADIrwC,EAAMq0C,iBAAgBr0C,EAAQA,EAAMq0C,eAAe,IAChDN,GAAMr0C,EAAMM,GCJN,YAASkqC,GACtB,MAA2B,iBAAbA,EACR,IAAI8G,GAAU,CAACn0C,SAASwtC,iBAAiBH,IAAY,CAACrtC,SAASyP,kBAC/D,IAAI0kC,GAAU,CAAa,MAAZ9G,EAAmB,GAAKA,GAAW6G,ICF3C,YAASrxC,EAAM40C,EAASC,GACjCv3C,UAAUC,OAAS,IAAGs3C,EAAaD,EAASA,EAAUjE,KAAcgE,gBAExE,IAAK,IAA6CG,EAAzCz2C,EAAI,EAAGU,EAAI61C,EAAUA,EAAQr3C,OAAS,EAAUc,EAAIU,IAAKV,EAChE,IAAKy2C,EAAQF,EAAQv2C,IAAIw2C,aAAeA,EACtC,OAAOR,GAAMr0C,EAAM80C,GAIvB,OAAO,KCTM,YAAS90C,EAAM40C,GACb,MAAXA,IAAiBA,EAAUjE,KAAciE,SAE7C,IAAK,IAAIv2C,EAAI,EAAGU,EAAI61C,EAAUA,EAAQr3C,OAAS,EAAGgnC,EAAS,IAAI9mC,MAAMsB,GAAIV,EAAIU,IAAKV,EAChFkmC,EAAOlmC,GAAKg2C,GAAMr0C,EAAM40C,EAAQv2C,IAGlC,OAAOkmC,ENAT2P,GAAMl1C,UAAY+qC,GAAM/qC,UAAY,CAClCE,YAAag1C,GACbnwC,IAAK,SAAS/D,GAEZ,IADA,IAAIjD,EAAKgE,KAAKyqB,IACLzuB,KAAMiD,SAAaA,EAAOA,EAAK4uC,YAAa,OACrD,OAAO5uC,EAAKjD,IAEdiH,IAAK,SAAShE,EAAMjC,GAClB,OAAOiC,EAAKe,KAAKyqB,GAAKztB,GAExBqd,OAAQ,SAASpb,GACf,OAAOe,KAAKyqB,KAAKxrB,UAAeA,EAAKe,KAAKyqB,IAE5CxtB,SAAU,WACR,OAAO+C,KAAKyqB,mlCOxBhB,IAAI2K,EAAKZ,KAAKwf,GACVC,EAAM,EAAI7e,EACV8e,EAAU,KACVC,EAAaF,EAAMC,EAEvB,SAASE,IACPp0C,KAAKq0C,IAAMr0C,KAAKs0C,IAChBt0C,KAAKu0C,IAAMv0C,KAAKw0C,IAAM,KACtBx0C,KAAKyqB,EAAI,GAGX,SAAS9Q,IACP,OAAO,IAAIy6B,EAGbA,EAAKn2C,UAAY0b,EAAK1b,UAAY,CAChCE,YAAai2C,EACbK,OAAQ,SAAS9Q,EAAGC,GAClB5jC,KAAKyqB,GAAK,KAAOzqB,KAAKq0C,IAAMr0C,KAAKu0C,KAAO5Q,GAAK,KAAO3jC,KAAKs0C,IAAMt0C,KAAKw0C,KAAO5Q,IAE7E8Q,UAAW,WACQ,OAAb10C,KAAKu0C,MACPv0C,KAAKu0C,IAAMv0C,KAAKq0C,IAAKr0C,KAAKw0C,IAAMx0C,KAAKs0C,IACrCt0C,KAAKyqB,GAAK,MAGdkqB,OAAQ,SAAShR,EAAGC,GAClB5jC,KAAKyqB,GAAK,KAAOzqB,KAAKu0C,KAAO5Q,GAAK,KAAO3jC,KAAKw0C,KAAO5Q,IAEvDgR,iBAAkB,SAAS9Q,EAAIC,EAAIJ,EAAGC,GACpC5jC,KAAKyqB,GAAK,MAAQqZ,EAAM,MAAQC,EAAM,KAAO/jC,KAAKu0C,KAAO5Q,GAAK,KAAO3jC,KAAKw0C,KAAO5Q,IAEnFiR,cAAe,SAAS/Q,EAAIC,EAAIC,EAAIC,EAAIN,EAAGC,GACzC5jC,KAAKyqB,GAAK,MAAQqZ,EAAM,MAAQC,EAAM,MAAQC,EAAM,MAAQC,EAAM,KAAOjkC,KAAKu0C,KAAO5Q,GAAK,KAAO3jC,KAAKw0C,KAAO5Q,IAE/GkR,MAAO,SAAShR,EAAIC,EAAIC,EAAIC,EAAI8Q,GAC9BjR,GAAMA,EAAIC,GAAMA,EAAIC,GAAMA,EAAIC,GAAMA,EAAI8Q,GAAKA,EAC7C,IAAIC,EAAKh1C,KAAKu0C,IACVU,EAAKj1C,KAAKw0C,IACVU,EAAMlR,EAAKF,EACXqR,EAAMlR,EAAKF,EACXqR,EAAMJ,EAAKlR,EACXuR,EAAMJ,EAAKlR,EACXuR,EAAQF,EAAMA,EAAMC,EAAMA,EAG9B,GAAIN,EAAI,EAAG,MAAM,IAAIj2C,MAAM,oBAAsBi2C,GAGjD,GAAiB,OAAb/0C,KAAKu0C,IACPv0C,KAAKyqB,GAAK,KAAOzqB,KAAKu0C,IAAMzQ,GAAM,KAAO9jC,KAAKw0C,IAAMzQ,QAIjD,GAAMuR,EAAQpB,EAKd,GAAM1f,KAAK+gB,IAAIF,EAAMH,EAAMC,EAAMC,GAAOlB,GAAaa,EAKrD,CACH,IAAIS,EAAMxR,EAAKgR,EACXS,EAAMxR,EAAKgR,EACXS,EAAQR,EAAMA,EAAMC,EAAMA,EAC1BQ,EAAQH,EAAMA,EAAMC,EAAMA,EAC1BG,EAAMphB,KAAKqhB,KAAKH,GAChBI,EAAMthB,KAAKqhB,KAAKP,GAChBj4B,EAAI03B,EAAIvgB,KAAKuhB,KAAK3gB,EAAKZ,KAAKwhB,MAAMN,EAAQJ,EAAQK,IAAU,EAAIC,EAAME,KAAS,GAC/EG,EAAM54B,EAAIy4B,EACVI,EAAM74B,EAAIu4B,EAGVphB,KAAK+gB,IAAIU,EAAM,GAAK/B,IACtBl0C,KAAKyqB,GAAK,KAAOqZ,EAAKmS,EAAMb,GAAO,KAAOrR,EAAKkS,EAAMZ,IAGvDr1C,KAAKyqB,GAAK,IAAMsqB,EAAI,IAAMA,EAAI,WAAaM,EAAMG,EAAMJ,EAAMK,GAAQ,KAAOz1C,KAAKu0C,IAAMzQ,EAAKoS,EAAMhB,GAAO,KAAOl1C,KAAKw0C,IAAMzQ,EAAKmS,EAAMf,QApBtIn1C,KAAKyqB,GAAK,KAAOzqB,KAAKu0C,IAAMzQ,GAAM,KAAO9jC,KAAKw0C,IAAMzQ,UAuBxDrN,IAAK,SAASiN,EAAGC,EAAGmR,EAAGoB,EAAIC,EAAIC,GAC7B1S,GAAKA,EAAGC,GAAKA,EAAWyS,IAAQA,EAChC,IAAIC,GADYvB,GAAKA,GACRvgB,KAAK+hB,IAAIJ,GAClBK,EAAKzB,EAAIvgB,KAAKiiB,IAAIN,GAClBnB,EAAKrR,EAAI2S,EACTrB,EAAKrR,EAAI4S,EACTE,EAAK,EAAIL,EACTM,EAAKN,EAAMF,EAAKC,EAAKA,EAAKD,EAG9B,GAAIpB,EAAI,EAAG,MAAM,IAAIj2C,MAAM,oBAAsBi2C,GAGhC,OAAb/0C,KAAKu0C,IACPv0C,KAAKyqB,GAAK,IAAMuqB,EAAK,IAAMC,GAIpBzgB,KAAK+gB,IAAIv1C,KAAKu0C,IAAMS,GAAMd,GAAW1f,KAAK+gB,IAAIv1C,KAAKw0C,IAAMS,GAAMf,KACtEl0C,KAAKyqB,GAAK,IAAMuqB,EAAK,IAAMC,GAIxBF,IAGD4B,EAAK,IAAGA,EAAKA,EAAK1C,EAAMA,GAGxB0C,EAAKxC,EACPn0C,KAAKyqB,GAAK,IAAMsqB,EAAI,IAAMA,EAAI,QAAU2B,EAAK,KAAO/S,EAAI2S,GAAM,KAAO1S,EAAI4S,GAAM,IAAMzB,EAAI,IAAMA,EAAI,QAAU2B,EAAK,KAAO12C,KAAKu0C,IAAMS,GAAM,KAAOh1C,KAAKw0C,IAAMS,GAIrJ0B,EAAKzC,IACZl0C,KAAKyqB,GAAK,IAAMsqB,EAAI,IAAMA,EAAI,SAAW4B,GAAMvhB,GAAO,IAAMshB,EAAK,KAAO12C,KAAKu0C,IAAM5Q,EAAIoR,EAAIvgB,KAAK+hB,IAAIH,IAAO,KAAOp2C,KAAKw0C,IAAM5Q,EAAImR,EAAIvgB,KAAKiiB,IAAIL,OAGlJh0C,KAAM,SAASuhC,EAAGC,EAAGgT,EAAGvhC,GACtBrV,KAAKyqB,GAAK,KAAOzqB,KAAKq0C,IAAMr0C,KAAKu0C,KAAO5Q,GAAK,KAAO3jC,KAAKs0C,IAAMt0C,KAAKw0C,KAAO5Q,GAAK,MAAQgT,EAAK,MAAQvhC,EAAK,KAAQuhC,EAAK,KAEzH35C,SAAU,WACR,OAAO+C,KAAKyqB,IAIhB,UCjIe,WAASkZ,GACtB,OAAO,WACL,OAAOA,GCFJ,IAAI4R,EAAM/gB,KAAK+gB,IACXsB,EAAQriB,KAAKqiB,MACbN,EAAM/hB,KAAK+hB,IACX5T,EAAMnO,KAAKmO,IACXlO,EAAMD,KAAKC,IACXgiB,EAAMjiB,KAAKiiB,IACXZ,EAAOrhB,KAAKqhB,KAEZ,EAAU,MACV,EAAKrhB,KAAKwf,GACV8C,EAAS,EAAK,EACd,EAAM,EAAI,EAEd,SAASd,EAAKrS,GACnB,OAAOA,EAAI,EAAI,EAAIA,GAAK,EAAI,EAAKnP,KAAKwhB,KAAKrS,GAGtC,SAASoT,EAAKpT,GACnB,OAAOA,GAAK,EAAImT,EAASnT,IAAM,GAAKmT,EAAStiB,KAAKuiB,KAAKpT,GCdzD,SAASqT,EAAexzB,GACtB,OAAOA,EAAEmT,YAGX,SAASsgB,EAAezzB,GACtB,OAAOA,EAAEoT,YAGX,SAASsgB,EAAc1zB,GACrB,OAAOA,EAAE2zB,WAGX,SAASC,EAAY5zB,GACnB,OAAOA,EAAE6zB,SAGX,SAASC,EAAY9zB,GACnB,OAAOA,GAAKA,EAAE+zB,SAGhB,SAASC,EAAUxC,EAAIC,EAAInR,EAAIC,EAAIC,EAAIC,EAAIwT,EAAIC,GAC7C,IAAIC,EAAM7T,EAAKkR,EAAI4C,EAAM7T,EAAKkR,EAC1B4C,EAAMJ,EAAKzT,EAAI8T,EAAMJ,EAAKzT,EAC1BiL,EAAI4I,EAAMH,EAAME,EAAMD,EAC1B,KAAI1I,EAAIA,EAAI,GAEZ,MAAO,CAAC8F,GADR9F,GAAK2I,GAAO5C,EAAKhR,GAAM6T,GAAO9C,EAAKhR,IAAOkL,GACzByI,EAAK1C,EAAK/F,EAAI0I,GAKjC,SAASG,EAAe/C,EAAIC,EAAInR,EAAIC,EAAIiU,EAAIC,EAAIvB,GAC9C,IAAItB,EAAMJ,EAAKlR,EACXuR,EAAMJ,EAAKlR,EACXmU,GAAMxB,EAAKuB,GAAMA,GAAMpC,EAAKT,EAAMA,EAAMC,EAAMA,GAC9C8C,EAAKD,EAAK7C,EACV+C,GAAMF,EAAK9C,EACXiD,EAAMrD,EAAKmD,EACXG,EAAMrD,EAAKmD,EACXT,EAAM7T,EAAKqU,EACXP,EAAM7T,EAAKqU,EACXG,GAAOF,EAAMV,GAAO,EACpBa,GAAOF,EAAMV,GAAO,EACpBtB,EAAKqB,EAAMU,EACX7B,EAAKoB,EAAMU,EACXG,EAAKnC,EAAKA,EAAKE,EAAKA,EACpBzB,EAAIiD,EAAKC,EACTS,EAAIL,EAAMT,EAAMD,EAAMW,EACtB90B,GAAKgzB,EAAK,GAAK,EAAI,GAAKX,EAAKlT,EAAI,EAAGoS,EAAIA,EAAI0D,EAAKC,EAAIA,IACrDC,GAAOD,EAAIlC,EAAKF,EAAK9yB,GAAKi1B,EAC1BG,IAAQF,EAAIpC,EAAKE,EAAKhzB,GAAKi1B,EAC3BI,GAAOH,EAAIlC,EAAKF,EAAK9yB,GAAKi1B,EAC1BK,IAAQJ,EAAIpC,EAAKE,EAAKhzB,GAAKi1B,EAC3BM,EAAMJ,EAAMJ,EACZS,EAAMJ,EAAMJ,EACZS,EAAMJ,EAAMN,EACZW,EAAMJ,EAAMN,EAMhB,OAFIO,EAAMA,EAAMC,EAAMA,EAAMC,EAAMA,EAAMC,EAAMA,IAAKP,EAAME,EAAKD,EAAME,GAE7D,CACLK,GAAIR,EACJS,GAAIR,EACJxD,KAAM+C,EACN9C,KAAM+C,EACNC,IAAKM,GAAOX,EAAKjD,EAAI,GACrBuD,IAAKM,GAAOZ,EAAKjD,EAAI,IAIV,aACb,IAAIpe,EAAcqgB,EACdpgB,EAAcqgB,EACdoC,EAAeC,EAAS,GACxBC,EAAY,KACZpC,EAAaD,EACbG,EAAWD,EACXG,EAAWD,EACXvwC,EAAU,KAEd,SAAS2vB,IACP,IAAI1e,EACA+8B,EACAyE,GAAM7iB,EAAY52B,MAAMC,KAAMzD,WAC9By7C,GAAMphB,EAAY72B,MAAMC,KAAMzD,WAC9B45C,EAAKgB,EAAWp3C,MAAMC,KAAMzD,WAAau6C,EACzCV,EAAKiB,EAASt3C,MAAMC,KAAMzD,WAAau6C,EACvCH,EAAKpB,EAAIa,EAAKD,GACdO,EAAKN,EAAKD,EAQd,GANKpvC,IAASA,EAAUiR,EAAS,KAG7BggC,EAAKwB,IAAIzE,EAAIiD,EAAIA,EAAKwB,EAAIA,EAAKzE,GAG7BiD,EAAK,EAGN,GAAIrB,EAAK,EAAM,EAClB5vC,EAAQ0tC,OAAOuD,EAAKzB,EAAIJ,GAAK6B,EAAKvB,EAAIN,IACtCpvC,EAAQ2vB,IAAI,EAAG,EAAGshB,EAAI7B,EAAIC,GAAKM,GAC3B8C,EAAK,IACPzyC,EAAQ0tC,OAAO+E,EAAKjD,EAAIH,GAAKoD,EAAK/C,EAAIL,IACtCrvC,EAAQ2vB,IAAI,EAAG,EAAG8iB,EAAIpD,EAAID,EAAIO,QAK7B,CACH,IAWI+C,EACAC,EAZAC,EAAMxD,EACNyD,EAAMxD,EACNyD,EAAM1D,EACN2D,EAAM1D,EACN2D,EAAMpD,EACNqD,EAAMrD,EACNsD,EAAK1C,EAASx3C,MAAMC,KAAMzD,WAAa,EACvC29C,EAAMD,EAAK,IAAaV,GAAaA,EAAUx5C,MAAMC,KAAMzD,WAAas5C,EAAK2D,EAAKA,EAAKxB,EAAKA,IAC5FC,EAAKxjB,EAAI8gB,EAAIyC,EAAKwB,GAAM,GAAIH,EAAat5C,MAAMC,KAAMzD,YACrD49C,EAAMlC,EACNmC,EAAMnC,EAKV,GAAIiC,EAAK,EAAS,CAChB,IAAIG,EAAKtD,EAAKmD,EAAKV,EAAK/C,EAAIwD,IACxBK,EAAKvD,EAAKmD,EAAKlC,EAAKvB,EAAIwD,KACvBF,GAAY,EAALM,GAAU,GAA8BR,GAArBQ,GAAO3D,EAAK,GAAK,EAAeoD,GAAOO,IACjEN,EAAM,EAAGF,EAAMC,GAAO3D,EAAKC,GAAM,IACjC4D,GAAY,EAALM,GAAU,GAA8BX,GAArBW,GAAO5D,EAAK,GAAK,EAAekD,GAAOU,IACjEN,EAAM,EAAGL,EAAMC,GAAOzD,EAAKC,GAAM,GAGxC,IAAIhB,EAAM4C,EAAKzB,EAAIoD,GACftE,EAAM2C,EAAKvB,EAAIkD,GACfhC,EAAM6B,EAAKjD,EAAIuD,GACflC,EAAM4B,EAAK/C,EAAIqD,GAGnB,GAAI7B,EAAK,EAAS,CAChB,IAIIsC,EAJAlC,EAAML,EAAKzB,EAAIqD,GACftB,EAAMN,EAAKvB,EAAImD,GACfrB,EAAMiB,EAAKjD,EAAIsD,GACfrB,GAAMgB,EAAK/C,EAAIoD,GAInB,GAAIlD,EAAK,IAAO4D,EAAK/C,EAAUpC,EAAKC,EAAKkD,EAAKC,GAAKH,EAAKC,EAAKX,EAAKC,IAAO,CACvE,IAAI4C,GAAKpF,EAAMmF,EAAG,GACdE,GAAKpF,EAAMkF,EAAG,GACdG,GAAKrC,EAAMkC,EAAG,GACdI,GAAKrC,EAAMiC,EAAG,GACdK,GAAK,EAAInE,EAAIT,GAAMwE,GAAKE,GAAKD,GAAKE,KAAO9E,EAAK2E,GAAKA,GAAKC,GAAKA,IAAM5E,EAAK6E,GAAKA,GAAKC,GAAKA,MAAQ,GAC/FE,GAAKhF,EAAK0E,EAAG,GAAKA,EAAG,GAAKA,EAAG,GAAKA,EAAG,IACzCJ,EAAM1lB,EAAIwjB,GAAKuB,EAAKqB,KAAOD,GAAK,IAChCR,EAAM3lB,EAAIwjB,GAAKD,EAAK6C,KAAOD,GAAK,KAK9BZ,EAAM,EAGHI,EAAM,GACbX,EAAK1B,EAAeQ,EAAKC,GAAKpD,EAAKC,EAAK2C,EAAIoC,EAAK1D,GACjDgD,EAAK3B,EAAeM,EAAKC,EAAKX,EAAKC,EAAKI,EAAIoC,EAAK1D,GAEjD3vC,EAAQ0tC,OAAOgF,EAAGN,GAAKM,EAAGrE,IAAKqE,EAAGL,GAAKK,EAAGpE,KAGtC+E,EAAMnC,EAAIlxC,EAAQ2vB,IAAI+iB,EAAGN,GAAIM,EAAGL,GAAIgB,EAAKvD,EAAM4C,EAAGpE,IAAKoE,EAAGrE,KAAMyB,EAAM6C,EAAGrE,IAAKqE,EAAGtE,MAAOsB,IAI1F3vC,EAAQ2vB,IAAI+iB,EAAGN,GAAIM,EAAGL,GAAIgB,EAAKvD,EAAM4C,EAAGpE,IAAKoE,EAAGrE,KAAMyB,EAAM4C,EAAGnB,IAAKmB,EAAGpB,MAAO3B,GAC9E3vC,EAAQ2vB,IAAI,EAAG,EAAGshB,EAAInB,EAAM4C,EAAGL,GAAKK,EAAGnB,IAAKmB,EAAGN,GAAKM,EAAGpB,KAAMxB,EAAM6C,EAAGN,GAAKM,EAAGpB,IAAKoB,EAAGP,GAAKO,EAAGrB,MAAO3B,GACrG3vC,EAAQ2vB,IAAIgjB,EAAGP,GAAIO,EAAGN,GAAIgB,EAAKvD,EAAM6C,EAAGpB,IAAKoB,EAAGrB,KAAMxB,EAAM6C,EAAGrE,IAAKqE,EAAGtE,MAAOsB,MAK7E3vC,EAAQ0tC,OAAOW,EAAKC,GAAMtuC,EAAQ2vB,IAAI,EAAG,EAAGshB,EAAI2B,EAAKC,GAAMlD,IArB1C3vC,EAAQ0tC,OAAOW,EAAKC,GAyBpCmE,EAAK,GAAcO,EAAM,EAGtBI,EAAM,GACbV,EAAK1B,EAAeJ,EAAKC,EAAKS,EAAKC,EAAKkB,GAAKW,EAAKzD,GAClDgD,EAAK3B,EAAe3C,EAAKC,EAAKkD,EAAKC,GAAKgB,GAAKW,EAAKzD,GAElD3vC,EAAQ4tC,OAAO8E,EAAGN,GAAKM,EAAGrE,IAAKqE,EAAGL,GAAKK,EAAGpE,KAGtC8E,EAAMlC,EAAIlxC,EAAQ2vB,IAAI+iB,EAAGN,GAAIM,EAAGL,GAAIe,EAAKtD,EAAM4C,EAAGpE,IAAKoE,EAAGrE,KAAMyB,EAAM6C,EAAGrE,IAAKqE,EAAGtE,MAAOsB,IAI1F3vC,EAAQ2vB,IAAI+iB,EAAGN,GAAIM,EAAGL,GAAIe,EAAKtD,EAAM4C,EAAGpE,IAAKoE,EAAGrE,KAAMyB,EAAM4C,EAAGnB,IAAKmB,EAAGpB,MAAO3B,GAC9E3vC,EAAQ2vB,IAAI,EAAG,EAAG8iB,EAAI3C,EAAM4C,EAAGL,GAAKK,EAAGnB,IAAKmB,EAAGN,GAAKM,EAAGpB,KAAMxB,EAAM6C,EAAGN,GAAKM,EAAGpB,IAAKoB,EAAGP,GAAKO,EAAGrB,KAAM3B,GACpG3vC,EAAQ2vB,IAAIgjB,EAAGP,GAAIO,EAAGN,GAAIe,EAAKtD,EAAM6C,EAAGpB,IAAKoB,EAAGrB,KAAMxB,EAAM6C,EAAGrE,IAAKqE,EAAGtE,MAAOsB,KAK7E3vC,EAAQ2vB,IAAI,EAAG,EAAG8iB,EAAIM,EAAKD,EAAKnD,GArBI3vC,EAAQ4tC,OAAOgD,EAAKC,QA1F1C7wC,EAAQ0tC,OAAO,EAAG,GAoHvC,GAFA1tC,EAAQ2tC,YAEJ18B,EAAQ,OAAOjR,EAAU,KAAMiR,EAAS,IAAM,KAyCpD,OAtCA0e,EAAIokB,SAAW,WACb,IAAI/F,IAAMpe,EAAY52B,MAAMC,KAAMzD,aAAcq6B,EAAY72B,MAAMC,KAAMzD,YAAc,EAClFyF,IAAMm1C,EAAWp3C,MAAMC,KAAMzD,aAAc86C,EAASt3C,MAAMC,KAAMzD,YAAc,EAAI,EAAK,EAC3F,MAAO,CAACg6C,EAAIv0C,GAAK+yC,EAAG0B,EAAIz0C,GAAK+yC,IAG/Bre,EAAIC,YAAc,SAASlM,GACzB,OAAOluB,UAAUC,QAAUm6B,EAA2B,mBAANlM,EAAmBA,EAAI6uB,GAAU7uB,GAAIiM,GAAOC,GAG9FD,EAAIE,YAAc,SAASnM,GACzB,OAAOluB,UAAUC,QAAUo6B,EAA2B,mBAANnM,EAAmBA,EAAI6uB,GAAU7uB,GAAIiM,GAAOE,GAG9FF,EAAI2iB,aAAe,SAAS5uB,GAC1B,OAAOluB,UAAUC,QAAU68C,EAA4B,mBAAN5uB,EAAmBA,EAAI6uB,GAAU7uB,GAAIiM,GAAO2iB,GAG/F3iB,EAAI6iB,UAAY,SAAS9uB,GACvB,OAAOluB,UAAUC,QAAU+8C,EAAiB,MAAL9uB,EAAY,KAAoB,mBAANA,EAAmBA,EAAI6uB,GAAU7uB,GAAIiM,GAAO6iB,GAG/G7iB,EAAIygB,WAAa,SAAS1sB,GACxB,OAAOluB,UAAUC,QAAU26C,EAA0B,mBAAN1sB,EAAmBA,EAAI6uB,GAAU7uB,GAAIiM,GAAOygB,GAG7FzgB,EAAI2gB,SAAW,SAAS5sB,GACtB,OAAOluB,UAAUC,QAAU66C,EAAwB,mBAAN5sB,EAAmBA,EAAI6uB,GAAU7uB,GAAIiM,GAAO2gB,GAG3F3gB,EAAI6gB,SAAW,SAAS9sB,GACtB,OAAOluB,UAAUC,QAAU+6C,EAAwB,mBAAN9sB,EAAmBA,EAAI6uB,GAAU7uB,GAAIiM,GAAO6gB,GAG3F7gB,EAAI3vB,QAAU,SAAS0jB,GACrB,OAAOluB,UAAUC,QAAWuK,EAAe,MAAL0jB,EAAY,KAAOA,EAAIiM,GAAO3vB,GAG/D2vB,ECnQT,SAASqkB,EAAOh0C,GACd/G,KAAKg7C,SAAWj0C,EA2BH,WAASA,GACtB,OAAO,IAAIg0C,EAAOh0C,GC7Bb,SAAS,EAAEk0C,GAChB,OAAOA,EAAE,GAGJ,SAAS,EAAEA,GAChB,OAAOA,EAAE,GCAI,aACb,IAAItX,EAAI,EACJC,EAAI,EACJsX,EAAU5B,GAAS,GACnBvyC,EAAU,KACVo0C,EAAQ,EACRC,EAAS,KAEb,SAASv/B,EAAKtN,GACZ,IAAIjR,EAEAkmB,EAEAxL,EAHAha,EAAIuQ,EAAK/R,OAET6+C,GAAW,EAKf,IAFe,MAAXt0C,IAAiBq0C,EAASD,EAAMnjC,EAAS,MAExC1a,EAAI,EAAGA,GAAKU,IAAKV,IACdA,EAAIU,GAAKk9C,EAAQ13B,EAAIjV,EAAKjR,GAAIA,EAAGiR,MAAW8sC,KAC5CA,GAAYA,GAAUD,EAAOE,YAC5BF,EAAOG,WAEVF,GAAUD,EAAO9H,OAAO3P,EAAEngB,EAAGlmB,EAAGiR,IAAQq1B,EAAEpgB,EAAGlmB,EAAGiR,IAGtD,GAAIyJ,EAAQ,OAAOojC,EAAS,KAAMpjC,EAAS,IAAM,KAuBnD,OApBA6D,EAAK8nB,EAAI,SAASlZ,GAChB,OAAOluB,UAAUC,QAAUmnC,EAAiB,mBAANlZ,EAAmBA,EAAI6uB,GAAU7uB,GAAI5O,GAAQ8nB,GAGrF9nB,EAAK+nB,EAAI,SAASnZ,GAChB,OAAOluB,UAAUC,QAAUonC,EAAiB,mBAANnZ,EAAmBA,EAAI6uB,GAAU7uB,GAAI5O,GAAQ+nB,GAGrF/nB,EAAKq/B,QAAU,SAASzwB,GACtB,OAAOluB,UAAUC,QAAU0+C,EAAuB,mBAANzwB,EAAmBA,EAAI6uB,IAAW7uB,GAAI5O,GAAQq/B,GAG5Fr/B,EAAKs/B,MAAQ,SAAS1wB,GACpB,OAAOluB,UAAUC,QAAU2+C,EAAQ1wB,EAAc,MAAX1jB,IAAoBq0C,EAASD,EAAMp0C,IAAW8U,GAAQs/B,GAG9Ft/B,EAAK9U,QAAU,SAAS0jB,GACtB,OAAOluB,UAAUC,QAAe,MAALiuB,EAAY1jB,EAAUq0C,EAAS,KAAOA,EAASD,EAAMp0C,EAAU0jB,GAAI5O,GAAQ9U,GAGjG8U,EC/CM,aACb,IAAIm5B,EAAK,EACLlR,EAAK,KACLmR,EAAKqE,EAAS,GACdvV,EAAK,EACLmX,EAAU5B,GAAS,GACnBvyC,EAAU,KACVo0C,EAAQ,EACRC,EAAS,KAEb,SAASI,EAAKjtC,GACZ,IAAIjR,EACAkrC,EACAiT,EAEAj4B,EAEAxL,EAHAha,EAAIuQ,EAAK/R,OAET6+C,GAAW,EAEXK,EAAM,IAAIh/C,MAAMsB,GAChB29C,EAAM,IAAIj/C,MAAMsB,GAIpB,IAFe,MAAX+I,IAAiBq0C,EAASD,EAAMnjC,EAAS,MAExC1a,EAAI,EAAGA,GAAKU,IAAKV,EAAG,CACvB,KAAMA,EAAIU,GAAKk9C,EAAQ13B,EAAIjV,EAAKjR,GAAIA,EAAGiR,MAAW8sC,EAChD,GAAIA,GAAYA,EACd7S,EAAIlrC,EACJ89C,EAAOQ,YACPR,EAAOE,gBACF,CAGL,IAFAF,EAAOG,UACPH,EAAOE,YACFG,EAAIn+C,EAAI,EAAGm+C,GAAKjT,IAAKiT,EACxBL,EAAO9H,MAAMoI,EAAID,GAAIE,EAAIF,IAE3BL,EAAOG,UACPH,EAAOS,UAGPR,IACFK,EAAIp+C,IAAM03C,EAAGxxB,EAAGlmB,EAAGiR,GAAOotC,EAAIr+C,IAAM23C,EAAGzxB,EAAGlmB,EAAGiR,GAC7C6sC,EAAO9H,MAAMxP,GAAMA,EAAGtgB,EAAGlmB,EAAGiR,GAAQmtC,EAAIp+C,GAAIymC,GAAMA,EAAGvgB,EAAGlmB,EAAGiR,GAAQotC,EAAIr+C,KAI3E,GAAI0a,EAAQ,OAAOojC,EAAS,KAAMpjC,EAAS,IAAM,KAGnD,SAAS8jC,IACP,OAAOjgC,IAAOq/B,QAAQA,GAASC,MAAMA,GAAOp0C,QAAQA,GAoDtD,OAjDAy0C,EAAK7X,EAAI,SAASlZ,GAChB,OAAOluB,UAAUC,QAAUw4C,EAAkB,mBAANvqB,EAAmBA,EAAI6uB,GAAU7uB,GAAIqZ,EAAK,KAAM0X,GAAQxG,GAGjGwG,EAAKxG,GAAK,SAASvqB,GACjB,OAAOluB,UAAUC,QAAUw4C,EAAkB,mBAANvqB,EAAmBA,EAAI6uB,GAAU7uB,GAAI+wB,GAAQxG,GAGtFwG,EAAK1X,GAAK,SAASrZ,GACjB,OAAOluB,UAAUC,QAAUsnC,EAAU,MAALrZ,EAAY,KAAoB,mBAANA,EAAmBA,EAAI6uB,GAAU7uB,GAAI+wB,GAAQ1X,GAGzG0X,EAAK5X,EAAI,SAASnZ,GAChB,OAAOluB,UAAUC,QAAUy4C,EAAkB,mBAANxqB,EAAmBA,EAAI6uB,GAAU7uB,GAAIsZ,EAAK,KAAMyX,GAAQvG,GAGjGuG,EAAKvG,GAAK,SAASxqB,GACjB,OAAOluB,UAAUC,QAAUy4C,EAAkB,mBAANxqB,EAAmBA,EAAI6uB,GAAU7uB,GAAI+wB,GAAQvG,GAGtFuG,EAAKzX,GAAK,SAAStZ,GACjB,OAAOluB,UAAUC,QAAUunC,EAAU,MAALtZ,EAAY,KAAoB,mBAANA,EAAmBA,EAAI6uB,GAAU7uB,GAAI+wB,GAAQzX,GAGzGyX,EAAKO,OACLP,EAAKQ,OAAS,WACZ,OAAOF,IAAWnY,EAAEqR,GAAIpR,EAAEqR,IAG5BuG,EAAKS,OAAS,WACZ,OAAOH,IAAWnY,EAAEqR,GAAIpR,EAAEG,IAG5ByX,EAAKU,OAAS,WACZ,OAAOJ,IAAWnY,EAAEG,GAAIF,EAAEqR,IAG5BuG,EAAKN,QAAU,SAASzwB,GACtB,OAAOluB,UAAUC,QAAU0+C,EAAuB,mBAANzwB,EAAmBA,EAAI6uB,IAAW7uB,GAAI+wB,GAAQN,GAG5FM,EAAKL,MAAQ,SAAS1wB,GACpB,OAAOluB,UAAUC,QAAU2+C,EAAQ1wB,EAAc,MAAX1jB,IAAoBq0C,EAASD,EAAMp0C,IAAWy0C,GAAQL,GAG9FK,EAAKz0C,QAAU,SAAS0jB,GACtB,OAAOluB,UAAUC,QAAe,MAALiuB,EAAY1jB,EAAUq0C,EAAS,KAAOA,EAASD,EAAMp0C,EAAU0jB,GAAI+wB,GAAQz0C,GAGjGy0C,EC3GM,WAASx5C,EAAGC,GACzB,OAAOA,EAAID,GAAK,EAAIC,EAAID,EAAI,EAAIC,GAAKD,EAAI,EAAIgpC,ICDhC,WAASxnB,GACtB,OAAOA,ECIM,aACb,IAAIxmB,EAAQm/C,EACRC,EAAaC,EACbpmB,EAAO,KACPkhB,EAAamC,EAAS,GACtBjC,EAAWiC,EAAS,GACpB/B,EAAW+B,EAAS,GAExB,SAAStjB,EAAIznB,GACX,IAAIjR,EAEAkrC,EACAiT,EAMArF,EAGAh9B,EAXApb,EAAIuQ,EAAK/R,OAGT45B,EAAM,EACN/yB,EAAQ,IAAI3G,MAAMsB,GAClBg5B,EAAO,IAAIt6B,MAAMsB,GACjBm4C,GAAMgB,EAAWp3C,MAAMC,KAAMzD,WAC7Bo6C,EAAKniB,KAAKC,IAAI,EAAKD,KAAKmO,KAAK,EAAK0U,EAASt3C,MAAMC,KAAMzD,WAAa45C,IAEpE8E,EAAIzmB,KAAKC,IAAID,KAAK+gB,IAAIoB,GAAM34C,EAAGu5C,EAASx3C,MAAMC,KAAMzD,YACpD+/C,EAAKrB,GAAKtE,EAAK,GAAK,EAAI,GAG5B,IAAKr5C,EAAI,EAAGA,EAAIU,IAAKV,GACd8b,EAAI4d,EAAK3zB,EAAM/F,GAAKA,IAAMN,EAAMuR,EAAKjR,GAAIA,EAAGiR,IAAS,IACxD6nB,GAAOhd,GASX,IAJkB,MAAdgjC,EAAoB/4C,EAAM4yB,MAAK,SAAS34B,EAAGkrC,GAAK,OAAO4T,EAAWplB,EAAK15B,GAAI05B,EAAKwR,OACnE,MAARvS,GAAc5yB,EAAM4yB,MAAK,SAAS34B,EAAGkrC,GAAK,OAAOvS,EAAK1nB,EAAKjR,GAAIiR,EAAKi6B,OAGxElrC,EAAI,EAAGm+C,EAAIrlB,GAAOugB,EAAK34C,EAAIs+C,GAAMlmB,EAAM,EAAG94B,EAAIU,IAAKV,EAAG64C,EAAKC,EAC9D5N,EAAInlC,EAAM/F,GAAiB84C,EAAKD,IAAlB/8B,EAAI4d,EAAKwR,IAAmB,EAAIpvB,EAAIqiC,EAAI,GAAKa,EAAItlB,EAAKwR,GAAK,CACvEj6B,KAAMA,EAAKi6B,GACXnlC,MAAO/F,EACPN,MAAOoc,EACP+9B,WAAYhB,EACZkB,SAAUjB,EACVmB,SAAU0D,GAId,OAAOjkB,EA2BT,OAxBAhB,EAAIh5B,MAAQ,SAASytB,GACnB,OAAOluB,UAAUC,QAAUQ,EAAqB,mBAANytB,EAAmBA,EAAI6uB,GAAU7uB,GAAIuL,GAAOh5B,GAGxFg5B,EAAIomB,WAAa,SAAS3xB,GACxB,OAAOluB,UAAUC,QAAU4/C,EAAa3xB,EAAGwL,EAAO,KAAMD,GAAOomB,GAGjEpmB,EAAIC,KAAO,SAASxL,GAClB,OAAOluB,UAAUC,QAAUy5B,EAAOxL,EAAG2xB,EAAa,KAAMpmB,GAAOC,GAGjED,EAAImhB,WAAa,SAAS1sB,GACxB,OAAOluB,UAAUC,QAAU26C,EAA0B,mBAAN1sB,EAAmBA,EAAI6uB,GAAU7uB,GAAIuL,GAAOmhB,GAG7FnhB,EAAIqhB,SAAW,SAAS5sB,GACtB,OAAOluB,UAAUC,QAAU66C,EAAwB,mBAAN5sB,EAAmBA,EAAI6uB,GAAU7uB,GAAIuL,GAAOqhB,GAG3FrhB,EAAIuhB,SAAW,SAAS9sB,GACtB,OAAOluB,UAAUC,QAAU+6C,EAAwB,mBAAN9sB,EAAmBA,EAAI6uB,GAAU7uB,GAAIuL,GAAOuhB,GAGpFvhB,ENzET+kB,EAAO98C,UAAY,CACjB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKw8C,OAAS,GAEhBjB,QAAS,YACHv7C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,GAAK5jC,KAAKg7C,SAASvG,OAAO9Q,EAAGC,GAAI,MAC/F,KAAK,EAAG5jC,KAAKw8C,OAAS,EACtB,QAASx8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,MOrBhC,IAAI6Y,EAAoBC,EAAY,GAE3C,SAASC,EAAOxB,GACdn7C,KAAK48C,OAASzB,EAqBD,SAASuB,EAAYvB,GAElC,SAAS0B,EAAO91C,GACd,OAAO,IAAI41C,EAAOxB,EAAMp0C,IAK1B,OAFA81C,EAAOD,OAASzB,EAET0B,EC/BF,SAASC,EAAWz/B,GACzB,IAAI/J,EAAI+J,EAAE89B,MASV,OAPA99B,EAAE0/B,MAAQ1/B,EAAEsmB,SAAUtmB,EAAEsmB,EACxBtmB,EAAE2/B,OAAS3/B,EAAEumB,SAAUvmB,EAAEumB,EAEzBvmB,EAAE89B,MAAQ,SAAS1wB,GACjB,OAAOluB,UAAUC,OAAS8W,EAAEopC,EAAYjyB,IAAMnX,IAAIspC,QAG7Cv/B,EAGM,aACb,OAAOy/B,EAAWjhC,IAAOs/B,MAAMsB,ICblB,aACb,IAAIz6C,EAAI,IAAOm5C,MAAMsB,GACjBnpC,EAAItR,EAAEm5C,MACNnG,EAAKhzC,EAAE+5C,OACPjY,EAAK9hC,EAAEk6C,OACPjH,EAAKjzC,EAAEg6C,OACPjY,EAAK/hC,EAAEi6C,OAiBX,OAfAj6C,EAAE+6C,MAAQ/6C,EAAE2hC,SAAU3hC,EAAE2hC,EACxB3hC,EAAEm1C,WAAan1C,EAAEgzC,UAAWhzC,EAAEgzC,GAC9BhzC,EAAEq1C,SAAWr1C,EAAE8hC,UAAW9hC,EAAE8hC,GAC5B9hC,EAAEg7C,OAASh7C,EAAE4hC,SAAU5hC,EAAE4hC,EACzB5hC,EAAE20B,YAAc30B,EAAEizC,UAAWjzC,EAAEizC,GAC/BjzC,EAAE40B,YAAc50B,EAAE+hC,UAAW/hC,EAAE+hC,GAC/B/hC,EAAEi7C,eAAiB,WAAa,OAAOH,EAAW9H,aAAiBhzC,EAAE+5C,OACrE/5C,EAAEk7C,aAAe,WAAa,OAAOJ,EAAWhZ,aAAiB9hC,EAAEk6C,OACnEl6C,EAAEm7C,gBAAkB,WAAa,OAAOL,EAAW7H,aAAiBjzC,EAAEg6C,OACtEh6C,EAAEo7C,gBAAkB,WAAa,OAAON,EAAW/Y,aAAiB/hC,EAAEi6C,OAEtEj6C,EAAEm5C,MAAQ,SAAS1wB,GACjB,OAAOluB,UAAUC,OAAS8W,EAAEopC,EAAYjyB,IAAMnX,IAAIspC,QAG7C56C,EC3BM,WAAS2hC,EAAGC,GACzB,MAAO,EAAEA,GAAKA,GAAKpP,KAAK+hB,IAAI5S,GAAKnP,KAAKwf,GAAK,GAAIpQ,EAAIpP,KAAKiiB,IAAI9S,IHO9DgZ,EAAO1+C,UAAY,CACjB29C,UAAW,WACT57C,KAAK48C,OAAOhB,aAEdC,QAAS,WACP77C,KAAK48C,OAAOf,WAEdP,UAAW,WACTt7C,KAAK48C,OAAOtB,aAEdC,QAAS,WACPv7C,KAAK48C,OAAOrB,WAEdjI,MAAO,SAAStxC,EAAG+yC,GACjB/0C,KAAK48C,OAAOtJ,MAAMyB,EAAIvgB,KAAKiiB,IAAIz0C,GAAI+yC,GAAKvgB,KAAK+hB,IAAIv0C,MItB9C,IAAI9D,EAAQxB,MAAMuB,UAAUC,MCMnC,SAASm/C,EAAW75B,GAClB,OAAOA,EAAE5jB,OAGX,SAAS09C,EAAW95B,GAClB,OAAOA,EAAE7jB,OAGX,SAAS,EAAKw7C,GACZ,IAAIv7C,EAASy9C,EACT19C,EAAS29C,EACT3Z,EAAI,EACJC,EAAI,EACJ78B,EAAU,KAEd,SAASmiB,IACP,IAAIlR,EAAQulC,EAAOr/C,EAAMhB,KAAKX,WAAYihD,EAAI59C,EAAOG,MAAMC,KAAMu9C,GAAOrO,EAAIvvC,EAAOI,MAAMC,KAAMu9C,GAG/F,GAFKx2C,IAASA,EAAUiR,EAAS,KACjCmjC,EAAMp0C,GAAU48B,EAAE5jC,MAAMC,MAAOu9C,EAAK,GAAKC,EAAGD,KAAS3Z,EAAE7jC,MAAMC,KAAMu9C,IAAQ5Z,EAAE5jC,MAAMC,MAAOu9C,EAAK,GAAKrO,EAAGqO,KAAS3Z,EAAE7jC,MAAMC,KAAMu9C,IAC1HvlC,EAAQ,OAAOjR,EAAU,KAAMiR,EAAS,IAAM,KAuBpD,OApBAkR,EAAKtpB,OAAS,SAAS6qB,GACrB,OAAOluB,UAAUC,QAAUoD,EAAS6qB,EAAGvB,GAAQtpB,GAGjDspB,EAAKvpB,OAAS,SAAS8qB,GACrB,OAAOluB,UAAUC,QAAUmD,EAAS8qB,EAAGvB,GAAQvpB,GAGjDupB,EAAKya,EAAI,SAASlZ,GAChB,OAAOluB,UAAUC,QAAUmnC,EAAiB,mBAANlZ,EAAmBA,EAAI6uB,GAAU7uB,GAAIvB,GAAQya,GAGrFza,EAAK0a,EAAI,SAASnZ,GAChB,OAAOluB,UAAUC,QAAUonC,EAAiB,mBAANnZ,EAAmBA,EAAI6uB,GAAU7uB,GAAIvB,GAAQ0a,GAGrF1a,EAAKniB,QAAU,SAAS0jB,GACtB,OAAOluB,UAAUC,QAAWuK,EAAe,MAAL0jB,EAAY,KAAOA,EAAIvB,GAAQniB,GAGhEmiB,EAGT,SAASu0B,EAAgB12C,EAASiuC,EAAIC,EAAInR,EAAIC,GAC5Ch9B,EAAQ0tC,OAAOO,EAAIC,GACnBluC,EAAQ8tC,cAAcG,GAAMA,EAAKlR,GAAM,EAAGmR,EAAID,EAAIjR,EAAID,EAAIC,GAG5D,SAAS2Z,EAAc32C,EAASiuC,EAAIC,EAAInR,EAAIC,GAC1Ch9B,EAAQ0tC,OAAOO,EAAIC,GACnBluC,EAAQ8tC,cAAcG,EAAIC,GAAMA,EAAKlR,GAAM,EAAGD,EAAImR,EAAInR,EAAIC,GAG5D,SAAS,GAAYh9B,EAASiuC,EAAIC,EAAInR,EAAIC,GACxC,IAAIsW,EAAKsD,EAAY3I,EAAIC,GACrBqF,EAAKqD,EAAY3I,EAAIC,GAAMA,EAAKlR,GAAM,GACtC6Z,EAAKD,EAAY7Z,EAAImR,GACrB4I,EAAKF,EAAY7Z,EAAIC,GACzBh9B,EAAQ0tC,OAAO4F,EAAG,GAAIA,EAAG,IACzBtzC,EAAQ8tC,cAAcyF,EAAG,GAAIA,EAAG,GAAIsD,EAAG,GAAIA,EAAG,GAAIC,EAAG,GAAIA,EAAG,IAGvD,SAASC,KACd,OAAO,EAAKL,GAGP,SAASM,KACd,OAAO,EAAKL,GAGP,SAASM,KACd,IAAI3gC,EAAI,EAAK,IAGb,OAFAA,EAAE0/B,MAAQ1/B,EAAEsmB,SAAUtmB,EAAEsmB,EACxBtmB,EAAE2/B,OAAS3/B,EAAEumB,SAAUvmB,EAAEumB,EAClBvmB,EChFT,UACEyY,KAAM,SAAS/uB,EAASjE,GACtB,IAAIiyC,EAAIvgB,KAAKqhB,KAAK/yC,EAAO,GACzBiE,EAAQ0tC,OAAOM,EAAG,GAClBhuC,EAAQ2vB,IAAI,EAAG,EAAGqe,EAAG,EAAG,KCN5B,IACEjf,KAAM,SAAS/uB,EAASjE,GACtB,IAAIiyC,EAAIvgB,KAAKqhB,KAAK/yC,EAAO,GAAK,EAC9BiE,EAAQ0tC,QAAQ,EAAIM,GAAIA,GACxBhuC,EAAQ4tC,QAAQI,GAAIA,GACpBhuC,EAAQ4tC,QAAQI,GAAI,EAAIA,GACxBhuC,EAAQ4tC,OAAOI,GAAI,EAAIA,GACvBhuC,EAAQ4tC,OAAOI,GAAIA,GACnBhuC,EAAQ4tC,OAAO,EAAII,GAAIA,GACvBhuC,EAAQ4tC,OAAO,EAAII,EAAGA,GACtBhuC,EAAQ4tC,OAAOI,EAAGA,GAClBhuC,EAAQ4tC,OAAOI,EAAG,EAAIA,GACtBhuC,EAAQ4tC,QAAQI,EAAG,EAAIA,GACvBhuC,EAAQ4tC,QAAQI,EAAGA,GACnBhuC,EAAQ4tC,QAAQ,EAAII,EAAGA,GACvBhuC,EAAQ2tC,cCfZ,IAAIuJ,GAAQzpB,KAAKqhB,KAAK,EAAI,GACtBqI,GAAkB,EAARD,GAEd,UACEnoB,KAAM,SAAS/uB,EAASjE,GACtB,IAAI8gC,EAAIpP,KAAKqhB,KAAK/yC,EAAOo7C,IACrBva,EAAIC,EAAIqa,GACZl3C,EAAQ0tC,OAAO,GAAI7Q,GACnB78B,EAAQ4tC,OAAOhR,EAAG,GAClB58B,EAAQ4tC,OAAO,EAAG/Q,GAClB78B,EAAQ4tC,QAAQhR,EAAG,GACnB58B,EAAQ2tC,cCTZ,IACIyJ,GAAK3pB,KAAKiiB,IAAI,EAAK,IAAMjiB,KAAKiiB,IAAI,EAAI,EAAK,IAC3C2H,GAAK5pB,KAAKiiB,IAAI,EAAM,IAAM0H,GAC1BE,IAAM7pB,KAAK+hB,IAAI,EAAM,IAAM4H,GAE/B,UACEroB,KAAM,SAAS/uB,EAASjE,GACtB,IAAIiyC,EAAIvgB,KAAKqhB,KAPR,kBAOa/yC,GACd6gC,EAAIya,GAAKrJ,EACTnR,EAAIya,GAAKtJ,EACbhuC,EAAQ0tC,OAAO,GAAIM,GACnBhuC,EAAQ4tC,OAAOhR,EAAGC,GAClB,IAAK,IAAItmC,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAI0E,EAAI,EAAM1E,EAAI,EACdgW,EAAIkhB,KAAK+hB,IAAIv0C,GACbw7C,EAAIhpB,KAAKiiB,IAAIz0C,GACjB+E,EAAQ4tC,OAAO6I,EAAIzI,GAAIzhC,EAAIyhC,GAC3BhuC,EAAQ4tC,OAAOrhC,EAAIqwB,EAAI6Z,EAAI5Z,EAAG4Z,EAAI7Z,EAAIrwB,EAAIswB,GAE5C78B,EAAQ2tC,cCrBZ,IACE5e,KAAM,SAAS/uB,EAASjE,GACtB,IAAI8zC,EAAIpiB,KAAKqhB,KAAK/yC,GACd6gC,GAAKiT,EAAI,EACb7vC,EAAQ3E,KAAKuhC,EAAGA,EAAGiT,EAAGA,KCJ1B,IAAI0H,GAAQ9pB,KAAKqhB,KAAK,GAEtB,UACE/f,KAAM,SAAS/uB,EAASjE,GACtB,IAAI8gC,GAAKpP,KAAKqhB,KAAK/yC,GAAgB,EAARw7C,KAC3Bv3C,EAAQ0tC,OAAO,EAAO,EAAJ7Q,GAClB78B,EAAQ4tC,QAAQ2J,GAAQ1a,GAAIA,GAC5B78B,EAAQ4tC,OAAO2J,GAAQ1a,GAAIA,GAC3B78B,EAAQ2tC,cCRZ,IAAIphC,IAAK,GACLkqC,GAAIhpB,KAAKqhB,KAAK,GAAK,EACnB4F,GAAI,EAAIjnB,KAAKqhB,KAAK,IAClB7zC,GAAkB,GAAby5C,GAAI,EAAI,GAEjB,UACE3lB,KAAM,SAAS/uB,EAASjE,GACtB,IAAIiyC,EAAIvgB,KAAKqhB,KAAK/yC,EAAOd,IACrBgzC,EAAKD,EAAI,EACTE,EAAKF,EAAI0G,GACT3X,EAAKkR,EACLjR,EAAKgR,EAAI0G,GAAI1G,EACb/Q,GAAMF,EACNG,EAAKF,EACTh9B,EAAQ0tC,OAAOO,EAAIC,GACnBluC,EAAQ4tC,OAAO7Q,EAAIC,GACnBh9B,EAAQ4tC,OAAO3Q,EAAIC,GACnBl9B,EAAQ4tC,OAAOrhC,GAAI0hC,EAAKwI,GAAIvI,EAAIuI,GAAIxI,EAAK1hC,GAAI2hC,GAC7CluC,EAAQ4tC,OAAOrhC,GAAIwwB,EAAK0Z,GAAIzZ,EAAIyZ,GAAI1Z,EAAKxwB,GAAIywB,GAC7Ch9B,EAAQ4tC,OAAOrhC,GAAI0wB,EAAKwZ,GAAIvZ,EAAIuZ,GAAIxZ,EAAK1wB,GAAI2wB,GAC7Cl9B,EAAQ4tC,OAAOrhC,GAAI0hC,EAAKwI,GAAIvI,EAAI3hC,GAAI2hC,EAAKuI,GAAIxI,GAC7CjuC,EAAQ4tC,OAAOrhC,GAAIwwB,EAAK0Z,GAAIzZ,EAAIzwB,GAAIywB,EAAKyZ,GAAI1Z,GAC7C/8B,EAAQ4tC,OAAOrhC,GAAI0wB,EAAKwZ,GAAIvZ,EAAI3wB,GAAI2wB,EAAKuZ,GAAIxZ,GAC7Cj9B,EAAQ2tC,cCbL,IAAI6J,GAAU,CACnBC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,IAGa,cACb,IAAIhkD,EAAOw+C,EAASkF,IAChB17C,EAAOw2C,EAAS,IAChBvyC,EAAU,KAEd,SAASg4C,IACP,IAAI/mC,EAGJ,GAFKjR,IAASA,EAAUiR,EAAS,KACjCld,EAAKiF,MAAMC,KAAMzD,WAAWu5B,KAAK/uB,GAAUjE,EAAK/C,MAAMC,KAAMzD,YACxDyb,EAAQ,OAAOjR,EAAU,KAAMiR,EAAS,IAAM,KAepD,OAZA+mC,EAAOjkD,KAAO,SAAS2vB,GACrB,OAAOluB,UAAUC,QAAU1B,EAAoB,mBAAN2vB,EAAmBA,EAAI6uB,EAAS7uB,GAAIs0B,GAAUjkD,GAGzFikD,EAAOj8C,KAAO,SAAS2nB,GACrB,OAAOluB,UAAUC,QAAUsG,EAAoB,mBAAN2nB,EAAmBA,EAAI6uB,GAAU7uB,GAAIs0B,GAAUj8C,GAG1Fi8C,EAAOh4C,QAAU,SAAS0jB,GACxB,OAAOluB,UAAUC,QAAUuK,EAAe,MAAL0jB,EAAY,KAAOA,EAAGs0B,GAAUh4C,GAGhEg4C,EC5CM,eCAR,SAASzL,GAAM3D,EAAMhM,EAAGC,GAC7B+L,EAAKqL,SAASnG,eACX,EAAIlF,EAAK0E,IAAM1E,EAAK4E,KAAO,GAC3B,EAAI5E,EAAK2E,IAAM3E,EAAK6E,KAAO,GAC3B7E,EAAK0E,IAAM,EAAI1E,EAAK4E,KAAO,GAC3B5E,EAAK2E,IAAM,EAAI3E,EAAK6E,KAAO,GAC3B7E,EAAK0E,IAAM,EAAI1E,EAAK4E,IAAM5Q,GAAK,GAC/BgM,EAAK2E,IAAM,EAAI3E,EAAK6E,IAAM5Q,GAAK,GAI7B,SAASob,GAAMj4C,GACpB/G,KAAKg7C,SAAWj0C,EAoCH,YAASA,GACtB,OAAO,IAAIi4C,GAAMj4C,GC9CnB,SAASk4C,GAAYl4C,GACnB/G,KAAKg7C,SAAWj0C,EA6CH,YAASA,GACtB,OAAO,IAAIk4C,GAAYl4C,GChDzB,SAASm4C,GAAUn4C,GACjB/G,KAAKg7C,SAAWj0C,EAiCH,YAASA,GACtB,OAAO,IAAIm4C,GAAUn4C,GCnCvB,SAASo4C,GAAOp4C,EAASq4C,GACvBp/C,KAAKq/C,OAAS,IAAIL,GAAMj4C,GACxB/G,KAAKs/C,MAAQF,EHWfJ,GAAM/gD,UAAY,CAChB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAChBv0C,KAAKs0C,IAAMt0C,KAAKw0C,IAAMxJ,IACtBhrC,KAAKw8C,OAAS,GAEhBjB,QAAS,WACP,OAAQv7C,KAAKw8C,QACX,KAAK,EAAGlJ,GAAMtzC,KAAMA,KAAKu0C,IAAKv0C,KAAKw0C,KACnC,KAAK,EAAGx0C,KAAKg7C,SAASrG,OAAO30C,KAAKu0C,IAAKv0C,KAAKw0C,MAE1Cx0C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,GAAK5jC,KAAKg7C,SAASvG,OAAO9Q,EAAGC,GAAI,MAC/F,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKg7C,SAASrG,QAAQ,EAAI30C,KAAKq0C,IAAMr0C,KAAKu0C,KAAO,GAAI,EAAIv0C,KAAKs0C,IAAMt0C,KAAKw0C,KAAO,GACzG,QAASlB,GAAMtzC,KAAM2jC,EAAGC,GAE1B5jC,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAM5Q,EAChC3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAM5Q,ICrCpCqb,GAAYhhD,UAAY,CACtB29C,UAAW2D,GACX1D,QAAS0D,GACTjE,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAMx/C,KAAKy/C,IAAMz/C,KAAK0/C,IACjD1/C,KAAKs0C,IAAMt0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAM3/C,KAAK4/C,IAAM5/C,KAAK6/C,IAAM7U,IACvDhrC,KAAKw8C,OAAS,GAEhBjB,QAAS,WACP,OAAQv7C,KAAKw8C,QACX,KAAK,EACHx8C,KAAKg7C,SAASvG,OAAOz0C,KAAKw/C,IAAKx/C,KAAK2/C,KACpC3/C,KAAKg7C,SAAStG,YACd,MAEF,KAAK,EACH10C,KAAKg7C,SAASvG,QAAQz0C,KAAKw/C,IAAM,EAAIx/C,KAAKy/C,KAAO,GAAIz/C,KAAK2/C,IAAM,EAAI3/C,KAAK4/C,KAAO,GAChF5/C,KAAKg7C,SAASrG,QAAQ30C,KAAKy/C,IAAM,EAAIz/C,KAAKw/C,KAAO,GAAIx/C,KAAK4/C,IAAM,EAAI5/C,KAAK2/C,KAAO,GAChF3/C,KAAKg7C,SAAStG,YACd,MAEF,KAAK,EACH10C,KAAKszC,MAAMtzC,KAAKw/C,IAAKx/C,KAAK2/C,KAC1B3/C,KAAKszC,MAAMtzC,KAAKy/C,IAAKz/C,KAAK4/C,KAC1B5/C,KAAKszC,MAAMtzC,KAAK0/C,IAAK1/C,KAAK6/C,OAKhCvM,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKw/C,IAAM7b,EAAG3jC,KAAK2/C,IAAM/b,EAAG,MACrD,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAGx8C,KAAKy/C,IAAM9b,EAAG3jC,KAAK4/C,IAAMhc,EAAG,MACrD,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAGx8C,KAAK0/C,IAAM/b,EAAG3jC,KAAK6/C,IAAMjc,EAAG5jC,KAAKg7C,SAASvG,QAAQz0C,KAAKq0C,IAAM,EAAIr0C,KAAKu0C,IAAM5Q,GAAK,GAAI3jC,KAAKs0C,IAAM,EAAIt0C,KAAKw0C,IAAM5Q,GAAK,GAAI,MACjJ,QAAS0P,GAAMtzC,KAAM2jC,EAAGC,GAE1B5jC,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAM5Q,EAChC3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAM5Q,ICvCpCsb,GAAUjhD,UAAY,CACpB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAChBv0C,KAAKs0C,IAAMt0C,KAAKw0C,IAAMxJ,IACtBhrC,KAAKw8C,OAAS,GAEhBjB,QAAS,YACHv7C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,IAAIxH,GAAMh1C,KAAKq0C,IAAM,EAAIr0C,KAAKu0C,IAAM5Q,GAAK,EAAGsR,GAAMj1C,KAAKs0C,IAAM,EAAIt0C,KAAKw0C,IAAM5Q,GAAK,EAAG5jC,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOK,EAAIC,GAAMj1C,KAAKg7C,SAASvG,OAAOO,EAAIC,GAAK,MACvL,KAAK,EAAGj1C,KAAKw8C,OAAS,EACtB,QAASlJ,GAAMtzC,KAAM2jC,EAAGC,GAE1B5jC,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAM5Q,EAChC3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAM5Q,ICzBpCub,GAAOlhD,UAAY,CACjBq9C,UAAW,WACTt7C,KAAK8/C,GAAK,GACV9/C,KAAK+/C,GAAK,GACV//C,KAAKq/C,OAAO/D,aAEdC,QAAS,WACP,IAAI5X,EAAI3jC,KAAK8/C,GACTlc,EAAI5jC,KAAK+/C,GACTvX,EAAI7E,EAAEnnC,OAAS,EAEnB,GAAIgsC,EAAI,EAQN,IAPA,IAKI0G,EALA8F,EAAKrR,EAAE,GACPsR,EAAKrR,EAAE,GACP0S,EAAK3S,EAAE6E,GAAKwM,EACZwB,EAAK5S,EAAE4E,GAAKyM,EACZ33C,GAAK,IAGAA,GAAKkrC,GACZ0G,EAAI5xC,EAAIkrC,EACRxoC,KAAKq/C,OAAO/L,MACVtzC,KAAKs/C,MAAQ3b,EAAErmC,IAAM,EAAI0C,KAAKs/C,QAAUtK,EAAK9F,EAAIoH,GACjDt2C,KAAKs/C,MAAQ1b,EAAEtmC,IAAM,EAAI0C,KAAKs/C,QAAUrK,EAAK/F,EAAIsH,IAKvDx2C,KAAK8/C,GAAK9/C,KAAK+/C,GAAK,KACpB//C,KAAKq/C,OAAO9D,WAEdjI,MAAO,SAAS3P,EAAGC,GACjB5jC,KAAK8/C,GAAGv9C,MAAMohC,GACd3jC,KAAK+/C,GAAGx9C,MAAMqhC,KAIlB,SAAe,SAAU1C,EAAOke,GAE9B,SAASY,EAAOj5C,GACd,OAAgB,IAATq4C,EAAa,IAAIJ,GAAMj4C,GAAW,IAAIo4C,GAAOp4C,EAASq4C,GAO/D,OAJAY,EAAOZ,KAAO,SAASA,GACrB,OAAOle,GAAQke,IAGVY,EAVT,CAWG,KCvDI,SAAS,GAAMrQ,EAAMhM,EAAGC,GAC7B+L,EAAKqL,SAASnG,cACZlF,EAAK4E,IAAM5E,EAAKsQ,IAAMtQ,EAAK6P,IAAM7P,EAAK0E,KACtC1E,EAAK6E,IAAM7E,EAAKsQ,IAAMtQ,EAAKgQ,IAAMhQ,EAAK2E,KACtC3E,EAAK6P,IAAM7P,EAAKsQ,IAAMtQ,EAAK4E,IAAM5Q,GACjCgM,EAAKgQ,IAAMhQ,EAAKsQ,IAAMtQ,EAAK6E,IAAM5Q,GACjC+L,EAAK6P,IACL7P,EAAKgQ,KAIF,SAASO,GAASn5C,EAASo5C,GAChCngD,KAAKg7C,SAAWj0C,EAChB/G,KAAKigD,IAAM,EAAIE,GAAW,EAG5BD,GAASjiD,UAAY,CACnB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAAMv0C,KAAKw/C,IAC3Bx/C,KAAKs0C,IAAMt0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAM3U,IACjChrC,KAAKw8C,OAAS,GAEhBjB,QAAS,WACP,OAAQv7C,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKg7C,SAASrG,OAAO30C,KAAKw/C,IAAKx/C,KAAK2/C,KAAM,MAClD,KAAK,EAAG,GAAM3/C,KAAMA,KAAKu0C,IAAKv0C,KAAKw0C,MAEjCx0C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,GAAK5jC,KAAKg7C,SAASvG,OAAO9Q,EAAGC,GAAI,MAC/F,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAGx8C,KAAKu0C,IAAM5Q,EAAG3jC,KAAKw0C,IAAM5Q,EAAG,MACrD,KAAK,EAAG5jC,KAAKw8C,OAAS,EACtB,QAAS,GAAMx8C,KAAM2jC,EAAGC,GAE1B5jC,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAKx/C,KAAKw/C,IAAM7b,EACrD3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAK3/C,KAAK2/C,IAAM/b,IAIzD,SAAe,SAAU1C,EAAOif,GAE9B,SAASC,EAASr5C,GAChB,OAAO,IAAIm5C,GAASn5C,EAASo5C,GAO/B,OAJAC,EAASD,QAAU,SAASA,GAC1B,OAAOjf,GAAQif,IAGVC,EAVT,CAWG,GCzDI,SAASC,GAAet5C,EAASo5C,GACtCngD,KAAKg7C,SAAWj0C,EAChB/G,KAAKigD,IAAM,EAAIE,GAAW,EAG5BE,GAAepiD,UAAY,CACzB29C,UAAW2D,GACX1D,QAAS0D,GACTjE,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAMx/C,KAAKy/C,IAAMz/C,KAAK0/C,IAAM1/C,KAAKsgD,IAC5DtgD,KAAKs0C,IAAMt0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAM3/C,KAAK4/C,IAAM5/C,KAAK6/C,IAAM7/C,KAAKugD,IAAMvV,IAClEhrC,KAAKw8C,OAAS,GAEhBjB,QAAS,WACP,OAAQv7C,KAAKw8C,QACX,KAAK,EACHx8C,KAAKg7C,SAASvG,OAAOz0C,KAAKy/C,IAAKz/C,KAAK4/C,KACpC5/C,KAAKg7C,SAAStG,YACd,MAEF,KAAK,EACH10C,KAAKg7C,SAASrG,OAAO30C,KAAKy/C,IAAKz/C,KAAK4/C,KACpC5/C,KAAKg7C,SAAStG,YACd,MAEF,KAAK,EACH10C,KAAKszC,MAAMtzC,KAAKy/C,IAAKz/C,KAAK4/C,KAC1B5/C,KAAKszC,MAAMtzC,KAAK0/C,IAAK1/C,KAAK6/C,KAC1B7/C,KAAKszC,MAAMtzC,KAAKsgD,IAAKtgD,KAAKugD,OAKhCjN,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKy/C,IAAM9b,EAAG3jC,KAAK4/C,IAAMhc,EAAG,MACrD,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAGx8C,KAAKg7C,SAASvG,OAAOz0C,KAAK0/C,IAAM/b,EAAG3jC,KAAK6/C,IAAMjc,GAAI,MAC3E,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAGx8C,KAAKsgD,IAAM3c,EAAG3jC,KAAKugD,IAAM3c,EAAG,MACrD,QAAS,GAAM5jC,KAAM2jC,EAAGC,GAE1B5jC,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAKx/C,KAAKw/C,IAAM7b,EACrD3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAK3/C,KAAK2/C,IAAM/b,IAIzD,SAAe,SAAU1C,EAAOif,GAE9B,SAASC,EAASr5C,GAChB,OAAO,IAAIs5C,GAAet5C,EAASo5C,GAOrC,OAJAC,EAASD,QAAU,SAASA,GAC1B,OAAOjf,GAAQif,IAGVC,EAVT,CAWG,GC1DI,SAASI,GAAaz5C,EAASo5C,GACpCngD,KAAKg7C,SAAWj0C,EAChB/G,KAAKigD,IAAM,EAAIE,GAAW,EAG5BK,GAAaviD,UAAY,CACvB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAAMv0C,KAAKw/C,IAC3Bx/C,KAAKs0C,IAAMt0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAM3U,IACjChrC,KAAKw8C,OAAS,GAEhBjB,QAAS,YACHv7C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAO30C,KAAKw/C,IAAKx/C,KAAK2/C,KAAO3/C,KAAKg7C,SAASvG,OAAOz0C,KAAKw/C,IAAKx/C,KAAK2/C,KAAM,MAC3H,KAAK,EAAG3/C,KAAKw8C,OAAS,EACtB,QAAS,GAAMx8C,KAAM2jC,EAAGC,GAE1B5jC,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAKx/C,KAAKw/C,IAAM7b,EACrD3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAK3/C,KAAK2/C,IAAM/b,IAIzD,SAAe,SAAU1C,EAAOif,GAE9B,SAASC,EAASr5C,GAChB,OAAO,IAAIy5C,GAAaz5C,EAASo5C,GAOnC,OAJAC,EAASD,QAAU,SAASA,GAC1B,OAAOjf,GAAQif,IAGVC,EAVT,CAWG,GC7CI,SAAS,GAAMzQ,EAAMhM,EAAGC,GAC7B,IAAIE,EAAK6L,EAAK4E,IACVxQ,EAAK4L,EAAK6E,IACVxQ,EAAK2L,EAAK6P,IACVvb,EAAK0L,EAAKgQ,IAEd,GAAIhQ,EAAK8Q,OAAS,EAAS,CACzB,IAAIz+C,EAAI,EAAI2tC,EAAK+Q,QAAU,EAAI/Q,EAAK8Q,OAAS9Q,EAAKgR,OAAShR,EAAKiR,QAC5D5iD,EAAI,EAAI2xC,EAAK8Q,QAAU9Q,EAAK8Q,OAAS9Q,EAAKgR,QAC9C7c,GAAMA,EAAK9hC,EAAI2tC,EAAK0E,IAAM1E,EAAKiR,QAAUjR,EAAK6P,IAAM7P,EAAK+Q,SAAW1iD,EACpE+lC,GAAMA,EAAK/hC,EAAI2tC,EAAK2E,IAAM3E,EAAKiR,QAAUjR,EAAKgQ,IAAMhQ,EAAK+Q,SAAW1iD,EAGtE,GAAI2xC,EAAKkR,OAAS,EAAS,CACzB,IAAI5+C,EAAI,EAAI0tC,EAAKmR,QAAU,EAAInR,EAAKkR,OAASlR,EAAKgR,OAAShR,EAAKiR,QAC5DtR,EAAI,EAAIK,EAAKkR,QAAUlR,EAAKkR,OAASlR,EAAKgR,QAC9C3c,GAAMA,EAAK/hC,EAAI0tC,EAAK4E,IAAM5E,EAAKmR,QAAUnd,EAAIgM,EAAKiR,SAAWtR,EAC7DrL,GAAMA,EAAKhiC,EAAI0tC,EAAK6E,IAAM7E,EAAKmR,QAAUld,EAAI+L,EAAKiR,SAAWtR,EAG/DK,EAAKqL,SAASnG,cAAc/Q,EAAIC,EAAIC,EAAIC,EAAI0L,EAAK6P,IAAK7P,EAAKgQ,KAG7D,SAASoB,GAAWh6C,EAASi6C,GAC3BhhD,KAAKg7C,SAAWj0C,EAChB/G,KAAKihD,OAASD,EAGhBD,GAAW9iD,UAAY,CACrB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAAMv0C,KAAKw/C,IAC3Bx/C,KAAKs0C,IAAMt0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAM3U,IACjChrC,KAAKygD,OAASzgD,KAAK2gD,OAAS3gD,KAAK6gD,OACjC7gD,KAAK0gD,QAAU1gD,KAAK4gD,QAAU5gD,KAAK8gD,QACnC9gD,KAAKw8C,OAAS,GAEhBjB,QAAS,WACP,OAAQv7C,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKg7C,SAASrG,OAAO30C,KAAKw/C,IAAKx/C,KAAK2/C,KAAM,MAClD,KAAK,EAAG3/C,KAAKszC,MAAMtzC,KAAKw/C,IAAKx/C,KAAK2/C,MAEhC3/C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GAGjB,GAFAD,GAAKA,EAAGC,GAAKA,EAET5jC,KAAKw8C,OAAQ,CACf,IAAI0E,EAAMlhD,KAAKw/C,IAAM7b,EACjBwd,EAAMnhD,KAAK2/C,IAAM/b,EACrB5jC,KAAK6gD,OAASrsB,KAAKqhB,KAAK71C,KAAK8gD,QAAUtsB,KAAK4sB,IAAIF,EAAMA,EAAMC,EAAMA,EAAKnhD,KAAKihD,SAG9E,OAAQjhD,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,GAAK5jC,KAAKg7C,SAASvG,OAAO9Q,EAAGC,GAAI,MAC/F,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EACtB,QAAS,GAAMx8C,KAAM2jC,EAAGC,GAG1B5jC,KAAKygD,OAASzgD,KAAK2gD,OAAQ3gD,KAAK2gD,OAAS3gD,KAAK6gD,OAC9C7gD,KAAK0gD,QAAU1gD,KAAK4gD,QAAS5gD,KAAK4gD,QAAU5gD,KAAK8gD,QACjD9gD,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAKx/C,KAAKw/C,IAAM7b,EACrD3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAK3/C,KAAK2/C,IAAM/b,IAIzD,SAAe,SAAU1C,EAAO8f,GAE9B,SAASK,EAAWt6C,GAClB,OAAOi6C,EAAQ,IAAID,GAAWh6C,EAASi6C,GAAS,IAAId,GAASn5C,EAAS,GAOxE,OAJAs6C,EAAWL,MAAQ,SAASA,GAC1B,OAAO9f,GAAQ8f,IAGVK,EAVT,CAWG,ICnFH,SAASC,GAAiBv6C,EAASi6C,GACjChhD,KAAKg7C,SAAWj0C,EAChB/G,KAAKihD,OAASD,EAGhBM,GAAiBrjD,UAAY,CAC3B29C,UAAW2D,GACX1D,QAAS0D,GACTjE,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAMx/C,KAAKy/C,IAAMz/C,KAAK0/C,IAAM1/C,KAAKsgD,IAC5DtgD,KAAKs0C,IAAMt0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAM3/C,KAAK4/C,IAAM5/C,KAAK6/C,IAAM7/C,KAAKugD,IAAMvV,IAClEhrC,KAAKygD,OAASzgD,KAAK2gD,OAAS3gD,KAAK6gD,OACjC7gD,KAAK0gD,QAAU1gD,KAAK4gD,QAAU5gD,KAAK8gD,QACnC9gD,KAAKw8C,OAAS,GAEhBjB,QAAS,WACP,OAAQv7C,KAAKw8C,QACX,KAAK,EACHx8C,KAAKg7C,SAASvG,OAAOz0C,KAAKy/C,IAAKz/C,KAAK4/C,KACpC5/C,KAAKg7C,SAAStG,YACd,MAEF,KAAK,EACH10C,KAAKg7C,SAASrG,OAAO30C,KAAKy/C,IAAKz/C,KAAK4/C,KACpC5/C,KAAKg7C,SAAStG,YACd,MAEF,KAAK,EACH10C,KAAKszC,MAAMtzC,KAAKy/C,IAAKz/C,KAAK4/C,KAC1B5/C,KAAKszC,MAAMtzC,KAAK0/C,IAAK1/C,KAAK6/C,KAC1B7/C,KAAKszC,MAAMtzC,KAAKsgD,IAAKtgD,KAAKugD,OAKhCjN,MAAO,SAAS3P,EAAGC,GAGjB,GAFAD,GAAKA,EAAGC,GAAKA,EAET5jC,KAAKw8C,OAAQ,CACf,IAAI0E,EAAMlhD,KAAKw/C,IAAM7b,EACjBwd,EAAMnhD,KAAK2/C,IAAM/b,EACrB5jC,KAAK6gD,OAASrsB,KAAKqhB,KAAK71C,KAAK8gD,QAAUtsB,KAAK4sB,IAAIF,EAAMA,EAAMC,EAAMA,EAAKnhD,KAAKihD,SAG9E,OAAQjhD,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKy/C,IAAM9b,EAAG3jC,KAAK4/C,IAAMhc,EAAG,MACrD,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAGx8C,KAAKg7C,SAASvG,OAAOz0C,KAAK0/C,IAAM/b,EAAG3jC,KAAK6/C,IAAMjc,GAAI,MAC3E,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAGx8C,KAAKsgD,IAAM3c,EAAG3jC,KAAKugD,IAAM3c,EAAG,MACrD,QAAS,GAAM5jC,KAAM2jC,EAAGC,GAG1B5jC,KAAKygD,OAASzgD,KAAK2gD,OAAQ3gD,KAAK2gD,OAAS3gD,KAAK6gD,OAC9C7gD,KAAK0gD,QAAU1gD,KAAK4gD,QAAS5gD,KAAK4gD,QAAU5gD,KAAK8gD,QACjD9gD,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAKx/C,KAAKw/C,IAAM7b,EACrD3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAK3/C,KAAK2/C,IAAM/b,IAIzD,SAAe,SAAU1C,EAAO8f,GAE9B,SAASK,EAAWt6C,GAClB,OAAOi6C,EAAQ,IAAIM,GAAiBv6C,EAASi6C,GAAS,IAAIX,GAAet5C,EAAS,GAOpF,OAJAs6C,EAAWL,MAAQ,SAASA,GAC1B,OAAO9f,GAAQ8f,IAGVK,EAVT,CAWG,ICtEH,SAASE,GAAex6C,EAASi6C,GAC/BhhD,KAAKg7C,SAAWj0C,EAChB/G,KAAKihD,OAASD,EAGhBO,GAAetjD,UAAY,CACzB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAAMv0C,KAAKw/C,IAC3Bx/C,KAAKs0C,IAAMt0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAM3U,IACjChrC,KAAKygD,OAASzgD,KAAK2gD,OAAS3gD,KAAK6gD,OACjC7gD,KAAK0gD,QAAU1gD,KAAK4gD,QAAU5gD,KAAK8gD,QACnC9gD,KAAKw8C,OAAS,GAEhBjB,QAAS,YACHv7C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GAGjB,GAFAD,GAAKA,EAAGC,GAAKA,EAET5jC,KAAKw8C,OAAQ,CACf,IAAI0E,EAAMlhD,KAAKw/C,IAAM7b,EACjBwd,EAAMnhD,KAAK2/C,IAAM/b,EACrB5jC,KAAK6gD,OAASrsB,KAAKqhB,KAAK71C,KAAK8gD,QAAUtsB,KAAK4sB,IAAIF,EAAMA,EAAMC,EAAMA,EAAKnhD,KAAKihD,SAG9E,OAAQjhD,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAO30C,KAAKw/C,IAAKx/C,KAAK2/C,KAAO3/C,KAAKg7C,SAASvG,OAAOz0C,KAAKw/C,IAAKx/C,KAAK2/C,KAAM,MAC3H,KAAK,EAAG3/C,KAAKw8C,OAAS,EACtB,QAAS,GAAMx8C,KAAM2jC,EAAGC,GAG1B5jC,KAAKygD,OAASzgD,KAAK2gD,OAAQ3gD,KAAK2gD,OAAS3gD,KAAK6gD,OAC9C7gD,KAAK0gD,QAAU1gD,KAAK4gD,QAAS5gD,KAAK4gD,QAAU5gD,KAAK8gD,QACjD9gD,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAMv0C,KAAKw/C,IAAKx/C,KAAKw/C,IAAM7b,EACrD3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAMx0C,KAAK2/C,IAAK3/C,KAAK2/C,IAAM/b,IAIzD,SAAe,SAAU1C,EAAO8f,GAE9B,SAASK,EAAWt6C,GAClB,OAAOi6C,EAAQ,IAAIO,GAAex6C,EAASi6C,GAAS,IAAIR,GAAaz5C,EAAS,GAOhF,OAJAs6C,EAAWL,MAAQ,SAASA,GAC1B,OAAO9f,GAAQ8f,IAGVK,EAVT,CAWG,IC3DH,SAASG,GAAaz6C,GACpB/G,KAAKg7C,SAAWj0C,EAmBH,YAASA,GACtB,OAAO,IAAIy6C,GAAaz6C,GCvB1B,SAAS06C,GAAK9d,GACZ,OAAOA,EAAI,GAAK,EAAI,EAOtB,SAAS+d,GAAO/R,EAAM3L,EAAIC,GACxB,IAAI0d,EAAKhS,EAAK4E,IAAM5E,EAAK0E,IACrBuN,EAAK5d,EAAK2L,EAAK4E,IACfsN,GAAMlS,EAAK6E,IAAM7E,EAAK2E,MAAQqN,GAAMC,EAAK,IAAM,GAC/CE,GAAM7d,EAAK0L,EAAK6E,MAAQoN,GAAMD,EAAK,IAAM,GACzC1G,GAAK4G,EAAKD,EAAKE,EAAKH,IAAOA,EAAKC,GACpC,OAAQH,GAAKI,GAAMJ,GAAKK,IAAOttB,KAAKC,IAAID,KAAK+gB,IAAIsM,GAAKrtB,KAAK+gB,IAAIuM,GAAK,GAAMttB,KAAK+gB,IAAI0F,KAAO,EAI5F,SAAS8G,GAAOpS,EAAMT,GACpB,IAAI75B,EAAIs6B,EAAK4E,IAAM5E,EAAK0E,IACxB,OAAOh/B,GAAK,GAAKs6B,EAAK6E,IAAM7E,EAAK2E,KAAOj/B,EAAI65B,GAAK,EAAIA,EAMvD,SAAS,GAAMS,EAAM8J,EAAIC,GACvB,IAAI1E,EAAKrF,EAAK0E,IACVY,EAAKtF,EAAK2E,IACVxQ,EAAK6L,EAAK4E,IACVxQ,EAAK4L,EAAK6E,IACV8B,GAAMxS,EAAKkR,GAAM,EACrBrF,EAAKqL,SAASnG,cAAcG,EAAKsB,EAAIrB,EAAKqB,EAAKmD,EAAI3V,EAAKwS,EAAIvS,EAAKuS,EAAKoD,EAAI5V,EAAIC,GAGhF,SAASie,GAAUj7C,GACjB/G,KAAKg7C,SAAWj0C,EA0ClB,SAASk7C,GAAUl7C,GACjB/G,KAAKg7C,SAAW,IAAIkH,GAAen7C,GAOrC,SAASm7C,GAAen7C,GACtB/G,KAAKg7C,SAAWj0C,EAUX,SAASo7C,GAAUp7C,GACxB,OAAO,IAAIi7C,GAAUj7C,GAGhB,SAASq7C,GAAUr7C,GACxB,OAAO,IAAIk7C,GAAUl7C,GCtGvB,SAASs7C,GAAQt7C,GACf/G,KAAKg7C,SAAWj0C,EA2ClB,SAASu7C,GAAc3e,GACrB,IAAIrmC,EAEAgyC,EADAtxC,EAAI2lC,EAAEnnC,OAAS,EAEfwF,EAAI,IAAItF,MAAMsB,GACdiE,EAAI,IAAIvF,MAAMsB,GACd+2C,EAAI,IAAIr4C,MAAMsB,GAElB,IADAgE,EAAE,GAAK,EAAGC,EAAE,GAAK,EAAG8yC,EAAE,GAAKpR,EAAE,GAAK,EAAIA,EAAE,GACnCrmC,EAAI,EAAGA,EAAIU,EAAI,IAAKV,EAAG0E,EAAE1E,GAAK,EAAG2E,EAAE3E,GAAK,EAAGy3C,EAAEz3C,GAAK,EAAIqmC,EAAErmC,GAAK,EAAIqmC,EAAErmC,EAAI,GAE5E,IADA0E,EAAEhE,EAAI,GAAK,EAAGiE,EAAEjE,EAAI,GAAK,EAAG+2C,EAAE/2C,EAAI,GAAK,EAAI2lC,EAAE3lC,EAAI,GAAK2lC,EAAE3lC,GACnDV,EAAI,EAAGA,EAAIU,IAAKV,EAAGgyC,EAAIttC,EAAE1E,GAAK2E,EAAE3E,EAAI,GAAI2E,EAAE3E,IAAMgyC,EAAGyF,EAAEz3C,IAAMgyC,EAAIyF,EAAEz3C,EAAI,GAE1E,IADA0E,EAAEhE,EAAI,GAAK+2C,EAAE/2C,EAAI,GAAKiE,EAAEjE,EAAI,GACvBV,EAAIU,EAAI,EAAGV,GAAK,IAAKA,EAAG0E,EAAE1E,IAAMy3C,EAAEz3C,GAAK0E,EAAE1E,EAAI,IAAM2E,EAAE3E,GAE1D,IADA2E,EAAEjE,EAAI,IAAM2lC,EAAE3lC,GAAKgE,EAAEhE,EAAI,IAAM,EAC1BV,EAAI,EAAGA,EAAIU,EAAI,IAAKV,EAAG2E,EAAE3E,GAAK,EAAIqmC,EAAErmC,EAAI,GAAK0E,EAAE1E,EAAI,GACxD,MAAO,CAAC0E,EAAGC,GAGE,YAAS8E,GACtB,OAAO,IAAIs7C,GAAQt7C,GC/DrB,SAASw7C,GAAKx7C,EAASmoC,GACrBlvC,KAAKg7C,SAAWj0C,EAChB/G,KAAKwiD,GAAKtT,EAwCG,YAASnoC,GACtB,OAAO,IAAIw7C,GAAKx7C,EAAS,IAGpB,SAAS07C,GAAW17C,GACzB,OAAO,IAAIw7C,GAAKx7C,EAAS,GAGpB,SAAS27C,GAAU37C,GACxB,OAAO,IAAIw7C,GAAKx7C,EAAS,GCnDZ,YAAS47C,EAAQ7Q,GAC9B,IAAO9zC,EAAI2kD,EAAOnmD,QAAU,EAC5B,IAAK,IAAWgsC,EAAGqZ,EAA2B7jD,EAArCV,EAAI,EAAUwkD,EAAKa,EAAO7Q,EAAM,IAAQxC,EAAIwS,EAAGtlD,OAAQc,EAAIU,IAAKV,EAEvE,IADAukD,EAAKC,EAAIA,EAAKa,EAAO7Q,EAAMx0C,IACtBkrC,EAAI,EAAGA,EAAI8G,IAAK9G,EACnBsZ,EAAGtZ,GAAG,IAAMsZ,EAAGtZ,GAAG,GAAK5X,MAAMixB,EAAGrZ,GAAG,IAAMqZ,EAAGrZ,GAAG,GAAKqZ,EAAGrZ,GAAG,GCLjD,YAASma,GAEtB,IADA,IAAI3kD,EAAI2kD,EAAOnmD,OAAQiB,EAAI,IAAIf,MAAMsB,KAC5BA,GAAK,GAAGP,EAAEO,GAAKA,EACxB,OAAOP,ECET,SAASmlD,GAAWp/B,EAAG3jB,GACrB,OAAO2jB,EAAE3jB,GAGI,cACb,IAAIe,EAAO04C,EAAS,IAChBxH,EAAQ,GACRvmC,EAAS,GACTvO,EAAQ4lD,GAEZ,SAASpsC,EAAMjI,GACb,IACIjR,EAIAulD,EALAC,EAAKliD,EAAKb,MAAMC,KAAMzD,WAEtB+yC,EAAI/gC,EAAK/R,OACTwB,EAAI8kD,EAAGtmD,OACPumD,EAAK,IAAIrmD,MAAMsB,GAGnB,IAAKV,EAAI,EAAGA,EAAIU,IAAKV,EAAG,CACtB,IAAK,IAAkD0lD,EAA9CC,EAAKH,EAAGxlD,GAAI4lD,EAAKH,EAAGzlD,GAAK,IAAIZ,MAAM4yC,GAAI9G,EAAI,EAAQA,EAAI8G,IAAK9G,EACnE0a,EAAG1a,GAAKwa,EAAM,CAAC,GAAIhmD,EAAMuR,EAAKi6B,GAAIya,EAAIza,EAAGj6B,IACzCy0C,EAAIz0C,KAAOA,EAAKi6B,GAElB0a,EAAGrjD,IAAMojD,EAGX,IAAK3lD,EAAI,EAAGulD,EAAK/Q,EAAMiR,GAAKzlD,EAAIU,IAAKV,EACnCylD,EAAGF,EAAGvlD,IAAI+F,MAAQ/F,EAIpB,OADAiO,EAAOw3C,EAAIF,GACJE,EAmBT,OAhBAvsC,EAAM5V,KAAO,SAAS6pB,GACpB,OAAOluB,UAAUC,QAAUoE,EAAoB,mBAAN6pB,EAAmBA,EAAI6uB,EAASp7C,EAAMhB,KAAKutB,IAAKjU,GAAS5V,GAGpG4V,EAAMxZ,MAAQ,SAASytB,GACrB,OAAOluB,UAAUC,QAAUQ,EAAqB,mBAANytB,EAAmBA,EAAI6uB,GAAU7uB,GAAIjU,GAASxZ,GAG1FwZ,EAAMs7B,MAAQ,SAASrnB,GACrB,OAAOluB,UAAUC,QAAUs1C,EAAa,MAALrnB,EAAY,GAAyB,mBAANA,EAAmBA,EAAI6uB,EAASp7C,EAAMhB,KAAKutB,IAAKjU,GAASs7B,GAG7Ht7B,EAAMjL,OAAS,SAASkf,GACtB,OAAOluB,UAAUC,QAAU+O,EAAc,MAALkf,EAAY,GAAaA,EAAGjU,GAASjL,GAGpEiL,ECrDM,YAASmsC,EAAQ7Q,GAC9B,IAAO9zC,EAAI2kD,EAAOnmD,QAAU,EAA5B,CACA,IAAK,IAAIc,EAAGU,EAAgC4lC,EAA7B4E,EAAI,EAAG8G,EAAIqT,EAAO,GAAGnmD,OAAWgsC,EAAI8G,IAAK9G,EAAG,CACzD,IAAK5E,EAAItmC,EAAI,EAAGA,EAAIU,IAAKV,EAAGsmC,GAAK+e,EAAOrlD,GAAGkrC,GAAG,IAAM,EACpD,GAAI5E,EAAG,IAAKtmC,EAAI,EAAGA,EAAIU,IAAKV,EAAGqlD,EAAOrlD,GAAGkrC,GAAG,IAAM5E,EAEpD4F,GAAKmZ,EAAQ7Q,ICRA,YAAS6Q,EAAQ7Q,GAC9B,IAAO9zC,EAAI2kD,EAAOnmD,QAAU,EAC5B,IAAK,IAAIc,EAAUkmB,EAAGgzB,EAAI2M,EAAIC,EAAIplD,EAAtBwqC,EAAI,EAAqB8G,EAAIqT,EAAO7Q,EAAM,IAAIt1C,OAAQgsC,EAAI8G,IAAK9G,EACzE,IAAK2a,EAAKC,EAAK,EAAG9lD,EAAI,EAAGA,EAAIU,IAAKV,GAC3Bk5C,GAAMhzB,EAAIm/B,EAAO7Q,EAAMx0C,IAAIkrC,IAAI,GAAKhlB,EAAE,IAAM,GAC/CA,EAAE,GAAK2/B,EAAI3/B,EAAE,GAAK2/B,GAAM3M,GACfA,EAAK,GACdhzB,EAAE,GAAK4/B,EAAI5/B,EAAE,GAAK4/B,GAAM5M,IAExBhzB,EAAE,GAAK,EAAGA,EAAE,GAAKgzB,GCPV,YAASmM,EAAQ7Q,GAC9B,IAAO9zC,EAAI2kD,EAAOnmD,QAAU,EAA5B,CACA,IAAK,IAAkCwB,EAA9BwqC,EAAI,EAAGqZ,EAAKc,EAAO7Q,EAAM,IAAQxC,EAAIuS,EAAGrlD,OAAQgsC,EAAI8G,IAAK9G,EAAG,CACnE,IAAK,IAAIlrC,EAAI,EAAGsmC,EAAI,EAAGtmC,EAAIU,IAAKV,EAAGsmC,GAAK+e,EAAOrlD,GAAGkrC,GAAG,IAAM,EAC3DqZ,EAAGrZ,GAAG,IAAMqZ,EAAGrZ,GAAG,IAAM5E,EAAI,EAE9B4F,GAAKmZ,EAAQ7Q,ICNA,YAAS6Q,EAAQ7Q,GAC9B,IAAO9zC,EAAI2kD,EAAOnmD,QAAU,IAAS8yC,GAAKuS,EAAKc,EAAO7Q,EAAM,KAAKt1C,QAAU,EAA3E,CACA,IAAK,IAAkBqlD,EAAIvS,EAAGtxC,EAArB4lC,EAAI,EAAG4E,EAAI,EAAaA,EAAI8G,IAAK9G,EAAG,CAC3C,IAAK,IAAIlrC,EAAI,EAAGwkD,EAAK,EAAGuB,EAAK,EAAG/lD,EAAIU,IAAKV,EAAG,CAK1C,IAJA,IAAI4lD,EAAKP,EAAO7Q,EAAMx0C,IAClBgmD,EAAOJ,EAAG1a,GAAG,IAAM,EAEnB+a,GAAMD,GADCJ,EAAG1a,EAAI,GAAG,IAAM,IACF,EAChBiT,EAAI,EAAGA,EAAIn+C,IAAKm+C,EAAG,CAC1B,IAAI+H,EAAKb,EAAO7Q,EAAM2J,IAGtB8H,IAFWC,EAAGhb,GAAG,IAAM,IACZgb,EAAGhb,EAAI,GAAG,IAAM,GAG7BsZ,GAAMwB,EAAMD,GAAME,EAAKD,EAEzBzB,EAAGrZ,EAAI,GAAG,IAAMqZ,EAAGrZ,EAAI,GAAG,GAAK5E,EAC3Bke,IAAIle,GAAKyf,EAAKvB,GAEpBD,EAAGrZ,EAAI,GAAG,IAAMqZ,EAAGrZ,EAAI,GAAG,GAAK5E,EAC/B4F,GAAKmZ,EAAQ7Q,ICpBA,YAAS6Q,GACtB,IAAIc,EAAQd,EAAO/hC,IAAI8iC,IACvB,OAAO,GAAKf,GAAQ1sB,MAAK,SAASj0B,EAAGC,GAAK,OAAOwhD,EAAMzhD,GAAKyhD,EAAMxhD,MAGpE,SAASyhD,GAAKf,GAEZ,IADA,IAAsCgB,EAAlCrmD,GAAK,EAAGkrC,EAAI,EAAGxqC,EAAI2kD,EAAOnmD,OAAYonD,GAAMC,EAAAA,IACvCvmD,EAAIU,IAAQ2lD,GAAMhB,EAAOrlD,GAAG,IAAMsmD,IAAIA,EAAKD,EAAInb,EAAIlrC,GAC5D,OAAOkrC,ECRM,YAASma,GACtB,IAAImB,EAAOnB,EAAO/hC,IAAIwV,IACtB,OAAO,GAAKusB,GAAQ1sB,MAAK,SAASj0B,EAAGC,GAAK,OAAO6hD,EAAK9hD,GAAK8hD,EAAK7hD,MAG3D,SAASm0B,GAAIusB,GAElB,IADA,IAAsCvpC,EAAlCokC,EAAI,EAAGlgD,GAAK,EAAGU,EAAI2kD,EAAOnmD,SACrBc,EAAIU,IAAOob,GAAKupC,EAAOrlD,GAAG,MAAIkgD,GAAKpkC,GAC5C,OAAOokC,ECRM,YAASmF,GACtB,OAAO5X,GAAU4X,GAAQoB,UCAZ,YAASpB,GACtB,IACIrlD,EACAkrC,EAFAxqC,EAAI2kD,EAAOnmD,OAGXsnD,EAAOnB,EAAO/hC,IAAIwV,IAClB0b,EAAQkS,GAAWrB,GACnBt2C,EAAM,EACNG,EAAS,EACTy3C,EAAO,GACPC,EAAU,GAEd,IAAK5mD,EAAI,EAAGA,EAAIU,IAAKV,EACnBkrC,EAAIsJ,EAAMx0C,GACN+O,EAAMG,GACRH,GAAOy3C,EAAKtb,GACZyb,EAAK1hD,KAAKimC,KAEVh8B,GAAUs3C,EAAKtb,GACf0b,EAAQ3hD,KAAKimC,IAIjB,OAAO0b,EAAQH,UAAUrvC,OAAOuvC,GCvBnB,YAAStB,GACtB,OAAO,GAAKA,GAAQoB,UfGtBvC,GAAavjD,UAAY,CACvB29C,UAAW2D,GACX1D,QAAS0D,GACTjE,UAAW,WACTt7C,KAAKw8C,OAAS,GAEhBjB,QAAS,WACHv7C,KAAKw8C,QAAQx8C,KAAKg7C,SAAStG,aAEjCpB,MAAO,SAAS3P,EAAGC,GACjBD,GAAKA,EAAGC,GAAKA,EACT5jC,KAAKw8C,OAAQx8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,IACpC5jC,KAAKw8C,OAAS,EAAGx8C,KAAKg7C,SAASvG,OAAO9Q,EAAGC,MCqBlDoe,GAAU/jD,UAAY,CACpB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAKq0C,IAAMr0C,KAAKu0C,IAChBv0C,KAAKs0C,IAAMt0C,KAAKw0C,IAChBx0C,KAAKmkD,IAAMnZ,IACXhrC,KAAKw8C,OAAS,GAEhBjB,QAAS,WACP,OAAQv7C,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKg7C,SAASrG,OAAO30C,KAAKu0C,IAAKv0C,KAAKw0C,KAAM,MAClD,KAAK,EAAG,GAAMx0C,KAAMA,KAAKmkD,IAAKpC,GAAO/hD,KAAMA,KAAKmkD,OAE9CnkD,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACzE10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,OAExBjJ,MAAO,SAAS3P,EAAGC,GACjB,IAAI8V,EAAK1O,IAGT,GADQpH,GAAKA,GAAbD,GAAKA,KACK3jC,KAAKu0C,KAAO3Q,IAAM5jC,KAAKw0C,IAAjC,CACA,OAAQx0C,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,GAAK5jC,KAAKg7C,SAASvG,OAAO9Q,EAAGC,GAAI,MAC/F,KAAK,EAAG5jC,KAAKw8C,OAAS,EAAG,MACzB,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAG,GAAMx8C,KAAM+hD,GAAO/hD,KAAM05C,EAAKgI,GAAO1hD,KAAM2jC,EAAGC,IAAK8V,GAAK,MACjF,QAAS,GAAM15C,KAAMA,KAAKmkD,IAAKzK,EAAKgI,GAAO1hD,KAAM2jC,EAAGC,IAGtD5jC,KAAKq0C,IAAMr0C,KAAKu0C,IAAKv0C,KAAKu0C,IAAM5Q,EAChC3jC,KAAKs0C,IAAMt0C,KAAKw0C,IAAKx0C,KAAKw0C,IAAM5Q,EAChC5jC,KAAKmkD,IAAMzK,MAQduI,GAAUhkD,UAAY7C,OAAOC,OAAO2mD,GAAU/jD,YAAYq1C,MAAQ,SAAS3P,EAAGC,GAC7Eoe,GAAU/jD,UAAUq1C,MAAMp2C,KAAK8C,KAAM4jC,EAAGD,IAO1Cue,GAAejkD,UAAY,CACzBw2C,OAAQ,SAAS9Q,EAAGC,GAAK5jC,KAAKg7C,SAASvG,OAAO7Q,EAAGD,IACjD+Q,UAAW,WAAa10C,KAAKg7C,SAAStG,aACtCC,OAAQ,SAAShR,EAAGC,GAAK5jC,KAAKg7C,SAASrG,OAAO/Q,EAAGD,IACjDkR,cAAe,SAAS/Q,EAAIC,EAAIC,EAAIC,EAAIN,EAAGC,GAAK5jC,KAAKg7C,SAASnG,cAAc9Q,EAAID,EAAIG,EAAID,EAAIJ,EAAGD,KC1FjG0e,GAAQpkD,UAAY,CAClB29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAK8/C,GAAK,GACV9/C,KAAK+/C,GAAK,IAEZxE,QAAS,WACP,IAAI5X,EAAI3jC,KAAK8/C,GACTlc,EAAI5jC,KAAK+/C,GACT/hD,EAAI2lC,EAAEnnC,OAEV,GAAIwB,EAEF,GADAgC,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOhR,EAAE,GAAIC,EAAE,IAAM5jC,KAAKg7C,SAASvG,OAAO9Q,EAAE,GAAIC,EAAE,IACnE,IAAN5lC,EACFgC,KAAKg7C,SAASrG,OAAOhR,EAAE,GAAIC,EAAE,SAI7B,IAFA,IAAIwgB,EAAK9B,GAAc3e,GACnB0gB,EAAK/B,GAAc1e,GACd0N,EAAK,EAAGC,EAAK,EAAGA,EAAKvzC,IAAKszC,IAAMC,EACvCvxC,KAAKg7C,SAASnG,cAAcuP,EAAG,GAAG9S,GAAK+S,EAAG,GAAG/S,GAAK8S,EAAG,GAAG9S,GAAK+S,EAAG,GAAG/S,GAAK3N,EAAE4N,GAAK3N,EAAE2N,KAKnFvxC,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAAqB,IAANv+C,IAAUgC,KAAKg7C,SAAStG,YAC/D10C,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,MACtBv8C,KAAK8/C,GAAK9/C,KAAK+/C,GAAK,MAEtBzM,MAAO,SAAS3P,EAAGC,GACjB5jC,KAAK8/C,GAAGv9C,MAAMohC,GACd3jC,KAAK+/C,GAAGx9C,MAAMqhC,KClClB2e,GAAKtkD,UAAY,CACf29C,UAAW,WACT57C,KAAKu8C,MAAQ,GAEfV,QAAS,WACP77C,KAAKu8C,MAAQvR,KAEfsQ,UAAW,WACTt7C,KAAK8/C,GAAK9/C,KAAK+/C,GAAK/U,IACpBhrC,KAAKw8C,OAAS,GAEhBjB,QAAS,WACH,EAAIv7C,KAAKwiD,IAAMxiD,KAAKwiD,GAAK,GAAqB,IAAhBxiD,KAAKw8C,QAAcx8C,KAAKg7C,SAASrG,OAAO30C,KAAK8/C,GAAI9/C,KAAK+/C,KACpF//C,KAAKu8C,OAAyB,IAAfv8C,KAAKu8C,OAA+B,IAAhBv8C,KAAKw8C,SAAex8C,KAAKg7C,SAAStG,YACrE10C,KAAKu8C,OAAS,IAAGv8C,KAAKwiD,GAAK,EAAIxiD,KAAKwiD,GAAIxiD,KAAKu8C,MAAQ,EAAIv8C,KAAKu8C,QAEpEjJ,MAAO,SAAS3P,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL5jC,KAAKw8C,QACX,KAAK,EAAGx8C,KAAKw8C,OAAS,EAAGx8C,KAAKu8C,MAAQv8C,KAAKg7C,SAASrG,OAAOhR,EAAGC,GAAK5jC,KAAKg7C,SAASvG,OAAO9Q,EAAGC,GAAI,MAC/F,KAAK,EAAG5jC,KAAKw8C,OAAS,EACtB,QACE,GAAIx8C,KAAKwiD,IAAM,EACbxiD,KAAKg7C,SAASrG,OAAO30C,KAAK8/C,GAAIlc,GAC9B5jC,KAAKg7C,SAASrG,OAAOhR,EAAGC,OACnB,CACL,IAAIE,EAAK9jC,KAAK8/C,IAAM,EAAI9/C,KAAKwiD,IAAM7e,EAAI3jC,KAAKwiD,GAC5CxiD,KAAKg7C,SAASrG,OAAO7Q,EAAI9jC,KAAK+/C,IAC9B//C,KAAKg7C,SAASrG,OAAO7Q,EAAIF,IAK/B5jC,KAAK8/C,GAAKnc,EAAG3jC,KAAK+/C,GAAKnc,oBatC3B,OAOC,WACA,aAEA,IAAIv2B,IACe,oBAAX3K,SACPA,OAAOtG,WACPsG,OAAOtG,SAASX,eAGb6oD,EAAuB,CAE1Bj3C,UAAWA,EAEXk3C,cAAiC,oBAAXC,OAEtBC,qBACCp3C,MAAgB3K,OAAO6G,mBAAoB7G,OAAOgiD,aAEnDC,eAAgBt3C,KAAe3K,OAAOkiD,aAOrC,KAFD,aACC,OAAON,GACP,8BAzBH,gCCPA,SAAS5rC,EAAEA,GAAG1Y,KAAK+S,QAAQ2F,wDAAEA,EAAEza,UAAU,IAAIa,MAAM4Z,EAAEza,UAAUG,KAAK,wBAAwB,IAAI22C,EAAE,oBAAoBryC,QAAQA,OAAOmiD,MAAMniD,OAAOmiD,KAAKlmD,KAAK+D,SAAS,SAASqyC,GAAG,IAAI7F,EAAEhnC,OAAO6sC,GAAG//B,QAAQ,MAAM,IAAI,GAAGk6B,EAAE1yC,OAAO,GAAG,EAAE,MAAM,IAAIkc,EAAE,qEAAqE,IAAI,IAAI1a,EAAEP,EAAEuE,EAAE,EAAE1E,EAAE,EAAEgW,EAAE,GAAG7V,EAAEyxC,EAAE5zB,OAAOhe,MAAMG,IAAIO,EAAEgE,EAAE,EAAE,GAAGhE,EAAEP,EAAEA,EAAEuE,IAAI,GAAGsR,GAAGpL,OAAO48C,aAAa,IAAI9mD,KAAK,EAAEgE,EAAE,IAAI,EAAEvE,EAAE,oEAAoEoD,QAAQpD,GAAG,OAAO6V,GAAG,SAAS47B,EAAEx2B,GAAG,IAAIw2B,EAAEx2B,EAAE1D,QAAQ,KAAK,KAAKA,QAAQ,KAAK,KAAK,OAAOk6B,EAAE1yC,OAAO,GAAG,KAAK,EAAE,MAAM,KAAK,EAAE0yC,GAAG,KAAK,MAAM,KAAK,EAAEA,GAAG,IAAI,MAAM,QAAQ,KAAK,4BAA4B,IAAI,OAAO,SAASx2B,GAAG,OAAO0B,mBAAmB26B,EAAEr8B,GAAG1D,QAAQ,QAAO,SAAU0D,EAAEq8B,GAAG,IAAI7F,EAAE6F,EAAE/2B,WAAW,GAAG/gB,SAAS,IAAIgT,cAAc,OAAOi/B,EAAE1yC,OAAO,IAAI0yC,EAAE,IAAIA,GAAG,IAAIA,MAA3J,CAAkKA,GAAG,MAAMx2B,GAAG,OAAOq8B,EAAE7F,IAAI,SAASlxC,EAAE0a,GAAG1Y,KAAK+S,QAAQ2F,EAAsN1a,EAAEC,UAAU,IAAIa,MAAMd,EAAEC,UAAUG,KAAK,oBAAoB,QAA/Q,SAAWsa,EAAEq8B,GAAG,GAAG,iBAAiBr8B,EAAE,MAAM,IAAI1a,EAAE,2BAA2B,IAAIP,GAAE,KAAMs3C,EAAEA,GAAG,IAAI/pB,OAAO,EAAE,EAAE,IAAI,OAAOzS,KAAKC,MAAM02B,EAAEx2B,EAAEkD,MAAM,KAAKne,KAAK,MAAMib,GAAG,MAAM,IAAI1a,EAAE,4BAA4B0a,EAAE3F,gxBCAvlC,IAAI/U,EAAEqf,EAAE0nC,EAAI7V,EAAEzxC,EAAEs3C,EAAEiQ,EAAEtsC,EAAE,GAAGpF,EAAE,GAAGkqC,EAAE,oEAAoE,SAASx7C,EAAEhE,EAAEqf,GAAG,IAAI,IAAI0nC,KAAK1nC,EAAErf,EAAE+mD,GAAG1nC,EAAE0nC,GAAG,OAAO/mD,EAAE,SAASqX,EAAErX,GAAG,IAAIqf,EAAErf,EAAE6vC,WAAWxwB,GAAGA,EAAEzhB,YAAYoC,GAAG,SAASob,EAAEiE,EAAE0nC,EAAEznD,GAAG,IAAI4xC,EAAEzxC,EAAEs3C,EAAEiQ,EAAE,GAAG,IAAIjQ,KAAKgQ,EAAE,OAAOhQ,EAAE7F,EAAE6V,EAAEhQ,GAAG,OAAOA,EAAEt3C,EAAEsnD,EAAEhQ,GAAGiQ,EAAEjQ,GAAGgQ,EAAEhQ,GAAG,GAAGx4C,UAAUC,OAAO,IAAIwoD,EAAEpqD,SAAS2B,UAAUC,OAAO,EAAEwB,EAAEd,KAAKX,UAAU,GAAGe,GAAG,mBAAmB+f,GAAG,MAAMA,EAAEyC,aAAa,IAAIi1B,KAAK13B,EAAEyC,kBAAa,IAASklC,EAAEjQ,KAAKiQ,EAAEjQ,GAAG13B,EAAEyC,aAAai1B,IAAI,OAAOnR,EAAEvmB,EAAE2nC,EAAE9V,EAAEzxC,EAAE,MAAM,SAASmmC,EAAE5lC,EAAEV,EAAE4xC,EAAEzxC,EAAEs3C,GAAG,IAAIiQ,EAAE,CAAClqD,KAAKkD,EAAEyC,MAAMnD,EAAEuC,IAAIqvC,EAAEpzC,IAAI2B,EAAEwnD,IAAI,KAAKC,GAAG,KAAKC,IAAI,EAAEC,IAAI,KAAKC,SAAI,EAAOC,IAAI,KAAKC,IAAI,KAAKpnD,iBAAY,EAAOqnD,IAAI,MAAMzQ,IAAIgQ,EAAEhQ,GAAG,OAAO,MAAM13B,EAAEooC,OAAOpoC,EAAEooC,MAAMT,GAAGA,EAAE,SAAS/J,IAAI,MAAM,CAAC1/C,QAAQ,MAAM,SAASioB,EAAExlB,GAAG,OAAOA,EAAEpD,SAAS,SAAS6vB,EAAEzsB,EAAEqf,GAAGrd,KAAKS,MAAMzC,EAAEgC,KAAK+G,QAAQsW,EAAE,SAASo+B,EAAEz9C,EAAEqf,GAAG,GAAG,MAAMA,EAAE,OAAOrf,EAAEknD,GAAGzJ,EAAEz9C,EAAEknD,GAAGlnD,EAAEknD,GAAGD,IAAIpkD,QAAQ7C,GAAG,GAAG,KAAK,IAAI,IAAI+mD,EAAE1nC,EAAErf,EAAEinD,IAAIzoD,OAAO6gB,IAAI,GAAG,OAAO0nC,EAAE/mD,EAAEinD,IAAI5nC,KAAK,MAAM0nC,EAAEK,IAAI,OAAOL,EAAEK,IAAI,MAAM,mBAAmBpnD,EAAElD,KAAK2gD,EAAEz9C,GAAG,KAAK,SAASiE,EAAEjE,GAAG,IAAIqf,EAAE0nC,EAAE,GAAG,OAAO/mD,EAAEA,EAAEknD,KAAK,MAAMlnD,EAAEsnD,IAAI,CAAC,IAAItnD,EAAEonD,IAAIpnD,EAAEsnD,IAAII,KAAK,KAAKroC,EAAE,EAAEA,EAAErf,EAAEinD,IAAIzoD,OAAO6gB,IAAI,GAAG,OAAO0nC,EAAE/mD,EAAEinD,IAAI5nC,KAAK,MAAM0nC,EAAEK,IAAI,CAACpnD,EAAEonD,IAAIpnD,EAAEsnD,IAAII,KAAKX,EAAEK,IAAI,MAAM,OAAOnjD,EAAEjE,IAAI,SAASsxC,EAAEtxC,KAAKA,EAAEqnD,MAAMrnD,EAAEqnD,KAAI,IAAKnW,EAAE3sC,KAAKvE,KAAK2nD,EAAEC,OAAO7Q,IAAI13B,EAAEwoC,sBAAsB9Q,EAAE13B,EAAEwoC,oBAAoBpoD,GAAGkoD,GAAG,SAASA,IAAI,IAAI,IAAI3nD,EAAE2nD,EAAEC,IAAI1W,EAAE1yC,QAAQwB,EAAEkxC,EAAEjZ,MAAK,SAASj4B,EAAEqf,GAAG,OAAOrf,EAAEwnD,IAAIL,IAAI9nC,EAAEmoC,IAAIL,OAAMjW,EAAE,GAAGlxC,EAAEqE,MAAK,SAASrE,GAAG,IAAIqf,EAAE0nC,EAAEznD,EAAE4xC,EAAEzxC,EAAEs3C,EAAE/2C,EAAEqnD,MAAM5nD,GAAGyxC,GAAG7xB,EAAErf,GAAGwnD,KAAKJ,KAAKrQ,EAAE13B,EAAEyoC,OAAOf,EAAE,IAAIznD,EAAE0E,EAAE,GAAGktC,IAAIsW,IAAItW,EAAEsW,IAAI,EAAEhd,EAAEuM,EAAE7F,EAAE5xC,EAAE+f,EAAE0oC,SAAI,IAAShR,EAAE3B,gBAAgB,MAAMlE,EAAEqW,IAAI,CAAC9nD,GAAG,KAAKsnD,EAAE,MAAMtnD,EAAEg+C,EAAEvM,GAAGzxC,EAAEyxC,EAAEqW,KAAKS,EAAEjB,EAAE7V,GAAGA,EAAEkW,KAAK3nD,GAAGwE,EAAEitC,QAAO,SAAS0H,EAAE54C,EAAEqf,EAAE0nC,EAAEznD,EAAE4xC,EAAEzxC,EAAEs3C,EAAEiQ,EAAExH,EAAEx7C,GAAG,IAAIqT,EAAE+D,EAAE6hC,EAAExwB,EAAExoB,EAAEqtC,EAAEqW,EAAE/O,EAAEt5C,GAAGA,EAAE2nD,KAAK3xC,EAAE2yC,EAAErP,EAAEp6C,OAAO,IAAIuoD,EAAEE,IAAI,GAAG5vC,EAAE,EAAEA,EAAEgI,EAAE7gB,OAAO6Y,IAAI,GAAG,OAAOoV,EAAEs6B,EAAEE,IAAI5vC,GAAG,OAAOoV,EAAEpN,EAAEhI,KAAK,kBAAkBoV,EAAE,KAAK,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,EAAEmZ,EAAE,KAAKnZ,EAAE,KAAK,KAAKA,GAAG/tB,MAAMoB,QAAQ2sB,GAAGmZ,EAAEpgB,EAAE,CAAC5oB,SAAS6vB,GAAG,KAAK,KAAK,MAAMA,EAAE06B,IAAI,EAAEvhB,EAAEnZ,EAAE3vB,KAAK2vB,EAAEhqB,MAAMgqB,EAAE5qB,IAAI,KAAK4qB,EAAE+6B,KAAK/6B,GAAG,CAAC,GAAGA,EAAEy6B,GAAGH,EAAEt6B,EAAE06B,IAAIJ,EAAEI,IAAI,EAAE,QAAQlK,EAAErE,EAAEvhC,KAAK4lC,GAAGxwB,EAAE5qB,KAAKo7C,EAAEp7C,KAAK4qB,EAAE3vB,OAAOmgD,EAAEngD,KAAK87C,EAAEvhC,QAAG,OAAY,IAAI+D,EAAE,EAAEA,EAAE6sC,EAAE7sC,IAAI,CAAC,IAAI6hC,EAAErE,EAAEx9B,KAAKqR,EAAE5qB,KAAKo7C,EAAEp7C,KAAK4qB,EAAE3vB,OAAOmgD,EAAEngD,KAAK,CAAC87C,EAAEx9B,QAAG,EAAO,MAAM6hC,EAAE,KAAKzS,EAAExqC,EAAEysB,EAAEwwB,EAAEA,GAAGviC,EAAEw2B,EAAEzxC,EAAEs3C,EAAEiQ,EAAExH,EAAEx7C,GAAGC,EAAEwoB,EAAE26B,KAAKhsC,EAAEqR,EAAE3uB,MAAMm/C,EAAEn/C,KAAKsd,IAAIusC,IAAIA,EAAE,IAAI1K,EAAEn/C,KAAK6pD,EAAEpjD,KAAK04C,EAAEn/C,IAAI,KAAK2uB,GAAGk7B,EAAEpjD,KAAK6W,EAAEqR,EAAE66B,KAAKrjD,EAAEwoB,IAAI,MAAMxoB,GAAG,MAAMqtC,IAAIA,EAAErtC,GAAG,mBAAmBwoB,EAAE3vB,MAAM,MAAM2vB,EAAEw6B,KAAKx6B,EAAEw6B,MAAMhK,EAAEgK,IAAIx6B,EAAE46B,IAAI7H,EAAE7Z,EAAElZ,EAAE+yB,EAAEx/C,GAAGw/C,EAAE0I,EAAEloD,EAAEysB,EAAEwwB,EAAErE,EAAE30C,EAAEu7C,GAAGx7C,GAAG,WAAW+iD,EAAEjqD,KAAK,mBAAmBiqD,EAAEjqD,OAAOiqD,EAAEM,IAAI7H,GAAGx/C,EAAEhB,MAAM,IAAIwgD,GAAGvC,EAAEmK,KAAK5H,GAAGA,EAAE3P,YAAY7vC,IAAIw/C,EAAE/B,EAAER,IAAI,IAAI8J,EAAEK,IAAI9V,EAAEj6B,EAAE4wC,EAAE5wC,KAAK,MAAMuhC,EAAEvhC,KAAK,mBAAmB0vC,EAAEjqD,MAAM,MAAM87C,EAAEvhC,GAAG+vC,KAAKxO,EAAEvhC,GAAG+vC,KAAKL,EAAEM,MAAMN,EAAEM,IAAI5J,EAAEn+C,EAAE+X,EAAE,IAAI8wC,EAAEvP,EAAEvhC,GAAGuhC,EAAEvhC,KAAK,GAAGswC,EAAE,IAAItwC,EAAE,EAAEA,EAAEswC,EAAEnpD,OAAO6Y,IAAI+wC,EAAET,EAAEtwC,GAAGswC,IAAItwC,GAAGswC,IAAItwC,IAAI,SAASsuB,EAAE3lC,EAAEqf,EAAE0nC,GAAG,IAAIznD,EAAE4xC,EAAE,IAAI5xC,EAAE,EAAEA,EAAEU,EAAEinD,IAAIzoD,OAAOc,KAAK4xC,EAAElxC,EAAEinD,IAAI3nD,MAAM4xC,EAAEgW,GAAGlnD,EAAEqf,EAAE,mBAAmB6xB,EAAEp0C,KAAK6oC,EAAEuL,EAAE7xB,EAAE0nC,GAAGmB,EAAEnB,EAAE7V,EAAEA,EAAElxC,EAAEinD,IAAI/V,EAAEkW,IAAI/nC,IAAI,OAAOA,EAAE,SAAS4oC,EAAEjoD,EAAEqf,GAAG,OAAOA,EAAEA,GAAG,GAAG,MAAMrf,GAAG,kBAAkBA,IAAItB,MAAMoB,QAAQE,GAAGA,EAAEqE,MAAK,SAASrE,GAAGioD,EAAEjoD,EAAEqf,MAAKA,EAAE9a,KAAKvE,IAAIqf,EAAE,SAAS6oC,EAAEloD,EAAEqf,EAAE0nC,EAAEznD,EAAE4xC,EAAEzxC,GAAG,IAAIs3C,EAAEiQ,EAAEtsC,EAAE,QAAG,IAAS2E,EAAEgoC,IAAItQ,EAAE13B,EAAEgoC,IAAIhoC,EAAEgoC,SAAI,OAAY,GAAG,MAAMN,GAAG7V,GAAGzxC,GAAG,MAAMyxC,EAAErB,WAAW7vC,EAAE,GAAG,MAAMP,GAAGA,EAAEowC,aAAa7vC,EAAEA,EAAErC,YAAYuzC,GAAG6F,EAAE,SAAS,CAAC,IAAIiQ,EAAEvnD,EAAEib,EAAE,GAAGssC,EAAEA,EAAEpX,cAAcl1B,EAAEpb,EAAEd,OAAOkc,GAAG,EAAE,GAAGssC,GAAG9V,EAAE,MAAMlxC,EAAEA,EAAEqsC,aAAa6E,EAAEzxC,GAAGs3C,EAAEt3C,EAAE,YAAO,IAASs3C,EAAEA,EAAE7F,EAAEtB,YAAuO,SAASyY,EAAEroD,EAAEqf,EAAE0nC,GAAG,MAAM1nC,EAAE,GAAGrf,EAAE8tC,YAAYzuB,EAAE0nC,GAAG/mD,EAAEqf,GAAG,MAAM0nC,EAAE,GAAG,iBAAiBA,GAAGvH,EAAEl/C,KAAK+e,GAAG0nC,EAAEA,EAAE,KAAK,SAASuB,EAAEtoD,EAAEqf,EAAE0nC,EAAEznD,EAAE4xC,GAAG,IAAIzxC,EAAEO,EAAE,GAAG,UAAUqf,EAAE,GAAG,iBAAiB0nC,EAAE/mD,EAAEwC,MAAM2hC,QAAQ4iB,MAAM,CAAC,GAAG,iBAAiBznD,IAAIU,EAAEwC,MAAM2hC,QAAQ7kC,EAAE,IAAIA,EAAE,IAAI+f,KAAK/f,EAAEynD,GAAG1nC,KAAK0nC,GAAGsB,EAAEroD,EAAEwC,MAAM6c,EAAE,IAAI,GAAG0nC,EAAE,IAAI1nC,KAAK0nC,EAAEznD,GAAGynD,EAAE1nC,KAAK/f,EAAE+f,IAAIgpC,EAAEroD,EAAEwC,MAAM6c,EAAE0nC,EAAE1nC,SAAS,GAAG,MAAMA,EAAE,IAAI,MAAMA,EAAE,GAAG5f,EAAE4f,KAAKA,EAAEA,EAAErI,QAAQ,WAAW,KAAKqI,EAAEA,EAAEjM,gBAAgBpT,EAAEqf,EAAEjM,cAAclT,MAAM,GAAGmf,EAAEnf,MAAM,GAAGF,EAAEqf,IAAIrf,EAAEqf,EAAE,IAAIrf,EAAEqf,EAAEA,EAAE5f,GAAGsnD,EAAEA,EAAEznD,GAAGU,EAAEuL,iBAAiB8T,EAAE5f,EAAE8oD,EAAEC,EAAE/oD,GAAGO,EAAEwL,oBAAoB6T,EAAE5f,EAAE8oD,EAAEC,EAAE/oD,QAAQ,GAAG,4BAA4B4f,EAAE,CAAC,GAAG6xB,EAAE7xB,EAAEA,EAAErI,QAAQ,aAAa,KAAKA,QAAQ,SAAS,UAAU,GAAG,SAASqI,GAAG,SAASA,GAAG,SAASA,GAAG,aAAaA,GAAG,aAAaA,GAAGA,KAAKrf,EAAE,IAAIA,EAAEqf,GAAG,MAAM0nC,EAAE,GAAGA,EAAE,MAAM/mD,EAAE,MAAMA,IAAI,mBAAmB+mD,IAAI,MAAMA,KAAI,IAAKA,GAAG,MAAM1nC,EAAE,IAAI,MAAMA,EAAE,IAAIrf,EAAE8c,aAAauC,EAAE0nC,GAAG/mD,EAAEktC,gBAAgB7tB,KAAK,SAASmpC,EAAExoD,GAAGgC,KAAKqd,EAAErf,EAAElD,MAAK,GAAIuiB,EAAE9d,MAAM8d,EAAE9d,MAAMvB,GAAGA,GAAG,SAASuoD,EAAEvoD,GAAGgC,KAAKqd,EAAErf,EAAElD,MAAK,GAAIuiB,EAAE9d,MAAM8d,EAAE9d,MAAMvB,GAAGA,GAAG,SAASwqC,EAAExqC,EAAE+mD,EAAEznD,EAAE4xC,EAAEzxC,EAAEs3C,EAAEiQ,EAAEtsC,EAAEpF,GAAG,IAAIkqC,EAAEnoC,EAAE+D,EAAEwqB,EAAEqX,EAAEQ,EAAEx5C,EAAEqtC,EAAEqW,EAAEhiB,EAAEsiB,EAAEC,EAAEnB,EAAEjqD,KAAK,QAAG,IAASiqD,EAAE5mD,YAAY,OAAO,KAAK,MAAMb,EAAEioD,MAAMjyC,EAAEhW,EAAEioD,IAAI7sC,EAAEqsC,EAAEK,IAAI9nD,EAAE8nD,IAAIL,EAAEQ,IAAI,KAAKxQ,EAAE,CAACr8B,KAAK8kC,EAAEngC,EAAE8nC,MAAM3H,EAAEuH,GAAG,IAAI/mD,EAAE,GAAG,mBAAmBkoD,EAAE,CAAC,GAAG5W,EAAEyV,EAAEtkD,MAAMklD,GAAGnI,EAAE0I,EAAEO,cAAcvX,EAAEsO,EAAE8H,KAAK3hB,EAAE6Z,EAAEmI,EAAEA,EAAEllD,MAAMzD,MAAMwgD,EAAE0H,GAAGhW,EAAE5xC,EAAEgoD,IAAIrjD,GAAGoT,EAAE0vC,EAAEO,IAAIhoD,EAAEgoD,KAAKJ,GAAG7vC,EAAEqxC,KAAK,cAAcR,GAAGA,EAAEjoD,UAAUojB,OAAO0jC,EAAEO,IAAIjwC,EAAE,IAAI6wC,EAAE5W,EAAE3L,IAAIohB,EAAEO,IAAIjwC,EAAE,IAAIoV,EAAE6kB,EAAE3L,GAAGtuB,EAAElX,YAAY+nD,EAAE7wC,EAAEgM,OAAOslC,GAAGhB,GAAGA,EAAEiB,IAAIvxC,GAAGA,EAAE5U,MAAM6uC,EAAEj6B,EAAEtT,QAAQsT,EAAEtT,MAAM,IAAIsT,EAAEtO,QAAQ48B,EAAEtuB,EAAE0wC,IAAI7W,EAAE91B,EAAE/D,EAAEgwC,KAAI,EAAGhwC,EAAEkwC,IAAI,IAAI,MAAMlwC,EAAEwxC,MAAMxxC,EAAEwxC,IAAIxxC,EAAEtT,OAAO,MAAMmkD,EAAEY,2BAA2BzxC,EAAEwxC,KAAKxxC,EAAEtT,QAAQsT,EAAEwxC,IAAI7kD,EAAE,GAAGqT,EAAEwxC,MAAM7kD,EAAEqT,EAAEwxC,IAAIX,EAAEY,yBAAyBxX,EAAEj6B,EAAEwxC,OAAOjjB,EAAEvuB,EAAE5U,MAAMw6C,EAAE5lC,EAAEtT,MAAMqX,EAAE,MAAM8sC,EAAEY,0BAA0B,MAAMzxC,EAAE0xC,oBAAoB1xC,EAAE0xC,qBAAqB,MAAM1xC,EAAE2xC,mBAAmB3xC,EAAEkwC,IAAIhjD,KAAK8S,EAAE2xC,uBAAuB,CAAC,GAAG,MAAMd,EAAEY,0BAA0BxX,IAAI1L,GAAG,MAAMvuB,EAAE4xC,2BAA2B5xC,EAAE4xC,0BAA0B3X,EAAE3L,IAAItuB,EAAE+vC,KAAK,MAAM/vC,EAAE6xC,wBAAuB,IAAK7xC,EAAE6xC,sBAAsB5X,EAAEj6B,EAAEwxC,IAAIljB,IAAIohB,EAAES,MAAMloD,EAAEkoD,IAAI,CAACnwC,EAAE5U,MAAM6uC,EAAEj6B,EAAEtT,MAAMsT,EAAEwxC,IAAI9B,EAAES,MAAMloD,EAAEkoD,MAAMnwC,EAAEgwC,KAAI,GAAIhwC,EAAEmwC,IAAIT,EAAEA,EAAEK,IAAI9nD,EAAE8nD,IAAIL,EAAEE,IAAI3nD,EAAE2nD,IAAIF,EAAEE,IAAInjD,SAAQ,SAAS9D,GAAGA,IAAIA,EAAEknD,GAAGH,MAAK1vC,EAAEkwC,IAAI/oD,QAAQwoD,EAAEziD,KAAK8S,GAAG,MAAMrX,EAAE,MAAMqX,EAAE8xC,qBAAqB9xC,EAAE8xC,oBAAoB7X,EAAEj6B,EAAEwxC,IAAIljB,GAAG,MAAMtuB,EAAE+xC,oBAAoB/xC,EAAEkwC,IAAIhjD,MAAK,WAAW8S,EAAE+xC,mBAAmBxjB,EAAEqX,EAAEQ,MAAKpmC,EAAEtO,QAAQ48B,EAAEtuB,EAAE5U,MAAM6uC,EAAEj6B,EAAEtT,MAAMsT,EAAEwxC,KAAKrJ,EAAEngC,EAAEuoC,MAAMpI,EAAEuH,GAAG1vC,EAAEgwC,KAAI,EAAGhwC,EAAEmwC,IAAIT,EAAE1vC,EAAEywC,IAAI9nD,EAAEw/C,EAAEnoC,EAAEgM,OAAOhM,EAAE5U,MAAM4U,EAAEtT,MAAMsT,EAAEtO,SAASsO,EAAEtT,MAAMsT,EAAEwxC,IAAI,MAAMxxC,EAAEgyC,kBAAkBnY,EAAEltC,EAAEA,EAAE,GAAGktC,GAAG75B,EAAEgyC,oBAAoBjuC,GAAG,MAAM/D,EAAEiyC,0BAA0B7L,EAAEpmC,EAAEiyC,wBAAwB1jB,EAAEqX,IAAIgL,EAAE,MAAMzI,GAAGA,EAAE1iD,OAAO0oB,GAAG,MAAMg6B,EAAE39C,IAAI29C,EAAE/8C,MAAM7F,SAAS4iD,EAAE5G,EAAE54C,EAAEtB,MAAMoB,QAAQmoD,GAAGA,EAAE,CAACA,GAAGlB,EAAEznD,EAAE4xC,EAAEzxC,EAAEs3C,EAAEiQ,EAAEtsC,EAAEpF,GAAG+B,EAAEqwC,KAAKX,EAAEK,IAAIL,EAAEQ,IAAI,KAAKlwC,EAAEkwC,IAAI/oD,QAAQwoD,EAAEziD,KAAK8S,GAAGpT,IAAIoT,EAAEqxC,IAAIrxC,EAAE6vC,GAAG,MAAM7vC,EAAE+vC,KAAI,OAAQ,MAAMrQ,GAAGgQ,EAAES,MAAMloD,EAAEkoD,KAAKT,EAAEE,IAAI3nD,EAAE2nD,IAAIF,EAAEK,IAAI9nD,EAAE8nD,KAAKL,EAAEK,IAAImC,EAAEjqD,EAAE8nD,IAAIL,EAAEznD,EAAE4xC,EAAEzxC,EAAEs3C,EAAEiQ,EAAE1xC,IAAIkqC,EAAEngC,EAAEmqC,SAAShK,EAAEuH,GAAG,MAAM/mD,GAAG+mD,EAAES,IAAI,MAAMlyC,GAAG,MAAMyhC,KAAKgQ,EAAEK,IAAI1sC,EAAEqsC,EAAEQ,MAAMjyC,EAAEyhC,EAAEA,EAAEl0C,QAAQ6X,IAAI,MAAM2E,EAAE+nC,IAAIpnD,EAAE+mD,EAAEznD,IAAI,SAAS0oD,EAAEhoD,EAAE+mD,GAAG1nC,EAAEioC,KAAKjoC,EAAEioC,IAAIP,EAAE/mD,GAAGA,EAAEqE,MAAK,SAAS0iD,GAAG,IAAI/mD,EAAE+mD,EAAEQ,IAAIR,EAAEQ,IAAI,GAAGvnD,EAAEqE,MAAK,SAASrE,GAAGA,EAAEd,KAAK6nD,MAAK,MAAM/mD,GAAGqf,EAAE+nC,IAAIpnD,EAAE+mD,EAAES,SAAQ,SAAS+B,EAAElqC,EAAE0nC,EAAEznD,EAAE4xC,EAAEzxC,EAAEs3C,EAAEiQ,EAAE1xC,GAAG,IAAIkqC,EAAEx7C,EAAEoX,EAAEwqB,EAAEtmC,EAAEmD,MAAMw6C,EAAE8J,EAAEtkD,MAAM+iB,EAAEuhC,EAAEjqD,KAAK2vB,EAAE,EAAE,GAAG,QAAQjH,IAAI/lB,GAAE,GAAI,MAAMs3C,EAAE,KAAKtqB,EAAEsqB,EAAEv4C,OAAOiuB,IAAI,IAAI+yB,EAAEzI,EAAEtqB,MAAM+yB,IAAIngC,IAAImG,EAAEg6B,EAAEiK,WAAWjkC,EAAE,GAAGg6B,EAAEkK,WAAW,CAACrqC,EAAEmgC,EAAEzI,EAAEtqB,GAAG,KAAK,MAAM,GAAG,MAAMpN,EAAE,CAAC,GAAG,OAAOmG,EAAE,OAAOpnB,SAASurD,eAAe1M,GAAG59B,EAAE5f,EAAErB,SAASgtC,gBAAgB,6BAA6B5lB,GAAGpnB,SAASX,cAAc+nB,EAAEy3B,EAAE2M,IAAI3M,GAAGlG,EAAE,KAAKzhC,GAAE,EAAG,GAAG,OAAOkQ,EAAEogB,IAAIqX,GAAG3nC,GAAG+J,EAAE9O,OAAO0sC,IAAI59B,EAAE9O,KAAK0sC,OAAO,CAAC,GAAGlG,EAAEA,GAAG/2C,EAAEd,KAAKmgB,EAAEwqC,YAAY7lD,GAAG4hC,EAAEtmC,EAAEmD,OAAOiY,GAAGuZ,wBAAwB7Y,EAAE6hC,EAAEhpB,yBAAyB3e,EAAE,CAAC,GAAG,MAAMyhC,EAAE,IAAInR,EAAE,GAAGnZ,EAAE,EAAEA,EAAEpN,EAAEyqC,WAAWtrD,OAAOiuB,IAAImZ,EAAEvmB,EAAEyqC,WAAWr9B,GAAGrsB,MAAMif,EAAEyqC,WAAWr9B,GAAGztB,OAAOoc,GAAGpX,KAAKoX,IAAIpX,GAAGoX,EAAE8Y,QAAQlwB,EAAEkwB,QAAQ9Y,EAAE8Y,SAAS7U,EAAEmwB,aAAanwB,EAAEmwB,UAAUp0B,GAAGA,EAAE8Y,QAAQ,KAAK,GAAx4H,SAAWl0B,EAAEqf,EAAE0nC,EAAEznD,EAAE4xC,GAAG,IAAIzxC,EAAE,IAAIA,KAAKsnD,EAAE,aAAatnD,GAAG,QAAQA,GAAGA,KAAK4f,GAAGipC,EAAEtoD,EAAEP,EAAE,KAAKsnD,EAAEtnD,GAAGH,GAAG,IAAIG,KAAK4f,EAAE6xB,GAAG,mBAAmB7xB,EAAE5f,IAAI,aAAaA,GAAG,QAAQA,GAAG,UAAUA,GAAG,YAAYA,GAAGsnD,EAAEtnD,KAAK4f,EAAE5f,IAAI6oD,EAAEtoD,EAAEP,EAAE4f,EAAE5f,GAAGsnD,EAAEtnD,GAAGH,GAAmrHyqD,CAAE1qC,EAAE49B,EAAErX,EAAEnmC,EAAE6V,GAAG8F,EAAE2rC,EAAEE,IAAI,QAAQ,GAAGx6B,EAAEs6B,EAAEtkD,MAAM7F,SAASg8C,EAAEv5B,EAAE3gB,MAAMoB,QAAQ2sB,GAAGA,EAAE,CAACA,GAAGs6B,EAAEznD,EAAE4xC,EAAEzxC,GAAG,kBAAkB+lB,EAAEuxB,EAAEiQ,EAAEjQ,EAAEA,EAAE,GAAGz3C,EAAE2nD,KAAKxJ,EAAEn+C,EAAE,GAAGgW,GAAG,MAAMyhC,EAAE,IAAItqB,EAAEsqB,EAAEv4C,OAAOiuB,KAAK,MAAMsqB,EAAEtqB,IAAIpV,EAAE0/B,EAAEtqB,IAAInX,IAAI,UAAU2nC,QAAG,KAAUxwB,EAAEwwB,EAAEj+C,SAASytB,IAAIpN,EAAErgB,OAAO,aAAawmB,IAAIiH,IAAI67B,EAAEjpC,EAAE,QAAQoN,EAAEmZ,EAAE5mC,OAAM,GAAI,YAAYi+C,QAAG,KAAUxwB,EAAEwwB,EAAE+M,UAAUv9B,IAAIpN,EAAE2qC,SAAS1B,EAAEjpC,EAAE,UAAUoN,EAAEmZ,EAAEokB,SAAQ,IAAK,OAAO3qC,EAAE,SAAS+oC,EAAEpoD,EAAE+mD,EAAEznD,GAAG,IAAI,mBAAmBU,EAAEA,EAAE+mD,GAAG/mD,EAAEzC,QAAQwpD,EAAE,MAAM/mD,GAAGqf,EAAE+nC,IAAIpnD,EAAEV,IAAI,SAAS6oD,EAAEnoD,EAAE+mD,EAAEznD,GAAG,IAAI4xC,EAAEzxC,EAAE,GAAG4f,EAAE4qC,SAAS5qC,EAAE4qC,QAAQjqD,IAAIkxC,EAAElxC,EAAElC,OAAOozC,EAAE3zC,SAAS2zC,EAAE3zC,UAAUyC,EAAEonD,KAAKgB,EAAElX,EAAE,KAAK6V,IAAI,OAAO7V,EAAElxC,EAAEsnD,KAAK,CAAC,GAAGpW,EAAEgZ,qBAAqB,IAAIhZ,EAAEgZ,uBAAuB,MAAMlqD,GAAGqf,EAAE+nC,IAAIpnD,EAAE+mD,GAAG7V,EAAEwW,KAAKxW,EAAE4W,IAAI,KAAK,GAAG5W,EAAElxC,EAAEinD,IAAI,IAAIxnD,EAAE,EAAEA,EAAEyxC,EAAE1yC,OAAOiB,IAAIyxC,EAAEzxC,IAAI0oD,EAAEjX,EAAEzxC,GAAGsnD,EAAE,mBAAmB/mD,EAAElD,MAAMwC,GAAG,MAAMU,EAAEonD,KAAK/vC,EAAErX,EAAEonD,KAAKpnD,EAAEonD,IAAIpnD,EAAEqnD,SAAI,EAAO,SAASsB,EAAE3oD,EAAEqf,EAAE0nC,GAAG,OAAO/kD,KAAK7B,YAAYH,EAAE+mD,GAAG,SAASoD,EAAEpD,EAAEznD,EAAE4xC,GAAG,IAAIzxC,EAAEs3C,EAAEiQ,EAAE3nC,EAAE6nC,IAAI7nC,EAAE6nC,GAAGH,EAAEznD,GAAGy3C,GAAGt3C,EAAE,mBAAmByxC,GAAG,KAAKA,GAAGA,EAAE+V,KAAK3nD,EAAE2nD,IAAID,EAAE,GAAGxc,EAAElrC,EAAEynD,IAAItnD,GAAGyxC,GAAG5xC,GAAG2nD,IAAI7rC,EAAEoK,EAAE,KAAK,CAACuhC,IAAIhQ,GAAGr8B,EAAEA,OAAE,IAASpb,EAAE81C,iBAAiB31C,GAAGyxC,EAAE,CAACA,GAAG6F,EAAE,KAAKz3C,EAAE0wC,WAAWhwC,EAAEd,KAAKI,EAAEuqD,YAAY,KAAK7C,GAAGvnD,GAAGyxC,EAAEA,EAAE6F,EAAEA,EAAEqQ,IAAI9nD,EAAE0wC,WAAWvwC,GAAGuoD,EAAEhB,EAAED,GAAG,SAASqD,EAAEpqD,EAAEqf,GAAG8qC,EAAEnqD,EAAEqf,EAAE+qC,GAAG,SAASC,EAAEhrC,EAAE0nC,EAAEznD,GAAG,IAAI4xC,EAAEzxC,EAAEs3C,EAAEiQ,EAAEhjD,EAAE,GAAGqb,EAAE5c,OAAO,IAAIs0C,KAAKgQ,EAAE,OAAOhQ,EAAE7F,EAAE6V,EAAEhQ,GAAG,OAAOA,EAAEt3C,EAAEsnD,EAAEhQ,GAAGiQ,EAAEjQ,GAAGgQ,EAAEhQ,GAAG,OAAOx4C,UAAUC,OAAO,IAAIwoD,EAAEpqD,SAAS2B,UAAUC,OAAO,EAAEwB,EAAEd,KAAKX,UAAU,GAAGe,GAAGsmC,EAAEvmB,EAAEviB,KAAKkqD,EAAE9V,GAAG7xB,EAAExd,IAAIpC,GAAG4f,EAAEvhB,IAAI,MAAM,SAAS48C,EAAE16C,EAAEqf,GAAG,IAAI0nC,EAAE,CAACO,IAAIjoC,EAAE,OAAO2nC,IAAIE,GAAGlnD,EAAEsqD,SAAS,SAAStqD,EAAEqf,GAAG,OAAOrf,EAAEpD,SAASyiB,IAAIwO,SAAS,SAAS7tB,GAAG,IAAI+mD,EAAEznD,EAAE,OAAO0C,KAAKqnD,kBAAkBtC,EAAE,IAAIznD,EAAE,IAAI+f,GAAGrd,KAAKA,KAAKqnD,gBAAgB,WAAW,OAAO/pD,GAAG0C,KAAKknD,sBAAsB,SAASlpD,GAAGgC,KAAKS,MAAMzD,QAAQgB,EAAEhB,OAAO+nD,EAAE1iD,KAAKitC,IAAItvC,KAAK4mD,IAAI,SAAS5oD,GAAG+mD,EAAExiD,KAAKvE,GAAG,IAAIqf,EAAErf,EAAEkqD,qBAAqBlqD,EAAEkqD,qBAAqB,WAAWnD,EAAEzhD,OAAOyhD,EAAElkD,QAAQ7C,GAAG,GAAGqf,GAAGA,EAAEngB,KAAKc,MAAMA,EAAEpD,WAAW,OAAOmqD,EAAEl5B,SAASq5B,GAAGH,EAAEuD,SAAS7B,YAAY1B,EAAE/mD,EAAEsV,EAAEpV,MAAMmf,EAAE,CAAC+nC,IAAI,SAASpnD,EAAEqf,GAAG,IAAI,IAAI0nC,EAAEznD,EAAE4xC,EAAE7xB,EAAEA,EAAE6nC,IAAI,IAAIH,EAAE1nC,EAAEioC,OAAOP,EAAEG,GAAG,IAAI,IAAI5nD,EAAEynD,EAAE5mD,cAAc,MAAMb,EAAEirD,2BAA2BxD,EAAExkC,SAASjjB,EAAEirD,yBAAyBvqD,IAAIkxC,EAAE6V,EAAEM,KAAK,MAAMN,EAAEyD,oBAAoBzD,EAAEyD,kBAAkBxqD,GAAGkxC,EAAE6V,EAAEM,KAAKnW,EAAE,OAAO6V,EAAE2B,IAAI3B,EAAE,MAAM1nC,GAAGrf,EAAEqf,EAAE,MAAMrf,IAAI+mD,EAAE,EAAwDt6B,EAAExsB,UAAUsiB,SAAS,SAASviB,EAAEqf,GAAG,IAAI0nC,EAAEA,EAAE,MAAM/kD,KAAK6mD,KAAK7mD,KAAK6mD,MAAM7mD,KAAK+B,MAAM/B,KAAK6mD,IAAI7mD,KAAK6mD,IAAI7kD,EAAE,GAAGhC,KAAK+B,OAAO,mBAAmB/D,IAAIA,EAAEA,EAAEgE,EAAE,GAAG+iD,GAAG/kD,KAAKS,QAAQzC,GAAGgE,EAAE+iD,EAAE/mD,GAAG,MAAMA,GAAGgC,KAAKwlD,MAAMnoC,GAAGrd,KAAKulD,IAAIhjD,KAAK8a,GAAGiyB,EAAEtvC,QAAQyqB,EAAExsB,UAAU/C,YAAY,SAAS8C,GAAGgC,KAAKwlD,MAAMxlD,KAAKolD,KAAI,EAAGpnD,GAAGgC,KAAKulD,IAAIhjD,KAAKvE,GAAGsxC,EAAEtvC,QAAQyqB,EAAExsB,UAAUojB,OAAOmC,EAAE0rB,EAAE,GAAGzxC,EAAE,mBAAmB0Q,QAAQA,QAAQlQ,UAAU2T,KAAKjT,KAAKwP,QAAQC,WAAWlI,WAAWy/C,EAAEC,IAAI,EAAEZ,EAAE,ECAjhT,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,SAAS,EAAE9V,EAAE6F,GAAG,OAAO,MAAM,EAAE7F,EAAE,GAAG6F,GAAG,EAAE,EAAE,IAAIz3C,EAAE,EAAEmrD,MAAM,EAAEA,IAAI,CAACvD,GAAG,GAAGK,IAAI,KAAK,OAAOrW,GAAG5xC,EAAE4nD,GAAG1oD,QAAQc,EAAE4nD,GAAG3iD,KAAK,IAAIjF,EAAE4nD,GAAGhW,GAAG,SAAS,EAAElxC,GAAG,OAAO,EAAE,EAAE,GAAE,GAAEA,GAAG,SAAS,GAAEA,EAAE+2C,EAAEt3C,GAAG,IAAIH,EAAE,EAAE,IAAI,GAAG,OAAOA,EAAE4xC,EAAElxC,EAAEV,EAAEgoD,MAAMhoD,EAAE4nD,GAAG,CAACznD,EAAEA,EAAEs3C,GAAG,QAAE,EAAOA,GAAG,SAAS/2C,GAAG,IAAIkxC,EAAE5xC,EAAE4xC,EAAE5xC,EAAE4nD,GAAG,GAAGlnD,GAAGV,EAAE4nD,GAAG,KAAKhW,IAAI5xC,EAAE4nD,GAAG,CAAChW,EAAE5xC,EAAE4nD,GAAG,IAAI5nD,EAAEgoD,IAAI/kC,SAAS,OAAOjjB,EAAEgoD,IAAI,GAAGhoD,EAAE4nD,GAAG,SAAS,GAAEnQ,EAAEt3C,GAAG,IAAIH,EAAE,EAAE,IAAI,IAAI,OAAO,GAAEA,EAAEmrD,IAAIhrD,KAAKH,EAAE4nD,GAAGnQ,EAAEz3C,EAAEmrD,IAAIhrD,EAAE,EAAEgrD,IAAIlD,IAAIhjD,KAAKjF,IAAI,SAAS,GAAEy3C,EAAEt3C,GAAG,IAAIH,EAAE,EAAE,IAAI,IAAI,OAAO,GAAEA,EAAEmrD,IAAIhrD,KAAKH,EAAE4nD,GAAGnQ,EAAEz3C,EAAEmrD,IAAIhrD,EAAE,EAAE8nD,IAAIhjD,KAAKjF,IAAI,SAAS,GAAEU,GAAG,OAAO,EAAE,EAAE,IAAE,WAAW,MAAM,CAACzC,QAAQyC,KAAI,IAAI,SAAS,GAAEA,EAAEkxC,EAAE6V,GAAG,EAAE,EAAE,IAAE,WAAW,mBAAmB/mD,EAAEA,EAAEkxC,KAAKlxC,IAAIA,EAAEzC,QAAQ2zC,OAAM,MAAM6V,EAAEA,EAAEA,EAAErwC,OAAO1W,IAAI,SAAS,GAAEA,EAAE+mD,GAAG,IAAIhQ,EAAE,EAAE,IAAI,GAAG,OAAO,GAAEA,EAAE0T,IAAI1D,KAAKhQ,EAAEmQ,GAAGlnD,IAAI+2C,EAAE0T,IAAI1D,EAAEhQ,EAAEwQ,IAAIvnD,GAAG+2C,EAAEmQ,GAAG,SAAS,GAAElnD,EAAEkxC,GAAG,OAAO,EAAE,EAAE,IAAE,WAAW,OAAOlxC,IAAGkxC,GAAG,SAASwZ,GAAE1qD,GAAG,IAAI+2C,EAAE,EAAEhuC,QAAQ/I,EAAEsnD,KAAK7nD,EAAE,EAAE,IAAI,GAAG,OAAOA,EAAE6V,EAAEtV,EAAE+2C,GAAG,MAAMt3C,EAAEynD,KAAKznD,EAAEynD,IAAG,EAAGnQ,EAAE6R,IAAI,IAAI7R,EAAEt0C,MAAMzD,OAAOgB,EAAEknD,GAAG,SAAS,GAAEhW,EAAE6V,GAAG,iBAAiB,gBAAgBA,EAAEA,EAAE7V,GAAGA,GAAG,SAAS,GAAElxC,GAAG,IAAI+2C,EAAE,EAAE,IAAI,IAAIt3C,EAAE,IAAI,OAAOs3C,EAAEmQ,GAAGlnD,EAAE,EAAEwqD,oBAAoB,EAAEA,kBAAkB,SAASxqD,GAAG+2C,EAAEmQ,IAAInQ,EAAEmQ,GAAGlnD,GAAGP,EAAE,GAAGO,KAAK,CAACP,EAAE,GAAG,WAAWA,EAAE,QAAG,KAAU,SAAS,KAAI,EAAEqE,SAAQ,SAASotC,GAAG,GAAGA,EAAE4W,IAAI,IAAI5W,EAAEuZ,IAAIlD,IAAIzjD,QAAQ,IAAGotC,EAAEuZ,IAAIlD,IAAIzjD,QAAQ,IAAGotC,EAAEuZ,IAAIlD,IAAI,GAAG,MAAMR,GAAG7V,EAAEuZ,IAAIlD,IAAI,GAAG,MAAMR,EAAE7V,EAAEsW,SAAQ,EAAE,GAAG,MAAM,SAASxnD,GAAG,EAAE,KAAK,GAAG,EAAEA,IAAI,MAAM,SAASA,GAAG,GAAG,EAAEA,GAAG,EAAE,EAAE,IAAI+2C,GAAG,EAAE/2C,EAAEsnD,KAAKmD,IAAI1T,IAAIA,EAAEwQ,IAAIzjD,QAAQ,IAAGizC,EAAEwQ,IAAIzjD,QAAQ,IAAGizC,EAAEwQ,IAAI,KAAK,SAAS,SAASrW,GAAG,GAAG,EAAEA,GAAG,IAAIzxC,EAAEyxC,EAAEoW,IAAI7nD,GAAGA,EAAEgrD,KAAKhrD,EAAEgrD,IAAIlD,IAAI/oD,SAAS,IAAI,EAAE+F,KAAK9E,IAAI,IAAI,2BAA2B,EAAE,0BAA0B,SAASO,GAAG,IAAIkxC,EAAE6V,EAAE,WAAW9+C,aAAa8uC,GAAG,IAAGxxC,qBAAqB2rC,GAAGhpC,WAAWlI,IAAI+2C,EAAE7uC,WAAW6+C,EAAE,KAAK,KAAI7V,EAAEvsC,sBAAsBoiD,MAAM,KAAI,OAAE,GAAQ,MAAM,SAAS7V,EAAE6V,GAAGA,EAAE1iD,MAAK,SAAS6sC,GAAG,IAAIA,EAAEqW,IAAIzjD,QAAQ,IAAGotC,EAAEqW,IAAIrW,EAAEqW,IAAI3oD,QAAO,SAASoB,GAAG,OAAOA,EAAEknD,IAAI,GAAElnD,MAAK,MAAM+2C,GAAGgQ,EAAE1iD,MAAK,SAASrE,GAAGA,EAAEunD,MAAMvnD,EAAEunD,IAAI,OAAMR,EAAE,GAAG,MAAMhQ,EAAE7F,EAAEsW,SAAQ,GAAG,EAAEtW,EAAE6V,IAAI,UAAU,SAAS7V,GAAG,GAAG,EAAEA,GAAG,IAAI6V,EAAE7V,EAAEoW,IAAI,GAAGP,GAAGA,EAAE0D,IAAI,IAAI1D,EAAE0D,IAAIvD,GAAGpjD,QAAQ,IAAG,MAAMotC,GAAG,MAAMA,EAAE6V,EAAES,OAAO,IAAI,GAAE,mBAAmB7iD,sBAAsB,SAAS,GAAE3E,GAAG,IAAIkxC,EAAE,EAAE,mBAAmBlxC,EAAEsnD,KAAKtnD,EAAEsnD,MAAM,EAAEpW,EAAE,SAAS,GAAElxC,GAAG,IAAIkxC,EAAE,EAAElxC,EAAEsnD,IAAItnD,EAAEknD,KAAK,EAAEhW,EAAE,SAAS,GAAElxC,EAAEkxC,GAAG,OAAOlxC,GAAGA,EAAExB,SAAS0yC,EAAE1yC,QAAQ0yC,EAAE7sC,MAAK,SAAS6sC,EAAE6V,GAAG,OAAO7V,IAAIlxC,EAAE+mD,MAAK,SAAS,GAAE/mD,EAAEkxC,GAAG,MAAM,mBAAmBA,EAAEA,EAAElxC,GAAGkxC,ECAp4D,SAAS,GAAElxC,EAAEkxC,GAAG,IAAI,IAAIx2B,KAAKw2B,EAAElxC,EAAE0a,GAAGw2B,EAAEx2B,GAAG,OAAO1a,EAAE,SAAS,GAAEA,EAAEkxC,GAAG,IAAI,IAAIx2B,KAAK1a,EAAE,GAAG,aAAa0a,KAAKA,KAAKw2B,GAAG,OAAM,EAAG,IAAI,IAAI6F,KAAK7F,EAAE,GAAG,aAAa6F,GAAG/2C,EAAE+2C,KAAK7F,EAAE6F,GAAG,OAAM,EAAG,OAAM,EAAG,SAAS4T,GAAE3qD,GAAGgC,KAAKS,MAAMzC,EAAE,SAAS,GAAEA,EAAEkxC,GAAG,SAASx2B,EAAE1a,GAAG,IAAI0a,EAAE1Y,KAAKS,MAAM3E,IAAIi5C,EAAEr8B,GAAG1a,EAAElC,IAAI,OAAOi5C,GAAGr8B,IAAIA,EAAExb,KAAKwb,EAAE,MAAMA,EAAEnd,QAAQ,MAAM2zC,GAAGA,EAAElvC,KAAKS,MAAMzC,KAAK+2C,EAAE,GAAE/0C,KAAKS,MAAMzC,GAAG,SAAS+2C,EAAE7F,GAAG,OAAOlvC,KAAKknD,sBAAsBxuC,EAAE,EAAE1a,EAAEkxC,GAAG,OAAO6F,EAAE1lB,YAAY,SAASrxB,EAAEqxB,aAAarxB,EAAEI,MAAM,IAAI22C,EAAE92C,UAAU2qD,kBAAiB,EAAG7T,EAAE8T,KAAI,EAAG9T,GAAG4T,GAAE1qD,UAAU,IAAI,GAAG6qD,sBAAqB,EAAGH,GAAE1qD,UAAUipD,sBAAsB,SAASlpD,EAAEkxC,GAAG,OAAO,GAAElvC,KAAKS,MAAMzC,IAAI,GAAEgC,KAAK+B,MAAMmtC,IAAI,IAAI,GAAE,MAAM,MAAM,SAASlxC,GAAGA,EAAElD,MAAMkD,EAAElD,KAAK+tD,KAAK7qD,EAAElC,MAAMkC,EAAEyC,MAAM3E,IAAIkC,EAAElC,IAAIkC,EAAElC,IAAI,MAAM,IAAG,GAAEkC,IAAI,IAAI+qD,GAAE,oBAAoBnrD,QAAQA,OAAOorD,KAAKprD,OAAOorD,IAAI,sBAAsB,KAAK,SAAS,GAAEhrD,GAAG,SAASkxC,EAAEA,EAAEx2B,GAAG,IAAIq8B,EAAE,GAAE,GAAG7F,GAAG,cAAc6F,EAAEj5C,IAAIkC,EAAE+2C,GAAGr8B,EAAEw2B,EAAEpzC,KAAK4c,KAAK,iBAAiBA,GAAG,YAAYA,GAAGA,EAAE,MAAM,OAAOw2B,EAAE+Z,SAASF,GAAE7Z,EAAE7tB,OAAO6tB,EAAEA,EAAEjxC,UAAU2qD,iBAAiB1Z,EAAE2Z,KAAI,EAAG3Z,EAAE7f,YAAY,eAAerxB,EAAEqxB,aAAarxB,EAAEI,MAAM,IAAI8wC,EAAE,IAAI,GAAE,SAASlxC,EAAEkxC,GAAG,OAAO,MAAMlxC,EAAE,KAAK,EAAE,EAAEA,GAAG4iB,IAAIsuB,KAAK,GAAE,CAACtuB,IAAI,GAAE9e,QAAQ,GAAEonD,MAAM,SAASlrD,GAAG,OAAOA,EAAE,EAAEA,GAAGxB,OAAO,GAAG2sD,KAAK,SAASnrD,GAAG,IAAIkxC,EAAE,EAAElxC,GAAG,GAAG,IAAIkxC,EAAE1yC,OAAO,KAAK,gBAAgB,OAAO0yC,EAAE,IAAIka,QAAQ,GAAG,GAAE,MAAM,MAAM,SAASprD,EAAEkxC,EAAEx2B,GAAG,GAAG1a,EAAE4T,KAAK,IAAI,IAAImjC,EAAEgQ,EAAE7V,EAAE6V,EAAEA,EAAEG,IAAI,IAAInQ,EAAEgQ,EAAEO,MAAMvQ,EAAEuQ,IAAI,OAAO,MAAMpW,EAAEkW,MAAMlW,EAAEkW,IAAI1sC,EAAE0sC,IAAIlW,EAAE+V,IAAIvsC,EAAEusC,KAAKlQ,EAAEuQ,IAAItnD,EAAEkxC,GAAG,GAAElxC,EAAEkxC,EAAEx2B,IAAI,IAAI,GAAE,UAAU,SAAS,KAAI1Y,KAAKqpD,IAAI,EAAErpD,KAAKkvC,EAAE,KAAKlvC,KAAKmlD,IAAI,KAAK,SAASmE,GAAEtrD,GAAG,IAAIkxC,EAAElxC,EAAEknD,GAAGI,IAAI,OAAOpW,GAAGA,EAAEkW,KAAKlW,EAAEkW,IAAIpnD,GAAG,SAAS,GAAEA,GAAG,IAAIkxC,EAAEx2B,EAAEq8B,EAAE,SAASgQ,EAAEA,GAAG,GAAG7V,IAAIA,EAAElxC,KAAK4T,MAAK,SAAS5T,GAAG0a,EAAE1a,EAAEm8B,SAASn8B,KAAG,SAASA,GAAG+2C,EAAE/2C,KAAI+2C,EAAE,MAAMA,EAAE,IAAIr8B,EAAE,MAAMw2B,EAAE,OAAO,EAAEx2B,EAAEqsC,GAAG,OAAOA,EAAE11B,YAAY,OAAO01B,EAAE8D,KAAI,EAAG9D,EAAE,SAAS,KAAI/kD,KAAK+kD,EAAE,KAAK/kD,KAAKvC,EAAE,KAAK,UAAU,SAASO,GAAG,IAAIkxC,EAAElxC,EAAEsnD,IAAIpW,GAAGA,EAAEqa,KAAKra,EAAEqa,MAAMra,IAAG,IAAKlxC,EAAEunD,MAAMvnD,EAAElD,KAAK,MAAM,IAAG,GAAEkD,KAAK,GAAEC,UAAU,IAAI,GAAGqnD,IAAI,SAAStnD,EAAEkxC,GAAG,IAAIx2B,EAAEw2B,EAAEoW,IAAIvQ,EAAE/0C,KAAK,MAAM+0C,EAAE7F,IAAI6F,EAAE7F,EAAE,IAAI6F,EAAE7F,EAAE3sC,KAAKmW,GAAG,IAAIqsC,EAAEuE,GAAEvU,EAAEyQ,KAAK/nD,GAAE,EAAGH,EAAE,WAAWG,IAAIA,GAAE,EAAGib,EAAE6wC,IAAI,KAAKxE,EAAEA,EAAE1nC,GAAGA,MAAM3E,EAAE6wC,IAAIjsD,EAAE,IAAI+f,EAAE,WAAW,MAAM03B,EAAEsU,IAAI,CAAC,GAAGtU,EAAEhzC,MAAMqjD,IAAI,CAAC,IAAIpnD,EAAE+2C,EAAEhzC,MAAMqjD,IAAIrQ,EAAEyQ,IAAIP,IAAI,GAAG,SAASjnD,EAAEkxC,EAAEx2B,EAAEq8B,GAAG,OAAO7F,IAAIA,EAAEsW,IAAI,KAAKtW,EAAE+V,IAAI/V,EAAE+V,KAAK/V,EAAE+V,IAAIrkC,KAAI,SAASsuB,GAAG,OAAOlxC,EAAEkxC,EAAEx2B,EAAEq8B,MAAK7F,EAAEoW,KAAKpW,EAAEoW,IAAIQ,MAAMptC,IAAIw2B,EAAEkW,KAAKrQ,EAAE1K,aAAa6E,EAAEkW,IAAIlW,EAAEmW,KAAKnW,EAAEoW,IAAIF,KAAI,EAAGlW,EAAEoW,IAAIQ,IAAI/Q,IAAI7F,EAAlL,CAAqLlxC,EAAEA,EAAEsnD,IAAIQ,IAAI9nD,EAAEsnD,IAAIkE,KAAK,IAAIta,EAAE,IAAI6F,EAAEx0B,SAAS,CAAC6kC,IAAIrQ,EAAEoQ,IAAI,OAAOjW,EAAE6F,EAAE7F,EAAEua,OAAOva,EAAEh0C,gBAAgB8pD,GAAE,IAAK9V,EAAEqW,IAAIxQ,EAAEsU,OAAOrE,GAAGjQ,EAAEx0B,SAAS,CAAC6kC,IAAIrQ,EAAEoQ,IAAIpQ,EAAEyQ,IAAIP,IAAI,KAAKjnD,EAAE4T,KAAKtU,EAAEA,IAAI,GAAEW,UAAUiqD,qBAAqB,WAAWloD,KAAKkvC,EAAE,IAAI,GAAEjxC,UAAUojB,OAAO,SAASrjB,EAAEkxC,GAAG,GAAGlvC,KAAKmlD,IAAI,CAAC,GAAGnlD,KAAKwlD,IAAIP,IAAI,CAAC,IAAIvsC,EAAEtc,SAASX,cAAc,OAAOs5C,EAAE/0C,KAAKwlD,IAAIP,IAAI,GAAGK,IAAItlD,KAAKwlD,IAAIP,IAAI,GAAG,SAASjnD,EAAEkxC,EAAEx2B,EAAEq8B,GAAG,OAAO7F,IAAIA,EAAEoW,KAAKpW,EAAEoW,IAAImD,MAAMvZ,EAAEoW,IAAImD,IAAIvD,GAAGpjD,SAAQ,SAAS9D,GAAG,mBAAmBA,EAAEsnD,KAAKtnD,EAAEsnD,SAAQpW,EAAEoW,IAAImD,IAAI,MAAM,OAAOvZ,EAAE,GAAE,GAAGA,IAAIoW,MAAMpW,EAAEoW,IAAIQ,MAAM/Q,IAAI7F,EAAEoW,IAAIQ,IAAIptC,GAAGw2B,EAAEoW,IAAI,MAAMpW,EAAE+V,IAAI/V,EAAE+V,KAAK/V,EAAE+V,IAAIrkC,KAAI,SAASsuB,GAAG,OAAOlxC,EAAEkxC,EAAEx2B,EAAEq8B,OAAM7F,EAA5P,CAA+PlvC,KAAKmlD,IAAIzsC,EAAEq8B,EAAEyU,IAAIzU,EAAE+Q,KAAK9lD,KAAKmlD,IAAI,KAAK,IAAIJ,EAAE7V,EAAEkW,KAAK,EAAE5hC,EAAE,KAAKxlB,EAAE0rD,UAAU,OAAO3E,IAAIA,EAAEQ,IAAI,MAAM,CAAC,EAAE/hC,EAAE,KAAK0rB,EAAEkW,IAAI,KAAKpnD,EAAEpD,UAAUmqD,IAAI,IAAI,GAAE,SAAS/mD,EAAEkxC,EAAEx2B,GAAG,KAAKA,EAAE,KAAKA,EAAE,IAAI1a,EAAEP,EAAEksD,OAAOza,GAAGlxC,EAAEyC,MAAMmpD,cAAc,MAAM5rD,EAAEyC,MAAMmpD,YAAY,KAAK5rD,EAAEP,EAAEqF,MAAM,IAAI4V,EAAE1a,EAAE+mD,EAAErsC,GAAG,CAAC,KAAKA,EAAElc,OAAO,GAAGkc,EAAE+wC,KAAF/wC,GAAU,GAAGA,EAAE,GAAGA,EAAE,GAAG,MAAM1a,EAAE+mD,EAAErsC,EAAEA,EAAE,KAAK,SAAS,GAAE1a,GAAG,OAAOgC,KAAKqnD,gBAAgB,WAAW,OAAOrpD,EAAE+I,SAAS/I,EAAEpD,SAAS,SAAS,GAAEoD,GAAG,IAAIkxC,EAAElvC,KAAK0Y,EAAE1a,EAAEV,EAAE4xC,EAAEgZ,qBAAqB,WAAW,EAAE,KAAKhZ,EAAE7xB,GAAG6xB,EAAE7xB,EAAE,KAAK6xB,EAAE5xC,EAAE,MAAM4xC,EAAE5xC,GAAG4xC,EAAE5xC,IAAIob,GAAGw2B,EAAEgZ,uBAAuBlqD,EAAEwnD,KAAKtW,EAAE7xB,IAAI6xB,EAAE5xC,EAAEob,EAAEw2B,EAAE7xB,EAAE,CAACqqC,SAAS,EAAE7Z,WAAWn1B,EAAEmvC,WAAW,GAAGlsD,YAAY,SAASqC,GAAGgC,KAAK6nD,WAAWtlD,KAAKvE,GAAGkxC,EAAE5xC,EAAE3B,YAAYqC,IAAIqsC,aAAa,SAASrsC,EAAE0a,GAAG1Y,KAAK6nD,WAAWtlD,KAAKvE,GAAGkxC,EAAE5xC,EAAE3B,YAAYqC,IAAIpC,YAAY,SAASoC,GAAGgC,KAAK6nD,WAAWvkD,OAAOtD,KAAK6nD,WAAWhnD,QAAQ7C,KAAK,EAAE,GAAGkxC,EAAE5xC,EAAE1B,YAAYoC,MAAM,EAAE,EAAE,GAAE,CAAC+I,QAAQmoC,EAAEnoC,SAAS/I,EAAEwnD,KAAKtW,EAAE7xB,IAAI6xB,EAAE7xB,GAAG6xB,EAAEgZ,uBAAuB,SAAS2B,GAAE7rD,EAAEkxC,GAAG,OAAO,EAAE,GAAE,CAACsW,IAAIxnD,EAAEV,EAAE4xC,KAAK,GAAEjxC,UAAU,IAAI,GAAGmnD,IAAI,SAASpnD,GAAG,IAAIkxC,EAAElvC,KAAK0Y,EAAE4wC,GAAEpa,EAAEsW,KAAKzQ,EAAE7F,EAAEzxC,EAAEuF,IAAIhF,GAAG,OAAO+2C,EAAE,KAAK,SAASgQ,GAAG,IAAItnD,EAAE,WAAWyxC,EAAEzuC,MAAMmpD,aAAa7U,EAAExyC,KAAKwiD,GAAG,GAAE7V,EAAElxC,EAAE+2C,IAAIgQ,KAAKrsC,EAAEA,EAAEjb,GAAGA,MAAM,GAAEQ,UAAUojB,OAAO,SAASrjB,GAAGgC,KAAK+kD,EAAE,KAAK/kD,KAAKvC,EAAE,IAAIkE,IAAI,IAAIutC,EAAE,EAAElxC,EAAEpD,UAAUoD,EAAE4rD,aAAa,MAAM5rD,EAAE4rD,YAAY,IAAI1a,EAAE6U,UAAU,IAAI,IAAIrrC,EAAEw2B,EAAE1yC,OAAOkc,KAAK1Y,KAAKvC,EAAEwF,IAAIisC,EAAEx2B,GAAG1Y,KAAK+kD,EAAE,CAAC,EAAE,EAAE/kD,KAAK+kD,IAAI,OAAO/mD,EAAEpD,UAAU,GAAEqD,UAAUmpD,mBAAmB,GAAEnpD,UAAU+oD,kBAAkB,WAAW,IAAIhpD,EAAEgC,KAAKA,KAAKvC,EAAEqE,SAAQ,SAASotC,EAAEx2B,GAAG,GAAE1a,EAAE0a,EAAEw2B,OAAM,IAAI,GAAE,oBAAoBtxC,QAAQA,OAAOorD,KAAKprD,OAAOorD,IAAI,kBAAkB,MAAM,GAAE,mOAAmOc,GAAE,SAAS9rD,GAAG,OAAO,oBAAoBJ,QAAQ,iBAAiBA,SAAS,eAAe,eAAeU,KAAKN,IAAI,SAAS,GAAEA,EAAEkxC,EAAEx2B,GAAG,OAAO,MAAMw2B,EAAE+V,MAAM/V,EAAE9B,YAAY,IAAI,EAAEpvC,EAAEkxC,GAAG,mBAAmBx2B,GAAGA,IAAI1a,EAAEA,EAAEsnD,IAAI,KAAK,SAAS,GAAEtnD,EAAEkxC,EAAEx2B,GAAG,OAAO,EAAE1a,EAAEkxC,GAAG,mBAAmBx2B,GAAGA,IAAI1a,EAAEA,EAAEsnD,IAAI,KAAK,6BAA6B,GAAG,CAAC,qBAAqB,4BAA4B,uBAAuBxjD,SAAQ,SAAS9D,GAAG5C,OAAO2uD,eAAe,YAAY/rD,EAAE,CAACgsD,cAAa,EAAGhnD,IAAI,WAAW,OAAOhD,KAAK,UAAUhC,IAAIiF,IAAI,SAASisC,GAAG9zC,OAAO2uD,eAAe/pD,KAAKhC,EAAE,CAACgsD,cAAa,EAAGC,UAAS,EAAGjtD,MAAMkyC,UAAS,IAAI,GAAE,QAAQ,SAASgb,MAAK,SAASC,KAAI,OAAOnqD,KAAKoqD,aAAa,SAAS,KAAI,OAAOpqD,KAAKR,iBAAiB,QAAQ,SAASxB,GAAG,OAAO,KAAIA,EAAE,GAAEA,IAAIA,EAAEqsD,QAAQH,GAAElsD,EAAEssD,qBAAqBH,GAAEnsD,EAAEusD,mBAAmB,GAAEvsD,EAAEwsD,YAAYxsD,GAAG,IAAI,GAAEysD,GAAE,CAACT,cAAa,EAAGhnD,IAAI,WAAW,OAAOhD,KAAK0qD,QAAQC,GAAE,QAAQ,QAAQ,SAAS3sD,GAAG,IAAIkxC,EAAElxC,EAAElD,KAAK4d,EAAE1a,EAAEyC,MAAMs0C,EAAEr8B,EAAE,GAAG,iBAAiBw2B,EAAE,CAAC,IAAI,IAAI6V,KAAKhQ,EAAE,GAAGr8B,EAAE,CAAC,IAAIjb,EAAEib,EAAEqsC,GAAG,UAAUA,GAAG,iBAAiBrsC,GAAG,MAAMjb,IAAI,iBAAiBsnD,GAAG,UAAUrsC,GAAG,MAAMA,EAAE1b,MAAM+nD,EAAE,QAAQ,aAAaA,IAAG,IAAKtnD,EAAEA,EAAE,GAAG,iBAAiBa,KAAKymD,GAAGA,EAAE,aAAa,6BAA6BzmD,KAAKymD,EAAE7V,KAAK4a,GAAEpxC,EAAE5d,MAAMiqD,EAAE,UAAU,6BAA6BzmD,KAAKymD,GAAGA,EAAEA,EAAE3zC,cAAc,GAAE9S,KAAKymD,GAAGA,EAAEA,EAAE/vC,QAAQ,WAAW,OAAO5D,cAAc,OAAO3T,IAAIA,OAAE,GAAQs3C,EAAEgQ,GAAGtnD,GAAG,UAAUyxC,GAAG6F,EAAE6V,UAAUluD,MAAMoB,QAAQi3C,EAAE/3C,SAAS+3C,EAAE/3C,MAAM,EAAE0b,EAAE9d,UAAUkH,SAAQ,SAAS9D,GAAGA,EAAEyC,MAAMoqD,UAAU,GAAG9V,EAAE/3C,MAAM6D,QAAQ7C,EAAEyC,MAAMzD,WAAU,UAAUkyC,GAAG,MAAM6F,EAAE+V,eAAe/V,EAAE/3C,MAAM,EAAE0b,EAAE9d,UAAUkH,SAAQ,SAAS9D,GAAGA,EAAEyC,MAAMoqD,SAAS9V,EAAE6V,UAAU,GAAG7V,EAAE+V,aAAajqD,QAAQ7C,EAAEyC,MAAMzD,OAAO+3C,EAAE+V,cAAc9sD,EAAEyC,MAAMzD,UAASgB,EAAEyC,MAAMs0C,EAAE7F,GAAGx2B,EAAEgyC,OAAOhyC,EAAEiG,YAAY8rC,GAAEM,WAAW,cAAcryC,EAAE,MAAMA,EAAEiG,YAAYo2B,EAAE2V,MAAMhyC,EAAEiG,WAAWvjB,OAAO2uD,eAAehV,EAAE,YAAY0V,KAAIzsD,EAAEirD,SAAS,GAAE0B,IAAGA,GAAE3sD,IAAI,IAAIgtD,GAAE,MAAM,MAAM,SAAShtD,GAAGgtD,IAAGA,GAAEhtD,GAAG,GAAEA,EAAEsnD,KAAK,IAAI2F,GAAE,CAACC,uBAAuB,CAAC3vD,QAAQ,CAAC4vD,YAAY,SAASntD,GAAG,OAAO,GAAE+nD,IAAI/nD,EAAEsnD,KAAK7kD,MAAMzD,UAAUouD,GAAE,SAAS,SAASC,GAAGrtD,GAAG,OAAO,OAAO,KAAKA,GAAG,SAASstD,GAAGttD,GAAG,QAAQA,GAAGA,EAAEirD,WAAW,GAAE,SAASsC,GAAGvtD,GAAG,OAAOstD,GAAGttD,GAAG,QAAQ,KAAKzB,WAAWyB,EAAE,SAASwtD,GAAGxtD,GAAG,QAAQA,EAAEinD,MAAM,EAAE,KAAKjnD,IAAG,GAAI,SAASytD,GAAGztD,GAAG,OAAOA,IAAIA,EAAE0nD,MAAM,IAAI1nD,EAAE0pD,UAAU1pD,IAAI,KAAK,IAAI4H,GAAG,SAAS5H,EAAEkxC,GAAG,OAAOlxC,EAAEkxC,IAAIwc,GAAG,SAAS1tD,EAAEkxC,GAAG,OAAOlxC,EAAEkxC,IAAI7lC,GAAGma,EAAE,UAAeroB,SAAS,EAAEwwD,WAAW,GAAErjD,UAAU,GAAEiF,gBAAgB,GAAEvS,OAAO,GAAE4wD,oBAAoB,GAAEC,QAAQ,GAAEvwD,YAAY,GAAEwwB,WAAW,GAAEggC,cAAc,GAAE1vC,QAAQ,SAAShS,SAAS,GAAEiX,OAAO,GAAE0qC,QAAQ,GAAEC,uBAAuBR,GAAG3vD,aAAaguD,GAAEpuD,cAAc,EAAEkwB,cAAc,EAAEsgC,cAAcZ,GAAG5gD,aAAa8gD,GAAGW,UAAU,EAAE1hD,SAASgZ,EAAE2oC,eAAeb,GAAGc,YAAYX,GAAG3qC,UAAU,EAAEurC,cAAc1D,GAAE2D,KAAK,GAAEnsD,WAAW,GAAEosD,UAAUb,GAAGc,wBAAwB5mD,GAAG6mD,WAAWjpC,EAAEkpC,SAAS,GAAEC,aAAa,GAAEC,KAAK,GAAEC,mDAAmD5B,iCCSv0P,IAAI6B,EAAuB,EAAQ,KAEnC,SAASC,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3Cv/C,EAAOC,QAAU,WACf,SAASy/C,EAAKzsD,EAAO0sD,EAAUC,EAAe7xC,EAAU8xC,EAAcC,GACpE,GAAIA,IAAWR,EAAf,CAIA,IAAIxnB,EAAM,IAAIxmC,MACZ,mLAKF,MADAwmC,EAAIlnC,KAAO,sBACLknC,GAGR,SAASioB,IACP,OAAOL,EAFTA,EAAKvtC,WAAautC,EAMlB,IAAIM,EAAiB,CACnBxsC,MAAOksC,EACPrtC,KAAMqtC,EACN/mC,KAAM+mC,EACN92C,OAAQ82C,EACR11B,OAAQ01B,EACRxtC,OAAQwtC,EACRnO,OAAQmO,EAERttC,IAAKstC,EACL9yB,QAASmzB,EACTpxD,QAAS+wD,EACTO,YAAaP,EACbQ,WAAYH,EACZtuD,KAAMiuD,EACNS,SAAUJ,EACVK,MAAOL,EACPxsC,UAAWwsC,EACXr+B,MAAOq+B,EACPM,MAAON,EAEPO,eAAgBd,EAChBC,kBAAmBF,GAKrB,OAFAS,EAAe/tC,UAAY+tC,EAEpBA,mBC7CPhgD,EAAOC,QAAU,EAAQ,KAAR,yBCNnBD,EAAOC,QAFoB,0GCT3B,qpVCOA,SAASs5C,IAEP,IAAIhlD,EAAQ/B,KAAK7B,YAAY2oD,yBAAyB9mD,KAAKS,MAAOT,KAAK+B,OACnEA,MAAAA,GACF/B,KAAKugB,SAASxe,GAIlB,SAASklD,EAA0B8G,GAQjC/tD,KAAKugB,SALL,SAAiBytC,GACf,IAAIjsD,EAAQ/B,KAAK7B,YAAY2oD,yBAAyBiH,EAAWC,GACjE,OAAOjsD,MAAAA,EAAwCA,EAAQ,MAGnCpD,KAAKqB,OAG7B,SAASmnD,EAAoB4G,EAAWhhD,GACtC,IACE,IAAIijB,EAAYhwB,KAAKS,MACjButD,EAAYhuD,KAAK+B,MACrB/B,KAAKS,MAAQstD,EACb/tD,KAAK+B,MAAQgL,EACb/M,KAAKiuD,6BAA8B,EACnCjuD,KAAKkuD,wBAA0BluD,KAAKsnD,wBAClCt3B,EACAg+B,GAEF,QACAhuD,KAAKS,MAAQuvB,EACbhwB,KAAK+B,MAAQisD,GAUjB,SAASG,EAASrtC,GAChB,IAAI7iB,EAAY6iB,EAAU7iB,UAE1B,IAAKA,IAAcA,EAAU2qD,iBAC3B,MAAM,IAAI9pD,MAAM,sCAGlB,GACgD,mBAAvCgiB,EAAUgmC,0BAC4B,mBAAtC7oD,EAAUqpD,wBAEjB,OAAOxmC,EAMT,IAAIstC,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,mBAAjCrwD,EAAU8oD,mBACnBqH,EAAqB,qBACmC,mBAAxCnwD,EAAUswD,4BAC1BH,EAAqB,6BAE4B,mBAAxCnwD,EAAUgpD,0BACnBoH,EAA4B,4BACmC,mBAA/CpwD,EAAUuwD,mCAC1BH,EAA4B,oCAEe,mBAAlCpwD,EAAUkpD,oBACnBmH,EAAsB,sBACmC,mBAAzCrwD,EAAUwwD,6BAC1BH,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAIlB,EAAgBtsC,EAAUuO,aAAevO,EAAU1iB,KACnDswD,EAC4C,mBAAvC5tC,EAAUgmC,yBACb,6BACA,4BAEN,MAAMhoD,MACJ,2FACEsuD,EACA,SACAsB,EACA,uDACwB,OAAvBN,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IATjE,wIA0BJ,GARkD,mBAAvCxtC,EAAUgmC,2BACnB7oD,EAAU8oD,mBAAqBA,EAC/B9oD,EAAUgpD,0BAA4BA,GAMS,mBAAtChpD,EAAUqpD,wBAAwC,CAC3D,GAA4C,mBAAjCrpD,EAAUmpD,mBACnB,MAAM,IAAItoD,MACR,qHAIJb,EAAUkpD,oBAAsBA,EAEhC,IAAIC,EAAqBnpD,EAAUmpD,mBAEnCnpD,EAAUmpD,mBAAqB,SAC7Bp3B,EACAg+B,EACAW,GAUA,IAAIC,EAAW5uD,KAAKiuD,4BAChBjuD,KAAKkuD,wBACLS,EAEJvH,EAAmBlqD,KAAK8C,KAAMgwB,EAAWg+B,EAAWY,IAIxD,OAAO9tC,iCA7GTimC,EAAmB8H,8BAA+B,EAClD5H,EAA0B4H,8BAA+B,EACzD1H,EAAoB0H,8BAA+B,+BC7CnDzzD,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAQkhB,kBAAoBlhB,EAAQihB,qBAAkBxrB,EAEtD,IAAIzD,EAAWrE,OAAOsE,QAAU,SAAUC,GAAU,IAAK,IAAIrC,EAAI,EAAGA,EAAIf,UAAUC,OAAQc,IAAK,CAAE,IAAIsC,EAASrD,UAAUe,GAAI,IAAK,IAAIuC,KAAOD,EAAcxE,OAAO6C,UAAU6B,eAAe5C,KAAK0C,EAAQC,KAAQF,EAAOE,GAAOD,EAAOC,IAAY,OAAOF,GAEnPmvD,EAAe,WAAc,SAASC,EAAiBpvD,EAAQc,GAAS,IAAK,IAAInD,EAAI,EAAGA,EAAImD,EAAMjE,OAAQc,IAAK,CAAE,IAAI0xD,EAAavuD,EAAMnD,GAAI0xD,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWhF,cAAe,EAAU,UAAWgF,IAAYA,EAAW/E,UAAW,GAAM7uD,OAAO2uD,eAAepqD,EAAQqvD,EAAWnvD,IAAKmvD,IAAiB,OAAO,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYH,EAAiBE,EAAYhxD,UAAWixD,GAAiBC,GAAaJ,EAAiBE,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAS,EAAQ,MAEjBC,EAAUC,EAAuBF,GAIjCG,EAAaD,EAFD,EAAQ,OAMpBE,EAAcF,EAFD,EAAQ,OAMrBG,EAAgBH,EAFD,EAAQ,OAMvBI,EAQJ,SAAiCtyC,GAAO,GAAIA,GAAOA,EAAIuyC,WAAc,OAAOvyC,EAAc,IAAIwyC,EAAS,GAAI,GAAW,MAAPxyC,EAAe,IAAK,IAAIvd,KAAOud,EAAWhiB,OAAO6C,UAAU6B,eAAe5C,KAAKkgB,EAAKvd,KAAM+vD,EAAO/vD,GAAOud,EAAIvd,IAAgC,OAAtB+vD,EAAOz1B,QAAU/c,EAAYwyC,EAR/OC,CAFC,EAAQ,OAIxBC,EAAmB,EAAQ,MAE3BC,EAAoBT,EAAuBQ,GAE3CE,EAAyB,EAAQ,MAIrC,SAASV,EAAuBlyC,GAAO,OAAOA,GAAOA,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GAEvF,SAAS6yC,EAAgB99C,EAAU88C,GAAe,KAAM98C,aAAoB88C,GAAgB,MAAM,IAAIxwD,UAAU,qCAEhH,SAASyxD,EAA2BC,EAAMjzD,GAAQ,IAAKizD,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOlzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BizD,EAAPjzD,EAIlO,IAAIwxB,EAAkBjhB,EAAQihB,gBAAkB,mBAC5CC,EAAoBlhB,EAAQkhB,kBAAoB,yBAEhD0hC,EAAYP,EAAiBziD,gBAAiDnK,IAApCqsD,EAAWp1B,QAAQt+B,aAE7Dy0D,EAAoB,SAA2BlyD,GACjD,OAAOhC,SAASX,cAAc2C,IAG5BmyD,EAAkB,WACpB,OAAOF,EAAYd,EAAWp1B,QAAQt+B,aAAe0zD,EAAWp1B,QAAQq2B,qCAG1E,SAASC,EAAiBC,GACxB,OAAOA,IAGT,IAAIjjC,EAAQ,SAAUkjC,GAGpB,SAASljC,IACP,IAAI/yB,EAEAwM,EAAO0pD,EAEXX,EAAgBjwD,KAAMytB,GAEtB,IAAK,IAAInxB,EAAOC,UAAUC,OAAQC,EAAOC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC3EF,EAAKE,GAAQJ,UAAUI,GAGzB,OAAeuK,EAAS0pD,EAAQV,EAA2BlwD,MAAOtF,EAAO+yB,EAAMojC,WAAaz1D,OAAO+hB,eAAesQ,IAAQvwB,KAAK6C,MAAMrF,EAAM,CAACsF,MAAM0U,OAAOjY,KAAiBm0D,EAAME,aAAe,YAC5LT,GAAad,EAAWp1B,QAAQ6xB,uBAAuB4E,EAAM3xD,MAC9D,IAAI+qC,EAASymB,EAAiBG,EAAMnwD,MAAMiwD,gBACtC1mB,GAAUA,EAAO7hB,SAASyoC,EAAM3xD,MAClC+qC,EAAOpuC,YAAYg1D,EAAM3xD,MAGzB6d,QAAQC,KAAK,mJAEd6zC,EAAMG,UAAY,SAAUj1D,GAC7B80D,EAAMI,OAASl1D,GACd80D,EAAMK,aAAe,SAAUxwD,GAChC,IACIuwD,EADeT,GACN10D,CAAa+0D,EAAOvB,EAAQl1B,QAAQ1+B,cAAcg0D,EAAct1B,QAAS16B,EAAS,CAAEyxD,cAAezjC,EAAMyjC,eAAiBzwD,IAASmwD,EAAM3xD,MACtJ2xD,EAAMG,UAAUC,IACPd,EAA2BU,EAAnC1pD,GAmGL,OAnJF,SAAmBiqD,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3yD,UAAU,kEAAoE2yD,GAAeD,EAASlzD,UAAY7C,OAAOC,OAAO+1D,GAAcA,EAAWnzD,UAAW,CAAEE,YAAa,CAAEnB,MAAOm0D,EAAUpG,YAAY,EAAOd,UAAU,EAAMD,cAAc,KAAeoH,IAAYh2D,OAAOi2D,eAAiBj2D,OAAOi2D,eAAeF,EAAUC,GAAcD,EAASN,UAAYO,GAoB/dE,CAAU7jC,EAAOkjC,GA+BjB7B,EAAarhC,EAAO,CAAC,CACnB5tB,IAAK,oBACL7C,MAAO,WACA8yD,EAAiBziD,YAEjBgjD,IACHrwD,KAAKf,KAAOqxD,EAAkB,QAEhCtwD,KAAKf,KAAK0f,UAAY3e,KAAKS,MAAMiuB,gBAEpB+hC,EAAiBzwD,KAAKS,MAAMiwD,gBAClC/0D,YAAYqE,KAAKf,OAEvBoxD,GAAarwD,KAAKixD,aAAajxD,KAAKS,UAEtC,CACDZ,IAAK,0BACL7C,MAAO,SAAiCgzB,GAGtC,MAAO,CAAEuhC,WAFQd,EAAiBzgC,EAAU0gC,gBAEXc,WADhBf,EAAiBzwD,KAAKS,MAAMiwD,mBAG9C,CACD7wD,IAAK,qBACL7C,MAAO,SAA4BgzB,EAAWvF,EAAGmkC,GAC/C,GAAKkB,EAAiBziD,UAAtB,CACA,IAAIokD,EAASzxD,KAAKS,MACdyd,EAASuzC,EAAOvzC,OAChBwQ,EAAkB+iC,EAAO/iC,gBAGzBsB,EAAUtB,kBAAoBA,IAChC1uB,KAAKf,KAAK0f,UAAY+P,GAGxB,IAAI6iC,EAAa3C,EAAS2C,WACtBC,EAAa5C,EAAS4C,WAEtBA,IAAeD,IACjBA,EAAW31D,YAAYoE,KAAKf,MAC5BuyD,EAAW71D,YAAYqE,KAAKf,QAIzB+wB,EAAU9R,QAAWA,KAEzBmyC,GAAarwD,KAAKixD,aAAajxD,KAAKS,UAEtC,CACDZ,IAAK,uBACL7C,MAAO,WACL,GAAK8yD,EAAiBziD,WAAcrN,KAAKf,MAASe,KAAKgxD,OAAvD,CAEA,IAAIjvD,EAAQ/B,KAAKgxD,OAAOjvD,MACpBuY,EAAMN,KAAKM,MACXo3C,EAAW3vD,EAAMmc,QAAUle,KAAKS,MAAMkxD,iBAAmB5vD,EAAM2vD,UAAYp3C,EAAMta,KAAKS,MAAMkxD,gBAE5FD,GACG3vD,EAAM6vD,aACT5xD,KAAKgxD,OAAOa,mBAGd3rD,WAAWlG,KAAK8wD,aAAcY,EAAWp3C,IAEzCta,KAAK8wD,kBAGR,CACDjxD,IAAK,SACL7C,MAAO,WACL,OAAK8yD,EAAiBziD,WAAcgjD,IAI/BrwD,KAAKf,MAAQoxD,IAChBrwD,KAAKf,KAAOqxD,EAAkB,QAGbC,GACZ10D,CAAawzD,EAAQl1B,QAAQ1+B,cAAcg0D,EAAct1B,QAAS16B,EAAS,CAChF3D,IAAKkE,KAAK+wD,UACVG,cAAezjC,EAAMyjC,eACpBlxD,KAAKS,QAAST,KAAKf,OAXb,QAaT,CAAC,CACHY,IAAK,gBACL7C,MAAO,SAAuBb,GAC5BuzD,EAAa3rD,WAAW5H,OASrBsxB,EAhIG,CAiIV2hC,EAAOtuC,WAET2M,EAAMjO,UAAY,CAChBtB,OAAQsxC,EAAYr1B,QAAQta,KAAKF,WACjCnf,MAAOgvD,EAAYr1B,QAAQjL,MAAM,CAC/BnR,QAASyxC,EAAYr1B,QAAQ3C,OAC7Bs6B,QAAStC,EAAYr1B,QAAQ3C,SAE/B9I,gBAAiB8gC,EAAYr1B,QAAQza,OACrCiP,kBAAmB6gC,EAAYr1B,QAAQza,OACvCqyC,kBAAmBvC,EAAYr1B,QAAQza,OACvCf,UAAW6wC,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQza,OAAQ8vC,EAAYr1B,QAAQjL,MAAM,CAC9Fw2B,KAAM8J,EAAYr1B,QAAQza,OAAOC,WACjCqyC,UAAWxC,EAAYr1B,QAAQza,OAAOC,WACtCiyC,YAAapC,EAAYr1B,QAAQza,OAAOC,eAE1CsO,iBAAkBuhC,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQza,OAAQ8vC,EAAYr1B,QAAQjL,MAAM,CACrGw2B,KAAM8J,EAAYr1B,QAAQza,OAAOC,WACjCqyC,UAAWxC,EAAYr1B,QAAQza,OAAOC,WACtCiyC,YAAapC,EAAYr1B,QAAQza,OAAOC,eAE1C0O,WAAYmhC,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQuzB,WAAWqC,EAAkB51B,SAAUq1B,EAAYr1B,QAAQuzB,WAAWoC,EAAiBmC,oBAAqBzC,EAAYr1B,QAAQuzB,WAAWoC,EAAiBoC,cAAe1C,EAAYr1B,QAAQC,QAAQo1B,EAAYr1B,QAAQuzB,WAAWqC,EAAkB51B,YACvTvL,YAAa4gC,EAAYr1B,QAAQhU,KACjC0D,eAAgB2lC,EAAYr1B,QAAQhU,KACpCwrC,eAAgBnC,EAAYr1B,QAAQ/jB,OACpC+7C,YAAa3C,EAAYr1B,QAAQta,KACjCuyC,uBAAwB5C,EAAYr1B,QAAQta,KAC5CwyC,0BAA2B7C,EAAYr1B,QAAQta,KAC/CyyC,4BAA6B9C,EAAYr1B,QAAQta,KACjD0yC,cAAe/C,EAAYr1B,QAAQta,KACnC6wC,eAAgBlB,EAAYr1B,QAAQhU,KACpC0I,KAAM2gC,EAAYr1B,QAAQ3C,OAC1BjpB,KAAMihD,EAAYr1B,QAAQ3C,OAC1BpsB,KAAMokD,EAAYr1B,QAAQza,OAC1BsO,aAAcwhC,EAAYr1B,QAAQza,OAClC8yC,iBAAkBhD,EAAYr1B,QAAQta,KACtC4yC,WAAYjD,EAAYr1B,QAAQhU,KAChCsI,WAAY+gC,EAAYr1B,QAAQhU,KAChCnqB,GAAIwzD,EAAYr1B,QAAQza,OACxBgzC,eAAgBlD,EAAYr1B,QAAQhU,KACpCwsC,eAAgBnD,EAAYr1B,QAAQhU,MAEtCsH,EAAM3N,aAAe,CACnB5B,QAAQ,EACRwQ,gBAAiBA,EACjBC,kBAAmBA,EACnBvjB,KAAM,SACN+mD,aAAa,EACbR,eAAgB,EAChBS,wBAAwB,EACxBI,kBAAkB,EAClBH,2BAA2B,EAC3BC,6BAA6B,EAC7BC,eAAe,EACf7B,eAAgB,WACd,OAAOt0D,SAASV,MAElBg3D,eAAgB,SAAwBjyD,EAAOmyD,GAC7C,OAAOvD,EAAQl1B,QAAQ1+B,cACrB,MACAgF,EACAmyD,IAGJD,eAAgB,SAAwBlyD,EAAO7F,GAC7C,OAAOy0D,EAAQl1B,QAAQ1+B,cACrB,MACAgF,EACA7F,KAIN6yB,EAAMyjC,cAAgB,CACpBY,QAAS,CACPzwD,SAAU,QACVgL,IAAK,EACLE,KAAM,EACND,MAAO,EACPE,OAAQ,EACRqmD,gBAAiB,6BAEnB90C,QAAS,CACP1c,SAAU,WACVgL,IAAK,OACLE,KAAM,OACND,MAAO,OACPE,OAAQ,OACRzL,OAAQ,iBACR2rB,WAAY,OACZvrB,SAAU,OACV2xD,wBAAyB,QACzBC,aAAc,MACdC,QAAS,OACT5xD,QAAS,UAKb,EAAI4uD,EAAuB7B,UAAU1gC,GAQrChgB,EAAA,QAAkBggB,+BCzSlBryB,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAGT,IAAIyC,EAAWrE,OAAOsE,QAAU,SAAUC,GAAU,IAAK,IAAIrC,EAAI,EAAGA,EAAIf,UAAUC,OAAQc,IAAK,CAAE,IAAIsC,EAASrD,UAAUe,GAAI,IAAK,IAAIuC,KAAOD,EAAcxE,OAAO6C,UAAU6B,eAAe5C,KAAK0C,EAAQC,KAAQF,EAAOE,GAAOD,EAAOC,IAAY,OAAOF,GAEnPszD,EAA4B,mBAAXr1D,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUuf,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAXxf,QAAyBwf,EAAIjf,cAAgBP,QAAUwf,IAAQxf,OAAOK,UAAY,gBAAkBmf,GAElQ0xC,EAAe,WAAc,SAASC,EAAiBpvD,EAAQc,GAAS,IAAK,IAAInD,EAAI,EAAGA,EAAImD,EAAMjE,OAAQc,IAAK,CAAE,IAAI0xD,EAAavuD,EAAMnD,GAAI0xD,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWhF,cAAe,EAAU,UAAWgF,IAAYA,EAAW/E,UAAW,GAAM7uD,OAAO2uD,eAAepqD,EAAQqvD,EAAWnvD,IAAKmvD,IAAiB,OAAO,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYH,EAAiBE,EAAYhxD,UAAWixD,GAAiBC,GAAaJ,EAAiBE,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAS,EAAQ,MAIjBI,EAAcF,EAFD,EAAQ,OAMrB4D,EAAerD,EAFC,EAAQ,OAMxBsD,EAAa7D,EAFD,EAAQ,OAMpBI,EAAeG,EAFC,EAAQ,OAMxBznC,EAAYynC,EAFC,EAAQ,OAIrBC,EAAmB,EAAQ,MAE3BC,EAAoBT,EAAuBQ,GAI3CsD,EAAwB9D,EAFD,EAAQ,OAMnC,SAASO,EAAwBzyC,GAAO,GAAIA,GAAOA,EAAIuyC,WAAc,OAAOvyC,EAAc,IAAIwyC,EAAS,GAAI,GAAW,MAAPxyC,EAAe,IAAK,IAAIvd,KAAOud,EAAWhiB,OAAO6C,UAAU6B,eAAe5C,KAAKkgB,EAAKvd,KAAM+vD,EAAO/vD,GAAOud,EAAIvd,IAAgC,OAAtB+vD,EAAOz1B,QAAU/c,EAAYwyC,EAElQ,SAASN,EAAuBlyC,GAAO,OAAOA,GAAOA,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GAJvF,EAAQ,MAaR,IAAIi2C,EAAc,CAChBvB,QAAS,sBACT/zC,QAAS,uBAMPu1C,EAAsB,EAEtBC,EAAc,SAAU5C,GAG1B,SAAS4C,EAAY9yD,IApBvB,SAAyB0R,EAAU88C,GAAe,KAAM98C,aAAoB88C,GAAgB,MAAM,IAAIxwD,UAAU,qCAqB5GwxD,CAAgBjwD,KAAMuzD,GAEtB,IAAI3C,EArBR,SAAoCT,EAAMjzD,GAAQ,IAAKizD,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOlzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BizD,EAAPjzD,EAqBlNgzD,CAA2BlwD,MAAOuzD,EAAY1C,WAAaz1D,OAAO+hB,eAAeo2C,IAAcr2D,KAAK8C,KAAMS,IAkMtH,OAhMAmwD,EAAM4C,cAAgB,SAAU1B,GAC9BlB,EAAMkB,QAAUA,EAChBlB,EAAMnwD,MAAMgyD,YAAc7B,EAAMnwD,MAAMgyD,WAAWX,IAGnDlB,EAAM6C,cAAgB,SAAU11C,GAC9B6yC,EAAM7yC,QAAUA,EAChB6yC,EAAMnwD,MAAMguB,YAAcmiC,EAAMnwD,MAAMguB,WAAW1Q,IAGnD6yC,EAAM8C,WAAa,WACjB,IAAIC,EAAc/C,EAAMnwD,MACpB4tB,EAAaslC,EAAYtlC,WACzB8jC,EAAcwB,EAAYxB,YAC1BJ,EAAoB4B,EAAY5B,kBAChCpjC,EAAoBglC,EAAYhlC,kBAIpCA,GAAqBvG,EAAU/N,OAAOje,SAASV,KAAMizB,GAErDojC,GAAqB3pC,EAAU/N,OAAOje,SAASw3D,qBAAqB,QAAQ,GAAI7B,GAG5EI,GAAemB,EAAsB,GAGX,KAF5BA,GAAuB,IAGrB5D,EAAamE,KAAKxlC,GAIlBuiC,EAAMnwD,MAAM2xD,yBACVxB,EAAMnwD,MAAM6xD,6BACdY,EAAaY,YAAYlD,EAAMnwD,MAAM8xD,eACrCW,EAAaa,uBAEbb,EAAac,mBAIbpD,EAAMnwD,MAAMwzD,cACdrD,EAAMnwD,MAAMwzD,eAGdb,EAAsBj5B,QAAQ+5B,WAAWtD,IAG3CA,EAAM7gD,KAAO,WACX6gD,EAAMuD,aACFvD,EAAM7uD,MAAMiwD,WAAapB,EAAM7uD,MAAM6vD,aACvC3rD,aAAa2qD,EAAMwD,YACnBxD,EAAMrwC,SAAS,CAAEqxC,aAAa,MAE1BhB,EAAMnwD,MAAM2xD,yBACdc,EAAamB,iBAAiBzD,EAAM3xD,MACpCi0D,EAAaoB,qBAGf1D,EAAMrwC,SAAS,CAAErC,QAAQ,IAAQ,WAC/B0yC,EAAM2D,mBAAqB5xD,uBAAsB,WAC/CiuD,EAAMrwC,SAAS,CAAEyxC,WAAW,IAExBpB,EAAMnwD,MAAMyd,QAAU0yC,EAAMnwD,MAAMmuB,aACpCgiC,EAAMnwD,MAAMmuB,YAAY,CACtB4lC,UAAW5D,EAAMkB,QACjBc,UAAWhC,EAAM7yC,kBAQ7B6yC,EAAM6D,MAAQ,WACR7D,EAAMnwD,MAAMkxD,eAAiB,EAC/Bf,EAAMiB,mBAENjB,EAAM8D,uBAIV9D,EAAM+D,aAAe,WACnB,OAAO/D,EAAM7yC,UAAY6yC,EAAMgE,mBAAqBhE,EAAM7yC,QAAQ0I,MAAM,CAAE8rC,eAAe,KAG3F3B,EAAMiB,iBAAmB,WACvB,IAAIH,EAAW13C,KAAKM,MAAQs2C,EAAMnwD,MAAMkxD,eACxCf,EAAMrwC,SAAS,CAAEqxC,aAAa,EAAMF,SAAUA,IAAY,WACxDd,EAAMwD,WAAaluD,WAAW0qD,EAAM8D,oBAAqB9D,EAAM7uD,MAAM2vD,SAAW13C,KAAKM,WAIzFs2C,EAAM8D,oBAAsB,WAC1B9D,EAAMrwC,SAAS,CACbqxC,aAAa,EACb1zC,QAAQ,EACR8zC,WAAW,EACXN,SAAU,MACTd,EAAM8C,aAGX9C,EAAMiE,cAAgB,SAAUt1D,GAnHtB,IAoHJA,EAAM43B,UACR,EAAIg8B,EAAWh5B,SAASy2B,EAAM7yC,QAASxe,GAGrCqxD,EAAMnwD,MAAM+xD,kBAvHR,KAuH4BjzD,EAAM43B,UACxC53B,EAAMytB,kBACN4jC,EAAMkE,aAAav1D,KAIvBqxD,EAAMmE,qBAAuB,SAAUx1D,GACX,OAAtBqxD,EAAMoE,cACRpE,EAAMoE,aAAc,GAGlBpE,EAAMoE,aAAepE,EAAMnwD,MAAM4xD,4BAC/BzB,EAAMqE,oBACRrE,EAAMkE,aAAav1D,GAEnBqxD,EAAM+D,gBAGV/D,EAAMoE,YAAc,MAGtBpE,EAAMsE,uBAAyB,WAC7BtE,EAAMoE,aAAc,GAGtBpE,EAAMuE,yBAA2B,SAAU51D,GACpCqxD,EAAMnwD,MAAM4xD,2BAA6B9yD,EAAMI,QAAUixD,EAAMkB,SAClEvyD,EAAMgnB,kBAIVqqC,EAAMwE,qBAAuB,WAC3BxE,EAAMoE,aAAc,GAGtBpE,EAAMyE,yBAA2B,WAC/BzE,EAAMoE,aAAc,GAGtBpE,EAAMkE,aAAe,SAAUv1D,GAC7B,OAAOqxD,EAAMqE,qBAAuBrE,EAAMnwD,MAAMopB,eAAetqB,IAGjEqxD,EAAMqE,kBAAoB,WACxB,OAAOrE,EAAMnwD,MAAMopB,gBAGrB+mC,EAAM0E,eAAiB,WACrB,OAAQ1E,EAAM7uD,MAAMmc,SAAW0yC,EAAM7uD,MAAM6vD,aAG7ChB,EAAMgE,gBAAkB,WACtB,OAAOx4D,SAAS8wB,gBAAkB0jC,EAAM7yC,SAAW6yC,EAAM7yC,QAAQoK,SAAS/rB,SAAS8wB,gBAGrF0jC,EAAM2E,eAAiB,SAAUn+B,EAAOo+B,GACtC,IAAI3vB,EAAyF,iBAArD,IAAf2vB,EAA6B,YAAcvC,EAAQuC,IAA4BA,EAAa,CACnH9P,KAAM2N,EAAYj8B,GAClB46B,UAAWqB,EAAYj8B,GAAS,eAChCw6B,YAAayB,EAAYj8B,GAAS,kBAEhCzY,EAAYknB,EAAW6f,KAO3B,OANIkL,EAAM7uD,MAAMiwD,YACdrzC,EAAYA,EAAY,IAAMknB,EAAWmsB,WAEvCpB,EAAM7uD,MAAM6vD,cACdjzC,EAAYA,EAAY,IAAMknB,EAAW+rB,aAEd,iBAAf4D,GAA2BA,EAAa72C,EAAY,IAAM62C,EAAa72C,GAGvFiyC,EAAM6E,qBAAuB,SAAU5sB,EAAQljB,GAC7C,OAAOvqB,OAAOwF,KAAK+kB,GAAOmM,QAAO,SAAUwH,EAAKl7B,GAE9C,OADAk7B,EAAIuP,EAAS,IAAMzqC,GAAQunB,EAAMvnB,GAC1Bk7B,IACN,KAGLs3B,EAAM7uD,MAAQ,CACZiwD,WAAW,EACXJ,aAAa,GAGfhB,EAAMoE,YAAc,KACpBpE,EAAM8E,yBAA2B,KAC1B9E,EAmHT,OAxUF,SAAmBO,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3yD,UAAU,kEAAoE2yD,GAAeD,EAASlzD,UAAY7C,OAAOC,OAAO+1D,GAAcA,EAAWnzD,UAAW,CAAEE,YAAa,CAAEnB,MAAOm0D,EAAUpG,YAAY,EAAOd,UAAU,EAAMD,cAAc,KAAeoH,IAAYh2D,OAAOi2D,eAAiBj2D,OAAOi2D,eAAeF,EAAUC,GAAcD,EAASN,UAAYO,GAc/dE,CAAUiC,EAAa5C,GA0MvB7B,EAAayE,EAAa,CAAC,CACzB1zD,IAAK,oBACL7C,MAAO,WACDgD,KAAKS,MAAMyd,QACble,KAAK+P,SAGR,CACDlQ,IAAK,qBACL7C,MAAO,SAA4BgzB,EAAWg+B,GAYxChuD,KAAKS,MAAMyd,SAAW8R,EAAU9R,OAClCle,KAAK+P,QACK/P,KAAKS,MAAMyd,QAAU8R,EAAU9R,QACzCle,KAAKy0D,QAIHz0D,KAAKS,MAAM2xD,wBAA0BpyD,KAAK+B,MAAMmc,SAAW8vC,EAAU9vC,QACvEle,KAAK20D,iBAGR,CACD90D,IAAK,uBACL7C,MAAO,WACDgD,KAAK+B,MAAMmc,QACble,KAAK0zD,aAEPztD,aAAajG,KAAKo0D,YAClB7wD,qBAAqBvD,KAAKu0D,sBAE3B,CACD10D,IAAK,aACL7C,MAAO,WACL,IAAIy0D,EAASzxD,KAAKS,MACd4tB,EAAaojC,EAAOpjC,WACpB8jC,EAAcV,EAAOU,YACrBJ,EAAoBN,EAAOM,kBAC3BpjC,EAAoB8iC,EAAO9iC,kBAI/BA,GAAqBvG,EAAU0kB,IAAI1wC,SAASV,KAAMizB,GAElDojC,GAAqB3pC,EAAU0kB,IAAI1wC,SAASw3D,qBAAqB,QAAQ,GAAI7B,GAEzEI,IACFmB,GAAuB,EACvB5D,EAAaiG,KAAKtnC,IAGpB+kC,EAAsBj5B,QAAQy7B,SAAS51D,QAKxC,CACDH,IAAK,SACL7C,MAAO,WACL,IAAI64D,EAAU71D,KAAKS,MACfzE,EAAK65D,EAAQ75D,GACb2iB,EAAYk3C,EAAQl3C,UACpBsP,EAAmB4nC,EAAQ5nC,iBAC3BijC,EAAgB2E,EAAQ3E,cACxBt2D,EAAWi7D,EAAQj7D,SAEnBk7D,EAAgBn3C,EAAY,GAAKuyC,EAAcnzC,QAC/Cg4C,EAAgB9nC,EAAmB,GAAKijC,EAAcY,QAE1D,GAAI9xD,KAAKs1D,iBACP,OAAO,KAGT,IAAIU,EAAe,CACjBl6D,IAAKkE,KAAKwzD,cACV70C,UAAW3e,KAAKu1D,eAAe,UAAWtnC,GAC1CztB,MAAOf,EAAS,GAAIs2D,EAAe/1D,KAAKS,MAAMD,MAAMsxD,SACpD5yC,QAASlf,KAAK+0D,qBACdptD,YAAa3H,KAAKm1D,0BAGhBc,EAAex2D,EAAS,CAC1BzD,GAAIA,EACJF,IAAKkE,KAAKyzD,cACVjzD,MAAOf,EAAS,GAAIq2D,EAAe91D,KAAKS,MAAMD,MAAMud,SACpDY,UAAW3e,KAAKu1D,eAAe,UAAW52C,GAC1CM,SAAU,KACVnX,UAAW9H,KAAK60D,cAChBltD,YAAa3H,KAAKq1D,yBAClBa,UAAWl2D,KAAKk1D,uBAChBh2C,QAASlf,KAAKo1D,qBACdhqD,KAAMpL,KAAKS,MAAM2K,KACjB,aAAcpL,KAAKS,MAAMutB,cACxBhuB,KAAKy1D,qBAAqB,OAAQh2D,EAAS,CAAE02D,OAAO,GAAQn2D,KAAKS,MAAMouB,OAAQ7uB,KAAKy1D,qBAAqB,OAAQz1D,KAAKS,MAAM8N,MAAQ,IAAK,CAC1I,cAAevO,KAAKS,MAAM21D,SAGxBzD,EAAiB3yD,KAAKS,MAAMkyD,eAAesD,EAAcr7D,GAC7D,OAAOoF,KAAKS,MAAMiyD,eAAesD,EAAcrD,OAI5CY,EA3TS,CA4ThBnE,EAAOtuC,WAETyyC,EAAYzzC,aAAe,CACzBtf,MAAO,CACLsxD,QAAS,GACT/zC,QAAS,IAEXmzC,cAAe,IAEjBqC,EAAY/zC,UAAY,CACtBtB,OAAQsxC,EAAYr1B,QAAQta,KAAKF,WACjCuxC,cAAe1B,EAAYr1B,QAAQjL,MAAM,CACvCnR,QAASyxC,EAAYr1B,QAAQ3C,OAC7Bs6B,QAAStC,EAAYr1B,QAAQ3C,SAE/Bh3B,MAAOgvD,EAAYr1B,QAAQjL,MAAM,CAC/BnR,QAASyxC,EAAYr1B,QAAQ3C,OAC7Bs6B,QAAStC,EAAYr1B,QAAQ3C,SAE/B7Y,UAAW6wC,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQza,OAAQ8vC,EAAYr1B,QAAQ3C,SAC1FvJ,iBAAkBuhC,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQza,OAAQ8vC,EAAYr1B,QAAQ3C,SACjG7I,kBAAmB6gC,EAAYr1B,QAAQza,OACvCqyC,kBAAmBvC,EAAYr1B,QAAQza,OACvCyyC,YAAa3C,EAAYr1B,QAAQta,KACjCwO,WAAYmhC,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQuzB,WAAWqC,EAAkB51B,SAAUq1B,EAAYr1B,QAAQuzB,WAAWoC,EAAiBmC,oBAAqBzC,EAAYr1B,QAAQuzB,WAAWoC,EAAiBoC,cAAe1C,EAAYr1B,QAAQC,QAAQo1B,EAAYr1B,QAAQuzB,WAAWqC,EAAkB51B,YACvTvL,YAAa4gC,EAAYr1B,QAAQhU,KACjC8tC,aAAczE,EAAYr1B,QAAQhU,KAClC0D,eAAgB2lC,EAAYr1B,QAAQhU,KACpCwrC,eAAgBnC,EAAYr1B,QAAQ/jB,OACpCg8C,uBAAwB5C,EAAYr1B,QAAQta,KAC5CwyC,0BAA2B7C,EAAYr1B,QAAQta,KAC/CyyC,4BAA6B9C,EAAYr1B,QAAQta,KACjD0yC,cAAe/C,EAAYr1B,QAAQta,KACnCzU,KAAMokD,EAAYr1B,QAAQza,OAC1BsO,aAAcwhC,EAAYr1B,QAAQza,OAClCmP,KAAM2gC,EAAYr1B,QAAQ3C,OAC1BjpB,KAAMihD,EAAYr1B,QAAQ3C,OAC1B58B,SAAU40D,EAAYr1B,QAAQl7B,KAC9BuzD,iBAAkBhD,EAAYr1B,QAAQta,KACtC4yC,WAAYjD,EAAYr1B,QAAQhU,KAChCsI,WAAY+gC,EAAYr1B,QAAQhU,KAChCnqB,GAAIwzD,EAAYr1B,QAAQza,OACxBgzC,eAAgBlD,EAAYr1B,QAAQhU,KACpCwsC,eAAgBnD,EAAYr1B,QAAQhU,KACpCiwC,OAAQ5G,EAAYr1B,QAAQza,QAE9BjS,EAAA,QAAkB8lD,EAClB/lD,EAAOC,QAAUA,EAAiB,qCC1alCrS,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAQ4oD,WAqBR,WACMC,IACEA,EAAcprB,gBAChBorB,EAAcprB,gBAAgB,eACG,MAAxBorB,EAAc95D,OACvB85D,EAAcx0D,SAAQ,SAAU3F,GAC9B,OAAOA,EAAQ+uC,gBAAgB,kBAGjC9uC,SAASwtC,iBAAiB0sB,GAAex0D,SAAQ,SAAU3F,GACzD,OAAOA,EAAQ+uC,gBAAgB,mBAIrCorB,EAAgB,MAlClB7oD,EAAQ83B,IAsCR,WAC6C,cAC3C,IAAIsC,EAAQyuB,GAAiB,GAC7Bx5C,QAAQyoB,IAAI,2BACZzoB,QAAQyoB,IAAIsC,EAAM0uB,SAAU1uB,EAAMlpB,UAAWkpB,EAAM7rC,IACnD8gB,QAAQyoB,IAAI,gCA1Cd93B,EAAQ+oD,eAAiBA,EACzB/oD,EAAQ1J,WAmDR,SAAoB5H,GAClB,IAAIs6D,EAAat6D,EACjB,GAA0B,iBAAfs6D,GAA2B3G,EAAiBziD,UAAW,CAChE,IAAIqpD,EAAKt6D,SAASwtC,iBAAiB6sB,GACnCD,EAAeE,EAAID,GACnBA,EAAaC,EAGf,OADAJ,EAAgBG,GAAcH,GAzDhC7oD,EAAQkpD,gBAAkBA,EAC1BlpD,EAAQkoD,KAuER,SAActnC,GACZ,IAAIuoC,GAA4B,EAC5BC,GAAoB,EACpBC,OAAiB5zD,EAErB,IACE,IAAK,IAAgEhE,EAA5DC,EAAYw3D,EAAgBtoC,GAAYzwB,OAAOC,cAAsB+4D,GAA6B13D,EAAQC,EAAUT,QAAQF,MAAOo4D,GAA4B,EAAM,CACnK13D,EAAMlC,MAEZ8d,aAAa,cAAe,SAEjC,MAAOwqB,GACPuxB,GAAoB,EACpBC,EAAiBxxB,EACjB,QACA,KACOsxB,GAA6Bz3D,EAAU43D,QAC1C53D,EAAU43D,SAEZ,QACA,GAAIF,EACF,MAAMC,KA3FdrpD,EAAQomD,KAiGR,SAAcxlC,GACZ,IAAI2oC,GAA6B,EAC7BC,GAAqB,EACrBC,OAAkBh0D,EAEtB,IACE,IAAK,IAAiEi0D,EAA7DC,EAAaT,EAAgBtoC,GAAYzwB,OAAOC,cAAuBm5D,GAA8BG,EAASC,EAAW14D,QAAQF,MAAOw4D,GAA6B,EAAM,CACzKG,EAAOn6D,MAEbkuC,gBAAgB,gBAErB,MAAO5F,GACP2xB,GAAqB,EACrBC,EAAkB5xB,EAClB,QACA,KACO0xB,GAA8BI,EAAWL,QAC5CK,EAAWL,SAEb,QACA,GAAIE,EACF,MAAMC,KArHdzpD,EAAQ4pD,6BA2HR,WACEf,EAAgB,MA1HlB,IAMgCl5C,EAN5Bk6C,EAAW,EAAQ,MAEnBC,GAI4Bn6C,EAJOk6C,IAIcl6C,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GAFnF0yC,EAAmB,EAAQ,MAI/B,IAAIwG,EAAgB,KA+BpB,SAASE,EAAegB,EAAU/tB,GAChC,IAAK+tB,IAAaA,EAASh7D,OACzB,MAAM,IAAIsC,MAAM,oDAAsD2qC,EAAW,KAerF,SAASktB,EAAgBtoC,GACvB,IAAIqoC,EAAKroC,GAAcioC,EACvB,OAAII,EACKh6D,MAAMoB,QAAQ44D,IAAOA,aAAce,gBAAkBf,aAAcgB,SAAWhB,EAAK,CAACA,KAE3F,EAAIa,EAAUp9B,UAAS,EAAO,CAAC,2CAA4C,iEAAkE,0DAA2D,mEAAoE,qCAAqCr9B,KAAK,MAE/S,kCC3EX1B,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAQ4oD,WAiBR,WAGE,IAFA,IAAIsB,EAAO,CAAC3kB,EAAQ4kB,GAEXC,EAAK,EAAGA,EAAKF,EAAKn7D,OAAQq7D,IAAM,CACvC,IAAIjvC,EAAO+uC,EAAKE,GACXjvC,IACLA,EAAKilB,YAAcjlB,EAAKilB,WAAWjyC,YAAYgtB,IAEjDoqB,EAAS4kB,EAAQ,KACjBE,EAAY,IAzBdrqD,EAAQ83B,IA6BR,WACEzoB,QAAQyoB,IAAI,uBACZzoB,QAAQyoB,IAAIuyB,EAAUt7D,QAEtB,IADA,IAAIu7D,EAAQ,CAAC/kB,EAAQ4kB,GACZI,EAAM,EAAGA,EAAMD,EAAMv7D,OAAQw7D,IAAO,CAC3C,IACInwB,EADOkwB,EAAMC,IACG,GACpBl7C,QAAQyoB,IAAIsC,EAAM0uB,SAAU1uB,EAAMlpB,UAAWkpB,EAAM7rC,IAErD8gB,QAAQyoB,IAAI,4BApCd,IAIgCnoB,EAJ5B66C,EAAuB,EAAQ,MAE/B7E,GAE4Bh2C,EAFmB66C,IAEE76C,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GAIvF,IAAI41B,OAAS,EACT4kB,OAAQ,EACRE,EAAY,GA8BhB,SAASnD,IACkB,IAArBmD,EAAUt7D,QAOds7D,EAAUA,EAAUt7D,OAAS,GAAGm4D,eAoClCvB,EAAsBj5B,QAAQ+9B,WAjC9B,SAAkBC,EAAWC,GACtBplB,GAAW4kB,KACd5kB,EAAS52C,SAASX,cAAc,QACzBqf,aAAa,6BAA8B,IAClDk4B,EAAOxyC,MAAMa,SAAW,WACxB2xC,EAAOxyC,MAAM63D,QAAU,IACvBrlB,EAAOl4B,aAAa,WAAY,KAChCk4B,EAAOzpC,iBAAiB,QAASorD,IACjCiD,EAAQ5kB,EAAO5E,aACT7kC,iBAAiB,QAASorD,KAGlCmD,EAAYM,GAEE57D,OAAS,GAEjBJ,SAASV,KAAKsyC,aAAegF,GAC/B52C,SAASV,KAAK2uC,aAAa2I,EAAQ52C,SAASV,KAAKsyC,YAE/C5xC,SAASV,KAAK48D,YAAcV,GAC9Bx7D,SAASV,KAAKC,YAAYi8D,KAIxB5kB,EAAOulB,eACTvlB,EAAOulB,cAAc38D,YAAYo3C,GAE/B4kB,EAAMW,eACRX,EAAMW,cAAc38D,YAAYg8D,kCCrFtCx8D,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAQ4oD,WAYR,WACE,IAAImC,EAAcp8D,SAASw3D,qBAAqB,QAAQ,GACxD,IAAK,IAAI6E,KAAOC,EACdC,EAAYH,EAAaE,EAAcD,IAGzC,IAAI/8D,EAAOU,SAASV,KACpB,IAAK,IAAIk9D,KAAQC,EACfF,EAAYj9D,EAAMm9D,EAAiBD,IAGrCF,EAAgB,GAChBG,EAAmB,IAvBrBprD,EAAQ83B,IA2BR,WAC6C,cAE3C,IAAIO,EAAU1pC,SAASw3D,qBAAqB,QAAQ,GAAGj1C,UACnD3G,EAAS,4BAGb,IAAK,IAAI2rB,KADT3rB,GAAU,aAAe8tB,EAAU,OACrB4yB,EACZ1gD,GAAU,KAAO2rB,EAAI,IAAM+0B,EAAc/0B,GAAK,KAMhD,IAAK,IAAImc,KAHTha,EAAU1pC,SAASV,KAAKijB,UAExB3G,GAAU,iBAAmB8tB,EAAU,OACxB+yB,EACb7gD,GAAU,KAAO8nC,EAAK,IAAM+Y,EAAiB/Y,GAAM,KAGrD9nC,GAAU,KAEV8E,QAAQyoB,IAAIvtB,IA9Cd,IAAI0gD,EAAgB,GAChBG,EAAmB,GAIvB,SAASF,EAAYG,EAAIL,GACvBK,EAAG1wC,UAAU/N,OAAOo+C,GAwGZhrD,EAAQq/B,IAAM,SAAa3wC,EAAS48D,GAC5C,OA5BmCC,EA4BjB78D,EAAQisB,UA5BuB6wC,EA4BsB,QAAlC98D,EAAQo6D,SAASnlD,cAA0BsnD,EAAgBG,OAAkBE,EAAYn9C,MAAM,KA3B5H9Z,SAAQ,SAAU6c,IA5BH,SAA4Bs6C,EAAMt6C,GACpDs6C,EAAKt6C,KACRs6C,EAAKt6C,GAAa,GAEpBs6C,EAAKt6C,IAAc,EAyBjBu6C,CAAmBD,EAAMt6C,GACzBq6C,EAAalsB,IAAInuB,MAHJ,IAAoBq6C,EAAcC,GAqCtCxrD,EAAQ4M,OAAS,SAAgBle,EAAS48D,GACrD,OAxBuCC,EAwBnB78D,EAAQisB,UAxByB6wC,EAwBoB,QAAlC98D,EAAQo6D,SAASnlD,cAA0BsnD,EAAgBG,OAAkBE,EAAYn9C,MAAM,KAvB9H9Z,SAAQ,SAAU6c,IA5BH,SAA4Bs6C,EAAMt6C,GACrDs6C,EAAKt6C,KACPs6C,EAAKt6C,IAAc,GA2BnBw6C,CAAmBF,EAAMt6C,GACL,IAApBs6C,EAAKt6C,IAAoBq6C,EAAa3+C,OAAOsE,MAH9B,IAAsBq6C,EAAcC,gCCtGvD79D,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAQ4oD,WAsBR,WACE+C,EAAqB,IAtBvB3rD,EAAQ83B,IA0BR,WAC6C,cAC3CzoB,QAAQyoB,IAAI,2BACZ6zB,EAAmBt3D,SAAQ,SAAUkjD,GACnC,IAAInd,EAAQmd,GAAK,GACjBloC,QAAQyoB,IAAIsC,EAAM0uB,SAAU1uB,EAAMlpB,UAAWkpB,EAAM7rC,OAErD8gB,QAAQyoB,IAAI,gCAhCd93B,EAAQ4rD,WAAaA,EACrB5rD,EAAQ6rD,YAAcA,EACtB7rD,EAAQ6mD,kBA2DR,WACE8E,EAAmB72D,KAAKnG,SAAS8wB,gBA3DnCzf,EAAQqmD,YA+DR,WACE,IAAIvB,EAAgBh2D,UAAUC,OAAS,QAAsB0G,IAAjB3G,UAAU,IAAmBA,UAAU,GAE/Eg9D,EAAU,KACd,IAKE,YAJkC,IAA9BH,EAAmB58D,SACrB+8D,EAAUH,EAAmB3P,OACrBhjC,MAAM,CAAE8rC,cAAeA,KAGjC,MAAO75C,GACPoE,QAAQC,KAAK,CAAC,+BAAgCw8C,EAAS,oCAAoCz8D,KAAK,QAzEpG2Q,EAAQumD,gBA8ER,WACEoF,EAAmB58D,OAAS,GAAK48D,EAAmB3P,OA9EtDh8C,EAAQ4mD,iBAiFR,SAA0Bl4D,GACxBq9D,EAAer9D,EAEXuG,OAAO6G,kBACT7G,OAAO6G,iBAAiB,OAAQ8vD,GAAY,GAC5Cj9D,SAASmN,iBAAiB,QAAS+vD,GAAa,KAEhD52D,OAAOgiD,YAAY,SAAU2U,GAC7Bj9D,SAASsoD,YAAY,UAAW4U,KAxFpC7rD,EAAQsmD,oBA4FR,WACEyF,EAAe,KAEX92D,OAAO6G,kBACT7G,OAAO8G,oBAAoB,OAAQ6vD,GACnCj9D,SAASoN,oBAAoB,QAAS8vD,KAEtC52D,OAAO+2D,YAAY,SAAUJ,GAC7Bj9D,SAASq9D,YAAY,UAAWH,KAlGpC,IAIgCl8C,EAJ5Bs8C,EAAY,EAAQ,MAEpBC,GAE4Bv8C,EAFQs8C,IAEat8C,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GAEvF,IAAIg8C,EAAqB,GACrBI,EAAe,KACfI,GAAc,EAoBlB,SAASP,IACPO,GAAc,EAGhB,SAASN,IACP,GAAIM,EAAa,CAEf,GADAA,GAAc,GACTJ,EACH,OAOFtzD,YAAW,WACLszD,EAAarxC,SAAS/rB,SAAS8wB,kBAG1B,EAAIysC,EAAWx/B,SAASq/B,GAAc,IAAMA,GAClD/yC,UACF,gCC9DPrrB,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAQ83B,IAyDR,WACEzoB,QAAQyoB,IAAI,kCACZzoB,QAAQyoB,IAAIs0B,EAAoBzB,cAAc57D,QAC9Cq9D,EAAoBzB,cAAct2D,SAAQ,SAAUm5C,GAClD,OAAOn+B,QAAQyoB,IAAI0V,MAErBn+B,QAAQyoB,IAAI,uCA9Dd93B,EAAQ4oD,WAkER,WACEwD,EAAsB,IAAIC,GA7D5B,IAAIA,EAAsB,SAASA,IACjC,IAAIlJ,EAAQ5wD,MALd,SAAyBmS,EAAU88C,GAAe,KAAM98C,aAAoB88C,GAAgB,MAAM,IAAIxwD,UAAU,qCAO9GwxD,CAAgBjwD,KAAM85D,GAEtB95D,KAAK41D,SAAW,SAAUmE,IAC2B,IAA/CnJ,EAAMwH,cAAcv3D,QAAQk5D,KAOhCnJ,EAAMwH,cAAc71D,KAAKw3D,GACzBnJ,EAAMoJ,KAAK,cAGbh6D,KAAKk0D,WAAa,SAAU6F,GAC1B,IAAI12D,EAAQutD,EAAMwH,cAAcv3D,QAAQk5D,IACzB,IAAX12D,IAOJutD,EAAMwH,cAAc90D,OAAOD,EAAO,GAClCutD,EAAMoJ,KAAK,gBAGbh6D,KAAKk4D,UAAY,SAAUn8C,GACzB60C,EAAMqJ,YAAY13D,KAAKwZ,IAGzB/b,KAAKg6D,KAAO,SAAU7B,GACpBvH,EAAMqJ,YAAYn4D,SAAQ,SAAUo4D,GAClC,OAAOA,EAAW/B,EAElBvH,EAAMwH,cAAcl6D,aAIxB8B,KAAKo4D,cAAgB,GACrBp4D,KAAKi6D,YAAc,IAGjBJ,EAAsB,IAAIC,EAmB9BrsD,EAAA,QAAkBosD,+BC3ElBz+D,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAQJ,UAAYI,EAAQykD,aAAezkD,EAAQwkD,wBAAqB/uD,EAExE,IAIgCka,EAJ5B+8C,EAAS,EAAQ,MAMrB,IAAIC,IAF4Bh9C,EAFK+8C,IAEgB/8C,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,IAEtE+c,QAEbkgC,EAAkBD,EAAG/sD,UAAY3K,OAAO43D,YAAc,GAEjC7sD,EAAQwkD,mBAAqBmI,EAAG/sD,UAAY3K,OAAO+0D,eAAiB,GAE1EhqD,EAAQykD,aAAekI,EAAG/sD,UAAY3K,OAAOg1D,SAAW,GAE3DjqD,EAAQJ,UAAY+sD,EAAG/sD,UAEvCI,EAAA,QAAkB4sD,+BCrBlBj/D,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAA,QAQA,SAAkBxO,EAAMM,GACtB,IAAIg7D,GAAW,EAAIZ,EAAWx/B,SAASl7B,GAEvC,IAAKs7D,EAAS/9D,OAGZ,YADA+C,EAAMgnB,iBAIR,IAAI5mB,OAAS,EAET66D,EAAWj7D,EAAMi7D,SACjBC,EAAOF,EAAS,GAChBG,EAAOH,EAASA,EAAS/9D,OAAS,GAItC,GAAIyC,IAAS7C,SAAS8wB,cAAe,CACnC,IAAKstC,EAAU,OACf76D,EAAS+6D,EAGPA,IAASt+D,SAAS8wB,eAAkBstC,IACtC76D,EAAS86D,GAGPA,IAASr+D,SAAS8wB,eAAiBstC,IACrC76D,EAAS+6D,GAGX,GAAI/6D,EAGF,OAFAJ,EAAMgnB,sBACN5mB,EAAO8mB,QAeT,IAAIk0C,EAAc,4BAA4BC,KAAKngD,UAAUC,WAK7D,GAJqC,MAAfigD,GAAyC,UAAlBA,EAAY,IAAoE,MAAlD,qBAAqBC,KAAKngD,UAAUC,WAIzF,OAEtB,IAAIipB,EAAI42B,EAAS15D,QAAQzE,SAAS8wB,eAE9ByW,GAAK,IACPA,GAAK62B,GAAY,EAAI,GAOvB,QAAsB,KAJtB76D,EAAS46D,EAAS52B,IAQhB,OAHApkC,EAAMgnB,sBACN5mB,EAAS66D,EAAWE,EAAOD,GACpBh0C,QAITlnB,EAAMgnB,iBAEN5mB,EAAO8mB,SA/ET,IAIgCrJ,EAJ5Bs8C,EAAY,EAAQ,MAEpBC,GAE4Bv8C,EAFQs8C,IAEat8C,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GA6EvF5P,EAAOC,QAAUA,EAAiB,mCCtFlCrS,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAETyQ,EAAA,QAyDA,SAAiCtR,GAC/B,MAAO,GAAG+B,MAAMhB,KAAKf,EAAQytC,iBAAiB,KAAM,GAAGhtC,OAAO29D,IA7ChE,IAAIM,EAAe,sCAEnB,SAASC,EAAc3+D,GACrB,IAAI4+D,EAAW5+D,EAAQ6+D,aAAe,GAAK7+D,EAAQm0B,cAAgB,EAGnE,GAAIyqC,IAAa5+D,EAAQqxC,UAAW,OAAO,EAE3C,IAEE,IAAIhtC,EAAQkC,OAAOwpC,iBAAiB/vC,GACpC,OAAO4+D,EAAkD,YAAvCv6D,EAAMyrC,iBAAiB,aAEzC9vC,EAAQ8+D,aAAe,GAAK9+D,EAAQmiB,cAAgB,EAAyC,QAArC9d,EAAMyrC,iBAAiB,WAC/E,MAAOivB,GAGP,OADAp+C,QAAQC,KAAK,oCACN,GAcX,SAASwL,EAAUpsB,EAASg/D,GAC1B,IAAI5E,EAAWp6D,EAAQo6D,SAASnlD,cAEhC,OADUypD,EAAav8D,KAAKi4D,KAAcp6D,EAAQ4L,UAA0B,MAAbwuD,GAAmBp6D,EAAQ0e,MAA2BsgD,IAZvH,SAAiBh/D,GAEf,IADA,IAAIo8D,EAAgBp8D,EACbo8D,GACDA,IAAkBn8D,SAASV,MADX,CAEpB,GAAIo/D,EAAcvC,GAAgB,OAAO,EACzCA,EAAgBA,EAAc1qB,WAEhC,OAAO,EAMOutB,CAAQj/D,GAGxB,SAASo+D,EAASp+D,GAChB,IAAI8iB,EAAW9iB,EAAQuwC,aAAa,YACnB,OAAbztB,IAAmBA,OAAW/b,GAClC,IAAIm4D,EAAgBzqC,MAAM3R,GAC1B,OAAQo8C,GAAiBp8C,GAAY,IAAMsJ,EAAUpsB,GAAUk/D,GAMjE7tD,EAAOC,QAAUA,EAAiB,qCC/DlCrS,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAGT,IAIgCogB,EAJ5Bk+C,EAAS,EAAQ,MAEjBC,GAE4Bn+C,EAFKk+C,IAEgBl+C,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GAEvF3P,EAAA,QAAkB8tD,EAAQphC,QAC1B3sB,EAAOC,QAAUA,EAAiB,oCCXlCrS,OAAO2uD,eAAet8C,EAAS,aAAc,CAC3CzQ,OAAO,IAGT,IAAIyC,EAAWrE,OAAOsE,QAAU,SAAUC,GAAU,IAAK,IAAIrC,EAAI,EAAGA,EAAIf,UAAUC,OAAQc,IAAK,CAAE,IAAIsC,EAASrD,UAAUe,GAAI,IAAK,IAAIuC,KAAOD,EAAcxE,OAAO6C,UAAU6B,eAAe5C,KAAK0C,EAAQC,KAAQF,EAAOE,GAAOD,EAAOC,IAAY,OAAOF,GAEnPmvD,EAAe,WAAc,SAASC,EAAiBpvD,EAAQc,GAAS,IAAK,IAAInD,EAAI,EAAGA,EAAImD,EAAMjE,OAAQc,IAAK,CAAE,IAAI0xD,EAAavuD,EAAMnD,GAAI0xD,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWhF,cAAe,EAAU,UAAWgF,IAAYA,EAAW/E,UAAW,GAAM7uD,OAAO2uD,eAAepqD,EAAQqvD,EAAWnvD,IAAKmvD,IAAiB,OAAO,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYH,EAAiBE,EAAYhxD,UAAWixD,GAAiBC,GAAaJ,EAAiBE,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAS,EAAQ,MAEjBC,EAAUC,EAAuBF,GAIjCI,EAAcF,EAFD,EAAQ,OAMrBkM,EAAelM,EAFD,EAAQ,OAI1B,SAASA,EAAuBlyC,GAAO,OAAOA,GAAOA,EAAIuyC,WAAavyC,EAAM,CAAE+c,QAAS/c,GAMvF,SAAS6yC,EAAgB99C,EAAU88C,GAAe,KAAM98C,aAAoB88C,GAAgB,MAAM,IAAIxwD,UAAU,qCAEhH,SAASyxD,EAA2BC,EAAMjzD,GAAQ,IAAKizD,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOlzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BizD,EAAPjzD,EAMlO,IAAIu+D,EAAW,CAGb38C,MAAO,uBACPlC,KAAM,qBACN8+C,QAAS,cACTC,KAAM,qBAGNr6D,MAAO,+BACPL,OAAQ,gCAGRoiB,KAAM,+BAGNu4C,mBAAoB,iCACpBC,aAAc,2BACdC,mBAAoB,kCAKlBC,EAAY,SAAUpL,GAGxB,SAASoL,IAGP,OAFA9L,EAAgBjwD,KAAM+7D,GAEf7L,EAA2BlwD,MAAO+7D,EAAUlL,WAAaz1D,OAAO+hB,eAAe4+C,IAAYh8D,MAAMC,KAAMzD,YAqEhH,OAtGF,SAAmB40D,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3yD,UAAU,kEAAoE2yD,GAAeD,EAASlzD,UAAY7C,OAAOC,OAAO+1D,GAAcA,EAAWnzD,UAAW,CAAEE,YAAa,CAAEnB,MAAOm0D,EAAUpG,YAAY,EAAOd,UAAU,EAAMD,cAAc,KAAeoH,IAAYh2D,OAAOi2D,eAAiBj2D,OAAOi2D,eAAeF,EAAUC,GAAcD,EAASN,UAAYO,GA4B/dE,CAAUyK,EAAWpL,GAQrB7B,EAAaiN,EAAW,CAAC,CACvBl8D,IAAK,SACL7C,MAAO,WACL,IAAIy0D,EAASzxD,KAAKS,MACdke,EAAY8yC,EAAO9yC,UACnBq9C,EAAYvK,EAAOuK,UACnBzlC,EAAMk7B,EAAOl7B,IACblT,EAAOouC,EAAOpuC,KACd/hB,EAAQmwD,EAAOnwD,MACf26D,EAAqBxK,EAAOwK,mBAC5BC,EAAoBzK,EAAOyK,kBAC3BC,EAAc1K,EAAO0K,YACrBC,EAAoB3K,EAAO2K,kBAC3BC,EAvDV,SAAkCj/C,EAAKxc,GAAQ,IAAIjB,EAAS,GAAI,IAAK,IAAIrC,KAAK8f,EAAWxc,EAAKC,QAAQvD,IAAM,GAAkBlC,OAAO6C,UAAU6B,eAAe5C,KAAKkgB,EAAK9f,KAAcqC,EAAOrC,GAAK8f,EAAI9f,IAAM,OAAOqC,EAuDxL28D,CAAyB7K,EAAQ,CAAC,YAAa,YAAa,MAAO,OAAQ,QAAS,qBAAsB,oBAAqB,cAAe,sBAE/JoE,EAAU71D,KAAKS,MACf87D,EAAU1G,EAAQ0G,QAClBt7D,EAAS40D,EAAQ50D,SAKT,IAAZs7D,GAEmB,IAAnBA,EAAQ//D,QAAgB4/D,EAAkB5/D,OAAS,KACjD+/D,EAAUnhE,OAAOwF,KAAK66D,IAExBc,EAAUA,EAAQ3/D,QAAO,SAAUiD,GACjC,QAASu8D,EAAkBv7D,QAAQhB,IAAQ,MAGzCyB,QAAoB4B,IAAXjC,IACXA,EAASK,UAIJ+6D,EAAeE,eACfF,EAAep7D,OAEtB,IAnFmBmc,EAAKvd,EAAK7C,EAmFzB8oC,GAAU,EAAI01B,EAAarhC,UAnFZ/c,EAmFqC,CACtD2+C,WAAW,EACX,qBAAsBQ,EAAQ//D,QArFHQ,EAsFf2hB,GAtFU9e,EAsFrB8e,KAtF8CvB,EAAOhiB,OAAO2uD,eAAe3sC,EAAKvd,EAAK,CAAE7C,MAAOA,EAAO+tD,YAAY,EAAMf,cAAc,EAAMC,UAAU,IAAkB7sC,EAAIvd,GAAO7C,EAAgBogB,IAuFjMo/C,EAAa12B,EAAQlqB,MAAM,KAAK9e,KAAKq/D,EAAc,KAAOA,EAC1DM,EAASV,EAAUW,WAAWnmC,EAAKgmC,GAASvnD,QAAQ,OAAQ,eAAkBwnD,EAAa,KAAQn5C,EAAO,UAAaA,EAAO,IAAO,KAAO/hB,GAASL,EAAS,YAAcK,EAAQ,UAAYA,EAAQ,IAAM,KAAOL,EAAS,WAAaA,EAAS,IAAM,IAAM,IAAM,KACtQiZ,OAAQ,EACZ,GAAIgiD,EAAmB,CAErB,IAAIS,GADJziD,EAAQ,qBAAqB0gD,KAAK6B,IAClBp5D,MAAQ6W,EAAM,GAAG1d,OACjCigE,EAASA,EAAO3gD,OAAO,EAAG6gD,GAAQ,SAAWT,EAAoB,UAAaO,EAAO3gD,OAAO6gD,GAE9F,GAAIV,EAAoB,CAEtB,IAAIW,GADJ1iD,EAAQA,GAAS,qBAAqB0gD,KAAK6B,IAC1Bp5D,MAAQ6W,EAAM,GAAG1d,OAAS,EACvCR,EAAK,aAAe+/D,EAAUc,UAAY,SAC9CJ,EAASA,EAAO3gD,OAAO,EAAG8gD,GAAS,gCAAqC5gE,EAAK,IAAQygE,EAAO3gD,OAAO8gD,EAAM,GAAM,cAAiB5gE,EAAK,KAAQigE,EAAqB,WAAcQ,EAAO3gD,OAAO8gD,EAAO,GAEvM,OAAOvN,EAAQl1B,QAAQ1+B,cAAcugE,EAAWv8D,EAAS,GAAI48D,EAAgB,CAC3E19C,UAAWmnB,EACX7T,wBAAyB,CACvBC,OAAQuqC,UAMTV,EA3EO,CA4Ed3M,EAAOtuC,WAETi7C,EAAUv8C,UAAY,CACpBb,UAAW6wC,EAAYr1B,QAAQza,OAC/By8C,YAAa3M,EAAYr1B,QAAQza,OACjCs8C,UAAWxM,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQza,OAAQ8vC,EAAYr1B,QAAQhU,OAC1FoQ,IAAKi5B,EAAYr1B,QAAQza,OAAOC,WAChC0D,KAAMmsC,EAAYr1B,QAAQza,OAC1B68C,QAAS/M,EAAYr1B,QAAQpZ,UAAU,CAACyuC,EAAYr1B,QAAQta,KAAM2vC,EAAYr1B,QAAQnZ,QACtFo7C,kBAAmB5M,EAAYr1B,QAAQnZ,MACvC1f,MAAOkuD,EAAYr1B,QAAQza,OAC3Bze,OAAQuuD,EAAYr1B,QAAQza,OAC5Bu8C,mBAAoBzM,EAAYr1B,QAAQza,OACxCw8C,kBAAmB1M,EAAYr1B,QAAQza,QAGzCq8C,EAAUj8C,aAAe,CACvBk8C,UAAW,OACXG,YAAa,OACbI,QAAS,GACTH,kBAAmB,IAGrBL,EAAUc,QAAU,EAEpBd,EAAUW,WAAa,SAAUnmC,GAC/B,IAAIgmC,EAAUhgE,UAAUC,OAAS,QAAsB0G,IAAjB3G,UAAU,GAAmBA,UAAU,GAAK,GAElF,OAAOnB,OAAOwF,KAAK66D,GAAU7+D,QAAO,SAAUiD,GAC5C,OAAO08D,EAAQ17D,QAAQhB,IAAQ,KAC9BiyB,QAAO,SAAUwH,EAAKz5B,GACvB,OAAOy5B,EAAItkB,QAAQymD,EAAS57D,GAAM,MACjC02B,GAAK9d,QAGVhL,EAAA,QAAkBsuD,kBC1KlBvuD,EAAOC,QAAU,EAAjB,sBCAA,IAAIqvD,EAAiB,EAAQ,MAE7BrvD,EAAQ4lB,UAAY,SAASle,GAC3B,IAAI4nD,EAAWtvD,EAAQsvD,SAAS5nD,GAChC,OAAO,IAAI2nD,EAAeC,EAAU,CAChCC,QAAS7nD,IAAYA,EAAQ6nD,SAAW7nD,EAAQoe,UAAYswB,EAAAA,GAC5DoZ,MAAO9nD,GAAWA,EAAQ8nD,MAC1BC,aAAc/nD,GAAWA,EAAQ+nD,gBAIvCzvD,EAAQsvD,SAAW,SAAS5nD,GAC1B,GAAIA,aAAmBzY,MACrB,MAAO,GAAGgY,OAAOS,GAGnB,IAAI0H,EAAO,CACT0W,QAAS,GACTC,OAAQ,EACRC,WAAY,IACZC,WAAYmwB,EAAAA,EACZsZ,WAAW,GAEb,IAAK,IAAIt9D,KAAOsV,EACd0H,EAAKhd,GAAOsV,EAAQtV,GAGtB,GAAIgd,EAAK4W,WAAa5W,EAAK6W,WACzB,MAAM,IAAI50B,MAAM,yCAIlB,IADA,IAAIi+D,EAAW,GACNz/D,EAAI,EAAGA,EAAIuf,EAAK0W,QAASj2B,IAChCy/D,EAASx6D,KAAKvC,KAAKo9D,cAAc9/D,EAAGuf,IAYtC,OATI1H,GAAWA,EAAQ6nD,UAAYD,EAASvgE,QAC1CugE,EAASx6D,KAAKvC,KAAKo9D,cAAc9/D,EAAGuf,IAItCkgD,EAAS9mC,MAAK,SAASj0B,EAAEC,GACvB,OAAOD,EAAIC,KAGN86D,GAGTtvD,EAAQ2vD,cAAgB,SAASzpC,EAAS9W,GACxC,IAAIwgD,EAAUxgD,EAAc,UACvB2X,KAAK6oC,SAAW,EACjB,EAEAjtD,EAAUokB,KAAK8oC,MAAMD,EAAS7oC,KAAKmO,IAAI9lB,EAAK4W,WAAY,GAAKe,KAAK4sB,IAAIvkC,EAAK2W,OAAQG,IAGvF,OAFAvjB,EAAUokB,KAAKC,IAAIrkB,EAASyM,EAAK6W,aAKnCjmB,EAAQgiC,KAAO,SAASryB,EAAKjI,EAASooD,GAMpC,GALIpoD,aAAmBzY,QACrB6gE,EAAUpoD,EACVA,EAAU,OAGPooD,EAEH,IAAK,IAAI19D,KADT09D,EAAU,GACMngD,EACU,mBAAbA,EAAIvd,IACb09D,EAAQh7D,KAAK1C,GAKnB,IAAK,IAAIvC,EAAI,EAAGA,EAAIigE,EAAQ/gE,OAAQc,IAAK,CACvC,IAAI0S,EAAWutD,EAAQjgE,GACnBkgE,EAAWpgD,EAAIpN,GAEnBoN,EAAIpN,GAAU,SAAsBwtD,GAClC,IAAIC,EAAWhwD,EAAQ4lB,UAAUle,GAC7B1Y,EAAWC,MAAMuB,UAAUC,MAAMhB,KAAKX,UAAW,GACjDwf,EAAWtf,EAAKgtD,MAEpBhtD,EAAK8F,MAAK,SAAS+iC,GACbm4B,EAAGnqC,MAAMgS,KAGTA,IACF/oC,UAAU,GAAKkhE,EAAGC,aAEpB3hD,EAAShc,MAAMC,KAAMzD,eAGvBkhE,EAAG9pC,SAAQ,WACT6pC,EAASz9D,MAAMqd,EAAK3gB,OAEtBkC,KAAKye,EAAKogD,GACZpgD,EAAIpN,GAAQmF,QAAUA,cCjG1B,SAAS2nD,EAAeC,EAAU5nD,GAET,kBAAZA,IACTA,EAAU,CAAE6nD,QAAS7nD,IAGvBnV,KAAK29D,kBAAoBplD,KAAKC,MAAMD,KAAKI,UAAUokD,IACnD/8D,KAAK49D,UAAYb,EACjB/8D,KAAK69D,SAAW1oD,GAAW,GAC3BnV,KAAK89D,cAAgB3oD,GAAWA,EAAQ+nD,cAAgBrZ,EAAAA,EACxD7jD,KAAK+9D,IAAM,KACX/9D,KAAKg+D,QAAU,GACfh+D,KAAKi+D,UAAY,EACjBj+D,KAAKk+D,kBAAoB,KACzBl+D,KAAKm+D,oBAAsB,KAC3Bn+D,KAAKo+D,SAAW,KAChBp+D,KAAKq+D,gBAAkB,KACvBr+D,KAAKs+D,OAAS,KAEVt+D,KAAK69D,SAASb,UAChBh9D,KAAKu+D,gBAAkBv+D,KAAK49D,UAAU1/D,MAAM,IAGhDsP,EAAOC,QAAUqvD,EAEjBA,EAAe7+D,UAAUugE,MAAQ,WAC/Bx+D,KAAKi+D,UAAY,EACjBj+D,KAAK49D,UAAY59D,KAAK29D,kBAAkBz/D,MAAM,IAGhD4+D,EAAe7+D,UAAUwgE,KAAO,WAC1Bz+D,KAAKo+D,UACPn4D,aAAajG,KAAKo+D,UAEhBp+D,KAAKs+D,QACPr4D,aAAajG,KAAKs+D,QAGpBt+D,KAAK49D,UAAkB,GACvB59D,KAAKu+D,gBAAkB,MAGzBzB,EAAe7+D,UAAUq1B,MAAQ,SAASgS,GAKxC,GAJItlC,KAAKo+D,UACPn4D,aAAajG,KAAKo+D,WAGf94B,EACH,OAAO,EAET,IAAIo5B,GAAc,IAAI1kD,MAAO+Z,UAC7B,GAAIuR,GAAOo5B,EAAc1+D,KAAKq+D,iBAAmBr+D,KAAK89D,cAGpD,OAFA99D,KAAKg+D,QAAQz7D,KAAK+iC,GAClBtlC,KAAKg+D,QAAQ3pD,QAAQ,IAAIvV,MAAM,qCACxB,EAGTkB,KAAKg+D,QAAQz7D,KAAK+iC,GAElB,IAAIl1B,EAAUpQ,KAAK49D,UAAUjpD,QAC7B,QAAgBzR,IAAZkN,EAAuB,CACzB,IAAIpQ,KAAKu+D,gBAKP,OAAO,EAHPv+D,KAAKg+D,QAAQ16D,OAAO,EAAGtD,KAAKg+D,QAAQxhE,OAAS,GAC7C4T,EAAUpQ,KAAKu+D,gBAAgBrgE,OAAO,GAM1C,IAAIiyD,EAAOnwD,KAqBX,OApBAA,KAAKs+D,OAASp4D,YAAW,WACvBiqD,EAAK8N,YAED9N,EAAKgO,sBACPhO,EAAKiO,SAAWl4D,YAAW,WACzBiqD,EAAKgO,oBAAoBhO,EAAK8N,aAC7B9N,EAAK+N,mBAEJ/N,EAAK0N,SAASZ,OACd9M,EAAKiO,SAASnB,SAIpB9M,EAAK4N,IAAI5N,EAAK8N,aACb7tD,GAECpQ,KAAK69D,SAASZ,OACdj9D,KAAKs+D,OAAOrB,SAGT,GAGTH,EAAe7+D,UAAU01B,QAAU,SAAStqB,EAAIs1D,GAC9C3+D,KAAK+9D,IAAM10D,EAEPs1D,IACEA,EAAWvuD,UACbpQ,KAAKk+D,kBAAoBS,EAAWvuD,SAElCuuD,EAAWl8D,KACbzC,KAAKm+D,oBAAsBQ,EAAWl8D,KAI1C,IAAI0tD,EAAOnwD,KACPA,KAAKm+D,sBACPn+D,KAAKo+D,SAAWl4D,YAAW,WACzBiqD,EAAKgO,wBACJhO,EAAK+N,oBAGVl+D,KAAKq+D,iBAAkB,IAAIrkD,MAAO+Z,UAElC/zB,KAAK+9D,IAAI/9D,KAAKi+D,YAGhBnB,EAAe7+D,UAAU2gE,IAAM,SAASv1D,GACtCyT,QAAQyoB,IAAI,4CACZvlC,KAAK2zB,QAAQtqB,IAGfyzD,EAAe7+D,UAAU4gE,MAAQ,SAASx1D,GACxCyT,QAAQyoB,IAAI,8CACZvlC,KAAK2zB,QAAQtqB,IAGfyzD,EAAe7+D,UAAU4gE,MAAQ/B,EAAe7+D,UAAU2gE,IAE1D9B,EAAe7+D,UAAU6gE,OAAS,WAChC,OAAO9+D,KAAKg+D,SAGdlB,EAAe7+D,UAAU8gE,SAAW,WAClC,OAAO/+D,KAAKi+D,WAGdnB,EAAe7+D,UAAUy/D,UAAY,WACnC,GAA4B,IAAxB19D,KAAKg+D,QAAQxhE,OACf,OAAO,KAOT,IAJA,IAAIwiE,EAAS,GACTtB,EAAY,KACZuB,EAAiB,EAEZ3hE,EAAI,EAAGA,EAAI0C,KAAKg+D,QAAQxhE,OAAQc,IAAK,CAC5C,IAAIuB,EAAQmB,KAAKg+D,QAAQ1gE,GACrByV,EAAUlU,EAAMkU,QAChBm2C,GAAS8V,EAAOjsD,IAAY,GAAK,EAErCisD,EAAOjsD,GAAWm2C,EAEdA,GAAS+V,IACXvB,EAAY7+D,EACZogE,EAAiB/V,GAIrB,OAAOwU,0BChJT,IAEIwB,EAAU,aA2Cd1xD,EAAOC,QAAUyxD,oBCvDjB,IAAiDC,EAAAA,EASxC,WACT,OAAgB,SAAUC,GAEhB,IAAIC,EAAmB,GAGvB,SAAS,EAAoBC,GAG5B,GAAGD,EAAiBC,GACnB,OAAOD,EAAiBC,GAAU7xD,QAGnC,IAAID,EAAS6xD,EAAiBC,GAAY,CACzC7xD,QAAS,GACTzR,GAAIsjE,EACJC,QAAQ,GAUT,OANAH,EAAQE,GAAUpiE,KAAKsQ,EAAOC,QAASD,EAAQA,EAAOC,QAAS,GAG/DD,EAAO+xD,QAAS,EAGT/xD,EAAOC,QAcf,OATA,EAAoB6hC,EAAI8vB,EAGxB,EAAoB9rD,EAAI+rD,EAGxB,EAAoBpkB,EAAI,GAGjB,EAAoB,GAvCrB,CA0CN,CAEJ,SAAUztC,EAAQC,GAEvB,aAEAD,EAAOC,QAAU,WAOf,GAAwB,oBAAbrR,UAA8C,oBAAXsG,OAC5C,MAAO,CAEL88D,IAAK,WACH,MAAO,WAITrjE,QAAS,WACP,OAAO,MAITsjE,WAAY,aAGZC,aAAc,aAGdC,iBAAkB,aAGlBC,mBAAoB,cASxB,IAAIC,EAAUzjE,SAASyP,gBAGnBi0D,EAAiB,KAGjBC,EAAe,UAGfC,EAAgBD,EAGhBE,EAAmBjmD,KAAKM,MAGxB4lD,EAAgB,QAGhBC,EAAa,CAAC,SAAU,QAAS,SAAU,YAG3CC,EAAe,GAIfC,EAAY,CAAC,GACjB,GACA,GACA,GACA,IAGIC,EAAc,GAGdC,EAAW,CACbC,QAAS,WACTC,MAAO,WACPC,UAAW,QACXC,UAAW,QACXC,cAAe,UACfC,cAAe,UACfC,YAAa,UACbC,YAAa,UACbC,WAAY,QACZC,SAAU,SAGNC,GAAc,EAGhBC,EAAW,CACbx9B,EAAG,KACHC,EAAG,MAGCw9B,EAAa,CACjBl6C,EAAG,QACHC,EAAG,QACHC,EAAG,SAGCi6C,GAAkB,EAExB,IACE,IAAIxkD,EAAOzhB,OAAO2uD,eAAe,GAAI,UAAW,CAC9C/mD,IAAK,WACHq+D,GAAkB,KAItB3+D,OAAO6G,iBAAiB,OAAQ,KAAMsT,GACtC,MAAOnE,IAQT,IAWI4oD,EAAe,WAIjB,IAAInsD,IAAUksD,GAAkB,CAAEE,SAAS,GAE3CnlE,SAASmN,iBAAiB,mBAAoBi4D,GAG1C9+D,OAAO++D,cACT/+D,OAAO6G,iBAAiB,cAAem4D,GACvCh/D,OAAO6G,iBAAiB,cAAeo4D,IAC9Bj/D,OAAOk/D,gBAChBl/D,OAAO6G,iBAAiB,gBAAiBm4D,GACzCh/D,OAAO6G,iBAAiB,gBAAiBo4D,KAGzCj/D,OAAO6G,iBAAiB,YAAam4D,GACrCh/D,OAAO6G,iBAAiB,YAAao4D,GAGjC,iBAAkBj/D,SACpBA,OAAO6G,iBAAiB,aAAcm4D,EAAUvsD,GAChDzS,OAAO6G,iBAAiB,WAAYm4D,KAKxCh/D,OAAO6G,iBAAiBs4D,IAAeF,EAAWxsD,GAGlDzS,OAAO6G,iBAAiB,UAAWm4D,GACnCh/D,OAAO6G,iBAAiB,QAASm4D,GAGjCh/D,OAAO6G,iBAAiB,UAAWxF,GACnCrB,OAAO6G,iBAAiB,WAAYu4D,IAKlCN,EAAa,WAGf,GAFAtB,IAAkBL,EAAQnzB,aAAa,qBAA0E,UAAnDtwC,SAASV,KAAKgxC,aAAa,qBAIvF,IACMhqC,OAAOq/D,eAAe//C,QAAQ,gBAChC+9C,EAAer9D,OAAOq/D,eAAe//C,QAAQ,eAG3Ctf,OAAOq/D,eAAe//C,QAAQ,iBAChCg+C,EAAgBt9D,OAAOq/D,eAAe//C,QAAQ,gBAEhD,MAAOtJ,IAMXspD,EAAS,SACTA,EAAS,WAIPN,EAAW,SAAkBniE,GAC/B,IAAI0iE,EAAW1iE,EAAM63B,MACjBp6B,EAAQujE,EAAShhE,EAAMzE,MAEb,YAAVkC,IACFA,EAAQgM,EAAYzJ,IAGtB,IAAI2iE,GAAe5B,EAAY9jE,SAA2C,IAAjC6jE,EAAUx/D,QAAQohE,GAEvDE,EAAgB7B,EAAY9jE,SAA6C,IAAnC8jE,EAAYz/D,QAAQohE,GAE1DG,EAAyB,aAAVplE,GAAwBilE,IAAaC,GAAeC,IAA4B,UAAVnlE,GAA+B,UAAVA,EAc9G,GAXIqlE,EAAcrlE,KAChBolE,GAAe,GAGbA,GAAgBrC,IAAiB/iE,IAGnCslE,EAAa,QAFbvC,EAAe/iE,GAGfglE,EAAS,UAGPI,GAAgBpC,IAAkBhjE,EAAO,CAE3C,IAAIulE,EAAanmE,SAAS8wB,cACPq1C,GAAcA,EAAWhM,YAAwE,IAA3D4J,EAAWt/D,QAAQ0hE,EAAWhM,SAASnlD,gBAA+D,WAAtCmxD,EAAWhM,SAASnlD,gBAA+BoxD,EAAaD,EAAY,WAKnMD,EAAa,SAFbtC,EAAgBhjE,GAGhBglE,EAAS,aAMXA,EAAW,SAAkB5qC,GAC/ByoC,EAAQ/kD,aAAa,YAAcsc,EAAiB,UAAVA,EAAoB2oC,EAAeC,GAE7EyC,EAAcrrC,IAIZuqC,EAAY,SAAmBpiE,GACjC,IAAIvC,EAAQujE,EAAShhE,EAAMzE,MAEb,YAAVkC,IACFA,EAAQgM,EAAYzJ,IAItBmjE,EAAgBnjE,KAGV2hE,IAAgBmB,EAAcrlE,IAAUkkE,GAA8B,UAAf3hE,EAAMzE,MAAmC,eAAfyE,EAAMzE,MAAwC,mBAAfyE,EAAMzE,OAA8BklE,IAAkBhjE,IAG1KslE,EAAa,SAFbtC,EAAgBhjE,GAGhBglE,EAAS,YAITj+D,EAAa,SAAoBxE,GAC9BA,EAAMI,OAAO42D,UAOlBuJ,EAAiBvgE,EAAMI,OAAO42D,SAASnlD,cACvCyuD,EAAQ/kD,aAAa,mBAAoBglD,GAErCvgE,EAAMI,OAAOyoB,WAAa7oB,EAAMI,OAAOyoB,UAAU5rB,QACnDqjE,EAAQ/kD,aAAa,mBAAoBvb,EAAMI,OAAOyoB,UAAUnrB,WAAW+X,QAAQ,IAAK,OARxF8sD,KAYAA,EAAe,WACjBhC,EAAiB,KAEjBD,EAAQ30B,gBAAgB,oBACxB20B,EAAQ30B,gBAAgB,qBAGtBo3B,EAAe,SAAsBlrC,EAAOp6B,GAC9C,GAAIkjE,EACF,IACEx9D,OAAOq/D,eAAe1/C,QAAQ,QAAU+U,EAAOp6B,GAC/C,MAAO0b,MAUT1P,EAAc,SAAqBzJ,GACrC,MAAiC,iBAAtBA,EAAMyJ,YACRo4D,EAAW7hE,EAAMyJ,aAGK,QAAtBzJ,EAAMyJ,YAAwB,QAAUzJ,EAAMyJ,aAKrDq5D,EAAgB,SAAuBrlE,GACzC,IAAI2lE,EAAY3oD,KAAKM,MAEjBsoD,EAAyB,UAAV5lE,GAAsC,UAAjB+iE,GAA4B4C,EAAY1C,EAAmB,IAInG,OAFAA,EAAmB0C,EAEZC,GAKLf,EAAc,WAYhB,MARI,YAAazlE,SAASX,cAAc,OAC1B,aAI0ByH,IAA1B9G,SAASymE,aAA6B,aAAe,kBAOjEJ,EAAgB,SAAuB3nE,GACzC,IAAK,IAAIwC,EAAI,EAAGD,EAAM+iE,EAAa5jE,OAAQc,EAAID,EAAKC,IAC9C8iE,EAAa9iE,GAAGxC,OAASA,GAC3BslE,EAAa9iE,GAAG+L,GAAGnM,UAAKgG,EAAoB,UAATpI,EAAmBilE,EAAeC,IAcvE0C,EAAkB,SAAyBnjE,GACzC4hE,EAASx9B,IAAMpkC,EAAMujE,SAAW3B,EAASv9B,IAAMrkC,EAAMwjE,SACvD7B,GAAc,EAEdC,EAASx9B,EAAIpkC,EAAMujE,QACnB3B,EAASv9B,EAAIrkC,EAAMwjE,SAEnB7B,GAAc,GAKdsB,EAAe,SAAsBn+D,EAAM0tB,GAC7C,IAAIixC,EAAmBtgE,OAAOgH,QAAQzL,UAMtC,GAJK+kE,EAAiBn5B,UACpBm5B,EAAiBn5B,QAAUm5B,EAAiBC,mBAAqBD,EAAiBE,uBAG/EF,EAAiBr5D,QAWpB,OAAOtF,EAAKsF,QAAQooB,GAVpB,EAAG,CACD,GAAI1tB,EAAKwlC,QAAQ9X,GACf,OAAO1tB,EAGTA,EAAOA,EAAKk0D,eAAiBl0D,EAAKwpC,iBAClB,OAATxpC,GAAmC,IAAlBA,EAAKqjD,UAE/B,OAAO,MAoBX,MARI,qBAAsBhlD,QAAUhG,MAAMuB,UAAU4C,UAjRlD0/D,EAASsB,KAAiB,QAE1BP,KAuRK,CAKL9B,IAAK,SAAa7iD,GAChB,MAAe,WAARA,EAAmBqjD,EAAgBD,GAI5C5jE,QAAS,WACP,OAAO2jE,GAITL,WAAY,SAAoBriE,GAC9BijE,EAAYjjE,GAIdsiE,aAAc,SAAsBtiE,GAClCkjE,EAAcljE,GAMhBuiE,iBAAkB,SAA0Bt2D,EAAI8uD,GAC9CiI,EAAa79D,KAAK,CAChB8G,GAAIA,EACJvO,KAAMq9D,GAAa,WAIvByH,mBAAoB,SAA4Bv2D,GAC9C,IAAIhI,EA3FK,SAAgB6Y,GAC3B,IAAK,IAAI5c,EAAI,EAAGD,EAAM+iE,EAAa5jE,OAAQc,EAAID,EAAKC,IAClD,GAAI8iE,EAAa9iE,GAAG+L,KAAO6Q,EACzB,OAAO5c,EAwFM6lE,CAAO95D,IAElBhI,GAAyB,IAAbA,IACd++D,EAAa98D,OAAOjC,EAAU,IAIlC+hE,aAAc,WACZ1gE,OAAOq/D,eAAesB,UA5bX,OAxDhB71D,EAAOC,QAAU0xD,oBCFnB,IAAI93B,EAAY,kBACZi8B,EAAyB,4BACzB74C,EAAI,EAAQ,MAEhB,SAASsd,IACP,MAAO,CACL/lC,EAAG,CAAC,SAAU,OAAQ,SACtBuhE,KAAM,CAAC,SACPC,QAAS,GACThoB,KAAM,CAAC,QAAS,SAAU,OAAQ,OAClCioB,QAAS,GACTC,MAAO,GACPC,MAAO,CACL,WACA,WACA,cACA,OACA,QACA,UACA,OAEF1hE,EAAG,GACH2hE,IAAK,CAAC,OACNC,IAAK,CAAC,OACNC,IAAK,GACLC,WAAY,CAAC,QACbC,GAAI,GACJC,QAAS,GACTC,OAAQ,GACRC,KAAM,GACNzuD,KAAM,GACN0uD,IAAK,CAAC,QAAS,SAAU,OAAQ,SACjCC,SAAU,CAAC,QAAS,SAAU,OAAQ,SACtCC,GAAI,GACJC,IAAK,CAAC,YACNC,QAAS,CAAC,QACVC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,WAAY,GACZC,OAAQ,GACRC,KAAM,CAAC,QAAS,OAAQ,QACxBzhC,OAAQ,GACRse,GAAI,GACJojB,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJp6C,OAAQ,GACRq6C,GAAI,GACJ/nE,EAAG,GACHgoE,IAAK,CAAC,MAAO,MAAO,QAAS,QAAS,UACtCC,IAAK,CAAC,YACNC,GAAI,GACJC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJ1qB,EAAG,GACH2qB,IAAK,GACLpoB,EAAG,GACHhzB,QAAS,GACTq7C,MAAO,GACPC,KAAM,GACNlf,IAAK,GACLmf,QAAS,GACTC,IAAK,GACLC,OAAQ,GACRC,OAAQ,GACRC,MAAO,CAAC,QAAS,SAAU,QAAS,UACpCC,MAAO,CAAC,QAAS,UACjBC,GAAI,CAAC,QAAS,UAAW,UAAW,QAAS,UAC7CC,MAAO,CAAC,QAAS,UACjBC,GAAI,CAAC,QAAS,UAAW,UAAW,QAAS,UAC7CC,MAAO,CAAC,QAAS,UACjBC,GAAI,CAAC,UAAW,QAAS,UACzBC,GAAI,GACJ3hB,EAAG,GACH4hB,GAAI,GACJC,MAAO,CACL,WACA,WACA,cACA,OACA,QACA,cACA,SACA,UACA,MACA,SACA,UAKN,IAAIC,EAAmB,IAAIx/B,EAuD3B,SAASy/B,EAAW54C,GAClB,OAAOA,EAAKlZ,QAAQ+xD,EAAW,QAAQ/xD,QAAQgyD,EAAW,QAsE5D,IAAID,EAAY,KACZC,EAAY,KACZC,EAAe,KACfC,EAAiB,UACjBC,EAAsB,wBACtBC,EAA0B,cAC1BC,EAA4B,gBAE5BC,EAA+B,yFAG/BC,EAA+B,iDAC/BC,EAA+B,qBAQnC,SAASC,EAAY5pD,GACnB,OAAOA,EAAI7I,QAAQiyD,EAAc,UASnC,SAASS,EAAc7pD,GACrB,OAAOA,EAAI7I,QAAQkyD,EAAgB,KASrC,SAASS,EAAmB9pD,GAC1B,OAAOA,EAAI7I,QAAQmyD,GAAqB,SAAwBtpD,EAAKnI,GACnE,MAAmB,MAAZA,EAAK,IAA0B,MAAZA,EAAK,GAC3BxN,OAAO48C,aAAa7tB,SAASvhB,EAAKoG,OAAO,GAAI,KAC7C5T,OAAO48C,aAAa7tB,SAASvhB,EAAM,QAU3C,SAASkyD,EAA0B/pD,GACjC,OAAOA,EACJ7I,QAAQoyD,EAAyB,KACjCpyD,QAAQqyD,EAA2B,KASxC,SAASQ,EAA2BhqD,GAElC,IADA,IAAIiqD,EAAO,GACFxqE,EAAI,EAAGD,EAAMwgB,EAAIrhB,OAAQc,EAAID,EAAKC,IACzCwqE,GAAQjqD,EAAIG,WAAW1gB,GAAK,GAAK,IAAMugB,EAAIvC,OAAOhe,GAEpD,OAAOmtB,EAAEhS,KAAKqvD,GAShB,SAASC,EAAkBlqD,GAKzB,OADAA,EAAMgqD,EADNhqD,EAAM+pD,EADN/pD,EAAM8pD,EADN9pD,EAAM6pD,EAAc7pD,MAatB,SAASmqD,EAAgBnqD,GAGvB,OADAA,EAAMipD,EADNjpD,EAAM4pD,EAAY5pD,IA6EpB,IAAIoqD,EAA2B,mBAsB/Bx6D,EAAQokB,UA3ZC,CACL7vB,EAAG,CAAC,SAAU,OAAQ,SACtBuhE,KAAM,CAAC,SACPC,QAAS,GACThoB,KAAM,CAAC,QAAS,SAAU,OAAQ,OAClCioB,QAAS,GACTC,MAAO,GACPC,MAAO,CACL,WACA,WACA,cACA,OACA,QACA,UACA,OAEF1hE,EAAG,GACH2hE,IAAK,CAAC,OACNC,IAAK,CAAC,OACNC,IAAK,GACLC,WAAY,CAAC,QACbC,GAAI,GACJC,QAAS,GACTC,OAAQ,GACRC,KAAM,GACNzuD,KAAM,GACN0uD,IAAK,CAAC,QAAS,SAAU,OAAQ,SACjCC,SAAU,CAAC,QAAS,SAAU,OAAQ,SACtCC,GAAI,GACJC,IAAK,CAAC,YACNC,QAAS,CAAC,QACVC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,WAAY,GACZC,OAAQ,GACRC,KAAM,CAAC,QAAS,OAAQ,QACxBzhC,OAAQ,GACRse,GAAI,GACJojB,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJp6C,OAAQ,GACRq6C,GAAI,GACJ/nE,EAAG,GACHgoE,IAAK,CAAC,MAAO,MAAO,QAAS,QAAS,UACtCC,IAAK,CAAC,YACNC,GAAI,GACJC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJ1qB,EAAG,GACH2qB,IAAK,GACLpoB,EAAG,GACHhzB,QAAS,GACTq7C,MAAO,GACPC,KAAM,GACNlf,IAAK,GACLmf,QAAS,GACTC,IAAK,GACLC,OAAQ,GACRC,OAAQ,GACRC,MAAO,CAAC,QAAS,SAAU,QAAS,UACpCC,MAAO,CAAC,QAAS,UACjBC,GAAI,CAAC,QAAS,UAAW,UAAW,QAAS,UAC7CC,MAAO,CAAC,QAAS,UACjBC,GAAI,CAAC,QAAS,UAAW,UAAW,QAAS,UAC7CC,MAAO,CAAC,QAAS,UACjBC,GAAI,CAAC,UAAW,QAAS,UACzBC,GAAI,GACJ3hB,EAAG,GACH4hB,GAAI,GACJC,MAAO,CACL,WACA,WACA,cACA,OACA,QACA,cACA,SACA,UACA,MACA,SACA,UAsUNn5D,EAAQs6B,oBAAsBA,EAC9Bt6B,EAAQy6D,MAxTR,SAAen2C,EAAK7D,EAAM/Y,KAyT1B1H,EAAQ06D,YA7SR,SAAqBp2C,EAAK7D,EAAM/Y,KA8ShC1H,EAAQ26D,UAlSR,SAAmBr2C,EAAK3zB,EAAMpB,KAmS9ByQ,EAAQ46D,gBAvRR,SAAyBt2C,EAAK3zB,EAAMpB,KAwRpCyQ,EAAQi6B,cAlQR,SAAuB3V,EAAK3zB,EAAMpB,EAAOsrE,GAIvC,GAFAtrE,EAAQ+qE,EAAkB/qE,GAEb,SAAToB,GAA4B,QAATA,EAAgB,CAIrC,GAAc,OADdpB,EAAQytB,EAAEhS,KAAKzb,IACI,MAAO,IAC1B,GAE2B,YAAvBA,EAAM8e,OAAO,EAAG,IACO,aAAvB9e,EAAM8e,OAAO,EAAG,IACO,YAAvB9e,EAAM8e,OAAO,EAAG,IACO,SAAvB9e,EAAM8e,OAAO,EAAG,IACQ,gBAAxB9e,EAAM8e,OAAO,EAAG,KACO,WAAvB9e,EAAM8e,OAAO,EAAG,IACO,OAAvB9e,EAAM8e,OAAO,EAAG,IACO,QAAvB9e,EAAM8e,OAAO,EAAG,IACH,MAAb9e,EAAM,IACO,MAAbA,EAAM,GAGR,MAAO,QAEJ,GAAa,eAAToB,GAIT,GADAkpE,EAA6BiB,UAAY,EACrCjB,EAA6BhpE,KAAKtB,GACpC,MAAO,QAEJ,GAAa,UAAToB,EAAkB,CAG3B,GADAmpE,EAA6BgB,UAAY,EACrChB,EAA6BjpE,KAAKtB,GACpC,MAAO,GAIT,GADAwqE,EAA6Be,UAAY,EACrCf,EAA6BlpE,KAAKtB,KACpCsqE,EAA6BiB,UAAY,EACrCjB,EAA6BhpE,KAAKtB,IACpC,MAAO,IAGO,IAAdsrE,IAEFtrE,GADAsrE,EAAYA,GAAazB,GACPpvD,QAAQza,IAM9B,OADAA,EAAQgrE,EAAgBhrE,IA8M1ByQ,EAAQq5D,WAAaA,EACrBr5D,EAAQg6D,YAAcA,EACtBh6D,EAAQi6D,cAAgBA,EACxBj6D,EAAQk6D,mBAAqBA,EAC7Bl6D,EAAQm6D,0BAA4BA,EACpCn6D,EAAQo6D,2BAA6BA,EACrCp6D,EAAQs6D,kBAAoBA,EAC5Bt6D,EAAQu6D,gBAAkBA,EAC1Bv6D,EAAQ+6D,oBA1GR,WACE,MAAO,IA0GT/6D,EAAQg7D,aAhGR,SAAsBC,EAAMhqE,GACN,mBAATA,IACTA,EAAO,cAGT,IAAIiqE,GAAkBjsE,MAAMoB,QAAQ4qE,GAMhCE,EAAa,GACbC,GAAW,EAEf,MAAO,CACLV,YAAa,SAAUp2C,EAAK7D,EAAM/Y,GAChC,GAVJ,SAAqB4c,GACnB,QAAI42C,IAC6B,IAA1Bl+C,EAAE5pB,QAAQ6nE,EAAM32C,GAQjB+2C,CAAY/2C,GAAM,CACpB,GAAI5c,EAAQ4zD,UAAW,CACrB,IAAIzhC,EAAM,aACN0hC,EAAM7zD,EAAQ9T,SAAWimC,EAAI9qC,OAMjC,OALAosE,EAAWrmE,KAAK,EACD,IAAbsmE,EAAqBA,EAAW1zD,EAAQ9T,SACxC2nE,IAEFH,GAAW,EACJvhC,EAKP,OAHKuhC,IACHA,EAAW1zD,EAAQ9T,UAEd,YAGT,OAAO3C,EAAKqzB,EAAK7D,EAAM/Y,IAG3BkF,OAAQ,SAAU6T,GAChB,IAAI+6C,EAAU,GACV5gC,EAAU,EAMd,OALA5d,EAAE3oB,QAAQ8mE,GAAY,SAAUjM,GAC9BsM,GAAW/6C,EAAKhwB,MAAMmqC,EAASs0B,EAAI,IACnCt0B,EAAUs0B,EAAI,MAEhBsM,GAAW/6C,EAAKhwB,MAAMmqC,MAsD5B56B,EAAQy7D,gBA1CR,SAAyBh7C,GACvB,OAAOA,EAAKlZ,QAAQizD,EAA0B,KA0ChDx6D,EAAQ07D,eAhCR,SAAwBj7C,GACtB,IAAIk7C,EAAQl7C,EAAKtS,MAAM,IAUvB,OATAwtD,EAAQA,EAAMxsE,QAAO,SAAUysE,GAC7B,IAAI/1D,EAAI+1D,EAAKrrD,WAAW,GACxB,OAAU,MAAN1K,MACAA,GAAK,MACG,KAANA,GAAkB,KAANA,QAKPxW,KAAK,KAsBpB2Q,EAAQ66D,UAAYzB,EACpBp5D,EAAQ61D,uBAAyBA,kBCpbjC,IAAIp8B,EAAU,EAAQ,MAClB9uB,EAAS,EAAQ,MACjBkxD,EAAY,EAAQ,MASxB,SAASC,EAAUr7C,EAAM/Y,GAEvB,OADU,IAAIm0D,EAAUn0D,GACbsC,QAAQyW,GAMrB,IAAK,IAAI5wB,KAHTmQ,EAAUD,EAAOC,QAAU87D,GACnBA,UAAYA,EACpB97D,EAAQ67D,UAAYA,EACNpiC,EAASz5B,EAAQnQ,GAAK4pC,EAAQ5pC,GAC5C,IAAK,IAAIA,KAAK8a,EAAQ3K,EAAQnQ,GAAK8a,EAAO9a,GAGpB,oBAAXoF,SACTA,OAAO6mE,UAAY/7D,EAAOC,SAMR,oBAAT0iD,MAC+B,oBAA/BqZ,4BACPrZ,gBAAgBqZ,6BAIlBrZ,KAAKoZ,UAAY/7D,EAAOC,yBCpC1B,IAAIgd,EAAI,EAAQ,MAQhB,SAASg/C,EAAWv7C,GAClB,IAAI5wB,EAAImtB,EAAEi/C,WAAWx7C,GACrB,IAAW,IAAP5wB,EACF,IAAIqsE,EAAUz7C,EAAKhwB,MAAM,GAAI,QAEzByrE,EAAUz7C,EAAKhwB,MAAM,EAAGZ,EAAI,GAKlC,MAF4B,OAD5BqsE,EAAUl/C,EAAEhS,KAAKkxD,GAASv4D,eACdlT,MAAM,EAAG,KAAYyrE,EAAUA,EAAQzrE,MAAM,IAC/B,MAAtByrE,EAAQzrE,OAAO,KAAYyrE,EAAUA,EAAQzrE,MAAM,GAAI,IACpDyrE,EAST,SAASZ,EAAU76C,GACjB,MAA4B,OAArBA,EAAKhwB,MAAM,EAAG,GAgFvB,IAAI0rE,EAA2B,wBA8F/B,SAASC,EAAchsD,EAAKvgB,GAC1B,KAAOA,EAAIugB,EAAIrhB,OAAQc,IAAK,CAC1B,IAAIgW,EAAIuK,EAAIvgB,GACZ,GAAU,MAANgW,EACJ,MAAU,MAANA,EAAkBhW,GACd,GAIZ,SAASwsE,EAAgBjsD,EAAKvgB,GAC5B,KAAOA,EAAI,EAAGA,IAAK,CACjB,IAAIgW,EAAIuK,EAAIvgB,GACZ,GAAU,MAANgW,EACJ,MAAU,MAANA,EAAkBhW,GACd,GAeZ,SAASysE,EAAejzC,GACtB,OAZF,SAA2BA,GACzB,MACe,MAAZA,EAAK,IAAwC,MAA1BA,EAAKA,EAAKt6B,OAAS,IAC1B,MAAZs6B,EAAK,IAAwC,MAA1BA,EAAKA,EAAKt6B,OAAS,GASrCwtE,CAAkBlzC,GACbA,EAAKhb,OAAO,EAAGgb,EAAKt6B,OAAS,GAE7Bs6B,EAIXrpB,EAAQw8D,SAxMR,SAAkB/7C,EAAMg6C,EAAOpB,GAC7B,aAEA,IAAImC,EAAU,GACV5gC,EAAU,EACV6hC,GAAW,EACXC,GAAa,EACbC,EAAa,EACb/sE,EAAM6wB,EAAK1xB,OACX6tE,EAAiB,GACjBC,EAAc,GAElBC,EAAc,IAAKH,EAAa,EAAGA,EAAa/sE,EAAK+sE,IAAc,CACjE,IAAI92D,EAAI4a,EAAK5S,OAAO8uD,GACpB,IAAiB,IAAbF,GACF,GAAU,MAAN52D,EAAW,CACb42D,EAAWE,EACX,eAGF,IAAmB,IAAfD,EAAsB,CACxB,GAAU,MAAN72D,EAAW,CACb21D,GAAWnC,EAAW54C,EAAKhwB,MAAMmqC,EAAS+hC,IAC1CF,EAAWE,EACX/hC,EAAU+hC,EACV,SAEF,GAAU,MAAN92D,EAAW,CACb21D,GAAWnC,EAAW54C,EAAKhwB,MAAMmqC,EAAS6hC,IAE1CG,EAAiBZ,EADjBa,EAAcp8C,EAAKhwB,MAAMgsE,EAAUE,EAAa,IAEhDnB,GAAWf,EACTgC,EACAjB,EAAQzsE,OACR6tE,EACAC,EACAvB,EAAUuB,IAEZjiC,EAAU+hC,EAAa,EACvBF,GAAW,EACX,SAEF,GAAU,MAAN52D,GAAmB,MAANA,EAIf,IAHA,IAAIhW,EAAI,EACJktE,EAAKt8C,EAAK5S,OAAO8uD,EAAa9sE,GAEb,KAAdktE,EAAG/xD,QAAwB,MAAP+xD,GAAY,CACrC,GAAW,MAAPA,EAAY,CACdL,EAAa72D,EACb,SAASi3D,EAEXC,EAAKt8C,EAAK5S,OAAO8uD,IAAe9sE,SAIpC,GAAIgW,IAAM62D,EAAY,CACpBA,GAAa,EACb,UASR,OAJI9hC,EAAUna,EAAK1xB,SACjBysE,GAAWnC,EAAW54C,EAAKpS,OAAOusB,KAG7B4gC,GAuITx7D,EAAQg9D,UA3HR,SAAmBv8C,EAAMsZ,GACvB,aAEA,IAAIa,EAAU,EACVqiC,EAAW,GACXC,GAAU,EACVttE,EAAM6wB,EAAK1xB,OAEf,SAASouE,EAAQxsE,EAAMpB,GAGrB,MADAoB,GADAA,EAAOqsB,EAAEhS,KAAKra,IACF4W,QAAQ40D,EAA0B,IAAIx4D,eACzC5U,OAAS,GAAlB,CACA,IAAI8qC,EAAME,EAAOppC,EAAMpB,GAAS,IAC5BsqC,GAAKojC,EAASnoE,KAAK+kC,IAIzB,IAAK,IAAIhqC,EAAI,EAAGA,EAAID,EAAKC,IAAK,CAC5B,IACOkrC,EADHl1B,EAAI4a,EAAK5S,OAAOhe,GAEpB,IAAgB,IAAZqtE,GAA2B,MAANr3D,EAKzB,IAAgB,IAAZq3D,GAEArtE,IAAM+qC,GACC,MAAN/0B,GAAmB,MAANA,GACS,MAAvB4a,EAAK5S,OAAOhe,EAAI,GAepB,GAAI,WAAWgB,KAAKgV,GAApB,CAEE,GADA4a,EAAOA,EAAKlZ,QAAQ,YAAa,MACjB,IAAZ21D,EAAmB,CAErB,IAAW,KADXniC,EAAIqhC,EAAc37C,EAAM5wB,IACV,CAEZstE,EADIngD,EAAEhS,KAAKyV,EAAKhwB,MAAMmqC,EAAS/qC,KAE/BqtE,GAAU,EACVtiC,EAAU/qC,EAAI,EACd,SAEAA,EAAIkrC,EAAI,EACR,SAIF,IAAW,KADXA,EAAIshC,EAAgB57C,EAAM5wB,EAAI,IAChB,CAGZstE,EAAQD,EADJZ,EADAt/C,EAAEhS,KAAKyV,EAAKhwB,MAAMmqC,EAAS/qC,MAG/BqtE,GAAU,EACVtiC,EAAU/qC,EAAI,EACd,mBAzCN,CAOI,IAAW,KADXkrC,EAAIta,EAAKrtB,QAAQyS,EAAGhW,EAAI,IAEtB,MAGAstE,EAAQD,EADJlgD,EAAEhS,KAAKyV,EAAKhwB,MAAMmqC,EAAU,EAAGG,KAEnCmiC,GAAU,EAEVtiC,GADA/qC,EAAIkrC,GACU,OAlBlBmiC,EAAUz8C,EAAKhwB,MAAMmqC,EAAS/qC,GAC9B+qC,EAAU/qC,EAAI,EA4DlB,OARI+qC,EAAUna,EAAK1xB,UACD,IAAZmuE,EACFC,EAAQ18C,EAAKhwB,MAAMmqC,IAEnBuiC,EAAQD,EAASZ,EAAet/C,EAAEhS,KAAKyV,EAAKhwB,MAAMmqC,OAI/C5d,EAAEhS,KAAKiyD,EAAS5tE,KAAK,iBC7M9B0Q,EAAOC,QAAU,CACf5M,QAAS,SAAUzD,EAAKwrB,GACtB,IAAItrB,EAAGkrC,EACP,GAAI9rC,MAAMuB,UAAU4C,QAClB,OAAOzD,EAAIyD,QAAQ+nB,GAErB,IAAKtrB,EAAI,EAAGkrC,EAAIprC,EAAIZ,OAAQc,EAAIkrC,EAAGlrC,IACjC,GAAIF,EAAIE,KAAOsrB,EACb,OAAOtrB,EAGX,OAAQ,GAEVwE,QAAS,SAAU1E,EAAKiM,EAAIo/B,GAC1B,IAAInrC,EAAGkrC,EACP,GAAI9rC,MAAMuB,UAAU6D,QAClB,OAAO1E,EAAI0E,QAAQuH,EAAIo/B,GAEzB,IAAKnrC,EAAI,EAAGkrC,EAAIprC,EAAIZ,OAAQc,EAAIkrC,EAAGlrC,IACjC+L,EAAGnM,KAAKurC,EAAOrrC,EAAIE,GAAIA,EAAGF,IAG9Bqb,KAAM,SAAUoF,GACd,OAAI3V,OAAOjK,UAAUwa,KACZoF,EAAIpF,OAENoF,EAAI7I,QAAQ,iBAAkB,KAEvC00D,WAAY,SAAU7rD,GACpB,IACI3D,EADM,WACM0gD,KAAK/8C,GACrB,OAAO3D,EAAQA,EAAM7W,OAAS,oBCzBlC,IAAIgkC,EAAY,kBACZH,EAAU,EAAQ,MAClB9uB,EAAS,EAAQ,MACjB6xD,EAAW7xD,EAAO6xD,SAClBQ,EAAYryD,EAAOqyD,UACnBhgD,EAAI,EAAQ,MAQhB,SAAS2c,EAAOhqB,GACd,OAAOA,MAAAA,EAmDT,SAASksD,EAAUn0D,IACjBA,EAlBF,SAA2BiI,GACzB,IAAIkqB,EAAM,GACV,IAAK,IAAIhqC,KAAK8f,EACZkqB,EAAIhqC,GAAK8f,EAAI9f,GAEf,OAAOgqC,EAaGC,CAAkBpyB,GAAW,KAE3B01D,iBACN11D,EAAQgzD,aACVrrD,QAAQje,MACN,2FAGJsW,EAAQgzD,YAAcjhC,EAAQshC,qBAGhCrzD,EAAQ0c,UAAY1c,EAAQ0c,WAAaqV,EAAQrV,UACjD1c,EAAQ+yD,MAAQ/yD,EAAQ+yD,OAAShhC,EAAQghC,MACzC/yD,EAAQizD,UAAYjzD,EAAQizD,WAAalhC,EAAQkhC,UACjDjzD,EAAQgzD,YAAchzD,EAAQgzD,aAAejhC,EAAQihC,YACrDhzD,EAAQkzD,gBAAkBlzD,EAAQkzD,iBAAmBnhC,EAAQmhC,gBAC7DlzD,EAAQuyB,cAAgBvyB,EAAQuyB,eAAiBR,EAAQQ,cACzDvyB,EAAQ2xD,WAAa3xD,EAAQ2xD,YAAc5/B,EAAQ4/B,WACnD9mE,KAAKmV,QAAUA,GAEK,IAAhBA,EAAQwyB,IACV3nC,KAAKsoE,WAAY,GAEjBnzD,EAAQwyB,IAAMxyB,EAAQwyB,KAAO,GAC7B3nC,KAAKsoE,UAAY,IAAIjhC,EAAUlyB,EAAQwyB,MAU3C2hC,EAAUrrE,UAAUwZ,QAAU,SAAUyW,GAItC,KADAA,GADAA,EAAOA,GAAQ,IACHjxB,YACD,MAAO,GAElB,IACIkY,EADKnV,KACQmV,QACb0c,EAAY1c,EAAQ0c,UACpBq2C,EAAQ/yD,EAAQ+yD,MAChBC,EAAchzD,EAAQgzD,YACtBC,EAAYjzD,EAAQizD,UACpBC,EAAkBlzD,EAAQkzD,gBAC1B3gC,EAAgBvyB,EAAQuyB,cACxBo/B,EAAa3xD,EAAQ2xD,WACrBwB,EATKtoE,KASUsoE,UAGfnzD,EAAQg0D,iBACVj7C,EAAOgZ,EAAQiiC,eAAej7C,IAI3B/Y,EAAQ21D,kBACX58C,EAAOgZ,EAAQgiC,gBAAgBh7C,IAIjC,IAAI68C,GAAqB,EACzB,GAAI51D,EAAQ41D,mBAAoB,CAC1BA,EAAqB7jC,EAAQuhC,aAC/BtzD,EAAQ41D,mBACR5C,GAEFA,EAAc4C,EAAmB5C,YAGnC,IAAI6C,EAAUf,EACZ/7C,GACA,SAAU0Z,EAAgBvmC,EAAU0wB,EAAK7D,EAAM66C,GAC7C,IAgDMzhC,EAhDF2jC,EAAO,CACTrjC,eAAgBA,EAChBvmC,SAAUA,EACV0nE,UAAWA,EACXjhC,QAASjW,EAAU/xB,eAAeiyB,IAKpC,IAAKqV,EADDE,EAAM4gC,EAAMn2C,EAAK7D,EAAM+8C,IACT,OAAO3jC,EAEzB,GAAI2jC,EAAKnjC,QAAS,CAChB,GAAImjC,EAAKlC,UACP,MAAO,KAAOh3C,EAAM,IAGtB,IAAIm5C,EAnIZ,SAAkBh9C,GAChB,IAAI5wB,EAAImtB,EAAEi/C,WAAWx7C,GACrB,IAAW,IAAP5wB,EACF,MAAO,CACL4wB,KAAM,GACNi9C,QAAmC,MAA1Bj9C,EAAKA,EAAK1xB,OAAS,IAIhC,IAAIusE,EAAsC,OAD1C76C,EAAOzD,EAAEhS,KAAKyV,EAAKhwB,MAAMZ,EAAI,GAAI,KACZ4wB,EAAK1xB,OAAS,GAEnC,OADIusE,IAAW76C,EAAOzD,EAAEhS,KAAKyV,EAAKhwB,MAAM,GAAI,KACrC,CACLgwB,KAAMA,EACNi9C,QAASpC,GAsHOqC,CAASl9C,GACjBm9C,EAAgBx5C,EAAUE,GAC1Bu5C,EAAYb,EAAUS,EAAMh9C,MAAM,SAAU9vB,EAAMpB,GAEpD,IAcMsqC,EAdFikC,GAAkD,IAApC9gD,EAAE5pB,QAAQwqE,EAAejtE,GAE3C,OAAKgpC,EADDE,EAAM8gC,EAAUr2C,EAAK3zB,EAAMpB,EAAOuuE,IAGlCA,GAEFvuE,EAAQ0qC,EAAc3V,EAAK3zB,EAAMpB,EAAOsrE,IAE/BlqE,EAAO,KAAOpB,EAAQ,IAEtBoB,EAKJgpC,EADDE,EAAM+gC,EAAgBt2C,EAAK3zB,EAAMpB,EAAOuuE,SAE5C,EADyBjkC,EAbFA,KAmBvBpZ,EAAO,IAAM6D,EAIjB,OAHIu5C,IAAWp9C,GAAQ,IAAMo9C,GACzBJ,EAAMC,UAASj9C,GAAQ,MAC3BA,GAAQ,IAKR,OAAKkZ,EADDE,EAAM6gC,EAAYp2C,EAAK7D,EAAM+8C,IAE1BnE,EAAW54C,GADOoZ,IAI7Bw/B,GAQF,OAJIiE,IACFC,EAAUD,EAAmB1wD,OAAO2wD,IAG/BA,GAGTx9D,EAAOC,QAAU67D,k0PCjNbkC,EAA2B,GAG/B,SAASC,EAAoBnM,GAE5B,IAAIoM,EAAeF,EAAyBlM,GAC5C,QAAqBp8D,IAAjBwoE,EACH,OAAOA,EAAaj+D,QAGrB,IAAID,EAASg+D,EAAyBlM,GAAY,CAGjD7xD,QAAS,IAOV,OAHAk+D,EAAoBrM,GAAUpiE,KAAKsQ,EAAOC,QAASD,EAAQA,EAAOC,QAASg+D,GAGpEj+D,EAAOC,QCpBfg+D,EAAoBjoD,EAAI,CAAC/V,EAASm+D,KACjC,IAAI,IAAI/rE,KAAO+rE,EACXH,EAAoBhuE,EAAEmuE,EAAY/rE,KAAS4rE,EAAoBhuE,EAAEgQ,EAAS5N,IAC5EzE,OAAO2uD,eAAet8C,EAAS5N,EAAK,CAAEkrD,YAAY,EAAM/nD,IAAK4oE,EAAW/rE,MCJ3E4rE,EAAoBhuE,EAAI,CAAC2f,EAAK9a,IAAUlH,OAAO6C,UAAU6B,eAAe5C,KAAKkgB,EAAK9a,GCClFmpE,EAAoB12B,EAAKtnC,IACH,oBAAX7P,QAA0BA,OAAOiuE,aAC1CzwE,OAAO2uD,eAAet8C,EAAS7P,OAAOiuE,YAAa,CAAE7uE,MAAO,WAE7D5B,OAAO2uD,eAAet8C,EAAS,aAAc,CAAEzQ,OAAO,KCFvD,IAAI8uE,EAAsBL,EAAoB","sources":["webpack://QPPStyle/./node_modules/@reach/portal/dist/reach-portal.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","webpack://QPPStyle/./node_modules/@reach/auto-id/dist/reach-auto-id.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/owner-document/dist/reach-utils-owner-document.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","webpack://QPPStyle/./node_modules/@reach/visually-hidden/dist/reach-visually-hidden.esm.js","webpack://QPPStyle/./node_modules/@reach/observe-rect/dist/observe-rect.esm.js","webpack://QPPStyle/./node_modules/@reach/rect/dist/reach-rect.esm.js","webpack://QPPStyle/./node_modules/@reach/tooltip/dist/reach-tooltip.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/get-document-dimensions/dist/reach-utils-get-document-dimensions.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js","webpack://QPPStyle/./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","webpack://QPPStyle/./node_modules/axios/index.js","webpack://QPPStyle/./node_modules/axios/lib/adapters/xhr.js","webpack://QPPStyle/./node_modules/axios/lib/axios.js","webpack://QPPStyle/./node_modules/axios/lib/cancel/Cancel.js","webpack://QPPStyle/./node_modules/axios/lib/cancel/CancelToken.js","webpack://QPPStyle/./node_modules/axios/lib/cancel/isCancel.js","webpack://QPPStyle/./node_modules/axios/lib/core/Axios.js","webpack://QPPStyle/./node_modules/axios/lib/core/InterceptorManager.js","webpack://QPPStyle/./node_modules/axios/lib/core/buildFullPath.js","webpack://QPPStyle/./node_modules/axios/lib/core/createError.js","webpack://QPPStyle/./node_modules/axios/lib/core/dispatchRequest.js","webpack://QPPStyle/./node_modules/axios/lib/core/enhanceError.js","webpack://QPPStyle/./node_modules/axios/lib/core/mergeConfig.js","webpack://QPPStyle/./node_modules/axios/lib/core/settle.js","webpack://QPPStyle/./node_modules/axios/lib/core/transformData.js","webpack://QPPStyle/./node_modules/axios/lib/defaults.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/bind.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/buildURL.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/combineURLs.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/cookies.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/spread.js","webpack://QPPStyle/./node_modules/axios/lib/helpers/validator.js","webpack://QPPStyle/./node_modules/axios/lib/utils.js","webpack://QPPStyle/./components/Accordion/index.jsx","webpack://QPPStyle/./components/Error/Collapsible.jsx","webpack://QPPStyle/./components/Error/ErrorUI.jsx","webpack://QPPStyle/./components/Error/error.js","webpack://QPPStyle/./components/Footer/FooterUI.jsx","webpack://QPPStyle/./components/Footer/LegacyFooterUI.jsx","webpack://QPPStyle/./components/Footer/SocialLinks.jsx","webpack://QPPStyle/./components/Footer/Subscribe.jsx","webpack://QPPStyle/./components/Footer/footer.js","webpack://QPPStyle/./components/Header/HeaderAccountMenu.jsx","webpack://QPPStyle/./components/Header/HeaderCancel.jsx","webpack://QPPStyle/./components/Header/HeaderContainer.jsx","webpack://QPPStyle/./components/Header/HeaderLogo.jsx","webpack://QPPStyle/./components/Header/HeaderMenuButton.js","webpack://QPPStyle/./components/Header/HeaderMenuItem.jsx","webpack://QPPStyle/./components/Header/HeaderMenuLink.js","webpack://QPPStyle/./components/Header/HeaderMenuSignOutButton.js","webpack://QPPStyle/./components/Header/HeaderMobileButton.js","webpack://QPPStyle/./components/Header/HeaderUI.jsx","webpack://QPPStyle/./components/Header/HelpIcon.jsx","webpack://QPPStyle/./components/Header/NavigationButtonIcon.jsx","webpack://QPPStyle/./components/Header/header.js","webpack://QPPStyle/./components/Header/hooks.js","webpack://QPPStyle/./components/Header/utag-helpers.js","webpack://QPPStyle/./components/Infotip/Infotip.jsx","webpack://QPPStyle/./components/Infotip/InfotipIcon.jsx","webpack://QPPStyle/./components/Modal/LegacyModal.jsx","webpack://QPPStyle/./components/Modal/Modal.jsx","webpack://QPPStyle/./components/Modal/index.jsx","webpack://QPPStyle/./components/NotificationBanner/index.js","webpack://QPPStyle/./components/SanitizedContent/index.jsx","webpack://QPPStyle/./components/SessionDialog/sessionDialog.js","webpack://QPPStyle/./components/SessionDialogUI.jsx","webpack://QPPStyle/./components/SideNav/AnimationGroup/AnimationGroup.jsx","webpack://QPPStyle/./components/SideNav/Chart/ScoreChart.jsx","webpack://QPPStyle/./components/SideNav/Chart/index.js","webpack://QPPStyle/./components/SideNav/Content/LevelOneContent.jsx","webpack://QPPStyle/./components/SideNav/Content/LevelTwoContent.jsx","webpack://QPPStyle/./components/SideNav/Content/index.js","webpack://QPPStyle/./components/SideNav/Details/IndividualDetails.jsx","webpack://QPPStyle/./components/SideNav/Details/PracticeDetails.jsx","webpack://QPPStyle/./components/SideNav/Details/index.js","webpack://QPPStyle/./components/SideNav/Links/CmsSwitchLink.jsx","webpack://QPPStyle/./components/SideNav/Links/NavItemInline.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkContainer.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkDrawer.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkInline.jsx","webpack://QPPStyle/./components/SideNav/Links/NavLinkToggle.jsx","webpack://QPPStyle/./components/SideNav/Links/index.js","webpack://QPPStyle/./components/SideNav/UI/SideNavUI.jsx","webpack://QPPStyle/./components/SideNav/UI/index.js","webpack://QPPStyle/./components/SideNav/helpers.js","webpack://QPPStyle/./components/SideNav/index.js","webpack://QPPStyle/./components/Tooltip/Tooltip.jsx","webpack://QPPStyle/./components/Tooltip/index.js","webpack://QPPStyle/./components/Tooltip/position.js","webpack://QPPStyle/./components/hooks/useGetConfig.js","webpack://QPPStyle/./index.js","webpack://QPPStyle/./lib/Chevron.jsx","webpack://QPPStyle/./lib/SvgComponents.jsx","webpack://QPPStyle/./session/index.js","webpack://QPPStyle/./session/logout.js","webpack://QPPStyle/./session/refresh.js","webpack://QPPStyle/./session/ttl.js","webpack://QPPStyle/./node_modules/classnames/index.js","webpack://QPPStyle/./node_modules/cookie/index.js","webpack://QPPStyle/./node_modules/cssfilter/lib/css.js","webpack://QPPStyle/./node_modules/cssfilter/lib/default.js","webpack://QPPStyle/./node_modules/cssfilter/lib/index.js","webpack://QPPStyle/./node_modules/cssfilter/lib/parser.js","webpack://QPPStyle/./node_modules/cssfilter/lib/util.js","webpack://QPPStyle/./node_modules/d3-selection/src/namespaces.js","webpack://QPPStyle/./node_modules/d3-selection/src/namespace.js","webpack://QPPStyle/./node_modules/d3-selection/src/creator.js","webpack://QPPStyle/./node_modules/d3-selection/src/selector.js","webpack://QPPStyle/./node_modules/d3-selection/src/selectorAll.js","webpack://QPPStyle/./node_modules/d3-selection/src/matcher.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/sparse.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/enter.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/data.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/sort.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/attr.js","webpack://QPPStyle/./node_modules/d3-selection/src/window.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/style.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/property.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/classed.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/text.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/html.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/raise.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/lower.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/insert.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/remove.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/clone.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/on.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/dispatch.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/index.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/select.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/selectAll.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/filter.js","webpack://QPPStyle/./node_modules/d3-selection/src/constant.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/exit.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/join.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/merge.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/order.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/call.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/nodes.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/node.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/size.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/empty.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/each.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/append.js","webpack://QPPStyle/./node_modules/d3-selection/src/selection/datum.js","webpack://QPPStyle/./node_modules/d3-selection/src/select.js","webpack://QPPStyle/./node_modules/d3-selection/src/create.js","webpack://QPPStyle/./node_modules/d3-selection/src/local.js","webpack://QPPStyle/./node_modules/d3-selection/src/sourceEvent.js","webpack://QPPStyle/./node_modules/d3-selection/src/point.js","webpack://QPPStyle/./node_modules/d3-selection/src/mouse.js","webpack://QPPStyle/./node_modules/d3-selection/src/selectAll.js","webpack://QPPStyle/./node_modules/d3-selection/src/touch.js","webpack://QPPStyle/./node_modules/d3-selection/src/touches.js","webpack://QPPStyle/./node_modules/d3-path/src/path.js","webpack://QPPStyle/./node_modules/d3-shape/src/constant.js","webpack://QPPStyle/./node_modules/d3-shape/src/math.js","webpack://QPPStyle/./node_modules/d3-shape/src/arc.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/linear.js","webpack://QPPStyle/./node_modules/d3-shape/src/point.js","webpack://QPPStyle/./node_modules/d3-shape/src/line.js","webpack://QPPStyle/./node_modules/d3-shape/src/area.js","webpack://QPPStyle/./node_modules/d3-shape/src/descending.js","webpack://QPPStyle/./node_modules/d3-shape/src/identity.js","webpack://QPPStyle/./node_modules/d3-shape/src/pie.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/radial.js","webpack://QPPStyle/./node_modules/d3-shape/src/lineRadial.js","webpack://QPPStyle/./node_modules/d3-shape/src/areaRadial.js","webpack://QPPStyle/./node_modules/d3-shape/src/pointRadial.js","webpack://QPPStyle/./node_modules/d3-shape/src/array.js","webpack://QPPStyle/./node_modules/d3-shape/src/link/index.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/circle.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/cross.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/diamond.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/star.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/square.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/triangle.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol/wye.js","webpack://QPPStyle/./node_modules/d3-shape/src/symbol.js","webpack://QPPStyle/./node_modules/d3-shape/src/noop.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/basis.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/basisClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/basisOpen.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/bundle.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/cardinal.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/cardinalClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/cardinalOpen.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/catmullRom.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/linearClosed.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/monotone.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/natural.js","webpack://QPPStyle/./node_modules/d3-shape/src/curve/step.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/none.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/none.js","webpack://QPPStyle/./node_modules/d3-shape/src/stack.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/expand.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/diverging.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/silhouette.js","webpack://QPPStyle/./node_modules/d3-shape/src/offset/wiggle.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/appearance.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/ascending.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/descending.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/insideOut.js","webpack://QPPStyle/./node_modules/d3-shape/src/order/reverse.js","webpack://QPPStyle/./node_modules/exenv/index.js","webpack://QPPStyle/./node_modules/jwt-decode/build/jwt-decode.esm.js","webpack://QPPStyle/./node_modules/preact/dist/preact.module.js","webpack://QPPStyle/./node_modules/preact/hooks/dist/hooks.module.js","webpack://QPPStyle/./node_modules/preact/compat/dist/compat.module.js","webpack://QPPStyle/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://QPPStyle/./node_modules/prop-types/index.js","webpack://QPPStyle/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://QPPStyle/./lib/svg-definitions.svg","webpack://QPPStyle/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://QPPStyle/./node_modules/react-modal/lib/components/Modal.js","webpack://QPPStyle/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/bodyTrap.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/classList.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/portalOpenInstances.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://QPPStyle/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://QPPStyle/./node_modules/react-modal/lib/index.js","webpack://QPPStyle/./node_modules/react-svg-inline/lib/index.js","webpack://QPPStyle/./node_modules/retry/index.js","webpack://QPPStyle/./node_modules/retry/lib/retry.js","webpack://QPPStyle/./node_modules/retry/lib/retry_operation.js","webpack://QPPStyle/./node_modules/warning/warning.js","webpack://QPPStyle/./node_modules/what-input/dist/what-input.js","webpack://QPPStyle/./node_modules/xss/lib/default.js","webpack://QPPStyle/./node_modules/xss/lib/index.js","webpack://QPPStyle/./node_modules/xss/lib/parser.js","webpack://QPPStyle/./node_modules/xss/lib/util.js","webpack://QPPStyle/./node_modules/xss/lib/xss.js","webpack://QPPStyle/webpack/bootstrap","webpack://QPPStyle/webpack/runtime/define property getters","webpack://QPPStyle/webpack/runtime/hasOwnProperty shorthand","webpack://QPPStyle/webpack/runtime/make namespace object","webpack://QPPStyle/webpack/startup"],"sourcesContent":["import { useRef, createElement } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { createPortal } from 'react-dom';\n\n/**\n * Welcome to @reach/portal!\n *\n * Creates and appends a DOM node to the end of `document.body` and renders a\n * React tree into it. Useful for rendering a natural React element hierarchy\n * with a different DOM hierarchy to prevent parent styles from clipping or\n * hiding content (for popovers, dropdowns, and modals).\n *\n * @see Docs https://reach.tech/portal\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/portal\n * @see React https://reactjs.org/docs/portals.html\n */\n/**\n * Portal\n *\n * @see Docs https://reach.tech/portal#portal\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? \"reach-portal\" : _ref$type;\n var mountNode = useRef(null);\n var portalNode = useRef(null);\n var forceUpdate = useForceUpdate();\n useIsomorphicLayoutEffect(function () {\n // This ref may be null when a hot-loader replaces components on the page\n if (!mountNode.current) return; // It's possible that the content of the portal has, itself, been portaled.\n // In that case, it's important to append to the correct document element.\n\n var ownerDocument = mountNode.current.ownerDocument;\n portalNode.current = ownerDocument == null ? void 0 : ownerDocument.createElement(type);\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate();\n return function () {\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, [type, forceUpdate]);\n return portalNode.current ? /*#__PURE__*/createPortal(children, portalNode.current) : /*#__PURE__*/createElement(\"span\", {\n ref: mountNode\n });\n};\n/**\n * @see Docs https://reach.tech/portal#portal-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Portal;\nexport { Portal };\n","import { useState, useCallback } from 'react';\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\nexport { useForceUpdate };\n","import { useState, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\n\nvar genId = function genId() {\n return ++id;\n};\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\n\nfunction useId(idFromProps) {\n /*\n * If this instance isn't part of the initial render, we don't have to do the\n * double render/patch-up dance. We can just generate the ID and return it.\n */\n var initialId = idFromProps || (serverHandoffComplete ? genId() : null);\n\n var _React$useState = useState(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n /*\n * Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n * rendering flicker, though it'll make the first render slower (unlikely\n * to matter, but you're welcome to measure your app and let us know if\n * it's a problem).\n */\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n /*\n * Flag all future uses of `useId` to skip the update dance. This is in\n * `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n * accidentally bail out of the patch-up dance prematurely.\n */\n serverHandoffComplete = true;\n }\n }, []);\n return id != null ? String(id) : undefined;\n}\n\nexport { useId };\n","import { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n\nexport { getOwnerDocument, getOwnerWindow };\n","/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\n\nexport { makeId };\n","/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\nexport { isBoolean, isFunction, isNumber, isString };\n","import { useCallback } from 'react';\nimport { isFunction } from '../../type-check/dist/reach-utils-type-check.esm.js';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useCallback(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, refs);\n}\n\nexport { assignRef, useComposedRefs };\n","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n","import { forwardRef, createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"as\", \"style\"];\n\n/**\n * VisuallyHidden\n *\n * Provides text for screen readers that is visually hidden.\n * It is the logical opposite of the `aria-hidden` attribute.\n */\nvar VisuallyHidden = /*#__PURE__*/forwardRef(function VisuallyHidden(_ref, ref) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"span\" : _ref$as,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return /*#__PURE__*/createElement(Comp, _extends({\n ref: ref,\n style: _extends({\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n }, style)\n }, props));\n});\n/**\n * @see Docs https://reach.tech/visually-hidden#visuallyhidden-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n VisuallyHidden.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default VisuallyHidden;\nexport { VisuallyHidden };\n","var props = [\"bottom\", \"height\", \"left\", \"right\", \"top\", \"width\"];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\n\nexport default observeRect;\n//# sourceMappingURL=observe-rect.esm.js.map\n","import { useRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport observeRect from '@reach/observe-rect';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { isBoolean, isFunction } from '@reach/utils/type-check';\nimport warning from 'tiny-warning';\n\n/**\n * Welcome to @reach/rect!\n *\n * Measures DOM elements (aka. bounding client rect).\n *\n * @see getBoundingClientRect https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect\n * @see Docs https://reach.tech/rect\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/rect\n */\n\n/**\n * Rect\n *\n * @param props\n */\n\nvar Rect = function Rect(_ref) {\n var onChange = _ref.onChange,\n _ref$observe = _ref.observe,\n observe = _ref$observe === void 0 ? true : _ref$observe,\n children = _ref.children;\n var ref = useRef(null);\n var rect = useRect(ref, {\n observe: observe,\n onChange: onChange\n });\n return children({\n ref: ref,\n rect: rect\n });\n};\n/**\n * @see Docs https://reach.tech/rect#rect-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Rect.displayName = \"Rect\";\n Rect.propTypes = {\n children: PropTypes.func.isRequired,\n observe: PropTypes.bool,\n onChange: PropTypes.func\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\n/**\n * useRect\n *\n * @param nodeRef\n * @param observe\n * @param onChange\n */\nfunction useRect(nodeRef, observeOrOptions, deprecated_onChange) {\n var observe;\n var onChange;\n\n if (isBoolean(observeOrOptions)) {\n observe = observeOrOptions;\n } else {\n var _observeOrOptions$obs;\n\n observe = (_observeOrOptions$obs = observeOrOptions == null ? void 0 : observeOrOptions.observe) != null ? _observeOrOptions$obs : true;\n onChange = observeOrOptions == null ? void 0 : observeOrOptions.onChange;\n }\n\n if (isFunction(deprecated_onChange)) {\n onChange = deprecated_onChange;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isBoolean(observeOrOptions), \"Passing `observe` as the second argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `observe` property as the second argument (`useRect(ref, { observe })`).\\n\" + \"See https://reach.tech/rect#userect-observe\") : void 0;\n }, [observeOrOptions]); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isFunction(deprecated_onChange), \"Passing `onChange` as the third argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `onChange` property as the second argument (`useRect(ref, { onChange })`).\\n\" + \"See https://reach.tech/rect#userect-onchange\") : void 0;\n }, [deprecated_onChange]);\n }\n\n var _React$useState = useState(nodeRef.current),\n element = _React$useState[0],\n setElement = _React$useState[1];\n\n var initialRectIsSet = useRef(false);\n var initialRefIsSet = useRef(false);\n\n var _React$useState2 = useState(null),\n rect = _React$useState2[0],\n setRect = _React$useState2[1];\n\n var onChangeRef = useRef(onChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n useIsomorphicLayoutEffect(function () {\n onChangeRef.current = onChange;\n\n if (nodeRef.current !== element) {\n setElement(nodeRef.current);\n }\n });\n useIsomorphicLayoutEffect(function () {\n if (element && !initialRectIsSet.current) {\n initialRectIsSet.current = true;\n setRect(element.getBoundingClientRect());\n }\n }, [element]);\n useIsomorphicLayoutEffect(function () {\n if (!observe) {\n return;\n }\n\n var elem = element; // State initializes before refs are placed, meaning the element state will\n // be undefined on the first render. We still want the rect on the first\n // render, so initially we'll use the nodeRef that was passed instead of\n // state for our measurements.\n\n if (!initialRefIsSet.current) {\n initialRefIsSet.current = true;\n elem = nodeRef.current;\n }\n\n if (!elem) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"You need to place the ref\");\n }\n\n return;\n }\n\n var observer = observeRect(elem, function (rect) {\n onChangeRef.current == null ? void 0 : onChangeRef.current(rect);\n setRect(rect);\n });\n observer.observe();\n return function () {\n observer.unobserve();\n };\n }, [observe, element, nodeRef]);\n return rect;\n}\n\nexport default Rect;\nexport { Rect, useRect };\n","import { useState, useRef, useEffect, forwardRef, Children, createElement, Fragment, cloneElement } from 'react';\nimport { useId } from '@reach/auto-id';\nimport { getDocumentDimensions } from '@reach/utils/get-document-dimensions';\nimport { getOwnerDocument } from '@reach/utils/owner-document';\nimport { makeId } from '@reach/utils/make-id';\nimport { useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { Portal } from '@reach/portal';\nimport { VisuallyHidden } from '@reach/visually-hidden';\nimport { useRect } from '@reach/rect';\nimport warning from 'tiny-warning';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"children\", \"label\", \"ariaLabel\", \"id\", \"DEBUG_STYLE\"],\n _excluded2 = [\"label\", \"ariaLabel\", \"isVisible\", \"id\"],\n _excluded3 = [\"ariaLabel\", \"aria-label\", \"as\", \"id\", \"isVisible\", \"label\", \"position\", \"style\", \"triggerRect\"],\n _excluded4 = [\"type\"];\n\nvar _on, _on2, _on3, _on4, _on5, _states;\nvar MOUSE_REST_TIMEOUT = 100;\nvar LEAVE_TIMEOUT = 500; ////////////////////////////////////////////////////////////////////////////////\n// States\n\nvar TooltipStates; ////////////////////////////////////////////////////////////////////////////////\n// Events\n\n(function (TooltipStates) {\n TooltipStates[\"Idle\"] = \"IDLE\";\n TooltipStates[\"Focused\"] = \"FOCUSED\";\n TooltipStates[\"Visible\"] = \"VISIBLE\";\n TooltipStates[\"LeavingVisible\"] = \"LEAVING_VISIBLE\";\n TooltipStates[\"Dismissed\"] = \"DISMISSED\";\n})(TooltipStates || (TooltipStates = {}));\n\nvar TooltipEvents;\n\n(function (TooltipEvents) {\n TooltipEvents[\"Blur\"] = \"BLUR\";\n TooltipEvents[\"Focus\"] = \"FOCUS\";\n TooltipEvents[\"GlobalMouseMove\"] = \"GLOBAL_MOUSE_MOVE\";\n TooltipEvents[\"MouseDown\"] = \"MOUSE_DOWN\";\n TooltipEvents[\"MouseEnter\"] = \"MOUSE_ENTER\";\n TooltipEvents[\"MouseLeave\"] = \"MOUSE_LEAVE\";\n TooltipEvents[\"MouseMove\"] = \"MOUSE_MOVE\";\n TooltipEvents[\"Rest\"] = \"REST\";\n TooltipEvents[\"SelectWithKeyboard\"] = \"SELECT_WITH_KEYBOARD\";\n TooltipEvents[\"TimeComplete\"] = \"TIME_COMPLETE\";\n})(TooltipEvents || (TooltipEvents = {}));\n\nvar chart = {\n initial: TooltipStates.Idle,\n states: (_states = {}, _states[TooltipStates.Idle] = {\n enter: clearContextId,\n on: (_on = {}, _on[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on[TooltipEvents.Focus] = TooltipStates.Visible, _on)\n }, _states[TooltipStates.Focused] = {\n enter: startRestTimer,\n leave: clearRestTimer,\n on: (_on2 = {}, _on2[TooltipEvents.MouseMove] = TooltipStates.Focused, _on2[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on2[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on2[TooltipEvents.Blur] = TooltipStates.Idle, _on2[TooltipEvents.Rest] = TooltipStates.Visible, _on2)\n }, _states[TooltipStates.Visible] = {\n on: (_on3 = {}, _on3[TooltipEvents.Focus] = TooltipStates.Focused, _on3[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on3[TooltipEvents.MouseLeave] = TooltipStates.LeavingVisible, _on3[TooltipEvents.Blur] = TooltipStates.LeavingVisible, _on3[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on3[TooltipEvents.SelectWithKeyboard] = TooltipStates.Dismissed, _on3[TooltipEvents.GlobalMouseMove] = TooltipStates.LeavingVisible, _on3)\n }, _states[TooltipStates.LeavingVisible] = {\n enter: startLeavingVisibleTimer,\n leave: function leave() {\n clearLeavingVisibleTimer();\n clearContextId();\n },\n on: (_on4 = {}, _on4[TooltipEvents.MouseEnter] = TooltipStates.Visible, _on4[TooltipEvents.Focus] = TooltipStates.Visible, _on4[TooltipEvents.TimeComplete] = TooltipStates.Idle, _on4)\n }, _states[TooltipStates.Dismissed] = {\n leave: function leave() {\n clearContextId();\n },\n on: (_on5 = {}, _on5[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on5[TooltipEvents.Blur] = TooltipStates.Idle, _on5)\n }, _states)\n};\n/*\n * Chart context allows us to persist some data around, in Tooltip all we use\n * is the id of the current tooltip being interacted with.\n */\n\nvar state = {\n value: chart.initial,\n context: {\n id: null\n }\n}; ////////////////////////////////////////////////////////////////////////////////\n// Subscriptions:\n//\n// We could require apps to render a <TooltipProvider> around the app and use\n// React context to notify Tooltips of changes to our state machine, instead\n// we manage subscriptions ourselves and simplify the Tooltip API.\n//\n// Maybe if default context could take a hook (instead of just a static value)\n// that was rendered at the root for us, that'd be cool! But it doesn't.\n\nvar subscriptions = [];\n\nfunction subscribe(fn) {\n subscriptions.push(fn);\n return function () {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n}\n\nfunction notify() {\n subscriptions.forEach(function (fn) {\n return fn(state);\n });\n} ////////////////////////////////////////////////////////////////////////////////\n// Timeouts:\n// Manages when the user \"rests\" on an element. Keeps the interface from being\n// flashing tooltips all the time as the user moves the mouse around the screen.\n\n\nvar restTimeout;\n\nfunction startRestTimer() {\n window.clearTimeout(restTimeout);\n restTimeout = window.setTimeout(function () {\n send({\n type: TooltipEvents.Rest\n });\n }, MOUSE_REST_TIMEOUT);\n}\n\nfunction clearRestTimer() {\n window.clearTimeout(restTimeout);\n} // Manages the delay to hide the tooltip after rest leaves.\n\n\nvar leavingVisibleTimer;\n\nfunction startLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n leavingVisibleTimer = window.setTimeout(function () {\n return send({\n type: TooltipEvents.TimeComplete\n });\n }, LEAVE_TIMEOUT);\n}\n\nfunction clearLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n} // allows us to come on back later w/o entering something else first after the\n// user leaves or dismisses\n\n\nfunction clearContextId() {\n state.context.id = null;\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * useTooltip\n *\n * @param params\n */\n\n\nfunction useTooltip(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n idProp = _ref.id,\n onPointerEnter = _ref.onPointerEnter,\n onPointerMove = _ref.onPointerMove,\n onPointerLeave = _ref.onPointerLeave,\n onPointerDown = _ref.onPointerDown,\n onMouseEnter = _ref.onMouseEnter,\n onMouseMove = _ref.onMouseMove,\n onMouseLeave = _ref.onMouseLeave,\n onMouseDown = _ref.onMouseDown,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onKeyDown = _ref.onKeyDown,\n disabled = _ref.disabled,\n forwardedRef = _ref.ref,\n DEBUG_STYLE = _ref.DEBUG_STYLE;\n\n var id = String(useId(idProp));\n\n var _React$useState = useState(DEBUG_STYLE ? true : isTooltipVisible(id, true)),\n isVisible = _React$useState[0],\n setIsVisible = _React$useState[1]; // hopefully they always pass a ref if they ever pass one\n\n\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var triggerRect = useRect(ownRef, {\n observe: isVisible\n });\n useEffect(function () {\n return subscribe(function () {\n setIsVisible(isTooltipVisible(id));\n });\n }, [id]);\n useCheckStyles(\"tooltip\");\n useEffect(function () {\n var ownerDocument = getOwnerDocument(ownRef.current);\n\n function listener(event) {\n if ((event.key === \"Escape\" || event.key === \"Esc\") && state.value === TooltipStates.Visible) {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n ownerDocument.addEventListener(\"keydown\", listener);\n return function () {\n return ownerDocument.removeEventListener(\"keydown\", listener);\n };\n }, []);\n useDisabledTriggerOnSafari({\n disabled: disabled,\n isVisible: isVisible,\n ref: ownRef\n });\n\n function wrapMouseEvent(theirHandler, ourHandler) {\n // Use internal MouseEvent handler only if PointerEvent is not supported\n if (typeof window !== \"undefined\" && \"PointerEvent\" in window) {\n return theirHandler;\n }\n\n return composeEventHandlers(theirHandler, ourHandler);\n }\n\n function wrapPointerEventHandler(handler) {\n return function onPointerEvent(event) {\n // Handle pointer events only from mouse device\n if (event.pointerType !== \"mouse\") {\n return;\n }\n\n handler(event);\n };\n }\n\n function handleMouseEnter() {\n send({\n type: TooltipEvents.MouseEnter,\n id: id\n });\n }\n\n function handleMouseMove() {\n send({\n type: TooltipEvents.MouseMove,\n id: id\n });\n }\n\n function handleMouseLeave() {\n send({\n type: TooltipEvents.MouseLeave\n });\n }\n\n function handleMouseDown() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.MouseDown\n });\n }\n }\n\n function handleFocus() {\n // @ts-ignore\n if (window.__REACH_DISABLE_TOOLTIPS) {\n return;\n }\n\n send({\n type: TooltipEvents.Focus,\n id: id\n });\n }\n\n function handleBlur() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.Blur\n });\n }\n }\n\n function handleKeyDown(event) {\n if (event.key === \"Enter\" || event.key === \" \") {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n var trigger = {\n // The element that triggers the tooltip references the tooltip element with\n // `aria-describedby`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip\n \"aria-describedby\": isVisible ? makeId(\"tooltip\", id) : undefined,\n \"data-state\": isVisible ? \"tooltip-visible\" : \"tooltip-hidden\",\n \"data-reach-tooltip-trigger\": \"\",\n ref: ref,\n onPointerEnter: composeEventHandlers(onPointerEnter, wrapPointerEventHandler(handleMouseEnter)),\n onPointerMove: composeEventHandlers(onPointerMove, wrapPointerEventHandler(handleMouseMove)),\n onPointerLeave: composeEventHandlers(onPointerLeave, wrapPointerEventHandler(handleMouseLeave)),\n onPointerDown: composeEventHandlers(onPointerDown, wrapPointerEventHandler(handleMouseDown)),\n onMouseEnter: wrapMouseEvent(onMouseEnter, handleMouseEnter),\n onMouseMove: wrapMouseEvent(onMouseMove, handleMouseMove),\n onMouseLeave: wrapMouseEvent(onMouseLeave, handleMouseLeave),\n onMouseDown: wrapMouseEvent(onMouseDown, handleMouseDown),\n onFocus: composeEventHandlers(onFocus, handleFocus),\n onBlur: composeEventHandlers(onBlur, handleBlur),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n };\n var tooltip = {\n id: id,\n triggerRect: triggerRect,\n isVisible: isVisible\n };\n return [trigger, tooltip, isVisible];\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tooltip\n *\n * @see Docs https://reach.tech/tooltip#tooltip\n */\n\n\nvar Tooltip = /*#__PURE__*/forwardRef(function (_ref2, forwardedRef) {\n var children = _ref2.children,\n label = _ref2.label,\n DEPRECATED_ariaLabel = _ref2.ariaLabel,\n id = _ref2.id,\n DEBUG_STYLE = _ref2.DEBUG_STYLE,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var child = Children.only(children);\n process.env.NODE_ENV !== \"production\" ? warning(!DEPRECATED_ariaLabel, \"The `ariaLabel prop is deprecated and will be removed from @reach/tooltip in a future version of Reach UI. Please use `aria-label` instead.\") : void 0; // We need to pass some properties from the child into useTooltip\n // to make sure users can maintain control over the trigger's ref and events\n\n var _useTooltip = useTooltip({\n id: id,\n onPointerEnter: child.props.onPointerEnter,\n onPointerMove: child.props.onPointerMove,\n onPointerLeave: child.props.onPointerLeave,\n onPointerDown: child.props.onPointerDown,\n onMouseEnter: child.props.onMouseEnter,\n onMouseMove: child.props.onMouseMove,\n onMouseLeave: child.props.onMouseLeave,\n onMouseDown: child.props.onMouseDown,\n onFocus: child.props.onFocus,\n onBlur: child.props.onBlur,\n onKeyDown: child.props.onKeyDown,\n disabled: child.props.disabled,\n ref: child.ref,\n DEBUG_STYLE: DEBUG_STYLE\n }),\n trigger = _useTooltip[0],\n tooltip = _useTooltip[1];\n\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/cloneElement(child, trigger), /*#__PURE__*/createElement(TooltipPopup, _extends({\n ref: forwardedRef,\n label: label,\n \"aria-label\": DEPRECATED_ariaLabel\n }, tooltip, props)));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Tooltip.displayName = \"Tooltip\";\n Tooltip.propTypes = {\n children: PropTypes.node.isRequired,\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TooltipPopup\n *\n * @see Docs https://reach.tech/tooltip#tooltippopup\n */\n\n\nvar TooltipPopup = /*#__PURE__*/forwardRef(function TooltipPopup(_ref3, forwardRef) {\n var label = _ref3.label,\n DEPRECATED_ariaLabel = _ref3.ariaLabel,\n isVisible = _ref3.isVisible,\n id = _ref3.id,\n props = _objectWithoutPropertiesLoose(_ref3, _excluded2);\n\n return isVisible ? /*#__PURE__*/createElement(Portal, null, /*#__PURE__*/createElement(TooltipContent, _extends({\n ref: forwardRef,\n label: label,\n \"aria-label\": DEPRECATED_ariaLabel,\n isVisible: isVisible\n }, props, {\n id: makeId(\"tooltip\", String(id))\n }))) : null;\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TooltipPopup.displayName = \"TooltipPopup\";\n TooltipPopup.propTypes = {\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string,\n position: PropTypes.func\n };\n}\n/**\n * TooltipContent\n *\n * We need a separate component so that useRect works inside the portal.\n *\n * @see Docs https://reach.tech/tooltip#tooltipcontent\n */\n\n\nvar TooltipContent = /*#__PURE__*/forwardRef(function TooltipContent(_ref4, forwardedRef) {\n var ariaLabel = _ref4.ariaLabel,\n realAriaLabel = _ref4[\"aria-label\"],\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"div\" : _ref4$as,\n id = _ref4.id,\n isVisible = _ref4.isVisible,\n label = _ref4.label,\n _ref4$position = _ref4.position,\n position = _ref4$position === void 0 ? positionTooltip : _ref4$position,\n style = _ref4.style,\n triggerRect = _ref4.triggerRect,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded3);\n\n // The element that serves as the tooltip container has role tooltip.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip When an app passes\n // an `aria-label`, we actually want to implement `role=\"tooltip\"` on a\n // visually hidden element inside of the trigger. In these cases we want the\n // screen reader user to know both the content in the tooltip, but also the\n // content in the badge. For screen reader users, the only content announced\n // to them is whatever is in the tooltip.\n var hasAriaLabel = (realAriaLabel || ariaLabel) != null;\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var tooltipRect = useRect(ownRef, {\n observe: isVisible\n });\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Comp, _extends({\n role: hasAriaLabel ? undefined : \"tooltip\"\n }, props, {\n ref: ref,\n \"data-reach-tooltip\": \"\",\n id: hasAriaLabel ? undefined : id,\n style: _extends({}, style, getStyles(position, triggerRect, tooltipRect))\n }), label), hasAriaLabel && /*#__PURE__*/createElement(VisuallyHidden, {\n role: \"tooltip\",\n id: id\n }, realAriaLabel || ariaLabel));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TooltipContent.displayName = \"TooltipContent\";\n TooltipContent.propTypes = {};\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction getStyles(position, triggerRect, tooltipRect) {\n var haventMeasuredTooltipYet = !tooltipRect;\n\n if (haventMeasuredTooltipYet) {\n return {\n visibility: \"hidden\"\n };\n }\n\n return position(triggerRect, tooltipRect);\n} // Default offset from the trigger (e.g., if the tooltip is positioned above,\n// there will be 8px between the bottom of the tooltip and the top of the trigger).\n// It feels awkward when it's perfectly aligned w/ the trigger\n\n\nvar OFFSET_DEFAULT = 8;\nvar positionTooltip = function positionTooltip(triggerRect, tooltipRect, offset) {\n if (offset === void 0) {\n offset = OFFSET_DEFAULT;\n }\n\n var _getDocumentDimension = getDocumentDimensions(),\n windowWidth = _getDocumentDimension.width,\n windowHeight = _getDocumentDimension.height;\n\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n\n var collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n right: windowWidth < triggerRect.left + tooltipRect.width,\n bottom: windowHeight < triggerRect.bottom + tooltipRect.height + offset,\n left: triggerRect.left - tooltipRect.width < 0\n };\n var directionRight = collisions.right && !collisions.left;\n var directionUp = collisions.bottom && !collisions.top;\n return {\n left: directionRight ? triggerRect.right - tooltipRect.width + window.pageXOffset + \"px\" : triggerRect.left + window.pageXOffset + \"px\",\n top: directionUp ? triggerRect.top - offset - tooltipRect.height + window.pageYOffset + \"px\" : triggerRect.top + offset + triggerRect.height + window.pageYOffset + \"px\"\n };\n};\n/**\n * This is a workaround for using tooltips with disabled controls in Safari.\n * Safari fires `pointerenter` but does not fire `pointerleave`, and\n * `onPointerEventLeave` added to the trigger element will not work.\n *\n * TODO: We may remove or modiify this behavior in a future version. Direction\n * from WAI-ARIA needed for guidance on handling disabled triggers. Tooltips\n * must be accessible by keyboard, and disabled form controls are generally\n * excluded from the tab sequence.\n *\n * @see https://github.com/reach/reach-ui/issues/564\n * @see https://github.com/w3c/aria-practices/issues/128#issuecomment-588625727\n */\n\nfunction useDisabledTriggerOnSafari(_ref5) {\n var disabled = _ref5.disabled,\n isVisible = _ref5.isVisible,\n ref = _ref5.ref;\n useEffect(function () {\n if (!(typeof window !== \"undefined\" && \"PointerEvent\" in window) || !disabled || !isVisible) {\n return;\n }\n\n var ownerDocument = getOwnerDocument(ref.current);\n\n function handleMouseMove(event) {\n if (!isVisible) {\n return;\n }\n\n if (event.target instanceof Element && event.target.closest(\"[data-reach-tooltip-trigger][data-state='tooltip-visible']\")) {\n return;\n }\n\n send({\n type: TooltipEvents.GlobalMouseMove\n });\n }\n\n ownerDocument.addEventListener(\"mousemove\", handleMouseMove);\n return function () {\n ownerDocument.removeEventListener(\"mousemove\", handleMouseMove);\n };\n }, [disabled, isVisible, ref]);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Send an event to our state machine to find the next state from the current\n * state + action.\n *\n * It also manages lifecycles of the machine, (enter/leave hooks on the state\n * chart)\n *\n * @param event\n * @param payload\n */\n\n\nfunction send(event) {\n var _transition = transition(state, event),\n value = _transition.value,\n context = _transition.context,\n changed = _transition.changed;\n\n if (changed) {\n state = {\n value: value,\n context: context\n };\n notify();\n }\n}\n\nfunction transition(currentState, event) {\n var stateDef = chart.states[currentState.value];\n var nextState = stateDef && stateDef.on && stateDef.on[event.type]; // Really useful for debugging\n // console.log({ event, state, nextState, contextId: context.id });\n // !nextState && console.log(\"no transition taken\");\n\n if (!nextState) {\n return _extends({}, currentState, {\n changed: false\n });\n }\n\n if (stateDef && stateDef.leave) {\n stateDef.leave(currentState.context, event);\n }\n\n event.type;\n var payload = _objectWithoutPropertiesLoose(event, _excluded4); // TODO: Use actions instead of directly setting context\n\n\n var context = _extends({}, state.context, payload);\n\n var nextStateValue = typeof nextState === \"string\" ? nextState : nextState.target;\n var nextDef = chart.states[nextStateValue];\n\n if (nextDef && nextDef.enter) {\n nextDef.enter(currentState.context, event);\n }\n\n return {\n value: nextStateValue,\n context: context,\n changed: true\n };\n}\n\nfunction isTooltipVisible(id, initial) {\n return state.context.id === id && (initial ? state.value === TooltipStates.Visible : state.value === TooltipStates.Visible || state.value === TooltipStates.LeavingVisible);\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Tooltip;\nexport { LEAVE_TIMEOUT, MOUSE_REST_TIMEOUT, Tooltip, TooltipPopup, positionTooltip, useTooltip };\n","import { getOwnerDocument } from '../../owner-document/dist/reach-utils-owner-document.esm.js';\nimport '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n var _ownerDocument$docume, _ownerDocument$docume2;\n\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n };\n}\n\nexport { getDocumentDimensions };\n","function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n\nexport { canUseDOM };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../../lib/Chevron.jsx';\n\nconst Accordion = (props) => {\n const content = useRef(null);\n const [setActive, setActiveState] = useState(props.isOpen ? 'active' : '');\n const ariaPressed = setActive ? 'true' : 'false';\n const getHeight = (node) => {\n if (node) {\n return `${node.scrollHeight}px`;\n }\n return 'auto';\n };\n const height = setActive ? getHeight(content.current) : '0px';\n const rotate = setActive ? 'accordion-icon rotate' : 'accordion-icon';\n\n function toggleAccordion() {\n setActiveState(setActive === '' ? 'active' : '');\n }\n\n function openAccordion() {\n setActiveState('active');\n }\n\n function closeAccordion() {\n setActiveState('');\n }\n\n useEffect(() => {\n if (props.isOpen) {\n openAccordion();\n } else {\n closeAccordion();\n }\n }, [props.isOpen]);\n\n return (\n <div className=\"accordion-section\" data-testid=\"accordion\">\n <button\n className={`accordion ${setActive}`}\n aria-label={props.title}\n aria-pressed={ariaPressed}\n aria-expanded={ariaPressed}\n tabIndex=\"0\"\n onClick={toggleAccordion}\n >\n <div className=\"accordion-left-title\">\n <p className=\"accordion-title\">{props.title}</p>\n {props.subTitle && (\n <p className=\"accordion-subtitle\">{props.subTitle}</p>\n )}\n </div>\n {props.centerItem && (\n <div className=\"accordion-center\">\n <p>{props.centerItem}</p>\n </div>\n )}\n {props.rightItem && (\n <div className=\"accordion-right\">\n <p>{props.rightItem}</p>\n </div>\n )}\n <div className=\"chevron-container\">\n <Chevron className={rotate} />\n </div>\n </button>\n <div\n ref={content}\n style={{ maxHeight: height }}\n className=\"accordion-content\"\n >\n <div className=\"accordion-text dashed-border\">{props.children}</div>\n </div>\n </div>\n );\n};\n\nAccordion.propTypes = {\n title: PropTypes.string.isRequired,\n subTitle: PropTypes.string,\n children: PropTypes.any.isRequired,\n centerItem: PropTypes.string,\n rightItem: PropTypes.string,\n isOpen: PropTypes.bool,\n};\n\nAccordion.defaultProps = {\n title: '',\n isOpen: false,\n};\n\nexport default Accordion;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nclass Collapsible extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isExpanded: false,\n };\n\n this._toggleExpanded = this.toggleExpanded.bind(this);\n this._renderShowButton = this.renderShowButton.bind(this);\n this._renderHideButton = this.renderHideButton.bind(this);\n }\n\n toggleExpanded() {\n this.setState({\n isExpanded: !this.state.isExpanded,\n });\n }\n\n renderShowButton() {\n return (\n <span className=\"collapsible-show-label\">{this.props.showLabel}</span>\n );\n }\n\n renderHideButton() {\n if (this.props.hideLabel) {\n return (\n <span className=\"collapsible-hide-label\">{this.props.hideLabel}</span>\n );\n } else {\n return '';\n }\n }\n\n render() {\n const isArray = Array.isArray(this.props.content);\n const isHidden = this.state.isExpanded ? undefined : true;\n\n return (\n <div className=\"collapsible-container\">\n <button\n onClick={this._toggleExpanded}\n className=\"collapsible-summary\"\n type=\"button\"\n aria-expanded={this.state.isExpanded ? true : false}\n >\n {this._renderShowButton()}\n {this._renderHideButton()}\n </button>\n\n <div className=\"collapsible-details\" hidden={isHidden}>\n {isArray ? (\n <ul className=\"items\">\n {this.props.content.map((c) => (\n <li key={c.contentTitle}>\n <p>\n <b>{c.contentTitle}</b>\n </p>\n <p>{c.content}</p>\n </li>\n ))}\n </ul>\n ) : (\n <div>\n <p>\n <b>{this.props.contentTitle}</b>\n </p>\n <p>{this.props.content}</p>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n\nCollapsible.propTypes = {\n showLabel: PropTypes.string.isRequired,\n hideLabel: PropTypes.string.isRequired,\n content: PropTypes.oneOfType([PropTypes.array, PropTypes.string]).isRequired,\n contentTitle: PropTypes.string,\n};\n\nexport default Collapsible;\n","import React from 'react';\nimport Collapsible from './Collapsible';\nimport PropTypes from 'prop-types';\n\nconst ErrorUI = (props) => {\n let errorTitle = `${props.type || 'Error'} ${props.code || ''}`;\n let errorDetails = props.message;\n\n return (\n <section className=\"page-error\">\n <div className=\"responsive-container\">\n <h1>We’re sorry.</h1>\n <p className=\"h2\">We cannot access this page.</p>\n <Collapsible\n showLabel=\"Open technical details about the error\"\n hideLabel=\"Close technical details about the error\"\n contentTitle={errorTitle}\n content={errorDetails}\n />\n </div>\n </section>\n );\n};\n\nErrorUI.propTypes = {\n code: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n type: PropTypes.string,\n};\n\nexport default ErrorUI;\n","import React from 'react';\nimport { render } from 'react-dom';\nimport ErrorUI from './ErrorUI';\n\n/**\n * Renders the QPP Error Page content.\n */\nexport default class ErrorPage {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {String} options.type - The error type\n * @param {String} options.code - The error code\n * @param {String} options.message - The error message\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n render(\n <ErrorUI\n type={options.type}\n code={options.code}\n message={options.message}\n />,\n options.rootElement\n );\n }\n}\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport axios from 'axios';\n\nimport InfoTip from '../Infotip/Infotip';\nimport LegacyFooterUI from './LegacyFooterUI';\nimport Subscribe from './Subscribe';\nimport SocialLinks from './SocialLinks';\n\nconst infoTipLabel =\n 'When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.';\n\nconst FooterUI = (props) => {\n const isNewFooter = props.isNewFooter;\n const signUpNowLink = props.showHcdResearch\n ? '/about/hcd-research'\n : 'mailto:QPPUserResearch@cms.hhs.gov?subject=Sign up for feedback sessions&body=Please let us know your role and how many Tax Identification Numbers (TINs) you represent. Don’t send us your actual TINs, that is confidential information that should not be shared with this email address. If you do not represent a practice, let us know what work you do in connection to QPP.';\n const [listServ, setListServ] = useState(false);\n\n // The footer content is populated with the following priority order:\n // 1. Use the footer content in localStorage if it's there\n // 2. If not, make a call to get it from the QPPFE endpoint. Hydrate the localStorage item with the response.\n // 3. If the call fails, use the default value\n useEffect(() => {\n const storageContent = JSON.parse(\n localStorage.getItem('qpp_footer_listServ')\n );\n if (\n storageContent?.content &&\n new Date().valueOf() < storageContent.expiration\n ) {\n setListServ(storageContent.listServ);\n } else {\n const origin = window.location.origin;\n axios\n .get(\n !origin.includes('localhost')\n ? `${origin}/config/footer`\n : 'https://qpp.cms.gov/config/footer'\n )\n .then(({ data: { data = {} } }) => {\n localStorage.setItem(\n 'qpp_footer_listServ',\n JSON.stringify({\n listServ: data.listServ,\n })\n );\n setListServ(data.listServ);\n })\n .catch((e) => {\n setListServ(false);\n });\n }\n }, []);\n if (isNewFooter) {\n return (\n <>\n <div className=\"feedback-session-sign-up\">\n <div className=\"responsive-container\">\n <hr />\n <p>\n <strong>Help shape the future of QPP.</strong> Participate in a\n user feedback session.{' '}\n <a className=\"email-note-link\" href={signUpNowLink}>\n Sign up now\n </a>\n </p>\n </div>\n </div>\n <footer className=\"global-footer\">\n <div className=\"build-version\" id=\"build-version\">\n {props.buildVersion}\n </div>\n\n <div className=\"responsive-container\">\n <div className=\"global-footer-container\">\n <div className=\"footer-resources\">\n <p className=\"sub-title\">Resources</p>\n <ul>\n <li>\n <a\n href=\"/about/resource-library\"\n aria-label=\"Resource Library\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenEducationAndTools\"\n data-track-label=\"Education and Tools\"\n >\n Resource Library\n </a>\n </li>\n <li>\n <a\n href=\"/resources/help-and-support\"\n aria-label=\"Help and Support\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenHelpAndSupport\"\n data-track-label=\"Help and Support\"\n >\n Help and Support\n </a>\n </li>\n <li>\n <a\n href=\"/about/small-underserved-rural-practices\"\n aria-label=\"Support for Small Practices\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenSupportSmallPractices\"\n data-track-label=\"Support for Small Practices\"\n >\n Support for Small Practices\n </a>\n </li>\n <li>\n <a\n href=\"/developers\"\n aria-label=\"Developer Tools\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenDeveloperTools\"\n data-track-label=\"Quality Payment Program\"\n >\n Developer Tools\n </a>\n </li>\n <li>\n <a\n href=\"/glossary\"\n aria-label=\"Glossary\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenGlossary\"\n data-track-label=\"Glossary\"\n >\n Glossary\n </a>\n </li>\n </ul>\n </div>\n <div className=\"footer-contact-cms\">\n <p className=\"sub-title\">Contact CMS</p>\n <p className=\"contact-title\">By Phone:</p>\n <p>Monday - Friday 8 a.m - 8 p.m ET</p>\n <p>\n 1-866-288-8292 (TRS: 711)\n <span className=\"footer-trs-infotip\">\n <InfoTip label={infoTipLabel} />\n </span>\n </p>\n <p className=\"contact-title\">By Email:</p>\n <p>\n <a\n aria-label=\"QPP@cms.hhs.gov\"\n href=\"mailto:QPP@cms.hhs.gov\"\n className=\"email-link\"\n >\n QPP@cms.hhs.gov\n </a>\n </p>\n </div>\n <div className=\"footer-social-newsletter\">\n <p className=\"sub-title\">Stay Connected</p>\n <SocialLinks />\n <p className=\"sub-title\">\n {listServ\n ? 'Sign Up for the QPP Listserv'\n : 'Sign Up for the QPP Newsletter'}\n </p>\n <Subscribe />\n </div>\n </div>\n <hr />\n <div className=\"other-links\">\n <ul className=\"small\">\n <li>\n <a\n href=\"/privacy\"\n aria-label=\"Notice of Privacy and Disclaimer\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenPrivacyDisclaimer\"\n data-track-label=\"Notice of Privacy and Disclaimer\"\n >\n CMS Privacy Notice\n </a>\n </li>\n <li className=\"divider\"></li>{' '}\n <li>\n <a\n href=\"/accessibility\"\n aria-label=\"Accessibility\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenAccessibility\"\n data-track-label=\"Accessibility\"\n >\n Accessibility\n </a>\n </li>\n <li className=\"divider\"></li>{' '}\n <li>\n <a\n aria-label=\"Download Adobe Reader\"\n className=\"adobe-link\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n href=\"https://get.adobe.com/reader\"\n data-track-category=\"FooterNav\"\n data-track-action=\"DownloadAdobeReader\"\n data-track-label=\"AdobeReader\"\n >\n Download Adobe Reader\n </a>\n </li>\n </ul>\n <hr />\n </div>\n <div className=\"qpp-hhs-logo-container\">\n <div className=\"qpp-logo-container\">\n <img\n className=\"qpp-logo\"\n src=\"/images/qpp_logo_rgb_color.png\"\n alt=\"qpp logo\"\n />\n </div>\n <div className=\"hhs-logo-container\">\n <img\n className=\"hhs-logo\"\n alt=\"Department of Health &amp; Human Services USA\"\n src=\"/images/hhs-logo-black.svg\"\n />\n <p>\n A federal government website managed and paid for by the U.S\n Centers for Medicare &amp; Medicaid Services. 7500 Security\n Boulevard, Baltimore MD 21244\n </p>\n </div>\n </div>\n </div>\n </footer>\n </>\n );\n }\n return (\n <LegacyFooterUI\n buildVersion={props.buildVersion}\n isFullWidth={props.isFullWidth}\n signUpNowLink={signUpNowLink}\n />\n );\n};\n\nFooterUI.propTypes = {\n buildVersion: PropTypes.string,\n isFullWidth: PropTypes.bool,\n isNewFooter: PropTypes.bool,\n showHcdResearch: PropTypes.bool,\n};\n\nexport default FooterUI;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport InfoTip from '../Infotip/Infotip';\n\nconst infoTipLabel =\n 'When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.';\n\nconst LegacyFooterUI = ({ buildVersion, isFullWidth, signUpNowLink }) => {\n return (\n <footer className=\"legacy-footer\">\n <div className=\"build-version\" id=\"build-version\">\n {buildVersion}\n </div>\n <div className=\"banner\">\n <div\n className={\n isFullWidth ? 'container-full-width' : 'responsive-container'\n }\n >\n <div className=\"row\">\n <div className=\"col-sm-12 col-md-12 col-lg-12\">\n <span>Help shape the future of QPP</span> by participating in user\n feedback sessions.{' '}\n <a className=\"email-note-link\" href={signUpNowLink}>\n Send us an email to sign up\n </a>\n </div>\n </div>\n </div>\n </div>\n <div\n className={\n isFullWidth ? 'container-full-width' : 'responsive-container'\n }\n >\n <div className=\"row\">\n <div\n className={\n isFullWidth\n ? 'col-sm-12 col-md-8 col-lg-8'\n : 'col-sm-8 col-md-9 col-lg-9'\n }\n >\n <div className=\"logo-container\">\n <img\n src=\"/images/qpp_logo_reversed.png\"\n alt=\"Quality Payment Program\"\n className=\"qpp-logo\"\n />\n <div className=\"social-container\">\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://twitter.com/CMSGov\"\n aria-label=\"Follow us on Twitter. This link opens in a new window.\"\n >\n <span className=\"glyphicon glyphicon-twitter\"></span>\n </a>\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://www.youtube.com/playlist?list=PLaV7m2-zFKpj_6fBsqav6GvFzzq9oOpkk\"\n aria-label=\"Follow us on YouTube. This link opens in a new window.\"\n >\n <span className=\"glyphicon glyphicon-youtube\"></span>\n </a>\n </div>\n </div>\n <div className=\"links\">\n <ul>\n <li>\n <a\n href=\"/developers\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenDeveloperTools\"\n data-track-label=\"Quality Payment Program\"\n >\n Developer Tools\n </a>\n </li>\n <li>\n <a\n href=\"/about/resource-library\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenEducationAndTools\"\n data-track-label=\"Education and Tools\"\n >\n Resource Library\n </a>\n </li>\n <li>\n <a\n href=\"/glossary\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenGlossary\"\n data-track-label=\"Glossary\"\n >\n Glossary\n </a>\n </li>\n <li>\n <a\n href=\"/resources/help-and-support\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenHelpAndSupport\"\n data-track-label=\"Help and Support\"\n >\n Help and Support\n </a>\n </li>\n </ul>\n <ul className=\"small\">\n <li>\n <a\n href=\"/privacy\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenPrivacyDisclaimer\"\n data-track-label=\"Notice of Privacy and Disclaimer\"\n >\n CMS Privacy Notice\n </a>\n </li>\n <span className=\"divider\"></span>\n <li>\n <a\n href=\"/accessibility\"\n data-track-category=\"FooterNav\"\n data-track-action=\"OpenAccessibility\"\n data-track-label=\"Accessibility\"\n >\n Accessibility\n </a>\n </li>\n <span className=\"divider\"></span>\n <li>\n <a\n className=\"adobe-link\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n href=\"https://get.adobe.com/reader\"\n data-track-category=\"FooterNav\"\n data-track-action=\"DownloadAdobeReader\"\n data-track-label=\"AdobeReader\"\n >\n <svg className=\"icon\">\n <use xlinkHref=\"#icon-download\" />\n </svg>\n Download Adobe Reader\n </a>\n </li>\n <span className=\"divider\"></span>\n <li>\n <a href=\"mailto:QPP@cms.hhs.gov\" className=\"email-link\">\n QPP@cms.hhs.gov\n </a>\n </li>\n <li>\n 1-866-288-8292 (TRS: 711)\n <div className=\"footer-trs-infotip\">\n <InfoTip lightIcon label={infoTipLabel} />\n </div>\n </li>\n </ul>\n </div>\n </div>\n <div\n className={\n isFullWidth\n ? 'col-sm-12 col-md-4 col-lg-4'\n : 'col-sm-4 col-md-3 col-lg-3'\n }\n >\n <div className=\"hhs-logo-container\">\n <img\n alt=\"Department of Health &amp; Human Services USA\"\n src=\"/images/hhs-logo-white.svg\"\n />\n </div>\n </div>\n </div>\n </div>\n </footer>\n );\n};\n\nLegacyFooterUI.propTypes = {\n buildVersion: PropTypes.string,\n isFullWidth: PropTypes.bool,\n signUpNowLink: PropTypes.string,\n};\n\nexport default LegacyFooterUI;\n","import React from 'react';\n\nconst SocialLinks = () => (\n <div className=\"social-container\">\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://twitter.com/CMSGov\"\n aria-label=\"Follow us on Twitter. This link opens in a new window.\"\n >\n <svg width=\"19px\" height=\"16px\" viewBox=\"0 0 19 16\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-763.000000, -177.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g transform=\"translate(0.000000, 37.000000)\">\n <path\n d=\"M16.9243259,4.73901817 C16.9243259,4.57725788 16.9243259,4.41549759 16.916868,4.25373729 C17.6626567,3.71698723 18.3114928,3.05524058 18.826087,2.30526104 C18.1250456,2.6067234 17.3867149,2.81260014 16.6260105,2.90083303 C17.4240043,2.43025763 18.0206352,1.68763083 18.3040349,0.812654705 C17.5507884,1.25381914 16.7304209,1.56263424 15.8727639,1.72439454 C14.425934,0.202377237 12.0021209,0.128849832 10.4583384,1.56263424 C9.46643951,2.48172682 9.04133999,3.8566893 9.35457121,5.16547712 C6.28192201,5.01106957 3.41063575,3.5846379 1.47158528,1.22440818 C0.457312727,2.94494947 0.971906889,5.15077164 2.65738922,6.26103547 C2.04584253,6.24632999 1.45666951,6.0845697 0.919701685,5.79046007 C0.919701685,5.80516555 0.919701685,5.81987104 0.919701685,5.83457652 C0.919701685,7.62864522 2.20245815,9.17272074 3.99235089,9.53300502 C3.42555152,9.68741258 2.83637849,9.7094708 2.26212124,9.59917969 C2.76179963,11.1359025 4.20117171,12.1873444 5.83444883,12.2167553 C4.4771135,13.2681972 2.80654695,13.8343583 1.08377519,13.8343583 C0.778001843,13.8343583 0.4722285,13.8123 0.173913043,13.7828891 C1.93397424,14.8784474 3.96251934,15.4666667 6.04326965,15.4666667 C13.0760565,15.4666667 16.9243259,9.71682354 16.9243259,4.73901817 Z\"\n id=\"twitter-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </a>\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"social-link\"\n href=\"https://www.youtube.com/playlist?list=PLaV7m2-zFKpj_6fBsqav6GvFzzq9oOpkk\"\n aria-label=\"Follow us on YouTube. This link opens in a new window.\"\n >\n <svg width=\"19px\" height=\"14px\" viewBox=\"0 0 19 14\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-801.000000, -179.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g id=\"Group\" transform=\"translate(38.000000, 39.000000)\">\n <path\n d=\"M17.7486957,2.84298208 C17.551087,2.10010036 16.9670652,1.51515412 16.2265217,1.3162724 C14.8843478,0.955555556 9.5,0.955555556 9.5,0.955555556 C9.5,0.955555556 4.11565217,0.955555556 2.77347826,1.3162724 C2.03293478,1.51515412 1.44891304,2.10010036 1.25130435,2.84298208 C0.891304348,4.19030824 0.891304348,7 0.891304348,7 C0.891304348,7 0.891304348,9.80969176 1.25130435,11.1570179 C1.44891304,11.8998996 2.03293478,12.4848459 2.77347826,12.6837276 C4.11565217,13.0444444 9.5,13.0444444 9.5,13.0444444 C9.5,13.0444444 14.8843478,13.0444444 16.2265217,12.6837276 C16.9670652,12.4848459 17.551087,11.8998996 17.7486957,11.1570179 C18.1086957,9.80969176 18.1086957,7 18.1086957,7 C18.1086957,7 18.1086957,4.19030824 17.7486957,2.84298208 Z M7.73913043,9.5513405 L7.73913043,4.4486595 L12.2391304,7 L7.73913043,9.5513405 Z\"\n id=\"Youtube-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </a>\n </div>\n);\n\nexport default SocialLinks;\n","import React from 'react';\n\nconst Subscribe = () => (\n <div className=\"subscriber-form\">\n <form\n action=\"https://public.govdelivery.com/accounts/USCMS/subscriber/qualify\"\n target=\"_blank\"\n acceptCharset=\"UTF-8\"\n method=\"get\"\n rel=\"noopener noreferrer\"\n >\n <input type=\"hidden\" name=\"topic_id\" value=\"USCMS_12196\" />\n <label className=\"sr-only\" htmlFor=\"email-subscribe\">\n Email address\n </label>\n <input\n id=\"email-subscribe\"\n className=\"form-control\"\n type=\"email\"\n name=\"email\"\n placeholder=\"Enter your Email\"\n />\n <button\n className=\"btn btn-subscribe js-subscribe-submit\"\n type=\"submit\"\n name=\"commit\"\n >\n Subscribe\n </button>\n </form>\n </div>\n);\n\nexport default Subscribe;\n","/* global buildVersion */\n// buildVersion above is defined in webpack.config.js\nimport React from 'react';\nimport { render } from 'react-dom';\nimport FooterUI from './FooterUI';\n\n/**\n * Renders the QPP Footer content.\n */\nexport default class Footer {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n if (options.hasOwnProperty('rootElement')) {\n render(\n <FooterUI\n buildVersion={buildVersion}\n isFullWidth={options.isFullWidth}\n isNewFooter={options.isNewFooter}\n showHcdResearch={options.showHcdResearch}\n />,\n options.rootElement\n );\n } else {\n render(<FooterUI buildVersion={buildVersion} />, options);\n }\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'cookie';\nimport jwtDecode from 'jwt-decode';\n\nimport { useHeaderState } from './hooks';\nimport { setUtagLink } from './utag-helpers';\nimport SessionDialogUI from '../SessionDialogUI';\nimport {\n performanceFeedbackUrl,\n physicianCompareUrl,\n dashboardUrl,\n manageUrl,\n submissionsUrl,\n facilityBasedPreviewUrl,\n} from '../SideNav/helpers';\nimport HeaderMenuItem from './HeaderMenuItem';\n\nconst HeaderAccountMenu = ({\n handleClick,\n fbpPerformanceYear,\n feedbackPerformanceYear,\n isLoginEnabled,\n isDevPre,\n performanceYear,\n showFacilityBasedPreviewLink,\n showPhysicianCompareLink,\n}) => {\n const cookies = cookie.parse(document.cookie);\n const hasAuthToken = cookies.hasOwnProperty('qpp_auth_token');\n const hasAuthorizations = cookies.qpp_has_authorizations === 'true';\n const hasNonRegistryAuthorizations =\n cookies.qpp_has_non_registry_authorizations === 'true';\n const isDevPreAndNotAuthenticated = !hasAuthToken && isDevPre;\n const { closeMenus, RouterLink } = useHeaderState();\n\n if (!isLoginEnabled || isDevPreAndNotAuthenticated) {\n return null;\n }\n\n // login link\n if (!hasAuthToken) {\n if (RouterLink) {\n return (\n <li onClick={handleClick} className=\"header-item-login login\">\n <RouterLink\n className=\"menu-link\"\n to=\"/login\"\n onClick={() => {\n closeMenus();\n setUtagLink('main navbar', 'click', '/login');\n }}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label=\"Sign In\"\n >\n <div className=\"nav-title\">Sign In</div>\n <div className=\"nav-description\">\n Manage Account <br />\n and Register\n </div>\n </RouterLink>\n </li>\n );\n }\n return (\n <li className=\"header-item-login login\">\n <a\n className=\"menu-link\"\n href=\"/login\"\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label=\"Sign In\"\n onClick={() => {\n setUtagLink('main navbar', 'click', '/login');\n }}\n >\n <div className=\"nav-title\">Sign In</div>\n <div className=\"nav-description\">\n Manage Account <br />\n and Register\n </div>\n </a>\n </li>\n );\n }\n\n if (hasAuthToken) {\n const { firstName } = jwtDecode(cookies.qpp_auth_token);\n const additionalLinks = [];\n if (hasAuthorizations) {\n additionalLinks.push(\n { type: 'link', href: dashboardUrl, name: 'Eligibility & Reporting' },\n {\n type: 'link',\n href: performanceFeedbackUrl(\n feedbackPerformanceYear || performanceYear\n ),\n name: 'Performance Feedback',\n }\n );\n if (showPhysicianCompareLink && hasNonRegistryAuthorizations) {\n additionalLinks.push({\n type: 'link',\n href: physicianCompareUrl,\n name: 'Doctors & Clinicians Preview',\n });\n }\n if (showFacilityBasedPreviewLink) {\n additionalLinks.push({\n type: 'link',\n href: facilityBasedPreviewUrl(fbpPerformanceYear || performanceYear),\n name: 'Facility Based Preview',\n });\n }\n }\n const columns = [\n [\n {\n items: [\n { type: 'link', href: submissionsUrl, name: 'Account Home' },\n ...additionalLinks,\n { type: 'link', href: manageUrl, name: 'Manage Access' },\n { type: 'signout', name: 'Sign Out' },\n ],\n },\n ],\n ];\n const devPreColumns = [\n [{ items: [{ type: 'signout', name: 'Sign Out' }] }],\n ];\n return (\n <>\n <SessionDialogUI />\n <HeaderMenuItem\n hasMenu\n menuName=\"Login\"\n name={firstName}\n subtitle=\"My Account\"\n className=\"account-menu-item\"\n columns={isDevPre ? devPreColumns : columns}\n rows={isDevPre ? devPreColumns : columns}\n />\n </>\n );\n }\n};\n\nHeaderAccountMenu.propTypes = {\n isLoginEnabled: PropTypes.bool.isRequired,\n showPhysicianCompareLink: PropTypes.bool,\n showFacilityBasedPreviewLink: PropTypes.bool,\n performanceYear: PropTypes.number,\n fbpPerformanceYear: PropTypes.string,\n feedbackPerformanceYear: PropTypes.string,\n isDevPre: PropTypes.bool,\n handleClick: PropTypes.func.isRequired,\n};\n\nHeaderAccountMenu.defaultProps = {\n showPhysicianCompareLink: false,\n showFacilityBasedPreviewLink: false,\n performanceYear: 2017,\n fbpPerformanceYear: null,\n feedbackPerformanceYear: null,\n isDevPre: false,\n};\n\nexport default HeaderAccountMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst HeaderCancel = ({ handleCancel }) => {\n return (\n <button className=\"header-cancel\" onClick={handleCancel}>\n Cancel\n </button>\n );\n};\n\nHeaderCancel.propTypes = {\n handleCancel: PropTypes.func,\n};\n\nexport default HeaderCancel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport HeaderLogo from './HeaderLogo';\nimport NotificationBanner from '../NotificationBanner';\n\n/**\n * Accessibility enhancement that moves focus to an element for \"Skip\" links\n * @param {Object} e - The native JS event\n * @param {String} id - The HTML ID of the element to be focused\n */\nfunction jumpToLink(e, id) {\n e.preventDefault();\n document.getElementById(id).focus();\n}\n\nconst HeaderContainer = ({\n children,\n includeSkipToSidebar,\n showCancelButton,\n skipToContentId,\n}) => (\n <>\n <a\n className=\"skip\"\n onClick={(e) => jumpToLink(e, `${skipToContentId || 'mainContent'}`)}\n href={`#${skipToContentId || 'mainContent'}`}\n >\n Skip to content\n </a>\n {includeSkipToSidebar && (\n <a\n className=\"skip\"\n onClick={(e) => jumpToLink(e, 'qppSidebar')}\n href=\"#qppSidebar\"\n >\n Skip to sidebar\n </a>\n )}\n <NotificationBanner />\n <header id=\"top\" className={showCancelButton ? 'show-cancel-button' : ''}>\n <HeaderLogo />\n {children}\n </header>\n </>\n);\n\nHeaderContainer.propTypes = {\n children: PropTypes.node.isRequired,\n includeSkipToSidebar: PropTypes.bool,\n showCancelButton: PropTypes.bool,\n skipToContentId: PropTypes.string,\n};\nHeaderContainer.defaultProps = {\n includeSkipToSidebar: false,\n showCancelButton: false,\n skipToContentId: null,\n};\n\nexport default HeaderContainer;\n","import React from 'react';\n\nimport { useHeaderState } from './hooks';\n\nconst HeaderLogo = () => {\n const { closeMenus, RouterLink } = useHeaderState();\n if (RouterLink) {\n return (\n <RouterLink\n className=\"header-logo\"\n to=\"/\"\n onClick={closeMenus}\n data-track-category=\"HeaderNav\"\n data-track-action=\"OpenQPPHome\"\n data-track-label=\"Quality Payment Program\"\n >\n <img\n className=\"qpp-logo\"\n src=\"/images/qpp_logo_rgb_color.png\"\n alt=\"QPP logo\"\n />\n </RouterLink>\n );\n }\n return (\n <a\n className=\"header-logo\"\n href=\"/\"\n data-track-category=\"HeaderNav\"\n data-track-action=\"OpenQPPHome\"\n data-track-label=\"Quality Payment Program\"\n >\n <img\n className=\"qpp-logo\"\n src=\"/images/qpp_logo_rgb_color.png\"\n alt=\"QPP logo\"\n />\n </a>\n );\n};\n\nexport default HeaderLogo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useHeaderState } from './hooks';\nimport NavigationButtonIcon from './NavigationButtonIcon';\nimport { setUtagLink } from './utag-helpers';\n\nconst HeaderMenuButton = ({ href, name }) => {\n const { RouterLink, closeMenus } = useHeaderState();\n if (RouterLink) {\n return (\n <RouterLink\n className=\"btn btn-navigation inverse-hover header-menu-btn\"\n to={href}\n onClick={() => {\n closeMenus();\n setUtagLink('main navbar', 'click', href);\n }}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n >\n {name}\n <NavigationButtonIcon />\n </RouterLink>\n );\n }\n return (\n <a\n className=\"btn btn-navigation inverse-hover header-menu-btn\"\n href={href}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n onClick={() => {\n setUtagLink('main navbar', 'click', href);\n }}\n >\n {name}\n <NavigationButtonIcon />\n </a>\n );\n};\n\nHeaderMenuButton.propTypes = {\n href: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n};\n\nexport default HeaderMenuButton;\n","import React, { Fragment, useRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useWindowWidth, useHeaderState } from './hooks';\nimport HeaderMenuLink from './HeaderMenuLink';\nimport HeaderMenuButton from './HeaderMenuButton';\nimport HeaderMenuSignOutButton from './HeaderMenuSignOutButton';\nimport Accordion from '../Accordion';\nimport { Chevron } from '../../lib/Chevron.jsx';\n\nconst menuSizes = {\n 1: 315,\n 2: 650,\n 3: 890,\n 4: 1200,\n};\n\nconst excludedClickOutClasses = [\n 'menu-dropdown-toggle',\n 'nav-link',\n 'nav-link-li',\n 'dropdown-description',\n 'dropdown-title',\n 'dropdown-title-chevron-container',\n 'signout-button',\n 'submenu-section',\n 'accordion',\n 'accordion-title',\n 'accordion-left-title',\n 'header-menu-btn',\n 'btn-navigation-icon',\n];\n\nconst HeaderMenuItem = ({\n handleClick,\n columns,\n menuName,\n rows,\n name,\n subtitle,\n className,\n}) => {\n const [isSubMenuFullWidth, setSubMenuFullWidth] = useState(false);\n const [openMobileSubMenu, setOpenMobileSubMenu] = useState('');\n\n const windowWidth = useWindowWidth();\n const menuButtonRef = useRef(null);\n const menuRef = useRef(null);\n const { RouterLink, handleToggleMenu, currentOpenMenu, closeMenus } =\n useHeaderState();\n const numColumns = (columns || []).length;\n\n const menuIdentifier = menuName || name;\n const isOpen = menuIdentifier === currentOpenMenu;\n\n useEffect(() => {\n const isMobile = windowWidth < 768;\n if (isOpen) {\n const shouldSetFullWidth =\n isMobile ||\n menuSizes[numColumns] >\n menuButtonRef.current.getBoundingClientRect().right;\n setSubMenuFullWidth(shouldSetFullWidth);\n }\n }, [windowWidth, isOpen]);\n\n useEffect(() => {\n const listener = (event) => {\n if (\n !menuRef ||\n !menuRef.current ||\n menuRef.current.contains(event.target) ||\n excludedClickOutClasses.some((className) =>\n event?.target?.classList.contains(className)\n )\n ) {\n return;\n }\n closeMenus();\n };\n document.addEventListener('mousedown', listener);\n return () => document.removeEventListener('mousedown', listener);\n }, [menuRef]);\n\n return (\n <li\n key={`header-item-${menuIdentifier}`}\n className={`header-item-${menuIdentifier}${\n isSubMenuFullWidth ? ' full-width-menu' : ''\n }${className ? ` ${className}` : ''}`}\n ref={menuRef}\n >\n <button\n ref={menuButtonRef}\n className=\"menu-dropdown-toggle\"\n aria-label={`${name} navigation dropdown`}\n aria-expanded={isOpen}\n aria-controls={`nav-section-${menuIdentifier}`}\n data-toggle=\"dropdown\"\n onClick={() => handleToggleMenu(menuIdentifier)}\n >\n <div className=\"dropdown-title-chevron-container\">\n <span className=\"dropdown-title\">{name}</span>\n <div className=\"chevron-container\">\n <Chevron focusable=\"false\" />\n </div>\n </div>\n\n <span className={`dropdown-description ${isOpen ? 'active' : ''}`}>\n {subtitle}\n </span>\n </button>\n <div\n className={`nav-section${isOpen ? ' open' : ''}`}\n id={`nav-section-${menuIdentifier}`}\n hidden={!isOpen}\n data-columns={numColumns}\n >\n {rows.map((columnContent, index) => {\n return (\n <ul key={`${menuIdentifier}-${index}`} className=\"nav-column\">\n {columnContent.map((c, cIndex) => {\n return (\n <Fragment key={`${menuIdentifier}-${index}-${cIndex}`}>\n <li className=\"submenu-section\">\n {c.heading && (\n <h3 className=\"submenu-heading\">{c.heading}</h3>\n )}\n <ul>\n {c.items.map((item) => {\n const isSubLink = item.type === 'sublink';\n const componentsByType = {\n button: HeaderMenuButton,\n signout: HeaderMenuSignOutButton,\n link: HeaderMenuLink,\n sublink: HeaderMenuLink,\n };\n const SubMenuComponent = componentsByType[item.type];\n return (\n <li\n onClick={handleClick}\n key={`item-link-${item.name}`}\n className={isSubLink ? 'nav-link-li sublink' : 'nav-link-li'}\n >\n <SubMenuComponent\n href={item.href}\n name={item.name}\n RouterLink={RouterLink}\n />\n </li>\n );\n })}\n </ul>\n </li>\n {name === 'MIPS' && (\n <li\n key={`${menuIdentifier}-mobile-${index}-${cIndex}`}\n className=\"submenu-section-mips-mobile\"\n onClick={() => {\n setOpenMobileSubMenu(c.heading);\n }}\n >\n <Accordion\n title={c.heading}\n isOpen={openMobileSubMenu === c.heading}\n >\n <ul>\n {c.items.map((item) => {\n const isSubLink = item.type === 'sublink';\n const componentsByType = {\n button: HeaderMenuButton,\n signout: HeaderMenuSignOutButton,\n link: HeaderMenuLink,\n sublink: HeaderMenuLink,\n };\n const SubMenuComponent =\n componentsByType[item.type];\n return (\n <li\n onClick={handleClick}\n key={`item-link-${item.name}`}\n className={isSubLink ? 'sublink' : ''}\n >\n <SubMenuComponent\n href={item.href}\n name={item.name}\n RouterLink={RouterLink}\n />\n </li>\n );\n })}\n </ul>\n </Accordion>\n </li>\n )}\n </Fragment>\n );\n })}\n </ul>\n );\n })}\n </div>\n </li>\n );\n};\n\nHeaderMenuItem.propTypes = {\n columns: PropTypes.array,\n menuName: PropTypes.string,\n rows: PropTypes.array,\n name: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n className: PropTypes.string,\n handleClick: PropTypes.func.isRequired,\n};\nHeaderMenuItem.defaultProps = {\n menuName: '',\n columns: [],\n rows: [],\n className: null,\n};\n\nexport default HeaderMenuItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { submissionsUrl } from '../SideNav/helpers';\nimport { useHeaderState } from './hooks';\nimport { setUtagLink } from './utag-helpers';\n\n// exclude submissions urls\nconst isNotExcluded = (href) => !href.includes(submissionsUrl);\n\nconst HeaderMenuLink = ({ href, name }) => {\n const { RouterLink, closeMenus } = useHeaderState();\n if (RouterLink && isNotExcluded(href)) {\n return (\n <RouterLink\n to={href}\n onClick={() => {\n closeMenus();\n setUtagLink('main navbar', 'click', href);\n }}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n className=\"nav-link\"\n >\n {name}\n </RouterLink>\n );\n }\n return (\n <a\n href={href}\n className=\"nav-link\"\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n onClick={() => {\n setUtagLink('main navbar', 'click', href);\n }}\n >\n {name}\n </a>\n );\n};\n\nHeaderMenuLink.propTypes = {\n href: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n};\n\nexport default HeaderMenuLink;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LogoutSession } from '../../session';\nimport { setUtagLink } from './utag-helpers';\nimport Modal from '../Modal/index';\n\nconst useModal = () => {\n const [open, setOpen] = useState(false);\n const openModal = () => setOpen(true);\n const closeModal = () => setOpen(false);\n return [open, openModal, closeModal];\n};\n\nconst HeaderMenuSignOutButton = ({ name }) => {\n const [open, openModal, closeModal] = useModal();\n const showLogoutWarning = () => {\n LogoutSession(window);\n };\n return (\n <>\n <button\n className=\"signout-button\"\n aria-label=\"Sign out\"\n onClick={openModal}\n data-track-category=\"TopNav\"\n data-track-action=\"click\"\n data-track-label={name}\n >\n {name}\n </button>\n <Modal\n useDesignSystem\n isOpen={open}\n title=\"Sign out\"\n onRequestClose={closeModal}\n primary={{\n title: 'Sign me out now',\n onClick: () => {\n showLogoutWarning();\n setUtagLink('button', 'click', 'Sign me out now');\n },\n }}\n secondary={{\n title: 'Keep me signed in',\n onClick: () => {\n closeModal();\n setUtagLink('button', 'click', 'Keep me signed in');\n },\n }}\n >\n <p>Are you sure you want to sign out?</p>\n </Modal>\n </>\n );\n};\n\nHeaderMenuSignOutButton.propTypes = {\n name: PropTypes.string.isRequired,\n};\n\nexport default HeaderMenuSignOutButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CloseXIcon } from '../../lib/SvgComponents.jsx';\n\nconst HeaderMobileButton = ({ isMobileMenuExpanded, handleClick }) => (\n <button\n className=\"mobile-menu-btn-new\"\n type=\"button\"\n data-toggle=\"collapse\"\n data-target=\"#nav-mobile\"\n aria-label=\"Navigation menu\"\n aria-expanded={isMobileMenuExpanded ? 'true' : 'false'}\n aria-controls=\"nav-mobile\"\n onClick={handleClick}\n >\n {!isMobileMenuExpanded && (\n <div className=\"icon\">\n <span className=\"icon-bar\" />\n <span className=\"icon-bar\" />\n <span className=\"icon-bar\" />\n </div>\n )}\n {isMobileMenuExpanded && (\n <svg className=\"close-icon\" aria-hidden=\"true\">\n <CloseXIcon />\n </svg>\n )}\n <div className=\"toggle-text\">Menu</div>\n </button>\n);\n\nHeaderMobileButton.propTypes = {\n isMobileMenuExpanded: PropTypes.bool.isRequired,\n handleClick: PropTypes.func.isRequired,\n};\n\nexport default HeaderMobileButton;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport HeaderAccountMenu from './HeaderAccountMenu.jsx';\nimport HeaderCancel from './HeaderCancel.jsx';\nimport HeaderContainer from './HeaderContainer';\nimport HeaderMenuItem from './HeaderMenuItem';\nimport HeaderMobileButton from './HeaderMobileButton';\nimport HelpIcon from './HelpIcon';\nimport defaultHeaderContent from './default-content.json';\nimport { HeaderStateProvider } from './hooks';\nimport useGetConfig from '../hooks/useGetConfig';\n\nconst HeaderUI = ({\n fbpPerformanceYear,\n feedbackPerformanceYear,\n handleCancel,\n includeSkipToSidebar,\n isDevPre,\n isLoginEnabled,\n performanceYear,\n showCancelButton,\n showPhysicianCompareLink,\n showFacilityBasedPreviewLink,\n skipToContentId,\n RouterLink,\n}) => {\n const [isMobileMenuExpanded, setIsMobileMenuExpanded] = useState(false);\n\n const mapContentToRows = (config) => {\n // Append transposed array to content\n return config?.map((section) => {\n // Only header items with multiple columns need to be transposed\n // Single column menus' tab order will remain the same\n if (section.columns?.length > 1) {\n const { columns } = section;\n return {\n ...section,\n rows: columns[0].map((_, colIndex) =>\n columns.map((row) => row[colIndex])\n ),\n };\n }\n return { ...section, rows: section.columns };\n });\n };\n\n const result = useGetConfig({\n localStorageName: 'qpp_top_nav_content',\n url: '/config/header',\n timeout: 30,\n defaultContent: defaultHeaderContent,\n });\n\n const content = mapContentToRows(result?.content);\n\n if (showCancelButton) {\n return (\n <HeaderStateProvider RouterLink={RouterLink}>\n <HeaderContainer\n showCancelButton\n skipToContentId={skipToContentId}\n includeSkipToSidebar={includeSkipToSidebar}\n >\n <HeaderCancel handleCancel={handleCancel} />\n </HeaderContainer>\n </HeaderStateProvider>\n );\n }\n\n if (isDevPre) {\n return (\n <HeaderStateProvider RouterLink={RouterLink}>\n <HeaderContainer\n skipToContentId={skipToContentId}\n includeSkipToSidebar={includeSkipToSidebar}\n >\n <nav aria-label=\"Primary navigation\" hidden={!isMobileMenuExpanded}>\n <ul className=\"navigation-menu\">\n <HeaderAccountMenu isDevPre isLoginEnabled={isLoginEnabled} />\n </ul>\n </nav>\n </HeaderContainer>\n </HeaderStateProvider>\n );\n }\n\n if (!content) {\n return null;\n }\n\n return (\n <HeaderStateProvider RouterLink={RouterLink}>\n <HeaderContainer\n skipToContentId={skipToContentId}\n includeSkipToSidebar={includeSkipToSidebar}\n >\n <HelpIcon />\n <HeaderMobileButton\n handleClick={() => setIsMobileMenuExpanded(!isMobileMenuExpanded)}\n isMobileMenuExpanded={isMobileMenuExpanded}\n />\n <nav aria-label=\"Primary navigation\" hidden={!isMobileMenuExpanded}>\n <ul className=\"navigation-menu navigation-new-style\">\n {content.map((header) => (\n <HeaderMenuItem\n handleClick={() => {\n setIsMobileMenuExpanded(!isMobileMenuExpanded);\n }}\n key={header.name}\n {...header}\n />\n ))}\n <HeaderAccountMenu\n handleClick={() => setIsMobileMenuExpanded(!isMobileMenuExpanded)}\n fbpPerformanceYear={fbpPerformanceYear}\n feedbackPerformanceYear={feedbackPerformanceYear}\n isLoginEnabled={isLoginEnabled}\n performanceYear={performanceYear}\n showPhysicianCompareLink={showPhysicianCompareLink}\n showFacilityBasedPreviewLink={showFacilityBasedPreviewLink}\n />\n </ul>\n </nav>\n </HeaderContainer>\n </HeaderStateProvider>\n );\n};\n\nHeaderUI.propTypes = {\n fbpPerformanceYear: PropTypes.string,\n feedbackPerformanceYear: PropTypes.string,\n handleCancel: PropTypes.func,\n includeSkipToSidebar: PropTypes.bool,\n isDevPre: PropTypes.bool,\n isLoginEnabled: PropTypes.bool,\n performanceYear: PropTypes.number,\n showCancelButton: PropTypes.bool,\n showPhysicianCompareLink: PropTypes.bool,\n showFacilityBasedPreviewLink: PropTypes.bool,\n skipToContentId: PropTypes.string,\n RouterLink: PropTypes.func,\n};\nHeaderUI.defaultProps = {\n fbpPerformanceYear: null,\n feedbackPerformanceYear: null,\n handleCancel: Function.prototype,\n includeSkipToSidebar: false,\n isDevPre: false,\n isLoginEnabled: true,\n performanceYear: 2017,\n showCancelButton: false,\n showPhysicianCompareLink: false,\n showFacilityBasedPreviewLink: false,\n skipToContentId: null,\n RouterLink: null,\n};\n\nexport default HeaderUI;\n","import React from 'react';\n\nconst HelpIcon = () => (\n <a\n className=\"header-help\"\n href=\"tel:1-866-288-8292\"\n data-track-category=\"MainContent\"\n data-track-action=\"CallQPPServiceCenter\"\n data-track-label=\"QPP Service Center Phone\"\n >\n <svg viewBox=\"0 0 28 28\" className=\"header-help-icon\">\n <path\n d=\"M23.9,5.9c0-0.6-0.2-1.1-0.6-1.5c-2.5-2.5-5.7-3.8-9.2-3.8S7.2,1.9,4.8,4.4c-0.4,0.4-0.6,1-0.6,1.5\n c0,0.4,0.1,0.8,0.3,1.1c-1.3,1.9-2,4.1-2,6.6v2.9c0,2.1,1.1,4,2.9,5.1c0,1.2,1,2.1,2.2,2.1c1.2,0,2.2-1,2.2-2.2v-6.5\n c0-1.2-1-2.2-2.2-2.2c-1.1,0-2,0.8-2.1,1.8H3.8v-1.1c0-2.1,0.6-4,1.7-5.6C5.8,8.1,6,8.1,6.3,8.1c0.6,0,1.1-0.2,1.5-0.6\n c1.6-1.6,3.8-2.5,6.2-2.5s4.5,0.9,6.2,2.5c0.4,0.4,1,0.6,1.5,0.6c0.3,0,0.5,0,0.7-0.1c1.1,1.6,1.7,3.6,1.7,5.6v1.1h-1.5\n c-0.2-1-1.1-1.8-2.1-1.8c-1.2,0-2.2,1-2.2,2.2v6.5c0,1.2,1,2.2,2.2,2.2c1.2,0,2.1-0.9,2.2-2.1c0.5-0.3,1-0.7,1.4-1.1\n c-0.1,1.2-0.4,2.4-0.9,3.5c-0.1,0.3-0.4,0.4-0.7,0.4h-4.3c-0.3-0.8-1.1-1.5-2-1.5h-1.5c-1.2,0-2.2,1-2.2,2.2s1,2.2,2.2,2.2h1.5\n c0.9,0,1.7-0.6,2-1.5h4.3c0.9,0,1.7-0.5,2-1.3c0.7-1.8,1.1-3.6,1.1-5.5v-5.5c0-2.4-0.8-4.7-2-6.6C23.8,6.7,23.9,6.3,23.9,5.9z\n M8.2,15.1v6.5c0,0.4-0.3,0.7-0.7,0.7c-0.4,0-0.7-0.3-0.7-0.7v-6.5c0-0.4,0.3-0.7,0.7-0.7C7.9,14.4,8.2,14.7,8.2,15.1z M5.3,19.9\n c-0.9-0.8-1.5-2-1.5-3.3v-0.4h1.5V19.9z M16.9,25.2c0,0.4-0.3,0.7-0.7,0.7h-1.5c-0.4,0-0.7-0.3-0.7-0.7s0.3-0.7,0.7-0.7h1.5\n C16.6,24.5,16.9,24.8,16.9,25.2z M19.8,21.6v-6.5c0-0.4,0.3-0.7,0.7-0.7s0.7,0.3,0.7,0.7v6.5c0,0.4-0.3,0.7-0.7,0.7\n S19.8,22,19.8,21.6z M22.7,16.2h1.5v0.4c0,1.3-0.5,2.5-1.5,3.3V16.2z M21.2,6.5c-1.9-1.9-4.5-3-7.2-3s-5.3,1.1-7.2,3\n c-0.3,0.3-0.8,0.3-1,0C5.7,6.3,5.6,6.1,5.6,5.9s0.1-0.4,0.2-0.5C8,3.2,10.9,2,14,2s6,1.2,8.2,3.4l0,0c0.1,0.1,0.2,0.3,0.2,0.5\n s-0.1,0.4-0.2,0.5C21.9,6.7,21.5,6.7,21.2,6.5z\"\n />\n </svg>\n <span>Help</span>\n </a>\n);\n\nexport default HelpIcon;\n","import React from 'react';\n\nconst NavigationButtonIcon = () => (\n <svg\n className=\"btn-navigation-icon\"\n width=\"15px\"\n height=\"24px\"\n viewBox=\"0 0 15 24\"\n >\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n className=\"chevron-icon\"\n transform=\"translate(-20.000000, -114.000000)\"\n fillRule=\"nonzero\"\n >\n <g\n className=\"chevron-right\"\n transform=\"translate(20.000000, 114.000000)\"\n >\n <path d=\"M14.6682692,12.2740385 L3.96634615,22.9759615 C3.78365385,23.1586538 3.56730769,23.25 3.31730769,23.25 C3.06730769,23.25 2.85096154,23.1586538 2.66826923,22.9759615 L0.274038462,20.5817308 C0.0913461538,20.3990385 0,20.1826923 0,19.9326923 C0,19.6826923 0.0913461538,19.4663462 0.274038462,19.2836538 L7.93269231,11.625 L0.274038462,3.96634615 C0.0913461538,3.78365385 0,3.56730769 0,3.31730769 C0,3.06730769 0.0913461538,2.85096154 0.274038462,2.66826923 L2.66826923,0.274038462 C2.85096154,0.0913461538 3.06730769,0 3.31730769,0 C3.56730769,0 3.78365385,0.0913461538 3.96634615,0.274038462 L14.6682692,10.9759615 C14.8509615,11.1586538 14.9423077,11.375 14.9423077,11.625 C14.9423077,11.875 14.8509615,12.0913462 14.6682692,12.2740385 Z\"></path>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport default NavigationButtonIcon;\n","import React from 'react';\nimport { render } from 'react-dom';\nimport HeaderUI from './HeaderUI.jsx';\n\n/**\n * Renders the QPP Header content.\n */\nexport default class Header {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {Boolean} options.isLoginEnabled\n * @param {String} options.skipToContentId - The HTML ID of main content\n * @param {Boolean} options.includeSkipToSidebar\n * @param {Boolean} options.showCancelButton\n * @param {Boolean} options.showCovidLink\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n render(\n <HeaderUI\n isLoginEnabled={options.isLoginEnabled}\n skipToContentId={options.skipToContentId}\n includeSkipToSidebar={options.includeSkipToSidebar}\n showCancelButton={options.showCancelButton}\n performanceYear={options.performanceYear}\n feedbackPerformanceYear={options.feedbackPerformanceYear}\n fbpPerformanceYear={options.fbpPerformanceYear}\n showPhysicianCompareLink={options.showPhysicianCompareLink}\n showFacilityBasedPreviewLink={options.showFacilityBasedPreviewLink}\n showCovidLink={options.showCovidLink}\n showMaqi={options.showMaqi}\n isDevPre={options.isDevPre}\n content={options.content}\n />,\n options.rootElement\n );\n }\n}\n","import React, { createContext, useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nexport function useWindowWidth() {\n const [windowSize, setWindowSize] = useState(undefined);\n useEffect(() => {\n function handleResize() {\n setWindowSize(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n handleResize();\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n return windowSize;\n}\n\nexport const HeaderStateContext = createContext(null);\n\nexport const HeaderStateProvider = ({ children, RouterLink }) => {\n const [currentOpenMenu, setCurrentOpenMenu] = useState('');\n\n const handleToggleMenu = (name) => {\n if (currentOpenMenu === name) {\n return setCurrentOpenMenu('');\n }\n return setCurrentOpenMenu(name);\n };\n\n const closeMenus = () => setCurrentOpenMenu('');\n return (\n <HeaderStateContext.Provider\n value={{ currentOpenMenu, handleToggleMenu, closeMenus, RouterLink }}\n >\n {children}\n </HeaderStateContext.Provider>\n );\n};\nHeaderStateProvider.propTypes = {\n children: PropTypes.node.isRequired,\n RouterLink: PropTypes.func,\n};\nHeaderStateProvider.defaultProps = {\n RouterLink: null,\n};\n\nexport const useHeaderState = () => {\n const context = useContext(HeaderStateContext);\n if (context === undefined) {\n throw new Error('useHeaderState must be used within a HeaderStateProvider');\n }\n return context;\n};\n","export const setUtagLink = (eventCategory, eventAction, eventLabel) =>\n window?.utag?.link({\n ga_event_category: eventCategory,\n ga_event_action: eventAction,\n ga_event_label: eventLabel,\n page_title: `${window.document.title}`,\n page_url: `${window.location.pathname}`,\n event: 'trackEvent',\n });\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '../Tooltip';\nimport InfotipIcon from './InfotipIcon';\n\nconst BUTTON_SIZE = '16px';\n\nconst buttonStyle = {\n background: 'transparent',\n border: 0,\n padding: 0,\n width: BUTTON_SIZE,\n height: BUTTON_SIZE,\n WebkitTouchCallout: 'none',\n WebkitUserSelect: 'none',\n userSelect: 'none',\n};\n\n// Use basic touch handlers for mobile \"tap-to-open\" ui. Mobile touch\n// is currently not supported by @reach/tooltip; this may change in future.\n// Leverages @reach/tooltip \"focus\" behavior to open tooltip on tap,\n// and close tooltip on second tap or loss of focus.\n// TODO: We may want to improve this by tracking touch positions to ensure\n// that a 'touchend' event must be reasonably close to the tooltip target.\nconst touchHandlers = {\n onTouchStart: (e) => {\n e.stopPropagation();\n },\n onTouchEnd: (e) => {\n if (document.activeElement !== e.currentTarget) {\n e.preventDefault();\n e.currentTarget.focus();\n } else {\n e.preventDefault();\n e.currentTarget.blur();\n }\n },\n};\n\n/**\n * Tooltip with styled information icon\n */\nconst Infotip = ({ label, lightIcon, ...props }) => (\n <Tooltip label={label} {...props}>\n <button\n type=\"button\"\n aria-label=\"Information\"\n style={buttonStyle}\n {...touchHandlers}\n >\n <InfotipIcon\n lightIcon={lightIcon}\n width={BUTTON_SIZE}\n height={BUTTON_SIZE}\n aria-hidden\n style={{ float: 'left' }}\n />\n </button>\n </Tooltip>\n);\n\nInfotip.propTypes = {\n label: PropTypes.string.isRequired,\n ariaLabel: PropTypes.string,\n lightIcon: PropTypes.bool,\n DEBUG_STYLE: PropTypes.bool,\n};\n\nInfotip.defaultProps = {\n ariaLabel: undefined,\n lightIcon: false,\n DEBUG_STYLE: undefined,\n};\n\nexport default Infotip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst InfotipIcon = ({ lightIcon, ...props }) => (\n <svg\n width=\"20px\"\n height=\"20px\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M9.721 19.158c-4.947 0-8.973-4.126-8.973-9.196C.748 4.892 4.774.766 9.72.766c4.948 0 8.974 4.126 8.974 9.196 0 5.07-4.026 9.196-8.974 9.196z\"\n fill=\"#2EB1ED\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M9.721 0C4.361 0 0 4.469 0 9.962c0 5.493 4.36 9.962 9.721 9.962 5.36 0 9.722-4.469 9.722-9.962C19.443 4.469 15.082 0 9.72 0z\"\n fill={lightIcon ? '#FFF' : '#04838A'}\n />\n <path\n d=\"M9.721 14.765c-.206 0-.374.112-.374.25v.5c0 .138.168.25.374.25.207 0 .374-.112.374-.25v-.5c0-.138-.167-.25-.374-.25zM9.764 4.706H9.72c-.792 0-1.536.29-2.1.821a2.767 2.767 0 0 0-.89 2.03c0 .197.166.356.373.356s.374-.159.374-.356c0-.577.237-1.118.668-1.523a2.268 2.268 0 0 1 1.607-.615c1.182.016 2.195.98 2.211 2.107.011.743-.373 1.427-1.028 1.83-.995.61-1.589 1.691-1.589 2.89v1.013c0 .197.168.357.374.357.207 0 .374-.16.374-.357v-1.013c0-.941.477-1.82 1.246-2.292.873-.537 1.386-1.448 1.371-2.438-.022-1.527-1.345-2.788-2.948-2.81z\"\n stroke={lightIcon ? '#04838A' : '#FFF'}\n strokeWidth=\".5\"\n fill={lightIcon ? '#04838A' : '#FFF'}\n fillRule=\"nonzero\"\n />\n </g>\n </svg>\n);\n\nexport default InfotipIcon;\n\nInfotipIcon.propTypes = {\n lightIcon: PropTypes.bool,\n};\n\nInfotipIcon.defaultProps = {\n lightIcon: false,\n};\n","import React, { Component } from 'react';\nimport { render } from 'react-dom';\nimport ReactModal from 'react-modal';\nimport { CloseXIcon } from '../../lib/SvgComponents.jsx';\nimport SanitizedContent from '../SanitizedContent';\nimport PropTypes from 'prop-types';\n\nclass Modal extends Component {\n constructor() {\n super();\n\n this.state = {\n showModal: true,\n };\n\n this.handleOpenModal = this.handleOpenModal.bind(this);\n this.handleCloseModal = this.handleCloseModal.bind(this);\n\n ReactModal.setAppElement('body > *:not(.ReactModalPortal)');\n }\n\n handleOpenModal() {\n this.setState({ showModal: true });\n }\n\n handleCloseModal() {\n this.setState({ showModal: false });\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n this.setState({\n showModal: newProps.showModal,\n });\n }\n\n render() {\n return (\n <div>\n <ReactModal\n role=\"alertdialog\"\n contentLabel={this.props.contentLabel || 'Informational Modal Dialog'}\n isOpen={this.state.showModal}\n className=\"info-modal-content\"\n overlayClassName=\"info-modal-overlay\"\n onRequestClose={this.handleCloseModal}\n >\n <button\n className=\"closeModal\"\n aria-label=\"Close modal\"\n onClick={this.handleCloseModal}\n >\n <svg className=\"close-icon\" aria-hidden=\"true\">\n <CloseXIcon />\n </svg>\n </button>\n <SanitizedContent html={this.props.content} />\n </ReactModal>\n </div>\n );\n }\n}\n\nconst displayModal = ({ content, main }) => {\n render(<Modal content={content} showModal={true} />, main);\n};\n\nModal.propTypes = {\n contentLabel: PropTypes.string,\n content: PropTypes.string,\n};\n\nexport default displayModal;\n","import React, { useRef, useState, useEffect } from 'react';\nimport ReactModal from 'react-modal';\nimport PropTypes from 'prop-types';\n\nimport { CloseXIcon2 } from '../../lib/SvgComponents.jsx';\n\nconst Modal = ({\n children,\n onRequestClose,\n title,\n primary,\n secondary,\n appElement,\n isOpen,\n ...props\n}) => {\n const [overflowSeparator, setOverflowSeparator] = useState(false);\n const closeButtonRef = useRef(null);\n const contentRef = useRef(null);\n\n useEffect(() => {\n ReactModal.setAppElement(appElement);\n }, []);\n\n return (\n <ReactModal\n onRequestClose={onRequestClose}\n portalClassName=\"qpp-c-modal\"\n className=\"qpp-c-modal__content\"\n overlayClassName=\"qpp-c-modal__overlay\"\n bodyOpenClassName=\"qpp-c-modal__body-open\"\n isOpen={isOpen}\n onAfterOpen={() => {\n // Add heading separator based on overflow\n if (\n contentRef.current?.scrollHeight >\n document.documentElement.clientHeight * 0.6\n ) {\n setOverflowSeparator(true);\n } else {\n setOverflowSeparator(false);\n }\n\n // Set default focus\n if (closeButtonRef?.current) {\n closeButtonRef.current.focus();\n }\n }}\n aria={{\n labelledby: 'modal-heading',\n describedby: 'modal-body',\n }}\n {...props}\n >\n <div\n className={`qpp-c-modal__header ${\n overflowSeparator ? 'qpp-c-modal__header-sep' : ''\n }`}\n >\n <h3 id=\"modal-heading\">{title}</h3>\n <button\n className=\"closex qpp-c-button qpp-c-button--text qpp-u-color--black\"\n aria-label=\"close modal\"\n data-testid=\"modal-close-btn\"\n onClick={onRequestClose}\n ref={closeButtonRef}\n >\n <CloseXIcon2 />\n </button>\n </div>\n <div\n id=\"modal-body\"\n className=\"qpp-c-modal__body\"\n ref={contentRef}\n tabIndex={overflowSeparator ? \"0\" : undefined}\n >\n {children}\n </div>\n {(primary || secondary) && (\n <div className=\"qpp-c-modal__footer\">\n {secondary && (\n <button\n className={`qpp-c-button qpp-c-button--secondary ${\n primary ? 'qpp-u-margin-right--16' : ''\n }`}\n loading={secondary.loading}\n onClick={secondary.onClick || onRequestClose}\n aria-label={secondary.title}\n data-testid=\"modal-secondary-btn\"\n >\n {secondary.title}\n </button>\n )}\n {primary && (\n <button\n className=\"qpp-c-button\"\n loading={primary.loading}\n onClick={primary.onClick}\n data-testid=\"modal-primary-btn\"\n aria-label={primary.title}\n >\n {primary.title}\n </button>\n )}\n </div>\n )}\n </ReactModal>\n );\n};\n\nModal.propTypes = {\n title: PropTypes.string,\n children: PropTypes.node.isRequired,\n primary: PropTypes.shape({\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n onClick: PropTypes.func,\n loading: PropTypes.bool,\n loadingText: PropTypes.string,\n }),\n secondary: PropTypes.shape({\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n onClick: PropTypes.func,\n loading: PropTypes.bool,\n loadingText: PropTypes.string,\n }),\n onRequestClose: PropTypes.func,\n appElement: PropTypes.string,\n isOpen: PropTypes.bool,\n};\n\nModal.defaultProps = {\n onRequestClose: () => {},\n title: undefined,\n primary: null,\n secondary: null,\n appElement: 'body > *:not(.qpp-c-modal)',\n isOpen: false,\n};\n\nexport default Modal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport LegacyModal from './LegacyModal';\nimport DsModal from './Modal';\n\nconst Modal = ({ useDesignSystem, ...rest }) => {\n if (useDesignSystem) {\n return <DsModal {...rest} />;\n }\n return <LegacyModal {...rest} />;\n};\n\nModal.propTypes = {\n useDesignSystem: PropTypes.bool,\n};\nModal.defaultProps = {\n useDesignSystem: false,\n};\nModal.displayName = 'Modal';\n\nexport default Modal;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport SanitizedContent from '../SanitizedContent';\nimport { CloseXIcon, BellOutline } from '../../lib/SvgComponents.jsx';\nimport { withGetConfig } from '../hooks/useGetConfig';\n\nclass NotificationBanner extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n height: '100%',\n expanded: true,\n };\n\n this._renderCloseButton = this.renderCloseButton.bind(this);\n this._collapseNotification = this.collapseNotification.bind(this);\n this._expandNotification = this.expandNotification.bind(this);\n this._setBannerHeight = this.setBannerHeight.bind(this);\n }\n\n componentDidMount() {\n if (window.innerWidth <= 767) {\n this.setState({\n expanded: false,\n });\n }\n\n window.addEventListener('load', this._setBannerHeight);\n window.addEventListener('resize', this._setBannerHeight);\n }\n\n // Populate state with notification from localStorage\n componentDidUpdate(prevProps) {\n if (prevProps.result !== this.props?.result) {\n const { result: notifications } = this.props;\n if (Object.keys(notifications).length > 0) {\n this.setState({\n expanded: this.isNotificationExpanded(notifications.content),\n });\n }\n }\n }\n\n setBannerHeight() {\n const {\n result: {\n content: { content },\n },\n } = this.props;\n if (content) {\n this.bannerContainer.style.transition = 'none';\n\n this.state.expanded\n ? this.collapsedBanner.setAttribute('tabIndex', '-1')\n : this.collapsedBanner.setAttribute('tabIndex', ' ');\n\n this.setState({\n height: this.state.expanded\n ? '100%'\n : this.collapsedWrapper.offsetHeight + 'px',\n });\n }\n }\n\n isNotificationExpanded(notification) {\n const dateDismissed = new Date(notification.dateDismissed);\n const dateUpdated = new Date(notification.dateUpdated);\n const notDismissed =\n (this.isDateValid(dateUpdated) &&\n this.isDateValid(dateDismissed) &&\n dateUpdated >= dateDismissed) ||\n !this.isDateValid(dateDismissed);\n\n return notDismissed;\n }\n\n /**\n * Whether the date is valid, i.e. not null\n *\n * @param {Date} date\n * @return {Boolean}\n */\n isDateValid(date) {\n return !isNaN(Date.parse(date));\n }\n\n /**\n * Try to find this NotificationBanner instance in localStorage, or else add\n * a minimal version of it, and mark it with a dateDismissed, then update\n * localStorage.\n */\n markNotificationClosed() {\n const { result } = this.props;\n const dateDismissed = new Date().toISOString();\n const storageNotification = result || {};\n\n if (storageNotification && Object.keys(storageNotification).length > 0) {\n window.localStorage.setItem(\n 'notifications',\n JSON.stringify({\n ...storageNotification,\n content: {\n ...storageNotification.content,\n dateDismissed,\n },\n })\n );\n } else {\n window.localStorage.setItem(\n 'notifications',\n JSON.stringify({\n ...storageNotification,\n content: {\n name: 'header-notification',\n dateDismissed,\n },\n })\n );\n }\n }\n\n /**\n * Callback when the user dimisses a notification. Mark it as dismissed in\n * localStorage, empty the contents, and dispatch a custom event to notify\n * any observers that it has been dismissed.\n */\n collapseNotification(e) {\n e.stopPropagation();\n this.markNotificationClosed();\n this.collapsedBanner.setAttribute('tabIndex', ' ');\n this.bannerContainer.style.transition = 'height .2s ease-out';\n this.setState({\n expanded: false,\n height: this.collapsedWrapper.offsetHeight + 'px',\n });\n }\n\n expandNotification() {\n if (!this.state.expanded) {\n this.collapsedBanner.setAttribute('tabIndex', '-1');\n this.bannerContainer.style.transition = 'height .2s ease-out';\n this.setState({\n expanded: true,\n height: '100%',\n });\n }\n }\n\n /**\n * Renders the close button if the notification instance is dismissable.\n *\n * @return {String} HTML content\n */\n renderCloseButton() {\n const {\n result: {\n content: { dismissable },\n },\n } = this.props;\n if (dismissable) {\n return (\n <button\n onClick={this._collapseNotification}\n type=\"button\"\n className=\"notification-banner-close\"\n >\n <svg className=\"close-icon\" aria-hidden=\"true\" focusable=\"false\">\n <CloseXIcon />\n </svg>\n <span className=\"sr-only\">Close</span>\n </button>\n );\n } else {\n return '';\n }\n }\n\n /**\n * Render the notification if it has any contents.\n *\n * @return {String} HTML content\n */\n render() {\n const { expanded, height } = this.state;\n const { result: { content: { enabled, content } = {} } = {} } = this.props;\n if (!content || !enabled) {\n return <div id=\"notification-banner\" />;\n } else {\n const notificationStatus = expanded ? 'expanded' : 'collapsed';\n const { color = 'blue', label = 'Update' } = content;\n const className = `notification-banner notification-banner-${color} ${notificationStatus}`;\n\n return (\n <div\n style={{ height }}\n ref={(elem) => (this.bannerContainer = elem)}\n className={className}\n >\n <div\n ref={(elem) => (this.expandedWrapper = elem)}\n className={`notification-banner-wrapper expanded-view`}\n >\n <div className=\"notification-banner-label\">{label}</div>\n <div className=\"notification-banner-content\">\n <SanitizedContent\n html={expanded ? content : '<p>Nothing to see here</p>'}\n />\n </div>\n {expanded && this._renderCloseButton()}\n </div>\n\n <div\n ref={(elem) => (this.collapsedWrapper = elem)}\n className={`notification-banner-wrapper collapsed-view`}\n onClick={this._expandNotification}\n >\n <button\n ref={(elem) => (this.collapsedBanner = elem)}\n className={`notification-banner-label`}\n >\n {label}\n <span className=\"bell-icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <BellOutline />\n </svg>\n </span>\n </button>\n </div>\n </div>\n );\n }\n }\n}\n\nNotificationBanner.propTypes = {\n result: PropTypes.shape({\n content: PropTypes.shape({\n content: PropTypes.string,\n label: PropTypes.string,\n color: PropTypes.string,\n dismissable: PropTypes.bool,\n }),\n }),\n};\n\nNotificationBanner.defaultProps = {\n result: {\n content: {\n content: null,\n label: 'Update',\n color: 'blue',\n dismissable: true,\n },\n },\n};\n\nexport default withGetConfig(NotificationBanner, {\n timeout: 5,\n url: '/config/notification',\n localStorageName: 'active_notification',\n equalityCheckExclude: ['dateDismissed', 'dateUpdated'],\n defaultContent: {},\n});\n","import React from 'react';\nimport xss from 'xss';\nimport PropTypes from 'prop-types';\n\n// Override the default allowed HTML tags\nconst defaultAllowedTags = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'b',\n 'blockquote',\n 'br',\n 'button',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hr',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'mark',\n 'meter',\n 'nav',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'svg',\n 'use',\n 'polygon',\n 'circle',\n 'g',\n 'path',\n];\n\n// Override the default allowed HTML attributes for all tags\nconst defaultAllowedAttributes = {\n '*': [\n 'action',\n 'alt',\n 'aria-*',\n 'autocomplete',\n 'cite',\n 'class',\n 'cols',\n 'colspan',\n 'data-*',\n 'datetime',\n 'disabled',\n 'download',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'href',\n 'hreflang',\n 'id',\n 'lang',\n 'list',\n 'max',\n 'maxlength',\n 'minlength',\n 'media',\n 'method',\n 'min',\n 'multiple',\n 'name',\n 'novalidate',\n 'open',\n 'pattern',\n 'placeholder',\n 'readonly',\n 'rel',\n 'required',\n 'reversed',\n 'rows',\n 'rowspan',\n 'sandbox',\n 'scope',\n 'scoped',\n 'selected',\n 'size',\n 'sizes',\n 'span',\n 'spellcheck',\n 'src',\n 'srcset',\n 'start',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'target',\n 'title',\n 'type',\n 'value',\n 'width',\n 'wrap',\n 'fill',\n 'stroke',\n ' stroke-width',\n 'd',\n 'points',\n 'viewbox',\n 'x',\n 'y',\n 'cx',\n 'cy',\n 'r',\n 'xmlns',\n 'xmlns:xlink',\n 'xlink:href',\n 'version',\n 'preserveaspectratio',\n 'enable-background',\n ],\n};\n\nconst SanitizedContent = ({\n html = '<div/>',\n customClassName = null,\n allowedTags = defaultAllowedTags,\n allowedAttributes = defaultAllowedAttributes,\n}) => {\n const whiteList = allowedTags.reduce((map, tag) => {\n map[tag] = allowedAttributes['*'];\n return map;\n }, {});\n const sanitizedHTML = xss(html, { whiteList });\n return (\n <div\n {...(customClassName && { className: customClassName })}\n dangerouslySetInnerHTML={{ __html: sanitizedHTML }}\n />\n );\n};\n\nSanitizedContent.propTypes = {\n html: PropTypes.string,\n customClassName: PropTypes.string,\n allowedTags: PropTypes.array,\n allowedAttributes: PropTypes.array,\n};\n\nexport default SanitizedContent;\n","import React from 'react';\nimport { render } from 'react-dom';\nimport SessionDialogUI from '../SessionDialogUI';\n\n/**\n * Renders the Session Dialog UI content.\n */\nexport default class SessionDialog {\n /**\n * @param {Object} options - An object containing content and config data\n * @param {Boolean} options.showImmediate\n * @param {Number} options.warningTimeout\n * @param {String} options.appElement\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n constructor(options) {\n render(\n <SessionDialogUI\n showImmediate={options.showImmediate}\n warningTimeout={options.warningTimeout}\n appElement={options.appElement}\n />,\n options.rootElement\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'cookie';\nimport retry from 'retry';\nimport jwtDecode from 'jwt-decode';\n\nimport Modal from './Modal';\nimport RefreshSession from '../session/refresh';\nimport LogoutSession from '../session/logout';\nimport fetchTtl from '../session/ttl';\n\nconst fetchTtlIntervalMs = 60000;\n\nexport default class SessionDialogUI extends Component {\n /**\n * Create a SessionDialogUI component.\n * @param {object} props - Configuration options. See SessionDialog for more\n */\n constructor(props) {\n super(props);\n\n this.handleOpenModal = this.handleOpenModal.bind(this);\n this.handleCloseModal = this.handleCloseModal.bind(this);\n this.refreshSession = this.refreshSession.bind(this);\n this.signOut = this.signOut.bind(this);\n this.startTimer = this.startTimer.bind(this);\n this.shouldShowDialog = this.shouldShowDialog.bind(this);\n this.shouldSignOut = this.shouldSignOut.bind(this);\n this.minutesUntil = this.minutesUntil.bind(this);\n this.checkExpiry = this.checkExpiry.bind(this);\n this.onInterval = this.onInterval.bind(this);\n\n if (props.showImmediate === true) {\n this.state = {\n showModal: true,\n showError: false,\n };\n } else {\n this.state = {\n showModal: false,\n showError: false,\n };\n\n this.startTimer();\n }\n }\n\n /**\n * Extracts the token exp value as a JavaScript date.\n * @param {Object} cookies - An object representation of the cookie store\n * @returns {(date|null)} The token expiration date, if found\n */\n getTokenExpiry(cookies) {\n let expiry = null;\n\n if (cookies.hasOwnProperty('qpp_auth_token') && cookies.qpp_auth_token) {\n // See https://tools.ietf.org/html/rfc7519\n // `exp` is a NumericDate representing \"seconds since the epoch\"\n // and it needs to be milliseconds to get a JavaScript date from it.\n const { exp } = jwtDecode(cookies.qpp_auth_token);\n expiry = new Date(exp * 1000);\n }\n\n return expiry;\n }\n\n checkExpiry(expiry) {\n if (expiry) {\n if (this.shouldShowDialog(expiry)) {\n this.handleOpenModal();\n } else if (this.shouldSignOut(expiry)) {\n this.signOut();\n clearInterval(this.warningInterval);\n }\n } else {\n clearInterval(this.warningInterval);\n }\n }\n\n onInterval() {\n const cookies = cookie.parse(document.cookie);\n\n if (cookies.hasOwnProperty('qpp_auth_token') && cookies.qpp_auth_token) {\n const operation = retry.operation({\n retries: 5,\n factor: 1,\n minTimeout: 1000,\n maxTimeout: 1000,\n });\n\n operation.attempt(() => {\n fetchTtl(cookies.qpp_auth_token)\n .then(this.checkExpiry)\n .catch((error) => {\n if (operation.retry(error)) {\n // try again before giving up\n return;\n }\n clearInterval(this.warningInterval);\n // sign an inactive user out\n this.forceTimeoutHandle = setTimeout(this.signOut, 120 * 1000);\n this.setState({\n showModal: false,\n showError: true,\n });\n });\n });\n }\n }\n\n /**\n * Checks whether the user is within a specified number of minutes before\n * their session token expires. If so, show a warning dialog. If the\n * expiration has been reached, sign the user out.\n */\n startTimer() {\n clearInterval(this.warningInterval);\n\n this.warningInterval = setInterval(this.onInterval, fetchTtlIntervalMs);\n }\n\n /**\n * Returns whether the current time is within the timeout range of expiry.\n * @param {date|number} expiry - Expiration date to check against\n * @returns {boolean}\n */\n shouldShowDialog(expiry) {\n if (typeof expiry === 'number') {\n const minutesLeft = expiry / 60;\n\n return !this.state.showModal && minutesLeft <= this.props.warningTimeout;\n } else {\n return (\n !this.state.showModal &&\n this.minutesUntil(expiry) <= this.props.warningTimeout\n );\n }\n }\n\n /**\n * Returns whether the current time has reached the expiration date.\n * @param {date|number} expiry - Expiration date to check against\n * @returns {boolean}\n */\n shouldSignOut(expiry) {\n if (typeof expiry === 'number') {\n return expiry <= 1;\n } else {\n return this.minutesUntil(expiry) <= 0;\n }\n }\n\n /**\n * Returns number of minutes until the expiration date.\n * @param {date} expiry - Expiration date to check against\n * @returns {number}\n */\n minutesUntil(expiry) {\n return (expiry - new Date().getTime()) / 60000;\n }\n\n /**\n * Sets the modal state to visible.\n */\n handleOpenModal() {\n this.setState({\n showModal: true,\n showError: false,\n });\n }\n\n /**\n * Sets the modal state to hidden.\n */\n handleCloseModal() {\n this.setState({\n showModal: false,\n showError: false,\n });\n }\n\n /**\n * Handles the user requesting their session be extended.\n */\n refreshSession() {\n RefreshSession({\n window,\n onSuccess: () => {\n this.startTimer();\n },\n });\n\n this.handleCloseModal();\n }\n\n /**\n * Handles the user requesting their session be ended.\n */\n signOut() {\n if (this.forceTimeoutHandle) {\n clearTimeout(this.forceTimeoutHandle);\n }\n LogoutSession(window);\n this.handleCloseModal();\n }\n\n render() {\n return (\n <React.Fragment>\n <Modal\n useDesignSystem\n title=\"You will be signed out within two minutes\"\n isOpen={this.state.showModal}\n primary={{\n title: 'Keep me signed in',\n onClick: this.refreshSession,\n }}\n secondary={{\n title: 'Sign me out now',\n onClick: this.signOut,\n }}\n onRequestClose={this.handleCloseModal}\n >\n <p>\n You have been inactive for thirty minutes. For your security, we\n will sign you out automatically.\n </p>\n </Modal>\n\n <Modal\n useDesignSystem\n title=\"Technical Difficulties\"\n isOpen={this.state.showError}\n primary={{\n title: 'Sign Out',\n onClick: this.signOut,\n }}\n onRequestClose={this.signOut}\n >\n <p>\n We’re experiencing technical difficulties. Please log in again to\n continue. For your security, we will sign you out automatically\n within two minutes.\n </p>\n </Modal>\n </React.Fragment>\n );\n }\n}\n\nSessionDialogUI.propTypes = {\n showImmediate: PropTypes.bool,\n warningTimeout: PropTypes.number,\n appElement: PropTypes.string,\n};\n\nSessionDialogUI.defaultProps = {\n showImmediate: false,\n warningTimeout: 2,\n appElement: undefined,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst hasDarkerBackground = (darkerBackground) => {\n return darkerBackground ? 'background-highlight' : '';\n}\n\nconst AnimationGroup = ({ display, className, children, darkerBackground }) => {\n return (\n <div\n className={`animation-group animation-group-${className || 'default'}${\n display ? ' animation-group-enter' : ' animation-group-exit'\n } ${hasDarkerBackground(darkerBackground)}`}\n >\n {children}\n </div>\n );\n};\n\nAnimationGroup.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n display: PropTypes.bool,\n darkerBackground: PropTypes.bool\n};\n\nexport default AnimationGroup;\n","import React, { useState, useEffect } from 'react';\nimport { pie, arc } from 'd3-shape';\nimport { select, event } from 'd3-selection';\nimport PropTypes from 'prop-types';\n\nconst WIDTH = 210;\nconst HEIGHT = 210;\nconst RADIUS = Math.min(WIDTH, HEIGHT) / 2;\nconst GAP_VALUE = 2.5;\n\nconst ScoreChart = ({ performanceYear, chartData, linkCallback }) => {\n const [hasLegend, setHasLegend] = useState(false);\n const [titleMapping, setTitleMapping] = useState({\n quality: 'Quality Measures',\n aci: 'Advancing Care Info',\n pi: 'Promoting Interoperability',\n ia: 'Improvement Activities',\n cost: 'Cost',\n });\n\n const { categories } = chartData;\n let legendToggler;\n let legend;\n\n const getAdvancingCareLabel = () => {\n if (performanceYear > 2017) {\n setTitleMapping({ ...titleMapping, aci: 'Promoting Interoperability' });\n }\n };\n\n const redirectToCategory = (link, categoryId) => {\n if (!link) {\n return;\n }\n\n // track explicitly chart legends\n if (window.utag) {\n window.utag.track('link', {\n ga_event_category: 'SidebarNav',\n ga_event_action: `GoTo${categoryId}`,\n ga_event_label: categoryId,\n });\n }\n\n if (linkCallback) {\n linkCallback(link);\n } else {\n window.location.href = link;\n }\n };\n\n const draw = (chartData) => {\n const scorePie = pie().sort(null);\n\n // Removing invalid categories\n const categories = chartData.categories.filter(\n ({ maxContribution }) => !!maxContribution\n );\n\n // Calculating the sum of valid categories in order to calculate ratios\n const categorySum = categories\n .map(({ maxContribution }) => maxContribution)\n .reduce((sum, current) => sum + current);\n\n if (!categorySum) {\n return;\n }\n\n select('.score-chart').selectAll('*').remove();\n\n const svg = select('.score-chart')\n .attr('width', WIDTH)\n .attr('height', HEIGHT);\n\n const chartArc = arc()\n .innerRadius(RADIUS - 1.5)\n .outerRadius(RADIUS - 25);\n\n // Preparing the data structure with ratios: [ FILLED, EMPTY, TRANSPARENT, FILLED, EMPTY, ... ]\n let data;\n if (categories.length === 0) {\n data = [];\n } else if (categories.length === 1) {\n const { value, maxContribution } = categories[0];\n data = [value || 0, maxContribution - value];\n } else {\n data = categories\n .map(({ value, maxContribution }) => [\n value || 0,\n maxContribution - value,\n GAP_VALUE * (categorySum / 100),\n ])\n .reduce((a, b) => a.concat(b), []);\n }\n\n svg.append('title').attr('id', 'titleID').text('Your submission score');\n\n svg\n .append('desc')\n .attr('id', 'descID')\n .text(`${chartData.finalScore} out of 100`);\n\n // Setting up the arcs\n let arcs = svg\n .append('g')\n .attr('class', 'arcs')\n .attr('role', 'presentation')\n .selectAll('g.arc')\n .data(scorePie(data))\n .enter()\n .append('g')\n .attr('class', (d, i) => {\n let role;\n if (i % 3 === 0) {\n role = 'filled';\n } else if (i % 3 === 1) {\n role = 'empty';\n } else {\n role = 'transparent';\n }\n return `arc ${categories[parseInt(i / 3)].name} ${role}`;\n })\n .attr('transform', `translate(${RADIUS}, ${RADIUS})`)\n // For accessibility, we add keyboard access to the filled slices\n .attr('tabindex', (d, i) => {\n let tabindex = -1;\n if (i % 3 === 0) {\n tabindex = 0;\n }\n return tabindex;\n })\n // IE for for focusable svg elements\n .attr('focusable', (d, i) => {\n if (i % 3 === 0) {\n return true;\n }\n })\n // For accessibility, we add keyboard access to the filled slices\n .on('keyup', (d, i) => {\n const code = event.keyCode || event.which;\n if (code === 13) {\n const { name, link } = categories[parseInt(i / 3)];\n redirectToCategory(link, name);\n }\n })\n // On click - go to category page\n .on('click', (d, i) => {\n const { name, link } = categories[parseInt(i / 3)];\n redirectToCategory(link, name);\n });\n\n // Add accessibility description\n arcs.append('desc').text((d, i) => {\n if (i % 3 === 0) {\n const { name, value, maxContribution } = categories[parseInt(i / 3)];\n return `${titleMapping[name]} ${value} out of ${maxContribution}`;\n }\n });\n\n arcs\n .append('path')\n .attr('d', chartArc)\n // On mouse over - show category tooltip\n .on('mouseover', (d, i) => {\n const { name, value, maxContribution } = categories[parseInt(i / 3)];\n select('.chart-tooltip')\n .style('opacity', 1)\n .text(`${titleMapping[name]} ${value}/${maxContribution}`);\n })\n // On mouse move - move category tooltip\n .on('mousemove', () => {\n select('.chart-tooltip')\n .style('top', event.clientY - HEIGHT + 10 + 'px')\n .style('left', event.clientX + 'px');\n })\n // On mouse out - hide category tooltip\n .on('mouseout', () => {\n select('.chart-tooltip').style('opacity', 0);\n });\n\n // Adding title and subtitle\n const text = svg\n .append('g')\n .attr('text-anchor', 'middle')\n .attr('transform', `translate(${WIDTH / 2}, ${HEIGHT / 2})`);\n\n // Adding title - X%\n text\n .append('text')\n .attr('y', 4)\n .attr('class', 'chart-title')\n .text(chartData.finalScore);\n\n // Adding subtitle - OUT OF 100\n text\n .append('text')\n .attr('y', 24)\n .attr('class', 'chart-subtitle')\n .text('OUT OF 100');\n };\n\n const toggleLegend = () => {\n setHasLegend(!hasLegend);\n };\n\n useEffect(() => {\n if (chartData?.finalScore) {\n draw(chartData);\n getAdvancingCareLabel();\n }\n }, [chartData?.finalScore]);\n\n if (hasLegend) {\n legendToggler = (\n <button className=\"open\" type=\"button\" aria-pressed=\"true\">\n Hide Legend\n <svg\n className=\"right-icon rotated\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <use xlinkHref=\"#chevron-down\" />\n </svg>\n </button>\n );\n legend = categories.map(({ name, value, maxContribution, link }, index) => {\n return (\n <li key={name} className=\"legend-axis\">\n <button onClick={() => redirectToCategory(link, name)}>\n <span className={`legend-axis-color ${name}`} />\n &nbsp;\n <span className=\"legend-axis-title\">{titleMapping[name]}</span>\n &nbsp;\n <span className=\"legend-axis-value\">{`${value}/${maxContribution}`}</span>\n </button>\n </li>\n );\n });\n } else {\n legendToggler = (\n <button type=\"button\" aria-pressed=\"false\">\n Show Legend\n <svg className=\"right-icon\" aria-hidden=\"true\" focusable=\"false\">\n <use xlinkHref=\"#chevron-down\" />\n </svg>\n </button>\n );\n }\n\n return (\n <div className=\"chart\">\n <svg className=\"score-chart\" focusable=\"false\" />\n <div className=\"chart-tooltip off\" />\n <div className=\"chart-legend-toggler\" onClick={toggleLegend}>\n {legendToggler}\n </div>\n <ul className=\"chart-legend\">{legend}</ul>\n </div>\n );\n};\n\nScoreChart.propTypes = {\n chartData: PropTypes.object,\n linkCallback: PropTypes.func,\n performanceYear: PropTypes.number,\n};\n\nexport default ScoreChart;\n","import ScoreChart from './ScoreChart';\n\nexport { ScoreChart };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'cookie';\nimport jwtDecode from 'jwt-decode';\n\nimport { NavLinkContainer, NavLinkInline, NavLinkDrawer } from '../Links';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport {\n AccountHomeIcon,\n DashboardIcon,\n FacilityBasedPreviewIcon,\n HardshipIcon,\n HelpSupportIcon,\n ManageUsersIcon,\n MyApplicationsIcon,\n MyTestDataIcon,\n PaymentIcon,\n PhysicianCompareIcon,\n StarIcon,\n TargetIcon,\n} from '../../../lib/SvgComponents';\nimport {\n dashboardUrl,\n facilityBasedPreviewBaseUrl,\n feedbackUrl,\n manageUrl,\n physicianCompareUrl,\n reportsPortalUrl,\n submissionsUrl,\n} from '../helpers';\n\nconst getIcon = (url) =>\n ({\n [dashboardUrl]: DashboardIcon,\n [feedbackUrl]: StarIcon,\n [manageUrl]: ManageUsersIcon,\n [physicianCompareUrl]: PhysicianCompareIcon,\n [reportsPortalUrl]: HardshipIcon,\n [submissionsUrl]: AccountHomeIcon,\n [facilityBasedPreviewBaseUrl]: FacilityBasedPreviewIcon,\n '/developers': HelpSupportIcon,\n '/resources/help-and-support': HelpSupportIcon,\n '/user/apm-incentive-payments': PaymentIcon,\n '/user/applications': MyApplicationsIcon,\n '/user/exception/#/landing': HardshipIcon,\n '/user/targeted-review/#/landing': TargetIcon,\n '/user/test-data': MyTestDataIcon,\n }[url] || null);\n\nconst LevelOneContent = ({\n isExpanded,\n config: { linkCallback, useTooltips } = {},\n levelOneContent,\n}) => {\n let {\n qpp_has_authorizations,\n user_has_apm_payments,\n qpp_is_dev_pre,\n qpp_ehr_authorized,\n qpp_has_non_registry_authorizations,\n qpp_auth_token,\n } = cookie.parse(document.cookie);\n\n let name = '';\n if (qpp_auth_token) {\n const { firstName, lastName } = jwtDecode(qpp_auth_token);\n name = `${firstName} ${lastName}`;\n }\n\n const hasAuthorizations = qpp_has_authorizations === 'true';\n const hasApmPayments = user_has_apm_payments === 'true';\n const isDevPre = qpp_is_dev_pre === 'true';\n const ehrAuthorized = qpp_ehr_authorized === 'true';\n const hasNonRegistryAuthorizations =\n qpp_has_non_registry_authorizations === 'true';\n\n const linkClass = isExpanded ? 'link-inline' : 'link-collapsed';\n const content = isDevPre ? levelOneContent?.devPre : levelOneContent?.default;\n\n // Mapping side nav link urls to the conditions that determine their inclusion in the side nav\n const urlConditionMap = {\n [dashboardUrl]: hasAuthorizations,\n [feedbackUrl]: hasAuthorizations,\n '/user/apm-incentive-payments': hasApmPayments,\n [physicianCompareUrl]: hasNonRegistryAuthorizations,\n [reportsPortalUrl]: hasAuthorizations,\n [facilityBasedPreviewBaseUrl]: hasAuthorizations,\n\n // dev pre\n '/user/applications': ehrAuthorized,\n '/user/test-data': ehrAuthorized,\n };\n\n const navLinks = content.reduce((acc, link) => {\n const { url, label, className, listOfLinks, ...rest } = link;\n\n // Any links failing the corresponding condition in the urlConditionMap are skipped\n if (url in urlConditionMap && !urlConditionMap[url]) {\n return acc;\n }\n\n const IconComponent = getIcon(url);\n const Icon = IconComponent ? <IconComponent /> : null;\n const sharedProps = {\n url,\n label,\n linkCallback,\n className: className ? `${linkClass} ${className}` : linkClass,\n };\n\n const { pathname, hash } = window.location;\n if (\n listOfLinks &&\n (pathname === url ||\n listOfLinks.some(\n (sublink) =>\n pathname === sublink.url || `${pathname}${hash}` === sublink.url\n ))\n ) {\n acc.push(\n <NavLinkDrawer\n key={`nav-drawer-${url}-${label}`}\n leftIcon={Icon}\n listOfLinks={listOfLinks}\n isExpanded={isExpanded}\n staticDrawer={false}\n openByDefault\n isAlwaysOpen\n {...sharedProps}\n {...rest}\n />\n );\n } else {\n acc.push(\n <NavLinkInline\n key={`nav-link-${url}-${label}`}\n icon={Icon}\n useTooltips={useTooltips}\n showLabel={isExpanded}\n {...sharedProps}\n {...rest}\n />\n );\n }\n return acc;\n }, []);\n\n return (\n <div className=\"sidebar-content\">\n <AnimationGroup display={isExpanded}>\n <h1 className=\"label\">{name}</h1>\n </AnimationGroup>\n <div className=\"level-one-nav animation-flat\">\n <NavLinkContainer listOfLinks={navLinks} />\n </div>\n </div>\n );\n};\n\nLevelOneContent.propTypes = {\n isExpanded: PropTypes.bool,\n config: PropTypes.object,\n levelOneContent: PropTypes.shape({\n default: PropTypes.arrayOf(PropTypes.object),\n devPre: PropTypes.arrayOf(PropTypes.object),\n viewer: PropTypes.arrayOf(PropTypes.object),\n }),\n};\n\nexport default LevelOneContent;\n","import React from 'react';\nimport {\n NavLinkContainer,\n NavLinkInline,\n NavLinkDrawer,\n NavItemInline,\n} from '../Links';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport { PracticeDetails } from '../Details';\nimport { ScoreChart } from '../Chart';\nimport PropTypes from 'prop-types';\nimport {\n AccountHomeIcon,\n DashboardIcon,\n StarIcon,\n CliniciansIcon,\n ScoreIncrease,\n TooltipIcon,\n} from '../../../lib/SvgComponents.jsx';\nimport {\n submissionsUrl,\n manageUrl,\n dashboardUrl,\n performanceFeedbackUrl,\n} from '../helpers';\n\nconst PAST_REPORTING_YEARS = ['2017', '2018'];\n\nconst LevelTwoContent = ({\n isExpanded,\n chartData,\n showReportingLinks,\n config: {\n chartActive = true,\n openDrawersByDefault,\n linkCallback,\n updateTime,\n practiceId,\n practiceName,\n practiceTin,\n apmEntityId,\n isConnectedUsersPage,\n vgId,\n roleAbbr,\n performanceYear,\n finalFeedbackOpen,\n isApmPaymentDetailsPage,\n useTooltips,\n cpcPlusId,\n pcfId,\n } = {},\n}) => {\n const linkClass = isExpanded ? 'link-inline' : 'link-collapsed';\n let links = [];\n\n if (isApmPaymentDetailsPage) {\n const apmDetailsUrl = '/user/apm-incentive-payments/(.*)/practice-details';\n links.push(\n <NavItemInline\n icon={<CliniciansIcon />}\n className={linkClass}\n label=\"Payment Details\"\n urlExpressionToMatch={apmDetailsUrl}\n showLabel={isExpanded}\n />\n );\n } else {\n const linkLabel = isConnectedUsersPage\n ? 'Connected Users'\n : 'Eligibility & Reporting';\n let items = [];\n\n const practiceUrlSegment =\n performanceYear === '2017' || performanceYear === '2018' || !roleAbbr\n ? practiceId\n : practiceId + '_' + roleAbbr;\n\n if (showReportingLinks && !apmEntityId) {\n items = [\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/overview`,\n label: vgId ? 'Virtual Group Reporting' : 'Group Reporting Overview',\n items: [\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/quality`,\n label: 'Quality Measures',\n },\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/aci`,\n label: 'Promoting Interoperability',\n },\n {\n url: `${submissionsUrl}/reporting/${practiceUrlSegment}/ia`,\n label: 'Improvement Activities',\n },\n ],\n },\n ];\n }\n links.push(\n <NavLinkDrawer\n key=\"connected-clinicians-link\"\n isAlwaysOpen\n url={\n !isConnectedUsersPage\n ? `${dashboardUrl}`\n : `${manageUrl}/${practiceId}/connected-users`\n }\n isExpanded={isExpanded}\n openByDefault={openDrawersByDefault}\n leftIcon={<DashboardIcon />}\n className={linkClass}\n label={linkLabel}\n linkCallback={linkCallback}\n listOfLinks={\n !isConnectedUsersPage && [\n {\n label: vgId\n ? 'Virtual Group Details & Participants'\n : apmEntityId\n ? 'APM Entity Details & Participants'\n : 'Practice Details & Clinicians',\n items: items,\n },\n ]\n }\n disabled={isConnectedUsersPage ? true : false}\n />\n );\n if (\n (apmEntityId && performanceYear === '2018' && finalFeedbackOpen) ||\n (!apmEntityId &&\n !vgId &&\n !isConnectedUsersPage &&\n PAST_REPORTING_YEARS.indexOf(performanceYear) >= 0)\n ) {\n links.push(\n <NavLinkInline\n key=\"performance-feedback-link\"\n icon={<StarIcon />}\n className={linkClass}\n url={performanceFeedbackUrl(\n finalFeedbackOpen && performanceYear === '2018'\n ? performanceYear\n : '2017'\n )}\n label=\"Performance Feedback\"\n linkCallback={linkCallback}\n showLabel={isExpanded}\n useTooltips={useTooltips}\n />\n );\n }\n }\n\n return (\n <div className=\"sidebar-content\">\n <AnimationGroup display={isExpanded}>\n <NavLinkInline\n icon={<AccountHomeIcon />}\n url={submissionsUrl}\n label=\"Account Home\"\n showLabel={isExpanded}\n className=\"account-home-link\"\n linkCallback={linkCallback}\n useTooltips={useTooltips}\n />\n <hr />\n </AnimationGroup>\n <AnimationGroup display={isExpanded} className={'details'}>\n <PracticeDetails\n practiceName={practiceName}\n {...(!practiceTin ? {} : { practiceTin })}\n {...(!apmEntityId ? {} : { apmEntityId })}\n {...(!vgId ? {} : { vgId })}\n {...(!cpcPlusId ? {} : { cpcPlusId })}\n {...(!pcfId ? {} : { pcfId })}\n />\n <hr />\n </AnimationGroup>\n <div className=\"level-two-nav animation-flat\">\n <NavLinkContainer listOfLinks={links} />\n <AnimationGroup display={isExpanded && chartActive} className=\"chart\">\n <div>\n <hr />\n <div className=\"chart-title\">\n <p className=\"title\">Final Group Score</p>\n <p className=\"disclaimer\">\n <svg className=\"left-icon\" aria-hidden=\"true\">\n <ScoreIncrease />\n </svg>\n Score may increase\n <svg className=\"right-icon\" aria-hidden=\"true\">\n <TooltipIcon />\n </svg>\n </p>\n {updateTime && (\n <p className=\"timestamp\">Last update at {updateTime}</p>\n )}\n </div>\n <ScoreChart chartData={chartData} linkCallback={linkCallback} />\n </div>\n </AnimationGroup>\n </div>\n </div>\n );\n};\n\nLevelTwoContent.propTypes = {\n isExpanded: PropTypes.bool,\n config: PropTypes.object,\n chartData: PropTypes.object,\n showReportingLinks: PropTypes.bool,\n};\n\nexport default LevelTwoContent;\n","import LevelOneContent from './LevelOneContent';\nimport LevelTwoContent from './LevelTwoContent';\n\nexport { LevelOneContent, LevelTwoContent };\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst IndividualDetails = ({ individualName, individualNpi }) => {\n return (\n <div className=\"individual-container\">\n <h3 className=\"individual-name\">{individualName}</h3>\n <p className=\"individual-npi\">NPI: {individualNpi}</p>\n </div>\n );\n};\n\nIndividualDetails.propTypes = {\n individualName: PropTypes.string,\n individualNpi: PropTypes.string,\n};\n\nexport default IndividualDetails;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PracticeDetails = ({\n practiceName,\n practiceTin,\n apmEntityId,\n vgId,\n cpcPlusId,\n pcfId\n}) => {\n function renderId() {\n if (cpcPlusId) {\n return <p className=\"practice-tin\">CPC+ ID: {cpcPlusId}</p>;\n } else if (pcfId) {\n return <p className=\"practice-tin\">PCF ID: {pcfId}</p>;\n } else if (apmEntityId) {\n return <p className=\"practice-tin\">APM Entity ID: {apmEntityId}</p>;\n } else if (vgId) {\n return <p className=\"practice-tin\">VG ID: {vgId}</p>;\n } else if (practiceTin) {\n return <p className=\"practice-tin\">TIN: {practiceTin}</p>;\n } else {\n return;\n }\n }\n\n return (\n <div className=\"practice-container\">\n <h2 className=\"practice-name\">{practiceName || 'No name on record'}</h2>\n {renderId()}\n </div>\n );\n};\n\nPracticeDetails.propTypes = {\n practiceName: PropTypes.string,\n practiceTin: PropTypes.string,\n apmEntityId: PropTypes.string,\n vgId: PropTypes.string,\n cpcPlusId: PropTypes.string,\n pcfId: PropTypes.string,\n};\n\nexport default PracticeDetails;\n","import IndividualDetails from './IndividualDetails';\nimport PracticeDetails from './PracticeDetails';\n\nexport { IndividualDetails, PracticeDetails };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { handleNavigation } from '../helpers';\nimport { SwitchPractice, ChevronRight } from '../../../lib/SvgComponents.jsx';\n\nconst CmsSwitchLink = ({ linkCallback, url, label }) => {\n return (\n <div className=\"switch-container\">\n <a\n href={url}\n onClick={(e) => handleNavigation(e, linkCallback, label)}\n className=\"switch-link\"\n >\n <div className=\"button-partition\">\n <svg className=\"icon\">\n <SwitchPractice />\n <title>Switch Practice Icon</title>\n </svg>\n <span>{label}</span>\n </div>\n <div className=\"button-partition\">\n <svg\n className=\"icon right-icon rotated\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <ChevronRight />\n </svg>\n </div>\n </a>\n </div>\n );\n};\n\nCmsSwitchLink.propTypes = {\n linkCallback: PropTypes.func,\n url: PropTypes.string,\n label: PropTypes.string,\n};\n\nexport default CmsSwitchLink;\n","import React from 'react';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport PropTypes from 'prop-types';\n\nconst NavItemInline = (props) => {\n const {\n url,\n urlExpressionToMatch,\n className,\n icon,\n label,\n isActive,\n showLabel,\n disabled,\n } = props;\n\n const localUrl = urlExpressionToMatch || url;\n const urlRegExp = new RegExp(`${localUrl}/?$`);\n const path = window.location.href && window.location.href.split('?')[0];\n const currentPage = path && path.match(urlRegExp);\n\n return (\n <div\n className={`${className} ${isActive || currentPage ? 'active' : ''} ${\n disabled ? 'disabled' : ''\n }`}\n aria-label={label}\n >\n <svg\n className={`left-icon ${disabled ? 'disabled' : ''}`}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n {icon}\n </svg>\n <AnimationGroup display={showLabel}>\n <span tabIndex=\"-1\">{label}</span>\n </AnimationGroup>\n </div>\n );\n};\n\nNavItemInline.propTypes = {\n urlExpressionToMatch: PropTypes.string,\n url: PropTypes.string,\n className: PropTypes.string,\n icon: PropTypes.element,\n label: PropTypes.string,\n isActive: PropTypes.bool,\n showLabel: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default NavItemInline;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst NavLinkContainer = ({ listOfLinks, linkActiveFunc }) => {\n const [activeLink, setActiveLink] = useState(null);\n\n const toggleActive = (idx, disabled) => {\n if (disabled || linkActiveFunc) return;\n setActiveLink(idx);\n };\n\n return (\n <nav>\n <ul>\n {(listOfLinks || []).map((link, idx) => (\n <li\n key={idx.toString()}\n onClick={() => toggleActive(idx, link.props.disabled)}\n >\n {React.cloneElement(link, { isActive: activeLink === idx })}\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n\nNavLinkContainer.propTypes = {\n listOfLinks: PropTypes.array,\n linkActiveFunc: PropTypes.func,\n};\n\nNavLinkContainer.defaultProps = {\n listOfLinks: null,\n linkActiveFunc: null,\n};\n\nexport default NavLinkContainer;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { handleNavigation } from '../helpers';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\n\nconst NavLinkDrawer = ({\n className,\n disabled,\n isAlwaysOpen,\n isExpanded,\n items,\n label,\n leftIcon,\n linkActiveFunc,\n linkCallback,\n listOfLinks,\n openByDefault,\n rightIcon,\n sidebarExpand,\n staticDrawer,\n url,\n isHighlighted,\n darkerBackground,\n leftBorderHighlightDisabled,\n largerDrawerBottomPadding\n}) => {\n const [isOpen, setIsOpen] = useState(openByDefault);\n\n const toggleDrawer = () => {\n if (!isExpanded && typeof sidebarExpand === 'function') {\n sidebarExpand();\n setIsOpen(true);\n return;\n }\n\n if (!isAlwaysOpen && !disabled) {\n setIsOpen(!isOpen);\n }\n };\n\n const isLinkActive = (link, func) => {\n if (typeof func === 'function') {\n return func(link);\n }\n return window.location.href.indexOf(link.url) > 0;\n };\n\n const isCurrentPage = (link, linkActiveFunc) => {\n const targetItems = link.items || link.listOfLinks;\n if (link.url && isLinkActive(link, linkActiveFunc)) {\n return true;\n }\n return (\n targetItems &&\n targetItems.some((item) => isCurrentPage(item, linkActiveFunc))\n );\n };\n\n // Classes for the link drawer button\n const currentPage = isCurrentPage(\n { items, listOfLinks, url },\n linkActiveFunc\n );\n const expandedClass = currentPage ? 'expanded' : '';\n\n const renderLeftIcon = (leftIcon) => {\n if (leftIcon) {\n return (<svg\n className={`left-icon${isAlwaysOpen ? ' always-open' : ''}`}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n {leftIcon}\n </svg>)\n }\n }\n\n const hasDarkerBackground = (darkerBackground) => {\n return darkerBackground ? 'background-highlight' : '';\n }\n\n const hasDarkerTitle = (darkerBackground) => {\n return darkerBackground ? 'expanded currentPage' : '';\n }\n\n const isLeftBorderHighlightDisabled = (leftBorderHighlightDisabled) => {\n return leftBorderHighlightDisabled ? 'left-border-disabled' : ''\n }\n\n const isHiddenWhileCollapsed = (isLeftBorderDisabled, isExpanded) => {\n return isLeftBorderDisabled && !isExpanded ? 'hidden-nav-link-item' : '';\n }\n\n const highlightTitle = (isHighlighted) => {\n return isHighlighted && isExpanded ? 'highlight' : '';\n }\n\n const hasLargerDrawBottomPadding = (largerDrawerBottomPadding) => {\n return largerDrawerBottomPadding ? 'larger-drawer-bottom-padding' : '';\n }\n\n const adjustItemSpacing = (largerDrawerBottomPadding) => {\n return largerDrawerBottomPadding ? 'larger-item-spacing' : '';\n }\n\n useEffect(() => {\n if (disabled) {\n setIsOpen(false);\n }\n if (isAlwaysOpen) {\n setIsOpen(isAlwaysOpen);\n }\n }, []);\n\n // Render the links recursively. This will theoretically allow for an infinite number of nested link items.\n // className will either be empty, parent-link - top most node, or child-link.\n const renderDrawerLinksRecursively = (navLinks, className = '') => {\n return (\n navLinks &&\n navLinks.map((link) => {\n if (link.type === 'divider') {\n return (\n <AnimationGroup display={true}>\n <hr />\n </AnimationGroup>\n );\n }\n\n return (\n <li\n key={link.label}\n className={\n isLinkActive(link, linkActiveFunc)\n ? `active-link ${className}`\n : className\n }\n >\n {link.url ? (\n <a\n href={link.url}\n onClick={(e) => handleNavigation(e, linkCallback, link.label)}\n tabIndex={isOpen ? '0' : '-1'}\n data-track-category=\"SidebarNav\"\n data-track-action={`GoTo${\n link.label ? link.label.split(' ').join('') : ''\n }`}\n data-track-label={link.label}\n target=\"_self\"\n >\n {link.label}\n </a>\n ) : (\n <div>{link.label}</div>\n )}\n {link.items && link.items.length > 0 && (\n <ul aria-hidden={!isOpen}>\n {renderDrawerLinksRecursively(link.items, 'child-link')}\n </ul>\n )}\n </li>\n );\n })\n );\n };\n\n return (\n <div className={staticDrawer ? 'static-drawer link-drawer' : 'link-drawer'}>\n <button\n onClick={toggleDrawer}\n {...(!isAlwaysOpen ? { 'aria-pressed': isOpen } : {})}\n tabIndex=\"0\"\n aria-label={label}\n {...(isAlwaysOpen || disabled\n ? { disabled: isAlwaysOpen || disabled }\n : {})}\n className={`${className} ${expandedClass} ${highlightTitle(isHighlighted)} ${hasDarkerTitle(darkerBackground)}\n ${currentPage ? 'currentPage' : ''} ${isLeftBorderHighlightDisabled(leftBorderHighlightDisabled)}\n ${isHiddenWhileCollapsed(leftBorderHighlightDisabled, isExpanded)}`}\n >\n <div className={isExpanded ? 'link-body' : 'link-body collapsed'}>\n {renderLeftIcon(leftIcon)}\n <AnimationGroup display={isExpanded}>\n <span>{label}</span>\n </AnimationGroup>\n </div>\n {isExpanded && !isAlwaysOpen && (\n <svg\n className={`${isOpen ? 'right-icon rotated' : 'right-icon'}`}\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n {rightIcon}\n </svg>\n )}\n </button>\n <AnimationGroup display={isExpanded}>\n <div\n className={`${currentPage ? 'currentPage' : ''} ${\n isOpen && !disabled ? 'drawer open' : 'drawer'\n } ${hasDarkerBackground(darkerBackground)} ${hasLargerDrawBottomPadding(largerDrawerBottomPadding)}`}\n >\n <ul aria-hidden={!isOpen}>\n {listOfLinks &&\n renderDrawerLinksRecursively(listOfLinks, `parent-link ${adjustItemSpacing(largerDrawerBottomPadding)}`)}\n </ul>\n </div>\n </AnimationGroup>\n </div>\n );\n};\n\nNavLinkDrawer.propTypes = {\n isExpanded: PropTypes.bool,\n isAlwaysOpen: PropTypes.bool,\n openByDefault: PropTypes.bool,\n className: PropTypes.string,\n rightIcon: PropTypes.element,\n leftIcon: PropTypes.element,\n label: PropTypes.string,\n linkActiveFunc: PropTypes.func,\n linkCallback: PropTypes.func,\n listOfLinks: PropTypes.array,\n disabled: PropTypes.bool,\n sidebarExpand: PropTypes.func,\n staticDrawer: PropTypes.bool,\n items: PropTypes.object,\n url: PropTypes.string,\n isHighlighted: PropTypes.bool,\n darkerBackground: PropTypes.bool,\n leftBorderHighlightDisabled: PropTypes.bool,\n largerDrawerBottomPadding: PropTypes.bool\n};\n\nexport default NavLinkDrawer;\n","import React, { useState } from 'react';\nimport { handleNavigation } from '../helpers';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport PropTypes from 'prop-types';\n\nconst NavLinkInline = ({\n url,\n urlExpressionToMatch,\n className,\n icon,\n label,\n isActive,\n showLabel,\n linkCallback,\n disabled,\n useTooltips,\n target,\n}) => {\n const localUrl = urlExpressionToMatch || url;\n const urlRegExp = new RegExp(`${localUrl}/?$`);\n const path = window.location.href && window.location.href.split('?')[0];\n const currentPage = path && path.match(urlRegExp);\n const svgRef = React.useRef();\n const [showTooltip, setShowTooltip] = useState(false);\n const tooltipRef = React.useRef();\n\n React.useEffect(() => {\n if (!showLabel && useTooltips && svgRef.current) {\n const existingMouseenter = svgRef.current.onmouseover;\n const existingMouseout = svgRef.current.onmouseout;\n\n svgRef.current.onmouseover = () => {\n if (tooltipRef.current && useTooltips) {\n const svgOffset = svgRef.current.getBoundingClientRect();\n tooltipRef.current.style.top = `${svgOffset.top - 5}px`;\n tooltipRef.current.style.display = 'block';\n }\n if (typeof existingMouseenter === 'function') {\n existingMouseenter();\n }\n };\n\n svgRef.current.onmouseout = () => {\n if (tooltipRef.current) {\n tooltipRef.current.style.display = 'none';\n }\n if (typeof existingMouseout === 'function') {\n existingMouseout();\n }\n };\n setShowTooltip(true);\n }\n if (showLabel) {\n setShowTooltip(false);\n }\n }, [svgRef.current, showLabel]);\n\n return (\n <React.Fragment>\n <a\n href={disabled ? undefined : url}\n onClick={(e) => handleNavigation(e, linkCallback, label)}\n className={`${className} ${currentPage || isActive ? 'active' : ''} ${\n disabled ? 'disabled' : ''\n }`}\n data-track-category=\"SidebarNav\"\n data-track-action={`GoTo${label ? label.split(' ').join('') : ''}`}\n data-track-label={label}\n aria-label={label}\n target={`${target ? target : '_self'}`}\n >\n <svg\n className={`left-icon ${disabled ? 'disabled' : ''}`}\n aria-hidden=\"true\"\n focusable=\"false\"\n ref={svgRef}\n >\n {icon}\n </svg>\n <AnimationGroup display={showLabel}>\n <span tabIndex=\"-1\">{label}</span>\n </AnimationGroup>\n </a>\n {showTooltip && (\n <div ref={tooltipRef} className=\"sidebar-tooltip\">\n <span className=\"sidebar-tooltip-text\">{label}</span>\n </div>\n )}\n </React.Fragment>\n );\n};\n\nNavLinkInline.propTypes = {\n urlExpressionToMatch: PropTypes.string,\n url: PropTypes.string,\n className: PropTypes.string,\n icon: PropTypes.element,\n label: PropTypes.string,\n isActive: PropTypes.bool,\n showLabel: PropTypes.bool,\n linkCallback: PropTypes.func,\n disabled: PropTypes.bool,\n useTooltips: PropTypes.bool,\n target: PropTypes.string,\n};\n\nexport default NavLinkInline;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavCollapse, NavExpand } from '../../../lib/SvgComponents';\n\nconst NavLinkToggle = ({ isAltStyle, collapseRef, isExpanded, onClick }) => {\n const expandedStyle = isExpanded ? 'link-collapse' : 'link-expand';\n const altStyle = isAltStyle ? 'alt-style' : '';\n\n return (\n <button\n type=\"button\"\n aria-label={`Click to ${\n isExpanded ? 'collapse' : 'expand'\n } the sidebar menu`}\n ref={collapseRef}\n className={`${expandedStyle} ${altStyle}`}\n onClick={onClick}\n >\n <svg className=\"left-icon\" aria-hidden=\"true\" focusable=\"false\">\n {isExpanded ? <NavCollapse /> : <NavExpand />}\n </svg>\n <span>{isExpanded ? 'Collapse' : 'Expand'}</span>\n </button>\n );\n};\n\nNavLinkToggle.propTypes = {\n isAltStyle: PropTypes.bool,\n collapseRef: PropTypes.object,\n isExpanded: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nexport default NavLinkToggle;\n","import NavLinkContainer from './NavLinkContainer';\nimport NavLinkDrawer from './NavLinkDrawer';\nimport NavLinkInline from './NavLinkInline';\nimport NavLinkToggle from './NavLinkToggle';\nimport NavItemInline from './NavItemInline';\n\nexport {\n NavLinkContainer,\n NavLinkDrawer,\n NavLinkInline,\n NavLinkToggle,\n NavItemInline,\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport SVGInline from 'react-svg-inline';\n\nimport { withGetConfig } from '../../hooks/useGetConfig';\nimport { LevelOneContent, LevelTwoContent } from '../Content';\nimport {\n NavLinkContainer,\n NavLinkInline,\n NavLinkDrawer,\n NavLinkToggle,\n} from '../Links';\nimport AnimationGroup from '../AnimationGroup/AnimationGroup';\nimport { PracticeDetails, IndividualDetails } from '../Details';\nimport { ScoreChart } from '../Chart';\nimport SanitizedContent from '../../SanitizedContent';\nimport * as SvgComponents from '../../../lib/SvgComponents.jsx';\nimport SVGIcons from '../../../lib/svg-definitions.svg';\nimport CmsSwitchLink from '../Links/CmsSwitchLink';\nimport defaultContent from './default-content';\n\nconst SideNavUI = ({\n chartData,\n config,\n currentLevel,\n isAltStyle,\n isExpanded,\n items,\n onCollapsed,\n onExpanded,\n performanceYear,\n showReportingLinks,\n svgIcons,\n result,\n}) => {\n const [isExpandedState, setIsExpandedState] = useState(isExpanded);\n const [itemsState, setItemsState] = useState(items);\n const [currentLevelState, setCurrentLevelState] = useState(currentLevel);\n\n const collapseRef = useRef(null);\n\n const expand = () => {\n setIsExpandedState(true);\n if (onExpanded) {\n onExpanded();\n }\n };\n\n const collapse = () => {\n setIsExpandedState(false);\n if (onCollapsed) {\n onCollapsed();\n }\n };\n\n const toggleExpanded = () => {\n isExpandedState ? collapse() : expand();\n };\n\n const getLevelContent = () => {\n return (\n {\n 2: (\n <LevelTwoContent\n showReportingLinks={showReportingLinks}\n isExpanded={isExpandedState}\n chartData={chartData}\n config={config}\n />\n ),\n }[currentLevelState] || (\n <LevelOneContent\n levelOneContent={result?.content}\n isExpanded={isExpandedState}\n config={config}\n />\n )\n );\n };\n\n const getDynamicContent = (contentItems, className, recursionId) => {\n const { openDrawersByDefault, linkActiveFunc, linkCallback, useTooltips } =\n config;\n const linkClass = isExpandedState ? 'link-inline' : 'link-collapsed';\n const containerRecursionId = recursionId || 0;\n\n const getDynamicIcon = (icon) => {\n const Component = SvgComponents[icon];\n return Component ? <Component /> : null;\n };\n\n const hasDarkerBackground = (darkerBackground) => {\n return darkerBackground ? 'hr-smaller-vertical-spacing' : '';\n }\n\n const itemsMarkup = (contentItems || []).map((item, index) => {\n const key = `${JSON.stringify(item)}-${index}-${containerRecursionId}`;\n return (\n {\n divider: (\n <AnimationGroup display={isExpandedState} key={key} darkerBackground={item.darkerBackground}>\n <hr className={`${hasDarkerBackground(item.darkerBackground)}`}/>\n </AnimationGroup>\n ),\n container: getDynamicContent(\n item.items,\n item.className,\n containerRecursionId + 1\n ),\n linkBack: (\n <AnimationGroup display={isExpandedState} key={key}>\n <NavLinkInline\n className=\"link-back\"\n icon={getDynamicIcon('ChevronLeft')}\n url={item.url}\n label={item.label}\n linkCallback={linkCallback}\n showLabel={true}\n useTooltips={useTooltips}\n />\n </AnimationGroup>\n ),\n linkHome: (\n <AnimationGroup display={isExpandedState} key={key}>\n <NavLinkInline\n className=\"account-home-link\"\n icon={getDynamicIcon(item?.icon)}\n url={item.url}\n label={item.label}\n linkCallback={linkCallback}\n showLabel={true}\n useTooltips={useTooltips}\n />\n </AnimationGroup>\n ),\n practiceDetails: (\n <AnimationGroup\n display={isExpandedState}\n className={'details'}\n key={key}\n >\n <PracticeDetails\n practiceName={item.practiceName}\n {...(!item.practiceTin\n ? {}\n : { practiceTin: item.practiceTin })}\n {...(!item.apmEntityId\n ? {}\n : { apmEntityId: item.apmEntityId })}\n {...(!item.vgId ? {} : { vgId: item.vgId })}\n {...(!item.cpcPlusId ? {} : { cpcPlusId: item.cpcPlusId })}\n {...(!item.pcfId ? {} : { pcfId: item.pcfId })}\n />\n </AnimationGroup>\n ),\n individualDetails: (\n <AnimationGroup display={isExpandedState} key={key}>\n <IndividualDetails\n individualName={item.individualName}\n individualNpi={item.individualNpi}\n />\n </AnimationGroup>\n ),\n linkDrawer: (\n <NavLinkDrawer\n key={key}\n isExpanded={isExpandedState}\n isAlwaysOpen={item.isAlwaysOpen}\n openByDefault={openDrawersByDefault}\n rightIcon=\"chevron-down\"\n leftIcon={getDynamicIcon(item?.icon)}\n className={linkClass}\n label={item.label}\n linkActiveFunc={linkActiveFunc}\n linkCallback={linkCallback}\n listOfLinks={item.items}\n url={item.url}\n sidebarExpand={expand}\n isHighlighted={item.isHighlighted}\n darkerBackground={item.darkerBackground}\n leftBorderHighlightDisabled={item.leftBorderHighlightDisabled}\n largerDrawerBottomPadding={item.largerDrawerBottomPadding}\n />\n ),\n custom: (\n <AnimationGroup display={isExpandedState} key={key}>\n <SanitizedContent\n html={item.content}\n customClassName={item.customClassName}\n />\n </AnimationGroup>\n ),\n chart: (\n <AnimationGroup display={isExpandedState} key={key}>\n <ScoreChart\n chartData={item.chartData}\n linkCallback={linkCallback}\n performanceYear={performanceYear}\n />\n </AnimationGroup>\n ),\n switchLink: (\n <AnimationGroup display={isExpandedState} key={key}>\n <CmsSwitchLink\n linkCallback={linkCallback}\n label={item.label}\n url={item.url}\n />\n </AnimationGroup>\n ),\n }[item.type] || (\n <NavLinkInline\n key={key}\n icon={getDynamicIcon(item?.icon)}\n className={item.className ? item.className : linkClass}\n url={item.url}\n label={item.label}\n linkCallback={linkCallback}\n showLabel={isExpandedState}\n disabled={item.disabled}\n useTooltips={useTooltips}\n target={item.target}\n />\n )\n );\n });\n\n if (className === 'link-container') {\n return (\n <div\n className=\"animation-flat\"\n key={`nav-link-container-${recursionId}`}\n >\n <NavLinkContainer\n listOfLinks={itemsMarkup}\n linkActiveFunc={linkActiveFunc}\n />\n </div>\n );\n } else {\n return <div className={className}>{itemsMarkup}</div>;\n }\n };\n\n const content = itemsState\n ? getDynamicContent(\n itemsState,\n 'sidebar-content' + (isAltStyle ? ' alt-style' : '')\n )\n : getLevelContent();\n\n useEffect(() => {\n setIsExpandedState(isExpanded);\n }, [isExpanded]);\n\n useEffect(() => {\n setCurrentLevelState(currentLevel);\n }, [currentLevel]);\n\n useEffect(() => {\n setItemsState(items);\n }, [items]);\n\n return (\n <aside\n id=\"qppSidebar\"\n tabIndex=\"-1\"\n className={`${isExpandedState ? 'sidebar' : 'sidebar closed'} sidebar-${\n config.navClassName\n }`}\n >\n <SVGInline svg={svgIcons} />\n {content}\n <NavLinkToggle\n isAltStyle={isAltStyle}\n collapseRef={collapseRef}\n isExpanded={isExpandedState}\n onClick={toggleExpanded}\n />\n </aside>\n );\n};\n\nSideNavUI.propTypes = {\n currentLevel: PropTypes.number,\n isExpanded: PropTypes.bool,\n onExpanded: PropTypes.func,\n onCollapsed: PropTypes.func,\n chartData: PropTypes.object,\n config: PropTypes.object,\n items: PropTypes.object,\n isAltStyle: PropTypes.bool,\n showReportingLinks: PropTypes.bool,\n performanceYear: PropTypes.string,\n svgIcons: PropTypes.string,\n result: PropTypes.shape({\n content: PropTypes.shape({\n default: PropTypes.arrayOf(PropTypes.object),\n devPre: PropTypes.arrayOf(PropTypes.object),\n viewer: PropTypes.arrayOf(PropTypes.object),\n }),\n }),\n};\n\nSideNavUI.defaultProps = {\n currentLevel: 1,\n isExpanded: true,\n onExpanded: () => {},\n onCollapsed: () => {},\n chartData: {},\n config: {},\n items: null,\n isAltStyle: false,\n showReportingLinks: false,\n performanceYear: '2017',\n svgIcons: SVGIcons,\n result: {\n content: {\n default: [],\n devPre: [],\n viewer: [],\n },\n },\n};\n\nexport default withGetConfig(SideNavUI, {\n timeout: 5,\n url: '/config/side-navigation',\n localStorageName: 'qpp_side_navigation',\n defaultContent,\n});\n","import SideNavUI from './SideNavUI';\n\nexport { SideNavUI };\n","const submissionsUrl = '/user/submissions';\nconst dashboardUrl = '/user/dashboard';\nconst manageUrl = '/user/manage-access';\nconst feedbackUrl = `${submissionsUrl}/feedback`;\nconst physicianCompareUrl = `${submissionsUrl}/physician-compare`;\nconst reportsPortalUrl = `${submissionsUrl}/reports`;\nconst facilityBasedPreviewBaseUrl = `${submissionsUrl}/facility-based-preview`\n\nconst performanceFeedbackUrl = (performanceYear) => {\n if (performanceYear) {\n return `${feedbackUrl}/${performanceYear}`;\n } else {\n return feedbackUrl;\n }\n};\n\nconst facilityBasedPreviewUrl = (performanceYear) => {\n return `${facilityBasedPreviewBaseUrl}/${performanceYear}`;\n};\n\nconst handleNavigation = (e, linkCallbackFunction, label) => {\n if (linkCallbackFunction) {\n const { pathname, hash, search } = e.currentTarget;\n e.preventDefault();\n e.stopPropagation();\n linkCallbackFunction(`${pathname}${hash}${search}`);\n }\n window?.utag?.link({\n ga_event_category: 'side navbar',\n ga_event_action: 'click',\n ga_event_label: label,\n page_title: `${window.document.title}`,\n page_url: `${window.location.pathname}`,\n event: 'trackEvent',\n });\n};\n\nmodule.exports = {\n submissionsUrl,\n dashboardUrl,\n feedbackUrl,\n manageUrl,\n physicianCompareUrl,\n performanceFeedbackUrl,\n facilityBasedPreviewUrl,\n handleNavigation,\n reportsPortalUrl,\n facilityBasedPreviewBaseUrl,\n};\n","import React from 'react';\nimport { render } from 'react-dom';\nimport { SideNavUI } from './UI';\n\nconst SideNav = (options = {}) => {\n const {\n rootElement,\n isExpanded,\n onExpanded,\n onCollapsed,\n chartData,\n currentLevel,\n config,\n feedbackPerformanceYear,\n fbpPerformanceYear,\n showDevPreDfpLink,\n showPhysicianCompareLink,\n showFacilityBasedPreviewLink,\n showSelfNomination,\n showApmIncentivePaymentLink,\n items,\n isAltStyle,\n showReportsPortal,\n showTargetedReviewLink,\n } = options;\n\n const { expand, collapse } = render(\n <SideNavUI\n isExpanded={isExpanded}\n onExpanded={onExpanded}\n onCollapsed={onCollapsed}\n chartData={chartData}\n currentLevel={currentLevel}\n config={config}\n feedbackPerformanceYear={feedbackPerformanceYear}\n fbpPerformanceYear={fbpPerformanceYear}\n showDevPreDfpLink={showDevPreDfpLink}\n showPhysicianCompareLink={showPhysicianCompareLink}\n showFacilityBasedPreviewLink={showFacilityBasedPreviewLink}\n showSelfNomination={showSelfNomination}\n showApmIncentivePaymentLink={showApmIncentivePaymentLink}\n items={items}\n isAltStyle={isAltStyle}\n showReportsPortal={showReportsPortal}\n showTargetedReviewLink={showTargetedReviewLink}\n />,\n rootElement\n );\n\n return { expand, collapse };\n};\n\nexport default SideNav;\n","import React, { cloneElement, useLayoutEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport positionTip, { positionTriangle } from './position';\nimport { useTooltip, TooltipPopup } from '@reach/tooltip';\nimport Portal from '@reach/portal';\n\n// TODO: investigate ways to allow more styling via css? the triangle\n// positioning effect issue may need to be resolved to allow for this.\nconst TEXT_COLOR = '#FFF';\nconst BACKGROUND_COLOR = '#333';\n\n/**\n * Generic styled tooltip component.\n * Corresponding styles: /styles/components/_tooltip.scss\n *\n * Extends implementation from @reach/tooltip:\n * https://reacttraining.com/reach-ui/tooltip\n */\nconst Tooltip = ({ children, label, ariaLabel, DEBUG_STYLE }) => {\n const [trigger, tooltip] = useTooltip({ DEBUG_STYLE });\n const { isVisible, triggerRect } = tooltip;\n const tooltipPopupRef = useRef();\n const triangleRef = useRef();\n\n useLayoutEffect(() => {\n // For some reason, the forwardRef for the tooltipPopup points to an undefined\n // dom element when we first render the portal containing the triangle. Using\n // an effect here will ensure that the ref is available when applying styles.\n // TODO: investigate and make issue for @reach-ui/tooltip?\n if (isVisible && tooltipPopupRef.current && triggerRect) {\n const tooltipRect = tooltipPopupRef.current.getBoundingClientRect();\n const positionCssText = positionTriangle(triggerRect, tooltipRect);\n const cssText = `\n position: absolute;\n width: 0;\n height: 0;\n ${positionCssText}\n border-top-color: ${BACKGROUND_COLOR};\n border-bottom-color: ${BACKGROUND_COLOR};\n z-index: 1;\n `;\n triangleRef.current.style.cssText = cssText;\n }\n });\n\n return (\n <>\n {cloneElement(children, trigger)}\n <TooltipPopup\n {...tooltip}\n label={label}\n ariaLabel={ariaLabel}\n style={{\n background: BACKGROUND_COLOR,\n color: TEXT_COLOR,\n }}\n ref={tooltipPopupRef}\n position={positionTip}\n />\n {isVisible && (\n <Portal>\n <div\n ref={triangleRef}\n style={{\n position: 'absolute',\n width: 0,\n height: 0,\n }}\n />\n </Portal>\n )}\n </>\n );\n};\n\nTooltip.propTypes = {\n children: PropTypes.node.isRequired,\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string,\n DEBUG_STYLE: PropTypes.bool,\n};\n\nTooltip.defaultProps = {\n ariaLabel: undefined,\n DEBUG_STYLE: undefined,\n};\n\nexport default Tooltip;\n","import Tooltip from './Tooltip';\n\nexport default Tooltip;\n","const OFFSET = 12; // modified from reach-ui/tooltip OFFSET value\nconst TRIANGLE_SCALE_X = 6;\nconst TRIANGLE_SCALE_Y = 8;\n\nconst isDirectionUp = (triggerRect, tooltipRect) => {\n const collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n bottom:\n window.innerHeight < triggerRect.bottom + tooltipRect.height + OFFSET,\n };\n\n return !collisions.top || collisions.bottom;\n};\n\n// modified from @reach/tooltip default positioning function\n// positions Tooltip relative to trigger\n// https://github.com/reach/reach-ui/blob/master/packages/tooltip/src/index.tsx#L532\nconst positionTip = (triggerRect, tooltipRect) => {\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n\n const triggerCenter = triggerRect.left + triggerRect.width / 2;\n const left = triggerCenter - tooltipRect.width / 2;\n const maxLeft = window.innerWidth - tooltipRect.width - 2;\n const centerLeft = Math.min(Math.max(2, left), maxLeft) + window.pageXOffset;\n\n const directionUp = isDirectionUp(triggerRect, tooltipRect);\n\n return {\n left: `${centerLeft}px`,\n top: directionUp\n ? `${\n triggerRect.top - OFFSET - tooltipRect.height + window.pageYOffset\n }px`\n : `${\n triggerRect.top + OFFSET + triggerRect.height + window.pageYOffset\n }px`,\n };\n};\n\nexport default positionTip;\n\n// position triangle relative to tooltip position\n// TODO: figure out a better way to render these updates from within react\n// rendering. This method causes an additional repaint after the Tooltip\n// has been rendered. may require changes to @reach/tooltip.\nexport const positionTriangle = (triggerRect, tooltipRect) => {\n const directionUp = isDirectionUp(triggerRect, tooltipRect);\n const triangleTop = directionUp\n ? triggerRect.top + window.pageYOffset - OFFSET\n : triggerRect.bottom + window.pageYOffset + OFFSET - TRIANGLE_SCALE_Y;\n\n const triangleLeft =\n triggerRect.left - TRIANGLE_SCALE_X + triggerRect.width / 2;\n\n const triangleBorder = directionUp\n ? `border-top: ${TRIANGLE_SCALE_Y}px solid;`\n : `border-bottom: ${TRIANGLE_SCALE_Y}px solid;`;\n\n return `\n border-left: ${TRIANGLE_SCALE_X}px solid transparent;\n border-right: ${TRIANGLE_SCALE_X}px solid transparent;\n left: ${triangleLeft}px;\n top: ${triangleTop}px;\n ${triangleBorder}\n `;\n};\n","import React from 'react';\nimport axios from 'axios';\nimport { useState, useEffect } from 'react';\n\n// The content is populated with the following priority order:\n// 1. Use the content in localStorage if it's there\n// 2. If not, make a call to get it from a QPPFE endpoint.\n// Hydrate the localStorage item with the response if localStorage item doesn't match call content.\n// 3. If the call fails, use the default content\nconst useGetConfig = ({\n url = '',\n localStorageName = '',\n equalityCheckExclude = [],\n timeout = 30,\n defaultContent,\n}) => {\n const [result, setResult] = useState();\n\n if (!url || !localStorageName) {\n throw new Error('Arguments for url and localStorageName are required');\n }\n\n useEffect(() => {\n const storageContent = JSON.parse(localStorage.getItem(localStorageName));\n if (\n storageContent?.content &&\n new Date().valueOf() < storageContent.expiration\n ) {\n setResult(storageContent);\n } else {\n const origin = window.location.origin;\n axios\n .get(`${origin}${url}`)\n .then(({ data: { data = {} } }) => {\n const expiration = new Date().valueOf() + timeout * 60 * 1000;\n const storageItem = {\n expiration,\n };\n if (\n data?.content &&\n storageContent?.content &&\n Object.keys(data.content).every((key) => {\n if (equalityCheckExclude.includes(key)) {\n return true;\n }\n return data.content[key] === storageContent.content[key];\n })\n ) {\n storageItem.content = storageContent.content;\n } else {\n storageItem.content = data.content;\n }\n\n localStorage.setItem(localStorageName, JSON.stringify(storageItem));\n setResult(storageItem);\n })\n .catch((e) => {\n setResult({ content: defaultContent, expiration: 0 });\n });\n }\n }, []);\n\n return result;\n};\n\nexport const withGetConfig = (Component, options) => {\n function WrappedComponent(props) {\n const result = useGetConfig(options);\n return <Component result={result} {...props} />;\n }\n return WrappedComponent;\n};\n\nexport default useGetConfig;\n","import ErrorPage from './components/Error/error';\nimport Footer from './components/Footer/footer';\nimport Header from './components/Header/header';\nimport SideNav from './components/SideNav';\nimport SessionDialog from './components/SessionDialog/sessionDialog';\n\nimport 'what-input';\n\nconst QppStyleComponents = {\n errorPage(options) {\n return new ErrorPage(options);\n },\n\n footer(options) {\n return new Footer(options);\n },\n\n header(options) {\n return new Header(options);\n },\n\n sideNav(options) {\n return SideNav(options);\n },\n\n SessionDialog(options) {\n return new SessionDialog(options);\n },\n};\n\nexport default QppStyleComponents;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const Chevron = (props) => {\n return (\n <svg\n width=\"10px\"\n height=\"6px\"\n viewBox=\"0 0 10 6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-56.000000, -9.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <path d=\"M61,14.9622437 C61.0868403,14.9622437 61.1636607,14.9288436 61.2304609,14.8620433 L61.2304609,14.8620433 L65.8997996,10.1927046 C65.9665999,10.1259043 66,10.049084 66,9.96224368 C66,9.87540334 65.9665999,9.79858303 65.8997996,9.73178276 L65.8997996,9.73178276 L65.3987976,9.23078076 C65.3319973,9.16398049 65.255177,9.13058036 65.1683367,9.13058036 C65.0814963,9.13058036 65.004676,9.16398049 64.9378758,9.23078076 L64.9378758,9.23078076 L61,13.1686565 L57.0621242,9.23078076 C56.995324,9.16398049 56.9185037,9.13058036 56.8316633,9.13058036 C56.744823,9.13058036 56.6680027,9.16398049 56.6012024,9.23078076 L56.6012024,9.23078076 L56.1002004,9.73178276 C56.0334001,9.79858303 56,9.87540334 56,9.96224368 C56,10.049084 56.0334001,10.1259043 56.1002004,10.1927046 L56.1002004,10.1927046 L60.7695391,14.8620433 C60.8363393,14.9288436 60.9131597,14.9622437 61,14.9622437 Z\"></path>\n </g>\n </g>\n </svg>\n );\n};\n\nChevron.propTypes = {\n className: PropTypes.string,\n};\n\nChevron.defaultProps = {\n className: 'accordion-icon',\n};\n","import React from 'react';\n\nexport const MyApplicationsIcon = () => (\n <svg className=\"my-applications\" viewBox=\"0 0 25 25\">\n <g>\n <g transform=\"translate(0.000000, 0.629018)\">\n <polygon points=\"12 23.0964379 24 15.374457 24 16.3397046 12 24.0616855 0 16.3397046 0 15.374457\"></polygon>\n <polygon points=\"12 19.2701998 24 11.5482189 24 12.5134666 12 20.2354474 0 12.5134666 0 11.5482189\"></polygon>\n <path d=\"M23.25,8.20460469 L12,0.965247611 L0.75,8.20460469 L12,15.4439618 L23.25,8.20460469 Z M24,7.72198089 L24,8.6872285 L12,16.4092094 L0,8.6872285 L0,7.72198089 L12,0 L24,7.72198089 Z\"></path>\n </g>\n </g>\n </svg>\n);\n\nexport const UserSignInIcon = () => (\n <svg className=\"user-sign-in\" viewBox=\"0 0 25 25\">\n <path\n d=\"M26.6,22.9c-1.2-2.3-3.3-4-5.7-4.7l-2.5-0.7c-0.1,0-0.1,0-0.1-0.1c0,0,0-0.1,0-0.2l1.8-2\n c1.5-1.6,2.1-3.8,1.9-5.9l-0.3-2.4c-0.3-2.3-1.5-4.3-3.4-5.5l-0.1,0c-1.2-0.8-2.6-1.1-4-1.1c-1.5,0-2.9,0.4-4.3,1.3\n c-1.8,1.2-2.9,3-3.2,5.1L6.2,9.1c-0.3,2.2,0.3,4.5,1.8,6.2l1.7,1.9c0,0,0,0,0,0.1c0,0.1,0,0.1,0,0.2c0,0.1-0.1,0.1-0.1,0.1l-2.5,0.7\n c-2.4,0.7-4.5,2.4-5.7,4.7c-0.5,1-0.5,2.3,0.1,3.3c0.7,1,1.8,1.6,2.9,1.6h19.3c1.2,0,2.3-0.6,2.9-1.6C27.2,25.3,27.2,24,26.6,22.9z\n M11.1,18.1c0.2-0.4,0.2-0.9,0.1-1.4c-0.1-0.2-0.2-0.4-0.3-0.5l-1.7-1.9C8,13,7.5,11.1,7.7,9.3l0.4-2.6c0.3-1.7,1.2-3.2,2.6-4.1\n c1-0.7,2.2-1,3.4-1c1.2,0,2.3,0.3,3.3,1l0.1,0h0C19,3.6,20,5.2,20.2,7l0.3,2.4c0.2,1.7-0.3,3.4-1.5,4.7l-1.8,2\n c-0.1,0.2-0.2,0.3-0.3,0.5c-0.2,0.4-0.1,0.9,0.1,1.4c0.2,0.4,0.6,0.7,1,0.9l2.5,0.7c2.1,0.6,3.8,2,4.8,3.9c0.3,0.6,0.3,1.3-0.1,1.8\n c-0.3,0.5-0.9,0.9-1.6,0.9H4.4c-0.7,0-1.2-0.4-1.6-0.9c-0.3-0.6-0.3-1.2,0-1.8l0,0c1-1.9,2.7-3.3,4.8-3.9l2.5-0.7\n C10.5,18.8,10.9,18.5,11.1,18.1z\"\n />\n </svg>\n);\n\nexport const MyTestDataIcon = () => (\n <svg className=\"my-test-data\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M2 20h20v-4H2v4zm2-3h2v2H4v-2zM2 4v4h20V4H2zm4 3H4V5h2v2zm-4 7h20v-4H2v4zm2-3h2v2H4v-2z\" />\n </svg>\n);\n\nexport const ReportDataIcon = () => (\n <svg className=\"report-data\" viewBox=\"0 0 35 35\">\n <title>report-data</title>\n <g>\n <polygon points=\"11.5,15.5 12.6,16.5 16.9,11.8 16.9,26.3 18.1,26.3 18.1,11.8 22.4,16.5 23.5,15.5 17.5,9 \t\" />\n <path\n d=\"M32.8,17.5c0-2.1-0.4-4.1-1.2-6c-2.3-5.5-7.8-9.4-14.1-9.4c-6.7,0-12.4,4.3-14.4,10.3c-0.5,1.6-0.9,3.3-0.9,5\n c0,3.7,1.3,7.1,3.5,9.8c2.8,3.4,7,5.5,11.8,5.5c3.2,0,6.1-1,8.6-2.6C30.1,27.4,32.8,22.8,32.8,17.5z M17.5,31.6c-3.1,0-6-1-8.3-2.7\n c-3.5-2.6-5.8-6.7-5.8-11.4c0-1.5,0.2-2.9,0.6-4.2c1.8-5.7,7.2-9.9,13.5-9.9c5.9,0,10.9,3.6,13.1,8.8c0.7,1.7,1.1,3.5,1.1,5.4\n c0,6-3.7,11.1-8.9,13.1C21.1,31.3,19.3,31.6,17.5,31.6z\"\n />\n </g>\n </svg>\n);\n\nexport const ManageUsersIcon = () => (\n <svg className=\"manage-users-svg\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M4.4,10.8V0.2H3.6v10.7c-1.9,0.2-3.4,1.8-3.4,3.8s1.5,3.6,3.4,3.8v6.4h0.9v-6.4c1.9-0.2,3.4-1.8,3.4-3.8\n S6.3,11.1,4.4,10.8z M4,17.6c-1.6,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S5.6,17.6,4,17.6z\"\n />\n <path\n d=\"M12.9,2.3V0.2h-0.9v2.2c-1.9,0.2-3.4,1.8-3.4,3.8c0,2,1.5,3.6,3.4,3.8v14.9h0.9V9.9c1.9-0.2,3.4-1.8,3.4-3.8\n C16.3,4.2,14.8,2.6,12.9,2.3z M12.5,9.1c-1.6,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S14.1,9.1,12.5,9.1z\"\n />\n <path\n d=\"M24.8,18.9c0-2-1.5-3.6-3.4-3.8V0.2h-0.9v14.9c-1.9,0.2-3.4,1.8-3.4,3.8s1.5,3.6,3.4,3.8v2.2h0.9v-2.2\n C23.3,22.4,24.8,20.8,24.8,18.9z M21,21.8c-1.6,0-3-1.3-3-3c0-1.6,1.3-3,3-3s3,1.3,3,3C24,20.5,22.6,21.8,21,21.8z\"\n />\n </g>\n </svg>\n);\n\nexport const AccountHomeIcon = () => (\n <svg className=\"account-home-icon\" viewBox=\"0 0 25 25\">\n <path d=\"M8.5,24 L8.5,15 C8.5,14.7238576 8.72385763,14.5 9,14.5 L16,14.5 C16.2761424,14.5 16.5,14.7238576 16.5,15 L16.5,24 L22.5,24 L22.5,9.238536 L12.5,1.14329791 L2.5,9.238536 L2.5,24 L8.5,24 Z M1.68540089,8.61137756 L12.1854009,0.111377565 C12.3688463,-0.0371258549 12.6311537,-0.0371258549 12.8145991,0.111377565 L23.3145991,8.61137756 C23.4318689,8.70631024 23.5,8.8491212 23.5,9 L23.5,24.5 C23.5,24.7761424 23.2761424,25 23,25 L2,25 C1.72385763,25 1.5,24.7761424 1.5,24.5 L1.5,9 C1.5,8.8491212 1.56813111,8.70631024 1.68540089,8.61137756 Z M9.5,15.5 L9.5,24 L15.5,24 L15.5,15.5 L9.5,15.5 Z\"></path>\n </svg>\n);\n\nexport const FacilityBasedPreviewIcon = () => (\n <svg className=\"facility-based-preview-svg\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M24.498 23.234l-5.359-5.262c.427-.79.651-1.672.651-2.575 0-1.848-.959-3.582-2.521-4.596V4.792a.513.513 0 0 0-.155-.366L12.762.152A.533.533 0 0 0 12.389 0H.547A.523.523 0 0 0 .02.518v22.154c0 .286.236.517.527.517h16.194a.523.523 0 0 0 .528-.517v-1.954l4.896 4.807c.311.306.726.475 1.166.475.441 0 .855-.169 1.167-.475a1.601 1.601 0 0 0 0-2.29zm-9.03-18.96h-2.552V1.768l1.276 1.253 1.276 1.253zm.746 16.255v1.625H1.074V1.036h10.787v3.756c0 .286.236.518.528.518h3.825v4.955a5.705 5.705 0 0 0-2.03-.373c-3.091 0-5.606 2.47-5.606 5.505 0 3.036 2.515 5.505 5.606 5.505.697 0 1.386-.128 2.03-.373zm.397-1.35l-.136.08a4.61 4.61 0 0 1-2.291.608c-2.51 0-4.551-2.005-4.551-4.47 0-2.464 2.041-4.47 4.551-4.47.806 0 1.599.21 2.291.608 1.394.8 2.26 2.28 2.26 3.862 0 .847-.242 1.671-.7 2.384a4.561 4.561 0 0 1-1.424 1.397zm7.141 5.614a.597.597 0 0 1-.42.171.596.596 0 0 1-.421-.171l-5.206-5.112a5.64 5.64 0 0 0 .84-.827h.001l5.206 5.113a.577.577 0 0 1 0 .826z\" />\n <path d=\"M12.28 12.348a3.542 3.542 0 0 0-1.738 3.05c0 .285.236.517.527.517a.523.523 0 0 0 .528-.518c0-.89.462-1.7 1.235-2.167a.513.513 0 0 0 .174-.712.533.533 0 0 0-.726-.17zM16.018 12.307a3.691 3.691 0 0 0-1.834-.486.523.523 0 0 0-.528.518c0 .286.237.518.528.518.458 0 .909.119 1.302.345a.533.533 0 0 0 .722-.186.513.513 0 0 0-.19-.709z\" />\n </g>\n </svg>\n);\n\nexport const PaymentIcon = () => (\n <svg className=\"payment-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M12.1618195,20.7968379 L12.1618195,12.9463878 C10.781964,12.4923749 9.69910643,12.0472873 8.91321499,11.6111111 C8.11242203,11.1666644 7.51873961,10.6203736 7.1321499,9.97222222 C6.7455602,9.32407083 6.55226824,8.5 6.55226824,7.5 C6.55226824,6.14814139 7.0447025,5.01389347 8.0295858,4.09722222 C9.01446909,3.18055097 10.3905237,2.65740806 12.1577909,2.52777778 L12.1577909,0.611111111 C12.1577909,0.425925 12.2130172,0.277778333 12.3234714,0.166666667 C12.4339256,0.055555 12.5811957,0 12.765286,0 L13.2899408,0 C13.4740312,0 13.6213012,0.055555 13.7317554,0.166666667 C13.8422096,0.277778333 13.8974359,0.425925 13.8974359,0.611111111 L13.8974359,2.55555556 C15.057205,2.66666722 16.0512779,2.97221972 16.8796844,3.47222222 C17.7080909,3.97222472 18.3339887,4.56944097 18.7573964,5.26388889 C19.1808042,5.95833681 19.4109137,6.65740389 19.4477318,7.36111111 C19.4477318,7.50926 19.3971077,7.63888833 19.295858,7.75 C19.1946083,7.86111167 19.0519404,7.91666667 18.8678501,7.91666667 L18.3155819,7.91666667 C18.1867186,7.91666667 18.0578573,7.87500042 17.9289941,7.79166667 C17.8001308,7.70833292 17.7264958,7.56481583 17.7080868,7.36111111 C17.5976326,6.43518056 17.1051983,5.67129931 16.2307692,5.06944444 C15.5784594,4.62047057 14.8006641,4.33896279 13.8973694,4.22491735 L13.8973694,11.7499783 C15.4069766,12.2314839 16.5851371,12.6944422 17.4319527,13.1388889 C18.2787682,13.5833356 18.9184725,14.1203672 19.3510848,14.75 C19.7836971,15.3796328 20,16.1944394 20,17.1944444 C20,18.7500078 19.4615438,19.9861065 18.3846154,20.9027778 C17.3076869,21.819449 15.8119754,22.3425919 13.8974359,22.4722222 L13.8974359,24.3888889 C13.8974359,24.574075 13.8422096,24.7222217 13.7317554,24.8333333 C13.6213012,24.944445 13.4740312,25 13.2899408,25 L12.765286,25 C12.5811957,25 12.4339256,24.944445 12.3234714,24.8333333 C12.2130172,24.7222217 12.1577909,24.574075 12.1577909,24.3888889 L12.1577909,22.4444444 C10.9059766,22.3518514 9.81985996,22.0648172 8.89940828,21.5833333 C7.97895661,21.1018494 7.27482164,20.5046332 6.78698225,19.7916667 C6.29914286,19.0787001 6.03681807,18.3148189 6,17.5 C6,17.3518511 6.05522627,17.2222228 6.16568047,17.1111111 C6.27613467,17 6.41420036,16.9444444 6.57988166,16.9444444 L7.1321499,16.9444444 C7.4635125,16.9444444 7.66600884,17.1296278 7.73964497,17.5 C7.86850821,18.3888933 8.37474903,19.1666633 9.25838264,19.8333333 C9.97320875,20.3726414 10.9410143,20.6938096 12.1618195,20.7968379 Z M13.8973694,20.8073012 C15.2350836,20.7193579 16.2613967,20.4085927 16.9763314,19.875 C17.8323514,19.2361079 18.260355,18.3425983 18.260355,17.1944444 C18.260355,16.4907372 18.0532565,15.9120393 17.6390533,15.4583333 C17.22485,15.0046274 16.6219632,14.6064832 15.8303748,14.2638889 C15.3408921,14.052044 14.6965598,13.8065676 13.8973694,13.5274567 L13.8973694,20.8073012 Z M12.1618195,4.19615363 C11.0995324,4.28099937 10.2283731,4.54894668 9.54832347,5 C8.71071245,5.55555833 8.29191321,6.38888333 8.29191321,7.5 C8.29191321,8.22222583 8.48060298,8.81944208 8.85798817,9.29166667 C9.23537335,9.76389125 9.80144264,10.1712946 10.556213,10.5138889 C10.9788577,10.7057296 11.5140579,10.9193435 12.1618195,11.1547327 L12.1618195,4.19615363 Z\"></path>\n </g>\n </svg>\n);\n\nexport const PhysicianCompareIcon = () => (\n <svg className=\"physician-compare-icon\" viewBox=\"0 0 25 25\">\n <g id=\"Page-1\" stroke=\"none\" strokeWidth=\"1\">\n <g id=\"Physician-Compare_Physician-Compare\">\n <path d=\"M19.2204301,5 L18.1451613,5 C17.7419355,5 17.4731183,5.2601626 17.4731183,5.6504065 C17.4731183,6.04065041 17.7419355,6.30081301 18.1451613,6.30081301 L19.2204301,6.30081301 C19.3548387,6.30081301 19.4892473,6.43089431 19.4892473,6.56097561 L19.4892473,11.8943089 C19.4892473,13.3252033 18.2795699,14.6260163 16.6666667,14.6260163 C15.0537634,14.6260163 13.844086,13.4552846 13.844086,11.8943089 L13.844086,6.56097561 C13.844086,6.43089431 13.9784946,6.30081301 14.1129032,6.30081301 L15.188172,6.30081301 C15.5913978,6.30081301 15.8602151,6.04065041 15.8602151,5.6504065 C15.8602151,5.2601626 15.5913978,5 15.188172,5 L14.1129032,5 C13.3064516,5 12.5,5.6504065 12.5,6.56097561 L12.5,11.8943089 C12.5,13.8455285 13.9784946,15.5365854 15.9946237,15.9268293 C15.8602151,18.398374 14.6505376,19.699187 12.5,19.699187 L12.2311828,19.699187 C9.40860215,19.699187 8.33333333,17.2276423 8.33333333,15.6666667 L8.33333333,14.495935 C9.67741935,14.1056911 10.6182796,12.9349593 10.6182796,11.504065 C10.7526882,9.81300813 9.27419355,8.38211382 7.52688172,8.38211382 C5.77956989,8.38211382 4.16666667,9.81300813 4.16666667,11.504065 C4.16666667,13.0650407 5.37634409,14.3658537 6.98924731,14.6260163 L6.98924731,15.6666667 C6.98924731,18.2682927 8.87096774,21 12.2311828,21 L12.5,21 C15.4569892,21 17.2043011,19.1788618 17.3387097,15.796748 C19.3548387,15.5365854 20.8333333,13.8455285 20.8333333,11.7642276 L20.8333333,6.56097561 C20.8333333,5.6504065 20.1612903,5 19.2204301,5 Z M5.77956989,11.504065 C5.77956989,10.5934959 6.58602151,9.94308943 7.39247312,9.94308943 C8.19892473,9.94308943 9.00537634,10.7235772 9.00537634,11.504065 C9.00537634,12.2845528 8.33333333,13.195122 7.52688172,13.195122 C6.72043011,13.195122 5.77956989,12.4146341 5.77956989,11.504065 Z\"></path>\n <path d=\"M20.718232,0 L4.14364641,0 C1.79558011,0 0,1.82291667 0,3.90625 L0,21.09375 C0,23.3072917 1.93370166,25 4.14364641,25 L20.8563536,25 C23.2044199,25 25,23.1770833 25,21.09375 L25,3.90625 C24.8618785,1.82291667 23.0662983,0 20.718232,0 Z M23.480663,21.09375 C23.480663,22.5260417 22.2375691,23.6979167 20.718232,23.6979167 L4.14364641,23.6979167 C2.62430939,23.6979167 1.38121547,22.5260417 1.38121547,21.09375 L1.38121547,3.90625 C1.38121547,2.47395833 2.62430939,1.30208333 4.14364641,1.30208333 L20.8563536,1.30208333 C22.3756906,1.30208333 23.6187845,2.47395833 23.6187845,3.90625 L23.6187845,21.09375 L23.480663,21.09375 Z\"></path>\n </g>\n </g>\n </svg>\n);\n\nexport const HardshipIcon = () => (\n <svg className=\"hardship-icon\" viewBox=\"0 0 25 25\" version=\"1.1\">\n <g>\n <g transform=\"translate(2.000000, 0.000000)\" fillRule=\"nonzero\">\n <path d=\"M18.7721739,2.6119403 L14.4991304,2.6119403 L12.4813043,2.6119403 C12.5178261,2.44402985 12.5543478,2.2761194 12.5543478,2.0988806 C12.5543478,0.942164179 11.6321739,0 10.5,0 C9.36782609,0 8.44565217,0.942164179 8.44565217,2.0988806 C8.44565217,2.2761194 8.47304348,2.44402985 8.51869565,2.6119403 L6.49173913,2.6119403 L2.21869565,2.6119403 C0.995217391,2.6119403 0,3.62873134 0,4.8880597 L0,22.733209 C0,23.983209 0.995217391,25 2.21869565,25 L18.7721739,25 C19.9956522,25 21,23.983209 21,22.7238806 L21,4.8880597 C21,3.62873134 19.9956522,2.6119403 18.7721739,2.6119403 Z M10.5,0.932835821 C11.13,0.932835821 11.6413043,1.45522388 11.6413043,2.0988806 C11.6413043,2.31343284 11.5682609,2.5 11.4769565,2.66791045 C11.403913,2.7891791 11.3126087,2.9011194 11.2030435,2.99440299 C11.1482609,3.04104478 11.0843478,3.08768657 11.0204348,3.125 C10.9747826,3.14365672 10.9382609,3.17164179 10.8926087,3.19029851 C10.7647826,3.22761194 10.6369565,3.26492537 10.5,3.26492537 C10.3630435,3.26492537 10.2352174,3.22761194 10.1165217,3.18097015 C10.0708696,3.16231343 10.0343478,3.14365672 9.98869565,3.11567164 C9.92478261,3.07835821 9.86086957,3.03171642 9.80608696,2.98507463 C9.6873913,2.89179104 9.59608696,2.77052239 9.52304348,2.63992537 C9.43173913,2.47201493 9.36782609,2.29477612 9.36782609,2.08955224 C9.35869565,1.45522388 9.87,0.932835821 10.5,0.932835821 Z M20.0869565,22.7238806 C20.0869565,23.4608209 19.5026087,24.0671642 18.7721739,24.0671642 L2.21869565,24.0671642 C1.4973913,24.0671642 0.903913043,23.4701493 0.903913043,22.7238806 L0.903913043,4.8880597 C0.913043478,4.14179104 1.4973913,3.54477612 2.21869565,3.54477612 L6.49173913,3.54477612 L6.49173913,4.38432836 C6.49173913,4.95335821 6.93913043,5.41044776 7.49608696,5.41044776 L13.503913,5.41044776 C14.0608696,5.41044776 14.5082609,4.95335821 14.5082609,4.38432836 L14.5082609,3.54477612 L18.7813043,3.54477612 C19.5026087,3.54477612 20.096087,4.14179104 20.096087,4.8880597 L20.096087,22.7238806 L20.0869565,22.7238806 L20.0869565,22.7238806 Z\"></path>\n <g transform=\"translate(4.000000, 9.000000)\">\n <rect x=\"3.50571429\" y=\"7.24\" width=\"7.97142857\" height=\"1\"></rect>\n <rect x=\"0.848571429\" y=\"7.24\" width=\"1.37142857\" height=\"1\"></rect>\n <rect x=\"6.50571429\" y=\"2.17\" width=\"4.97142857\" height=\"1\"></rect>\n <polygon points=\"2.13428571 4.04 0.402857143 2.01 1.01142857 1.31 2.13428571 2.62 4.03714286 0.41 4.64571429 1.11\"></polygon>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport const TargetIcon = () => (\n <svg className=\"target-icon stroke-based-icon\" viewBox=\"0 0 25 25\">\n <g strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(1.000000, 1.000000)\">\n <path\n d=\"M15.6521739,13.3410862 C14.9799955,14.9155188 13.3391142,15.8471825 11.6426584,15.617619 C9.9462025,15.3880555 8.61194453,14.0537975 8.38238102,12.3573416 C8.15281751,10.6608858 9.08448121,9.0200045 10.6589138,8.34782609\"\n strokeLinecap=\"round\"\n ></path>\n <path\n d=\"M19.826087,11.4686261 C19.5475194,15.6524455 16.0240274,18.8752139 11.8318419,18.780577 C7.63965639,18.6859401 4.26519733,15.3074531 4.17572893,11.1153254 C4.08626053,6.92319774 7.31350554,3.40382874 11.4978365,3.13043478\"\n strokeLinecap=\"round\"\n ></path>\n <path\n d=\"M22.9565217,10.4801044 C22.9565217,10.8094757 22.9565217,11.1488279 22.9565217,11.4781992 C22.9565217,16.1251852 20.1544991,20.3136359 15.8592987,22.0872623 C11.5640982,23.8608888 6.62327363,22.8696906 3.3445233,19.5766243 C0.065772964,16.283558 -0.903887735,11.3384639 0.888438166,7.05103466 C2.68076407,2.7636054 6.8813862,-0.0200950351 11.5283306,0 C11.867683,0 12.2070354,0 12.5264259,0\"\n strokeLinecap=\"round\"\n ></path>\n <path\n d=\"M23.4104348,8.34782609 C23.4626087,8.69217391 23.5147826,9.04695652 23.546087,9.39130435\"\n strokeLinecap=\"round\"\n ></path>\n <path d=\"M19.0559527,8.3085908 L16.1993898,7.27346855 C15.9679825,7.18675289 15.7867762,7.00255341 15.7042523,6.77015223 L14.6758896,3.9211919 C14.5392501,3.60164864 14.6150694,3.23112279 14.8663271,2.99053153 L17.5610181,0.255529619 C17.7680939,0.0454487694 18.069052,-0.043464617 18.357445,0.020237671 C18.6458381,0.083939959 18.8810085,0.291277194 18.9797777,0.568915255 L19.7415278,2.61067015 C19.8301804,2.85007338 20.017334,3.04018548 20.2557092,3.13297955 L22.4076532,3.94968151 C22.6793557,4.05644917 22.8788566,4.29253202 22.938341,4.57768034 C22.9978255,4.86282867 22.9092906,5.15867892 22.7028314,5.36466513 L19.960531,8.07117744 C19.7289278,8.31564041 19.3782081,8.40768945 19.0559527,8.3085908 Z\"></path>\n <line\n x1=\"12.5217391\"\n y1=\"10.4347826\"\n x2=\"16.6956522\"\n y2=\"6.26086957\"\n strokeLinecap=\"round\"\n ></line>\n </g>\n </g>\n </svg>\n);\n\nexport const ReportsIcon = () => (\n <svg className=\"reports-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M17.933,0 C18.1717358,0 18.3968908,0.110656353 18.5402903,0.296256203 L22.7874693,5.70648432 C22.9255465,5.88258285 23,6.10021604 23,6.324 L23,24 C23,24.5521424 22.5521424,25 22,25 L3,25 C2.44785763,25 2,24.5521424 2,24 L2,1 C2,0.447857625 2.44785763,0 3,0 L17.933,0 Z M16.937,1 L3,1 L3,24 L22,24 L22,7 L18.4371948,7 C17.6087677,7 16.9371948,6.32842712 16.9371948,5.5 L16.937,1 Z M16.5,20 C16.7761424,20 17,20.2238576 17,20.5 C17,20.7761424 16.7761424,21 16.5,21 L8.5,21 C8.22385763,21 8,20.7761424 8,20.5 C8,20.2238576 8.22385763,20 8.5,20 L16.5,20 Z M12.5,6 C12.7761424,6 13,6.22385763 13,6.5 L12.999,16.41 L15.4105156,14 C15.5840819,13.8264336 15.8535063,13.8071485 16.0483745,13.9421445 L16.1176224,14 C16.3128845,14.1952621 16.3128845,14.5118446 16.1176224,14.7071068 L16.1176224,14.7071068 L12.8535534,17.9711757 C12.6582912,18.1664379 12.3417088,18.1664379 12.1464466,17.9711757 L12.1464466,17.9711757 L8.88237764,14.7071068 C8.6871155,14.5118446 8.6871155,14.1952621 8.88237764,14 C9.07763979,13.8047379 9.39422228,13.8047379 9.58948443,14 L9.58948443,14 L11.999,16.41 L12,6.5 C12,6.22385763 12.2238576,6 12.5,6 Z M17.937,1.148 L17.9371948,5.5 C17.9371948,5.77614237 18.1610524,6 18.4371948,6 L21.746,6 L17.937,1.148 Z\"></path>\n </g>\n </svg>\n);\n\nexport const HelpSupportIcon = () => (\n <svg className=\"help-support\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M12.5,0.3C5.8,0.3,0.3,5.8,0.3,12.5s5.5,12.2,12.2,12.2s12.2-5.5,12.2-12.2S19.2,0.3,12.5,0.3z M12.5,23.8\n c-6.2,0-11.3-5.1-11.3-11.3S6.3,1.2,12.5,1.2s11.3,5.1,11.3,11.3S18.7,23.8,12.5,23.8z\"\n />\n <path\n d=\"M12.5,10.7h-0.4c-0.1,0-0.3,0-0.3,0.1c-0.1,0.1-0.1,0.2-0.1,0.3v8c0,0.1,0,0.3,0.1,0.3\n c0.1,0.1,0.2,0.1,0.3,0.1h0.4c0.1,0,0.3,0,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-8c0-0.1,0-0.3-0.1-0.3C12.8,10.7,12.7,10.7,12.5,10.7z\"\n />\n <path\n d=\"M12.6,6.7h-0.5c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.1,0.3-0.1,0.4v0.5c0,0.1,0,0.3,0.1,0.3\n c0.1,0.1,0.2,0.1,0.3,0.1h0.5c0.1,0,0.3,0,0.4-0.1C13,7.9,13,7.8,13,7.6V7.2c0-0.1,0-0.3-0.1-0.4C12.8,6.7,12.7,6.7,12.6,6.7z\"\n />\n </g>\n </svg>\n);\n\nexport const DashboardIcon = () => (\n <svg className=\"dashboard-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M22.2,12.8H12.1V2.8c0-0.3-0.2-0.5-0.5-0.5h-0.1c-6.2,0-11.2,5-11.2,11.2c0,6.2,5,11.2,11.2,11.2\n c6.2,0,11.2-5,11.2-11.2v-0.1C22.7,13.1,22.5,12.8,22.2,12.8z M11.6,13.9h10c-0.2,5.4-4.7,9.7-10.1,9.7c-5.6,0-10.2-4.6-10.2-10.2\n c0-5.4,4.3-9.9,9.7-10.1v10C11.1,13.7,11.3,13.9,11.6,13.9z\"\n />\n <path\n d=\"M24.7,9.9l0-0.1C24,4.9,20.1,1,15.2,0.3l-0.1,0l0,0c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.2-0.2,0.4V10\n c0,0.3,0.2,0.5,0.5,0.5h9.2c0.2,0,0.3-0.1,0.4-0.2C24.7,10.2,24.7,10.1,24.7,9.9z M23.5,9.5h-8v-8C19.5,2.2,22.8,5.5,23.5,9.5z\"\n />\n </g>\n </svg>\n);\n\nexport const AccountSettings = () => (\n <svg className=\"account-settings\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M12.5,6.5c-3.3,0-6,2.7-6,6s2.7,6,6,6s6-2.7,6-6S15.8,6.5,12.5,6.5z M12.5,17.5c-2.8,0-5-2.3-5-5s2.3-5,5-5\n s5,2.3,5,5S15.3,17.5,12.5,17.5z\"\n />\n <path\n d=\"M24.5,9.8l-3-0.7c-0.1-0.2-0.2-0.4-0.2-0.6l1.6-2.6c0.1-0.2,0.1-0.4-0.1-0.6l-3.1-3.1\n c-0.1-0.2-0.4-0.2-0.6-0.1l-2.6,1.6c-0.2-0.1-0.4-0.2-0.6-0.3l-0.7-3c-0.1-0.2-0.2-0.3-0.5-0.3h-4.4c-0.2,0-0.4,0.1-0.5,0.4l-0.7,3\n C9,3.6,8.8,3.7,8.6,3.8L5.9,2.2C5.7,2,5.5,2.1,5.3,2.2L2.2,5.3C2.1,5.5,2.1,5.8,2.2,5.9l1.6,2.6C3.7,8.7,3.6,8.9,3.6,9.1l-3,0.7\n c-0.2,0-0.4,0.2-0.4,0.5v4.4c0,0.2,0.2,0.4,0.4,0.5l3,0.7c0.1,0.2,0.2,0.4,0.2,0.6l-1.6,2.6c-0.1,0.2-0.1,0.4,0.1,0.6l3.1,3.1\n c0.2,0.2,0.4,0.2,0.6,0.1l2.6-1.6c0.2,0.1,0.4,0.2,0.6,0.3l0.7,3c0,0.2,0.2,0.4,0.5,0.4h4.4c0.2,0,0.4-0.2,0.5-0.4l0.7-3\n c0.2-0.1,0.4-0.2,0.6-0.3l2.6,1.6c0.2,0.1,0.4,0.1,0.6-0.1l3.1-3.1c0.1-0.2,0.2-0.4,0.1-0.6l-1.6-2.6c0.1-0.2,0.2-0.4,0.2-0.6\n l3-0.7c0.2,0,0.4-0.2,0.4-0.5v-4.4C24.8,10.1,24.7,9.9,24.5,9.8z M20.7,15.3c-0.1,0.3-0.3,0.7-0.4,1c-0.1,0.1-0.1,0.3,0,0.5\n l1.6,2.5l-2.6,2.6l-2.5-1.6c-0.1-0.1-0.3-0.1-0.4,0c-0.3,0.1-0.6,0.3-1,0.4c-0.2,0-0.3,0.2-0.3,0.3l-0.7,2.9h-3.7L10,21\n c0-0.2-0.2-0.3-0.3-0.3c-0.4-0.1-0.7-0.3-1-0.4c-0.1-0.1-0.3-0.1-0.5,0l-2.5,1.6l-2.6-2.6l1.6-2.5c0.1-0.1,0.1-0.3,0-0.5\n c-0.2-0.3-0.3-0.7-0.4-1C4.3,15.1,4.2,15,4,15l-2.9-0.7v-3.7L4,10c0.2,0,0.3-0.2,0.3-0.3c0.1-0.3,0.2-0.6,0.4-1\n c0.1-0.1,0.1-0.3,0-0.5L3.1,5.8l2.6-2.6l2.5,1.6c0.1,0.1,0.3,0.1,0.4,0c0.3-0.1,0.6-0.3,1-0.4C9.8,4.3,10,4.2,10,4l0.7-2.9h3.7\n L15,4c0,0.2,0.2,0.3,0.3,0.3c0.4,0.1,0.7,0.3,1,0.4c0.1,0.1,0.3,0.1,0.5,0l2.5-1.6l2.6,2.6l-1.6,2.5c-0.1,0.1-0.1,0.3,0,0.5\n c0.2,0.3,0.3,0.7,0.4,1C20.7,9.8,20.8,10,21,10l2.9,0.7v3.7L21,15C20.8,15,20.7,15.1,20.7,15.3z\"\n />\n </g>\n </svg>\n);\n\nexport const DetailsIcon = () => (\n <svg className=\"details-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M21.8,0.4H3.2c-1.2,0-2.1,1-2.1,2.1v20c0,1.2,1,2.1,2.1,2.1h18.6c1.2,0,2.1-1,2.1-2.1v-20\n C23.9,1.3,23,0.4,21.8,0.4z M22.9,22.5c0,0.6-0.5,1.1-1.1,1.1H3.2c-0.6,0-1.1-0.5-1.1-1.1v-20c0-0.6,0.5-1.1,1.1-1.1h18.6\n c0.6,0,1.1,0.5,1.1,1.1V22.5z\"\n />\n <rect x=\"6.2\" y=\"17.3\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"12.4\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"7.4\" width=\"1.6\" height=\"1\" />\n <rect x=\"9.3\" y=\"17.3\" width=\"6.1\" height=\"1\" />\n <rect x=\"9.3\" y=\"12.4\" width=\"9.3\" height=\"1\" />\n <rect x=\"9.3\" y=\"7.4\" width=\"6.5\" height=\"1\" />\n </g>\n </svg>\n);\n\nexport const StarIcon = () => (\n <svg className=\"star-icon\" viewBox=\"0 0 25 25\">\n <path\n d=\"M24.7,9.4c-0.1-0.1-0.2-0.1-0.3-0.2L16.6,8L13,0.9c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1,0-0.3,0-0.4,0\n c0,0-0.2,0.1-0.2,0.2L8.4,8L0.6,9.2c-0.3,0-0.5,0.3-0.5,0.6c0,0.1,0.1,0.2,0.2,0.3L6,15.7l-1.3,7.9c-0.1,0.3,0.1,0.6,0.4,0.7h0.1\n c0.1,0,0.2,0,0.3-0.1l7-3.7l7,3.7c0.1,0,0.2,0.1,0.3,0.1c0.3,0,0.6-0.3,0.6-0.6v-0.1l-1.3-7.9l5.6-5.6C24.9,10,24.9,9.6,24.7,9.4z\n M7.1,15.8c0-0.2,0-0.4-0.2-0.5l-5.1-5.1l7-1.1C9,9.1,9.1,9,9.2,8.8l3.2-6.4l3.2,6.4C15.7,9,15.8,9.1,16,9.1l7,1.1l-4.9,5\n c-0.1,0.1-0.3,0.4-0.3,0.6l1.4,7l-6.7-3.2c-0.2-0.1-0.4-0.1-0.5,0l-6.3,3.3L7.1,15.8z\"\n />\n </svg>\n);\n\nexport const CliniciansIcon = () => (\n <svg className=\"clinicians-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path d=\"M24.7,18.8 L24.7,18.8 C24,17.4 22.7,16.3 21.1,15.9 L19.5,15.4 C19.5,15.4 19.4,15.4 19.4,15.3 L19.4,15.2 L19.4,15.2 L20.5,13.9 C21.4,12.9 21.8,11.5 21.7,10.2 L21.5,8.7 C21.3,7.3 20.6,6.1 19.4,5.4 L19.3,5.3 C18.6,4.8 17.7,4.6 16.8,4.6 C15.9,4.6 15,4.9 14.1,5.4 C13.9,5.5 13.8,5.6 13.6,5.8 L13.5,5.9 L13.5,5.9 C13.1,5.1 12.7,4.4 11.9,3.9 L11.9,3.9 C11.1,3.3 10,3 9.1,3 C8,3 7,3.3 6.2,3.9 C5,4.7 4.2,5.9 4,7.3 L3.7,9.1 C3.5,10.6 3.9,12.1 4.9,13.3 L6.1,14.6 C6.1,14.6 6.1,14.6 6.2,14.7 C6.2,14.8 6.2,14.9 6.2,14.9 C6.2,15 6.1,15.1 6,15.1 L4.3,15.6 C2.6,16.1 1.2,17.3 0.4,18.8 C-3.46944695e-16,19.5 -3.46944695e-16,20.3 0.4,21 C0.8,21.6 1.5,22 2.3,22 L10.8,22 L15.7,22 C16,22 16.2,21.9 16.4,21.9 L22.8,21.9 C23.5,21.9 24.2,21.5 24.6,20.9 C25,20.2 25,19.5 24.7,18.8 Z M15.7,21.3 L10.4,21.2 L9,21.2 L2.3,21.3 C1.2,21.3 0.5,20.1 1.1,19.2 C1.8,17.8 3.1,16.8 4.5,16.4 L6.2,15.9 C6.8,15.7 7.1,15.1 6.9,14.5 C6.8,14.4 6.8,14.3 6.7,14.2 L5.5,12.9 C4.6,11.9 4.2,10.6 4.4,9.3 L4.7,7.5 C5,6.3 5.6,5.2 6.6,4.5 C7.4,4 8.2,3.8 9.1,3.8 C9.9,3.8 10.7,4 11.4,4.5 L11.4,4.5 C12.2,5 12.8,5.8 13.2,6.7 C13.3,7 13.4,7.3 13.4,7.7 L13.4,7.7 L13.6,9.4 C13.7,10.5 13.4,11.5 12.8,12.4 C12.7,12.5 12.6,12.7 12.5,12.8 L12.3,13 L11.2,14.2 C11.1,14.3 11,14.4 11,14.5 C10.8,15.1 11.1,15.6 11.7,15.8 L12.8,16.2 L13.5,16.4 C13.8,16.5 13.8,16.5 14,16.6 C15.3,17.1 16.3,18 17,19.2 C17.5,20.1 16.8,21.3 15.7,21.3 Z M13.1,14.2 L14.2,15.4 L14.2,15.4 L14.2,15.5 L14.1,15.6 L14,15.6 C13.9,15.6 13.8,15.6 13.8,15.6 L12.2,15 C12.1,15 12,14.9 11.9,14.8 C11.8,14.7 11.8,14.6 11.9,14.5 L12,14.4 L12.8,13.5 C12.9,13.9 13,14 13.1,14.2 Z M23.8,20.4 C23.6,20.7 23.2,21 22.8,21 L17.5,21 L17.5,21 C17.9,20.3 17.9,19.5 17.6,18.8 C17,17.7 16,16.7 14.9,16.1 C15.1,15.8 15.1,15.5 15,15.2 C15,15.1 14.9,15 14.8,14.9 L13.7,13.7 C13.5,13.5 13.4,13.3 13.2,13.1 L13.2,13.1 C14,12 14.4,10.7 14.3,9.3 L14.1,7.6 C14.1,7.4 14,7.1 14,6.9 C14,6.9 14,6.9 14,6.8 L14.1,6.7 C14.3,6.5 14.5,6.3 14.7,6.2 C15.4,5.8 16.1,5.5 16.8,5.5 C17.5,5.5 18.2,5.6 18.8,6 L18.9,6.1 L18.9,6.1 C19.8,6.7 20.5,7.7 20.6,8.9 L20.8,10.4 C20.9,11.5 20.6,12.5 19.9,13.4 L18.8,14.7 C18.7,14.8 18.6,14.9 18.6,15 C18.5,15.3 18.5,15.6 18.7,15.9 C18.8,16.2 19.3,16.3 19.6,16.4 L21.2,16.9 C22.5,17.3 23.4,18.3 24,19.5 C24.1,19.6 24.1,20.1 23.8,20.4 Z\"></path>\n </g>\n </svg>\n);\n\nexport const GroupReporting = () => (\n <svg className=\"group-reporting\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M16.9,9C12.5,9,9,12.6,9,16.9s3.6,7.9,7.9,7.9c4.4,0,7.9-3.6,7.9-7.9S21.2,9,16.9,9z M16.9,23.8\n c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9s6.9,3.1,6.9,6.9S20.6,23.8,16.9,23.8z\"\n />\n <polygon points=\"13.5,17.2 14.3,17.9 16.5,15.5 16.5,20.6 17.4,20.6 17.4,15.5 19.6,17.9 20.4,17.2 17,13.5 \t\" />\n <rect x=\"8.5\" y=\"4\" width=\"2\" height=\"2.2\" />\n <rect x=\"12.9\" y=\"4\" width=\"2\" height=\"2.2\" />\n <rect x=\"8.5\" y=\"8.8\" width=\"2\" height=\"2.2\" />\n <path\n d=\"M7.2,21.9h-2V1h13v5.2l0,0v0.6c0,0.1,0,0.3,0.1,0.3c0.2,0,0.1,0,0.2,0h0.3c0.1,0,0.3,0,0.3-0.1\n c0,0,0-0.1,0-0.2V1.5c0,0,0,0,0-0.1V0.6c0-0.2-0.1-0.4-0.3-0.4l0,0l0,0l0,0h-0.1c0,0,0,0,0.1,0H7.6l0,0H4.8c-0.2,0-0.4,0.2-0.4,0.4\n v21.3H0.6c-0.1,0-0.2,0-0.3,0.1s-0.1,0.2-0.1,0.3v0.3c0,0.1,0,0.2,0.1,0.3C0.4,23,0.5,23,0.6,23h6.6c0.1,0,0.2,0,0.3-0.1\n c0.1-0.1,0.1-0.2,0.1-0.3v-0.3c0-0.1,0-0.2-0.1-0.3C7.4,21.9,7.3,21.9,7.2,21.9z\"\n />\n </g>\n </svg>\n);\n\nexport const IndividualReporting = () => (\n <svg className=\"individual-reporting\" viewBox=\"0 0 25 25\">\n <g>\n <path\n d=\"M5.1,5.6C5.3,4.3,6.6,3,7.7,2.3c0.9-0.6,1.8-0.9,2.8-0.9c0.9,0,1.9,0.3,2.7,0.8l0,0c1.2,0.8,2,2,2.3,3.4l0,0\n l0,0c0,0.1,0,0.4,0.1,0.4c0.1,0,0.2,0,0.2,0h0.3c0.1,0,0.2,0,0.2-0.1V5.8l0,0c0,0,0,0,0-0.1l0,0l0,0c-0.2-1.7-1.2-3.2-2.6-4.1l0,0\n c-0.9-0.6-2-0.9-3.2-0.9s-2.3,0.4-3.3,1c-1.4,0.9-2.8,2.4-3,4l-0.3,2C3.6,9.3,3.6,11,4.8,12.3l1.3,1.5c0,0,0,0,0.1,0.1\n c0,0.1,0,0.2,0,0.3S6.1,14.3,6,14.4L4,15c-1.9,0.6-2.6,1.9-3.5,3.7c-0.4,0.8-0.4,1.7,0.1,2.5s1.3,1.2,2.2,1.2h3.8l0,0h0.1\n c0.1,0,0.3,0,0.3-0.1s0-0.2,0-0.3v-0.2c0-0.1,0-0.3-0.1-0.3c-0.1-0.1-0.1,0-0.2,0H5.2l0,0H2.8c-1.2,0-2-1.3-1.4-2.4\n c0.8-1.6,1.3-2.7,3-3.2l2-0.6c0.7-0.2,1-0.9,0.8-1.6c-0.1-0.2-0.2-0.3-0.3-0.4l-1.4-1.5c-1-1.1-1-2.6-0.7-4.1L5.1,5.6z\"\n />\n <path\n d=\"M16.9,8.6c-4.4,0-7.9,3.6-7.9,7.9s3.6,7.9,7.9,7.9s7.9-3.6,7.9-7.9S21.3,8.6,16.9,8.6z M16.9,23.4\n c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9s6.9,3.1,6.9,6.9S20.7,23.4,16.9,23.4z\"\n />\n <polygon points=\"13.6,16.8 14.3,17.5 16.6,15.1 16.6,20.2 17.4,20.2 17.4,15.1 19.7,17.5 20.4,16.8 17,13.1 \t\" />\n </g>\n </svg>\n);\n\nexport const ChevronLeft = () => (\n <svg className=\"chevron-left\" viewBox=\"0 0 1792 1792\">\n <title>chevron-left</title>\n <g>\n <path d=\"M1427 301l-531 531 531 531q19 19 19 45t-19 45l-166 166q-19 19-45 19t-45-19l-742-742q-19-19-19-45t19-45l742-742q19-19 45-19t45 19l166 166q19 19 19 45t-19 45z\" />\n </g>\n </svg>\n);\n\nexport const ChevronRight = () => (\n <svg className=\"chevron-right\" viewBox=\"0 0 1792 1792\">\n <title>chevron-right</title>\n <g>\n <path d=\"M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z\" />\n </g>\n </svg>\n);\n\nexport const ChevronDown = () => (\n <svg className=\"chevron-down\" viewBox=\"0 0 1792 1792\">\n <title>chevron-down</title>\n <g>\n <path d=\"M1683 808l-742 741q-19 19-45 19t-45-19l-742-741q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z\" />\n </g>\n </svg>\n);\n\nexport const SwitchPractice = () => (\n <svg className=\"switch-practice\" viewBox=\"0 0 15 15\">\n <title>switch-practice</title>\n <g>\n <path\n d=\"M14,8.7h-1.8c-0.1,0-0.2,0.1-0.3,0.2c-0.2,0.4-0.3,0.7-0.5,1.1c-0.9,1.4-2.4,2.2-4,2.2c-1.2,0-2.3-0.5-3.2-1.3l1.3-1.3\n c0.1-0.1,0.2-0.3,0.2-0.4c0-0.3-0.3-0.6-0.6-0.6H1c-0.3,0-0.6,0.3-0.6,0.6v4.1C0.4,13.7,0.7,14,1,14c0.2,0,0.3-0.1,0.4-0.2l1.2-1.2\n c1.3,1.2,3,2,4.8,2c3.4,0,6.1-2.3,6.9-5.5c0,0,0,0,0-0.1C14.3,8.8,14.2,8.7,14,8.7z\"\n />\n <path\n d=\"M14,1c-0.2,0-0.3,0.1-0.4,0.2l-1.2,1.2c-1.3-1.2-3.1-2-4.9-2C4.1,0.4,1.4,2.7,0.6,6c0,0,0,0,0,0.1c0,0.2,0.1,0.3,0.3,0.3\n h1.8C2.9,6.3,3,6.2,3,6.1C3.2,5.7,3.3,5.4,3.5,5c0.9-1.4,2.4-2.2,4-2.2c1.2,0,2.3,0.5,3.2,1.3L9.4,5.3C9.3,5.4,9.3,5.6,9.3,5.7\n c0,0.3,0.3,0.6,0.6,0.6H14c0.3,0,0.6-0.3,0.6-0.6V1.6C14.6,1.3,14.3,1,14,1z\"\n />\n </g>\n </svg>\n);\n\nexport const ScoreIncrease = () => (\n <svg className=\"score-increase\" viewBox=\"0 0 15 15\">\n <g>\n <path\n d=\"M9.7,4c0,0.4,0.3,0.7,0.7,0.7h2.2l-4.1,4L5.8,6.4C5.4,6,5.1,6,4.8,6.3l-4.5,4.3c-0.3,0.2-0.3,0.7-0.1,1\n s0.6,0.3,0.9,0.1l4.1-3.9L7.9,10c0.2,0.4,0.7,0.5,1,0.1l4.8-4.6v2.7c0,0.4,0.3,0.7,0.6,0.7c0.4,0,0.6-0.4,0.6-0.7V3.9\n c0-0.4-0.3-0.7-0.6-0.7h-3.9C10,3.2,9.7,3.6,9.7,4z\"\n />\n </g>\n </svg>\n);\n\nexport const TooltipIcon = () => (\n <svg className=\"tooltip-icon\" viewBox=\"0 0 15 15\">\n <g>\n <path\n d=\"M7.5,0.2c-4,0-7.3,3.3-7.3,7.3s3.3,7.3,7.3,7.3s7.3-3.3,7.3-7.3S11.5,0.2,7.5,0.2z M7.5,13.6c-3.4,0-6.1-2.7-6.1-6.1\n s2.7-6.1,6.1-6.1s6.1,2.7,6.1,6.1S10.9,13.6,7.5,13.6z\"\n />\n <path\n d=\"M8,9.9H6.9c-0.1,0-0.1,0-0.2,0.1s-0.1,0.1-0.1,0.2v1c0,0.1,0,0.1,0.1,0.2c0.1,0.1,0.1,0.1,0.2,0.1H8c0.1,0,0.1,0,0.2-0.1\n c0.1-0.1,0.1-0.1,0.1-0.2v-1c0-0.1,0-0.1-0.1-0.2C8.2,10,8.1,9.9,8,9.9z\"\n />\n <path\n d=\"M9.1,3.9C8.7,3.7,8.2,3.6,7.6,3.6S6.5,3.7,6,3.9C5.6,4.1,5.3,4.4,5,4.8C4.8,5.1,4.7,5.5,4.7,5.9c0,0.1,0,0.1,0.1,0.2\n c0,0.1,0.1,0.1,0.2,0.1h1c0.2,0,0.3-0.1,0.3-0.3c0.1-0.7,0.6-1.1,1.3-1.1c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.3,0.4,0.3,0.7\n c0,0.2-0.1,0.3-0.2,0.5C8.3,6.5,8.1,6.7,7.8,7S7.3,7.6,7.1,7.9C6.9,8.1,6.8,8.4,6.7,8.8c0,0.1,0,0.2,0,0.4c0,0.1,0,0.1,0.1,0.2\n c0,0,0.1,0.1,0.2,0.1h1.1c0.1,0,0.1,0,0.2-0.1s0.1-0.1,0.1-0.2c0-0.1,0-0.2,0.1-0.4c0-0.2,0.1-0.4,0.3-0.6C8.9,7.8,9,7.7,9.2,7.5\n c0.4-0.4,0.6-0.7,0.8-1s0.3-0.6,0.3-1c0-0.3-0.1-0.6-0.3-0.9C9.8,4.3,9.5,4.1,9.1,3.9z\"\n />\n </g>\n </svg>\n);\n\nexport const NavCollapse = () => (\n <svg className=\"nav-collapse\" viewBox=\"0 0 25 25\">\n <title>nav-collapse</title>\n <g>\n <polygon points=\"6.8,9.1 10,12.1 0.1,12.1 0.1,12.9 10,12.9 6.8,15.9 7.5,16.6 12,12.5 7.5,8.4 \t\" />\n <polygon points=\"24.9,12.1 15,12.1 18.2,9.1 17.5,8.4 13,12.5 17.5,16.6 18.2,15.9 15,12.9 24.9,12.9 \" />\n </g>\n </svg>\n);\n\nexport const NavExpand = () => (\n <svg className=\"nav-expand\" viewBox=\"0 0 25 25\">\n <title>nav-expand</title>\n <g>\n <polygon points=\"5.2,9.1 4.5,8.4 0.1,12.5 4.5,16.6 5.2,15.9 2,12.9 11,12.9 11,12.1 2,12.1 \" />\n <polygon points=\"20.5,8.4 19.8,9.1 23,12.1 14,12.1 14,12.9 23,12.9 19.8,15.9 20.5,16.6 24.9,12.5 \" />\n </g>\n </svg>\n);\n\nexport const CloseXIcon = () => (\n <svg className=\"closex\" viewBox=\"0 0 15 15\" focusable=\"false\">\n <g strokeWidth=\"1\" transform=\"translate(-968.000000, -236.000000)\">\n <path d=\"M982.725141,249.399456 L976.82556,243.499875 L982.725141,237.600294 C983.091286,237.234148 983.091286,236.640905 982.725141,236.274609 C982.359295,235.908464 981.765752,235.908464 981.399456,236.274609 L975.499875,242.17419 L969.600294,236.274609 C969.234448,235.908464 968.640905,235.908464 968.274609,236.274609 C967.908464,236.640155 967.908464,237.233998 968.274609,237.600294 L974.17419,243.499875 L968.274609,249.399456 C967.908464,249.765602 967.908464,250.358845 968.274609,250.725141 C968.640755,251.091286 969.233998,251.091286 969.600294,250.725141 L975.499875,244.82556 L981.399456,250.725141 C981.765602,251.091286 982.359295,251.091286 982.725141,250.725141 C983.091286,250.358995 983.091286,249.765752 982.725141,249.399456 Z\"></path>\n </g>\n </svg>\n);\n\nexport const CloseXIcon2 = () => (\n <svg viewBox=\"0 0 16 16\" focusable=\"false\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M0.292893219,0.292893219 C0.683417511,-0.0976310729 1.31658249,-0.0976310729 1.70710678,0.292893219 L1.70710678,0.292893219 L8,6.585 L14.2928932,0.292893219 C14.6834175,-0.0976310729 15.3165825,-0.0976310729 15.7071068,0.292893219 C16.0675907,0.65337718 16.0953203,1.22060824 15.7902954,1.61289944 L15.7071068,1.70710678 L9.415,8 L15.7071068,14.2928932 L15.7902954,14.3871006 C16.0953203,14.7793918 16.0675907,15.3466228 15.7071068,15.7071068 C15.3165825,16.0976311 14.6834175,16.0976311 14.2928932,15.7071068 L14.2928932,15.7071068 L8,9.415 L1.70710678,15.7071068 C1.31658249,16.0976311 0.683417511,16.0976311 0.292893219,15.7071068 C-0.0675907428,15.3466228 -0.0953202783,14.7793918 0.209704612,14.3871006 L0.292893219,14.2928932 L6.585,8 L0.292893219,1.70710678 L0.209704612,1.61289944 C-0.0953202783,1.22060824 -0.0675907428,0.65337718 0.292893219,0.292893219 Z\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n ></path>\n </g>\n </svg>\n);\n\nexport const BellOutline = () => (\n <svg className=\"bell-outline\" viewBox=\"0 0 448 512\">\n <path d=\"M433.884 366.059C411.634 343.809 384 316.118 384 208c0-79.394-57.831-145.269-133.663-157.83A31.845 31.845 0 0 0 256 32c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 6.75 2.095 13.008 5.663 18.17C121.831 62.731 64 128.606 64 208c0 108.118-27.643 135.809-49.893 158.059C-16.042 396.208 5.325 448 48.048 448H160c0 35.29 28.71 64 64 64s64-28.71 64-64h111.943c42.638 0 64.151-51.731 33.941-81.941zM224 480c-17.645 0-32-14.355-32-32h64c0 17.645-14.355 32-32 32zm175.943-64H48.048c-14.223 0-21.331-17.296-11.314-27.314C71.585 353.836 96 314.825 96 208c0-70.741 57.249-128 128-128 70.74 0 128 57.249 128 128 0 106.419 24.206 145.635 59.257 180.686C421.314 398.744 414.11 416 399.943 416z\" />\n </svg>\n);\n\nexport const EarlyClaims = () => (\n <svg className=\"early-claims-icon\" viewBox=\"0 0 25 25\">\n <g id=\"Claims-Icon-list\">\n <g id=\"Claims-Icon\" transform=\"translate(2.000000, 0.000000)\">\n <g id=\"Lines\" transform=\"translate(3.000000, 8.000000)\">\n <polygon points=\"0 1 15 1 15 0 0 0\"></polygon>\n <polygon points=\"0 4 15 4 15 3 0 3\"></polygon>\n <polygon points=\"0 7 15 7 15 6 0 6\"></polygon>\n <polygon points=\"0 10 15 10 15 9 0 9\"></polygon>\n <polygon points=\"0 13 15 13 15 12 0 12\"></polygon>\n </g>\n <path d=\"M1,24 L1,1 L16,1 L16,5.5 C16,5.776 16.224,6 16.5,6 L20,6 L20,24 L1,24 Z M17,1.851 L19.446,5 L17,5 L17,1.851 Z M20.895,5.235 L16.979,0.193 C16.884,0.071 16.738,0 16.583,0 L0.5,0 C0.224,0 0,0.224 0,0.5 L0,24.5 C0,24.776 0.224,25 0.5,25 L20.5,25 C20.776,25 21,24.776 21,24.5 L21,5.542 C21,5.43 20.963,5.322 20.895,5.235 Z\"></path>\n </g>\n </g>\n </svg>\n);\n\nexport const CliniciansList = () => (\n <svg className=\"clinicians-list-icon\" viewBox=\"0 0 25 25\">\n <g>\n <path\n className=\"st0\"\n d=\"M21.8,0.4H3.2c-1.2,0-2.1,1-2.1,2.1v20c0,1.2,1,2.1,2.1,2.1h18.6c1.2,0,2.1-1,2.1-2.1v-20\n C23.9,1.3,23,0.4,21.8,0.4z M22.9,22.5c0,0.6-0.5,1.1-1.1,1.1H3.2c-0.6,0-1.1-0.5-1.1-1.1v-20c0-0.6,0.5-1.1,1.1-1.1h18.6\n c0.6,0,1.1,0.5,1.1,1.1V22.5z\"\n />\n <rect x=\"6.2\" y=\"17.3\" className=\"st0\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"12.4\" className=\"st0\" width=\"1.6\" height=\"1\" />\n <rect x=\"6.2\" y=\"7.4\" className=\"st0\" width=\"1.6\" height=\"1\" />\n <rect x=\"9.3\" y=\"17.3\" className=\"st0\" width=\"6.1\" height=\"1\" />\n <rect x=\"9.3\" y=\"12.4\" className=\"st0\" width=\"9.3\" height=\"1\" />\n <rect x=\"9.3\" y=\"7.4\" className=\"st0\" width=\"6.5\" height=\"1\" />\n </g>\n </svg>\n);\n\nexport const YoutubeIcon = () => (\n <svg className=\"youtube-icon\" width=\"19px\" height=\"14px\" viewBox=\"0 0 19 14\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-801.000000, -179.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g transform=\"translate(38.000000, 39.000000)\">\n <path\n d=\"M17.7486957,2.84298208 C17.551087,2.10010036 16.9670652,1.51515412 16.2265217,1.3162724 C14.8843478,0.955555556 9.5,0.955555556 9.5,0.955555556 C9.5,0.955555556 4.11565217,0.955555556 2.77347826,1.3162724 C2.03293478,1.51515412 1.44891304,2.10010036 1.25130435,2.84298208 C0.891304348,4.19030824 0.891304348,7 0.891304348,7 C0.891304348,7 0.891304348,9.80969176 1.25130435,11.1570179 C1.44891304,11.8998996 2.03293478,12.4848459 2.77347826,12.6837276 C4.11565217,13.0444444 9.5,13.0444444 9.5,13.0444444 C9.5,13.0444444 14.8843478,13.0444444 16.2265217,12.6837276 C16.9670652,12.4848459 17.551087,11.8998996 17.7486957,11.1570179 C18.1086957,9.80969176 18.1086957,7 18.1086957,7 C18.1086957,7 18.1086957,4.19030824 17.7486957,2.84298208 Z M7.73913043,9.5513405 L7.73913043,4.4486595 L12.2391304,7 L7.73913043,9.5513405 Z\"\n id=\"Youtube-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport const TwitterIcon = () => (\n <svg className=\"twitter-icon\" width=\"19px\" height=\"16px\" viewBox=\"0 0 19 16\">\n <g stroke=\"none\" stroke-Width=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g\n transform=\"translate(-763.000000, -177.000000)\"\n fill=\"#242424\"\n fillRule=\"nonzero\"\n >\n <g transform=\"translate(763.000000, 140.000000)\">\n <g transform=\"translate(0.000000, 37.000000)\">\n <path\n d=\"M16.9243259,4.73901817 C16.9243259,4.57725788 16.9243259,4.41549759 16.916868,4.25373729 C17.6626567,3.71698723 18.3114928,3.05524058 18.826087,2.30526104 C18.1250456,2.6067234 17.3867149,2.81260014 16.6260105,2.90083303 C17.4240043,2.43025763 18.0206352,1.68763083 18.3040349,0.812654705 C17.5507884,1.25381914 16.7304209,1.56263424 15.8727639,1.72439454 C14.425934,0.202377237 12.0021209,0.128849832 10.4583384,1.56263424 C9.46643951,2.48172682 9.04133999,3.8566893 9.35457121,5.16547712 C6.28192201,5.01106957 3.41063575,3.5846379 1.47158528,1.22440818 C0.457312727,2.94494947 0.971906889,5.15077164 2.65738922,6.26103547 C2.04584253,6.24632999 1.45666951,6.0845697 0.919701685,5.79046007 C0.919701685,5.80516555 0.919701685,5.81987104 0.919701685,5.83457652 C0.919701685,7.62864522 2.20245815,9.17272074 3.99235089,9.53300502 C3.42555152,9.68741258 2.83637849,9.7094708 2.26212124,9.59917969 C2.76179963,11.1359025 4.20117171,12.1873444 5.83444883,12.2167553 C4.4771135,13.2681972 2.80654695,13.8343583 1.08377519,13.8343583 C0.778001843,13.8343583 0.4722285,13.8123 0.173913043,13.7828891 C1.93397424,14.8784474 3.96251934,15.4666667 6.04326965,15.4666667 C13.0760565,15.4666667 16.9243259,9.71682354 16.9243259,4.73901817 Z\"\n id=\"twitter-icon\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n);\n\nexport const WiViewReportsIcon = () => (\n <svg className=\"wi-view-reports\" viewBox=\"0 0 25 25\">\n <title>WI View Reports</title>\n <g>\n <path d=\"M20.8680556,0.0569444444 L3.37638889,0.0569444444 C3.11944444,0.0569444444 2.9125,0.265277778 2.9125,0.520833333 L2.9125,2.07777778 L1.35555556,2.07777778 C1.09861111,2.07777778 0.891666667,2.28472222 0.891666667,2.54027778 L0.891666667,24.4763889 C0.891666667,24.7333333 1.09861111,24.9402778 1.35555556,24.9402778 L18.8472222,24.9402778 C19.1027778,24.9402778 19.3097222,24.7319444 19.3097222,24.4763889 L19.3097222,22.9208333 L20.8680556,22.9208333 C21.1236111,22.9208333 21.3305556,22.7125 21.3305556,22.4583333 L21.3305556,0.522222222 C21.3305556,0.265277778 21.1236111,0.0569444444 20.8680556,0.0569444444 Z M1.82222222,24.0111111 L1.82222222,3.00833333 L18.3861111,3.00833333 L18.3861111,24.0125 L1.82222222,24.0125 L1.82222222,24.0111111 Z M18.8472222,2.07777778 L3.84305556,2.07777778 L3.84305556,0.986111111 L20.4027778,0.986111111 L20.4027778,21.9930556 L19.3097222,21.9930556 L19.3097222,2.54166667 C19.3097222,2.28611111 19.1027778,2.07777778 18.8472222,2.07777778 Z\"></path>\n <path d=\"M14.8069444,7.05138889 L5.4,7.05138889 C5.14305556,7.05138889 4.93611111,7.25972222 4.93611111,7.51666667 C4.93611111,7.77222222 5.14305556,7.97916667 5.4,7.97916667 L14.8069444,7.97916667 C15.0638889,7.97916667 15.2708333,7.77083333 15.2708333,7.51666667 C15.2708333,7.25972222 15.0638889,7.05138889 14.8069444,7.05138889 Z\"></path>\n <path d=\"M14.8069444,11.0472222 L5.4,11.0472222 C5.14305556,11.0472222 4.93611111,11.2569444 4.93611111,11.5138889 C4.93611111,11.7694444 5.14305556,11.9763889 5.4,11.9763889 L14.8069444,11.9763889 C15.0638889,11.9763889 15.2708333,11.7680556 15.2708333,11.5138889 C15.2708333,11.2569444 15.0638889,11.0472222 14.8069444,11.0472222 Z\"></path>\n <path d=\"M14.8069444,15.0416667 L5.4,15.0416667 C5.14305556,15.0416667 4.93611111,15.25 4.93611111,15.5069444 C4.93611111,15.7638889 5.14305556,15.9722222 5.4,15.9722222 L14.8069444,15.9722222 C15.0638889,15.9722222 15.2708333,15.7638889 15.2708333,15.5069444 C15.2708333,15.25 15.0638889,15.0416667 14.8069444,15.0416667 Z\"></path>\n <path d=\"M14.8069444,18.5819444 L5.4,18.5819444 C5.14305556,18.5819444 4.93611111,18.7902778 4.93611111,19.0472222 C4.93611111,19.3041667 5.14305556,19.5125 5.4,19.5125 L14.8069444,19.5125 C15.0638889,19.5125 15.2708333,19.3041667 15.2708333,19.0472222 C15.2708333,18.7902778 15.0638889,18.5819444 14.8069444,18.5819444 Z\"></path>\n </g>\n </svg>\n);\n\nexport const WiViewProgressIcon = () => (\n <svg className=\"wi-view-progress\" viewBox=\"0 0 25 25\">\n <title>WI View Progress</title>\n <g>\n <path d=\"M22.2,25.5H2.8c-1.8,0-3.3-1.5-3.3-3.3V2.8C-0.5,1,1-0.5,2.8-0.5h19.4c1.8,0,3.3,1.5,3.3,3.3v19.4C25.5,24,24,25.5,22.2,25.5z M2.8,0.5c-1.3,0-2.3,1-2.3,2.3v19.4c0,1.3,1,2.3,2.3,2.3h19.4c1.3,0,2.3-1,2.3-2.3V2.8c0-1.3-1-2.3-2.3-2.3H2.8z\" />\n <path d=\"M7.8,18.8c0.5,0,0.9-0.4,0.9-0.9v-4.6c0-0.5-0.4-0.9-0.9-0.9s-0.9,0.4-0.9,0.9v4.6C6.9,18.3,7.3,18.8,7.8,18.8z\" />\n <path d=\"M17.4,18.8c0.5,0,0.9-0.4,0.9-0.9V7.4c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9v10.5C16.5,18.3,16.9,18.8,17.4,18.8z\" />\n <path d=\"M12.6,18.8c0.5,0,0.9-0.4,0.9-0.9v-7.5c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9v7.5C11.7,18.3,12.1,18.8,12.6,18.8z\" />\n </g>\n </svg>\n);\n\nexport const WiManageGroupIcon = () => (\n <svg className=\"wi-manage-group\" viewBox=\"0 0 25 25\">\n <title>WI Manage Group</title>\n <g>\n <path d=\"M12.7775,0.110555556 C12.6219444,-0.0366666667 12.3783333,-0.0366666667 12.2227778,0.110555556 L0.125833333,11.5741667 C0.0455555556,11.6502778 0,11.7561111 0,11.8669444 L0,24.5969444 C0,24.7030556 0.0430555556,24.8069444 0.118055556,24.8819444 C0.193055556,24.9569444 0.296944444,25 0.403333333,25 L24.5969444,25 C24.7030556,25 24.8069444,24.9569444 24.8819444,24.8819444 C24.9569444,24.8066667 25,24.7027778 25,24.5966667 L25,11.8669444 C25,11.7561111 24.9544444,11.6505556 24.8741667,11.5741667 L12.7775,0.110555556 Z M0.806388889,12.0402778 L12.5,0.958611111 L24.1936111,12.0402778 L24.1936111,24.1936111 L0.806388889,24.1936111 L0.806388889,12.0402778 Z\"></path>\n <path d=\"M18.1452778,12.2311111 L14.785,12.2311111 L14.785,8.87083333 C14.785,8.76472222 14.7419444,8.66083333 14.6669444,8.58583333 C14.5919444,8.51083333 14.4880556,8.46777778 14.3819444,8.46777778 L10.6183333,8.46777778 C10.5122222,8.46777778 10.4083333,8.51083333 10.3333333,8.58583333 C10.2583333,8.66083333 10.2152778,8.76472222 10.2152778,8.87083333 L10.2152778,12.2311111 L6.855,12.2311111 C6.74888889,12.2311111 6.645,12.2741667 6.57,12.3491667 C6.495,12.4241667 6.45194444,12.5280556 6.45194444,12.6341667 L6.45194444,16.3975 C6.45194444,16.5036111 6.495,16.6075 6.57,16.6825 C6.645,16.7575 6.74888889,16.8005556 6.855,16.8005556 L10.2152778,16.8005556 L10.2152778,20.1608333 C10.2152778,20.2669444 10.2583333,20.3708333 10.3333333,20.4458333 C10.4083333,20.5208333 10.5122222,20.5638889 10.6183333,20.5638889 L14.3816667,20.5638889 C14.4877778,20.5638889 14.5916667,20.5208333 14.6666667,20.4458333 C14.7416667,20.3708333 14.7847222,20.2669444 14.7847222,20.1608333 L14.7847222,16.8011111 L18.145,16.8011111 C18.2511111,16.8011111 18.355,16.7580556 18.43,16.6830556 C18.505,16.6080556 18.5480556,16.5041667 18.5480556,16.3980556 L18.5480556,12.6344444 C18.5480556,12.5283333 18.505,12.4244444 18.43,12.3494444 C18.3552778,12.2741667 18.2513889,12.2311111 18.1452778,12.2311111 Z M17.7419444,15.9947222 L14.3816667,15.9947222 C14.2755556,15.9947222 14.1716667,16.0377778 14.0966667,16.1127778 C14.0216667,16.1877778 13.9786111,16.2916667 13.9786111,16.3977778 L13.9786111,19.7580556 L11.0213889,19.7580556 L11.0213889,16.3977778 C11.0213889,16.2916667 10.9783333,16.1877778 10.9033333,16.1127778 C10.8283333,16.0377778 10.7244444,15.9947222 10.6183333,15.9947222 L7.25805556,15.9947222 L7.25805556,13.0375 L10.6183333,13.0375 C10.7244444,13.0375 10.8283333,12.9944444 10.9033333,12.9194444 C10.9783333,12.8444444 11.0213889,12.7405556 11.0213889,12.6344444 L11.0213889,9.27416667 L13.9783333,9.27416667 L13.9783333,12.6344444 C13.9783333,12.7405556 14.0213889,12.8444444 14.0963889,12.9194444 C14.1713889,12.9944444 14.2752778,13.0375 14.3813889,13.0375 L17.7416667,13.0375 L17.7416667,15.9947222 L17.7419444,15.9947222 Z\"></path>\n </g>\n </svg>\n);\n","import LogoutSession from './logout.js';\nimport RefreshSession from './refresh.js';\nimport fetchTtl from './ttl';\n\nexport { fetchTtl, LogoutSession, RefreshSession };\n","import cookie from 'cookie';\nimport axios from 'axios';\n\n/**\n * Makes an API request to end the user session.\n * @param {Object} [_window] The DOM Window\n * @return {Function} Returns a promise\n */\nconst LogoutSession = (_window) => {\n let cookies = cookie.parse(_window.document.cookie);\n let logoutDestination = '/logout-confirmation';\n\n if (cookies.hasOwnProperty('qpp_auth_token')) {\n let onSuccess = (/*response*/) => {\n // redirect to login/logged out screen\n _window.location.pathname = logoutDestination;\n };\n\n let onError = (/*response*/) => {\n // delete cookie and redirect login/logged out screen\n _window.location.pathname = logoutDestination;\n };\n\n return axios({\n method: 'POST',\n url: '/user/session-logout',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${cookies.qpp_auth_token}`,\n },\n })\n .then(onSuccess, onError)\n .catch(function (err) {\n console.log(err);\n });\n } else {\n _window.location.pathname = logoutDestination;\n }\n};\n\nexport default LogoutSession;\n","import cookie from 'cookie';\nimport axios from 'axios';\nimport LogoutSession from './logout.js';\n\n/**\n * Makes an API request to refresh the session token cookie, if it exists.\n * @param {Object} [options] - Optional configuration parameters.\n * @param {function} [options.onSuccess] - An optional success callback.\n * @param {function} [options.onError] - An optional error callback.\n * @param {Object} [options.window] - The DOM window.\n * @return {Function} Returns a promise\n */\nconst RefreshSession = (options = {}) => {\n let cookies = cookie.parse(options.window.document.cookie);\n\n if (cookies.hasOwnProperty('qpp_auth_token')) {\n const requestOptions = {\n method: 'POST',\n url: '/api/auth/sessions/refresh',\n headers: {\n Accept: 'application/vnd.qpp.cms.gov.v1+json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${cookies.qpp_auth_token}`\n }\n };\n\n let onSuccess = (/*response*/) => {\n if (typeof options.onSuccess === 'function') {\n options.onSuccess();\n }\n };\n\n let onError = (/*response*/) => {\n if (typeof options.onError === 'function') {\n options.onError();\n }\n\n return LogoutSession(options.window); // eslint-disable-line new-cap\n };\n\n return axios(requestOptions)\n .then(onSuccess, onError)\n .catch(function(err) {\n console.log(err);\n });\n }\n};\n\nexport default RefreshSession;\n","import axios from 'axios';\n\nconst fetchTtl = token => {\n const requestOptions = {\n method: 'GET',\n url: '/api/auth/sessions/ttl',\n headers: {\n Accept: 'application/vnd.qpp.cms.gov.v1+json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${token}`\n },\n transformResponse: [\n function(response) {\n return JSON.parse(response).data;\n }\n ]\n };\n\n return axios(requestOptions).then(response => {\n let expiry;\n\n if (response && response.data) {\n if (response.data.hasOwnProperty('time_remaining')) {\n expiry = response.data.time_remaining;\n } else {\n // See https://tools.ietf.org/html/rfc7519\n // `expiry` is a NumericDate representing \"seconds since the epoch\"\n // and it needs to be milliseconds to get a JavaScript date from it.\n expiry = new Date(response.data.ttl * 1000);\n }\n }\n\n return expiry;\n });\n};\n\nexport default fetchTtl;\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","/**\n * cssfilter\n *\n * @author 老雷<leizongmin@gmail.com>\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_join from \"./join\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","import {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import curveLinear from \"./linear.js\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport line from \"./line.js\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport area from \"./area.js\";\nimport {lineRadial} from \"./lineRadial.js\";\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {pi, tau} from \"../math.js\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {pi, tau} from \"../math.js\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","var n,l,u,i,t,o,r,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return y(l,f,t,o,null)}function y(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?k(t):o,t.__h),z(u,t),t.__e!=o&&b(t)))})}function w(n,l,u,i,t,o,r,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,o,r,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&null!=_.__k&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),a||\"option\"!==u.type?\"function\"==typeof u.type&&(u.__d=s):n.value=\"\"):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,l=\"function\"==typeof t.type?x(t,l,u):P(u,t,t,n.__k,t.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(o=!0),null!=r)for(;_<r.length;_++)if((s=r[_])&&(s===l||(d?s.localName==d:3==s.nodeType))){l=s,r[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,o,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,o&&\"foreignObject\"!==d,r,f,r?r[0]:i.__k&&k(i,0),c),null!=r)for(_=r.length;_--;)null!=r[_]&&h(r[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var o,r,f;l.__&&l.__(u,i),r=(o=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!o&&t||i).__k=v(d,null,[u]),r||e,e,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,f,!o&&t?t:r?r.__e:i.firstChild,o),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,o,r,f=a({},l.props);for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,o||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from\"preact/hooks\";export*from\"preact/hooks\";import{Component as a,createElement as s,options as h,toChildArray as v,Fragment as d,render as p,hydrate as m,cloneElement as y,createRef as b,createContext as _}from\"preact\";export{createElement,createContext,createRef,Fragment,Component}from\"preact\";function S(n,t){for(var e in t)n[e]=t[e];return n}function C(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:C(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return C(this.props,n)||C(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var R=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function x(n){function t(t,e){var r=S({},t);return delete r.ref,n(r,(e=t.ref||e)&&(\"object\"!=typeof e||\"current\"in e)?e:null)}return t.$$typeof=R,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var N=function(n,t){return null==n?null:v(v(n).map(t))},k={map:N,forEach:N,count:function(n){return n?v(n).length:0},only:function(n){var t=v(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:v},A=h.__e;h.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);A(n,t,e)};var O=h.unmount;function L(){this.__u=0,this.t=null,this.__b=null}function U(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function F(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName=\"Lazy\",u.__f=!0,u}function M(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(L.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=U(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__e){var n=r.state.__e;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement(\"div\"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=S({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__e&&s(d,null,n.fallback);return u&&(u.__h=null),[s(d,null,t.__e?null:n.children),u]};var T=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function D(n){return this.getChildContext=function(){return n.context},n.children}function I(n){var t=this,e=n.i;t.componentWillUnmount=function(){p(null,t.l),t.l=null,t.i=null},t.i&&t.i!==e&&t.componentWillUnmount(),n.__v?(t.l||(t.i=e,t.l={nodeType:1,parentNode:e,childNodes:[],appendChild:function(n){this.childNodes.push(n),t.i.appendChild(n)},insertBefore:function(n,e){this.childNodes.push(n),t.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),t.i.removeChild(n)}}),p(s(D,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function W(n,t){return s(I,{__v:n,i:t})}(M.prototype=new a).__e=function(n){var t=this,e=U(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),T(t,n,r)):u()};e?e(o):o()}},M.prototype.render=function(n){this.u=null,this.o=new Map;var t=v(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},M.prototype.componentDidUpdate=M.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){T(n,e,t)})};var j=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,V=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=\"\"),p(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),\"function\"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this[\"UNSAFE_\"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function $(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=$,n.nativeEvent=n};var q,G={configurable:!0,get:function(){return this.class}},J=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if(\"string\"==typeof t){for(var u in r={},e){var o=e[u];\"value\"===u&&\"defaultValue\"in e&&null==o||(\"defaultValue\"===u&&\"value\"in e&&null==e.value?u=\"value\":\"download\"===u&&!0===o?o=\"\":/ondoubleclick/i.test(u)?u=\"ondblclick\":/^onchange(textarea|input)/i.test(u+t)&&!V(e.type)?u=\"oninput\":/^on(Ani|Tra|Tou|BeforeInp)/.test(u)?u=u.toLowerCase():P.test(u)?u=u.replace(/[A-Z0-9]/,\"-$&\").toLowerCase():null===o&&(o=void 0),r[u]=o)}\"select\"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=v(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),\"select\"==t&&null!=r.defaultValue&&(r.value=v(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r}t&&e.class!=e.className&&(G.enumerable=\"className\"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,\"className\",G)),n.$$typeof=j,J&&J(n)};var K=h.__r;h.__r=function(n){K&&K(n),q=n.__c};var Q={ReactCurrentDispatcher:{current:{readContext:function(n){return q.__n[n.__c].props.value}}}},X=\"17.0.2\";function nn(n){return s.bind(null,n)}function tn(n){return!!n&&n.$$typeof===j}function en(n){return tn(n)?y.apply(null,arguments):n}function rn(n){return!!n.__k&&(p(null,n),!0)}function un(n){return n&&(n.base||1===n.nodeType&&n)||null}var on=function(n,t){return n(t)},ln=function(n,t){return n(t)},fn=d;export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:\"17.0.2\",Children:k,render:z,hydrate:B,unmountComponentAtNode:rn,createPortal:W,createElement:s,createContext:_,createFactory:nn,cloneElement:en,createRef:b,Fragment:d,isValidElement:tn,findDOMNode:un,Component:a,PureComponent:E,memo:g,forwardRef:x,flushSync:ln,unstable_batchedUpdates:on,StrictMode:d,Suspense:L,SuspenseList:M,lazy:F,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Q};export{X as version,k as Children,z as render,B as hydrate,rn as unmountComponentAtNode,W as createPortal,nn as createFactory,en as cloneElement,tn as isValidElement,un as findDOMNode,E as PureComponent,g as memo,x as forwardRef,ln as flushSync,on as unstable_batchedUpdates,fn as StrictMode,L as Suspense,M as SuspenseList,F as lazy,Q as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED};\n//# sourceMappingURL=compat.module.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","export default \"<svg aria-hidden=\\\"true\\\" style=\\\"position:absolute;width:0;height:0\\\" width=\\\"0\\\" height=\\\"0\\\" xmlns=\\\"https://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"https://www.w3.org/1999/xlink\\\" overflow=\\\"hidden\\\"><symbol id=\\\"icon-warning\\\" viewBox=\\\"-2 -2 25 25\\\"><style></style><defs><circle id=\\\"SVGID_1_\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"10\\\"/></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"/></clipPath><defs><path id=\\\"SVGID_3_\\\" d=\\\"M0 0h20v20H0z\\\"/></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"/></clipPath><path d=\\\"M10 22C3.4 22-2 16.6-2 10S3.4-2 10-2s12 5.4 12 12-5.4 12-12 12zm0-20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/><g><defs><path id=\\\"SVGID_5_\\\" d=\\\"M0 0h20v20H0z\\\"/></defs><defs><path id=\\\"SVGID_6_\\\" d=\\\"M0 0h20v20H0z\\\"/></defs><clipPath id=\\\"SVGID_7_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"/></clipPath><clipPath id=\\\"SVGID_8_\\\"><use xlink:href=\\\"#SVGID_6_\\\" overflow=\\\"visible\\\"/></clipPath><path d=\\\"M10 11.7c-.6 0-1-.4-1-1V5.8c0-.6.4-1 1-1s1 .4 1 1v4.9c0 .5-.4 1-1 1zM10 15.3c-.6 0-1-.4-1-1v-.4c0-.6.4-1 1-1s1 .4 1 1v.4c0 .6-.4 1-1 1z\\\"/></g></symbol><symbol id=\\\"search\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M3.9,12.8c-1.2-1.2-1.8-2.7-1.8-4.4c0-1.7,0.6-3.2,1.8-4.4c1.2-1.2,2.7-1.8,4.4-1.8c1.7,0,3.2,0.6,4.4,1.8 c2.4,2.4,2.4,6.4,0,8.8c-1.2,1.2-2.7,1.8-4.4,1.8C6.6,14.6,5.1,14,3.9,12.8z M19.7,18.3l-4.8-4.8c2.5-3.3,2.3-8-0.7-11 C12.6,1,10.5,0.1,8.3,0.1C6.1,0.1,4,1,2.4,2.6C0.9,4.1,0,6.2,0,8.4c0,2.2,0.9,4.3,2.4,5.9c1.6,1.6,3.7,2.4,5.9,2.4 c1.9,0,3.6-0.6,5.1-1.7l4.8,4.8c0.2,0.2,0.5,0.3,0.7,0.3c0.3,0,0.5-0.1,0.7-0.3C20.1,19.4,20.1,18.8,19.7,18.3z\\\"/></symbol><symbol id=\\\"star-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M24.7,9.4c-0.1-0.1-0.2-0.1-0.3-0.2L16.6,8L13,0.9c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1,0-0.3,0-0.4,0 c0,0-0.2,0.1-0.2,0.2L8.4,8L0.6,9.2c-0.3,0-0.5,0.3-0.5,0.6c0,0.1,0.1,0.2,0.2,0.3L6,15.7l-1.3,7.9c-0.1,0.3,0.1,0.6,0.4,0.7h0.1 c0.1,0,0.2,0,0.3-0.1l7-3.7l7,3.7c0.1,0,0.2,0.1,0.3,0.1c0.3,0,0.6-0.3,0.6-0.6v-0.1l-1.3-7.9l5.6-5.6C24.9,10,24.9,9.6,24.7,9.4z M7.1,15.8c0-0.2,0-0.4-0.2-0.5l-5.1-5.1l7-1.1C9,9.1,9.1,9,9.2,8.8l3.2-6.4l3.2,6.4C15.7,9,15.8,9.1,16,9.1l7,1.1l-4.9,5 c-0.1,0.1-0.3,0.4-0.3,0.6l1.4,7l-6.7-3.2c-0.2-0.1-0.4-0.1-0.5,0l-6.3,3.3L7.1,15.8z\\\"/></symbol><symbol id=\\\"dashboard\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M22.2,12.8H12.1V2.8c0-0.3-0.2-0.5-0.5-0.5h-0.1c-6.2,0-11.2,5-11.2,11.2c0,6.2,5,11.2,11.2,11.2 c6.2,0,11.2-5,11.2-11.2v-0.1C22.7,13.1,22.5,12.8,22.2,12.8z M11.6,13.9h10c-0.2,5.4-4.7,9.7-10.1,9.7c-5.6,0-10.2-4.6-10.2-10.2 c0-5.4,4.3-9.9,9.7-10.1v10C11.1,13.7,11.3,13.9,11.6,13.9z\\\"/><path d=\\\"M24.7,9.9l0-0.1C24,4.9,20.1,1,15.2,0.3l-0.1,0l0,0c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.2-0.2,0.4V10 c0,0.3,0.2,0.5,0.5,0.5h9.2c0.2,0,0.3-0.1,0.4-0.2C24.7,10.2,24.7,10.1,24.7,9.9z M23.5,9.5h-8v-8C19.5,2.2,22.8,5.5,23.5,9.5z\\\"/></symbol><symbol id=\\\"early-claims-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M0 1L15 1 15 0 0 0zM0 4L15 4 15 3 0 3zM0 7L15 7 15 6 0 6zM0 10L15 10 15 9 0 9zM0 13L15 13 15 12 0 12z\\\" transform=\\\"translate(5 8)\\\"/><path d=\\\"M1,24 L1,1 L16,1 L16,5.5 C16,5.776 16.224,6 16.5,6 L20,6 L20,24 L1,24 Z M17,1.851 L19.446,5 L17,5 L17,1.851 Z M20.895,5.235 L16.979,0.193 C16.884,0.071 16.738,0 16.583,0 L0.5,0 C0.224,0 0,0.224 0,0.5 L0,24.5 C0,24.776 0.224,25 0.5,25 L20.5,25 C20.776,25 21,24.776 21,24.5 L21,5.542 C21,5.43 20.963,5.322 20.895,5.235 Z\\\" transform=\\\"translate(2)\\\"/></symbol><symbol id=\\\"physician-compare-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M19.2204301,5 L18.1451613,5 C17.7419355,5 17.4731183,5.2601626 17.4731183,5.6504065 C17.4731183,6.04065041 17.7419355,6.30081301 18.1451613,6.30081301 L19.2204301,6.30081301 C19.3548387,6.30081301 19.4892473,6.43089431 19.4892473,6.56097561 L19.4892473,11.8943089 C19.4892473,13.3252033 18.2795699,14.6260163 16.6666667,14.6260163 C15.0537634,14.6260163 13.844086,13.4552846 13.844086,11.8943089 L13.844086,6.56097561 C13.844086,6.43089431 13.9784946,6.30081301 14.1129032,6.30081301 L15.188172,6.30081301 C15.5913978,6.30081301 15.8602151,6.04065041 15.8602151,5.6504065 C15.8602151,5.2601626 15.5913978,5 15.188172,5 L14.1129032,5 C13.3064516,5 12.5,5.6504065 12.5,6.56097561 L12.5,11.8943089 C12.5,13.8455285 13.9784946,15.5365854 15.9946237,15.9268293 C15.8602151,18.398374 14.6505376,19.699187 12.5,19.699187 L12.2311828,19.699187 C9.40860215,19.699187 8.33333333,17.2276423 8.33333333,15.6666667 L8.33333333,14.495935 C9.67741935,14.1056911 10.6182796,12.9349593 10.6182796,11.504065 C10.7526882,9.81300813 9.27419355,8.38211382 7.52688172,8.38211382 C5.77956989,8.38211382 4.16666667,9.81300813 4.16666667,11.504065 C4.16666667,13.0650407 5.37634409,14.3658537 6.98924731,14.6260163 L6.98924731,15.6666667 C6.98924731,18.2682927 8.87096774,21 12.2311828,21 L12.5,21 C15.4569892,21 17.2043011,19.1788618 17.3387097,15.796748 C19.3548387,15.5365854 20.8333333,13.8455285 20.8333333,11.7642276 L20.8333333,6.56097561 C20.8333333,5.6504065 20.1612903,5 19.2204301,5 Z M5.77956989,11.504065 C5.77956989,10.5934959 6.58602151,9.94308943 7.39247312,9.94308943 C8.19892473,9.94308943 9.00537634,10.7235772 9.00537634,11.504065 C9.00537634,12.2845528 8.33333333,13.195122 7.52688172,13.195122 C6.72043011,13.195122 5.77956989,12.4146341 5.77956989,11.504065 Z\\\"/><path d=\\\"M20.718232,0 L4.14364641,0 C1.79558011,0 0,1.82291667 0,3.90625 L0,21.09375 C0,23.3072917 1.93370166,25 4.14364641,25 L20.8563536,25 C23.2044199,25 25,23.1770833 25,21.09375 L25,3.90625 C24.8618785,1.82291667 23.0662983,0 20.718232,0 Z M23.480663,21.09375 C23.480663,22.5260417 22.2375691,23.6979167 20.718232,23.6979167 L4.14364641,23.6979167 C2.62430939,23.6979167 1.38121547,22.5260417 1.38121547,21.09375 L1.38121547,3.90625 C1.38121547,2.47395833 2.62430939,1.30208333 4.14364641,1.30208333 L20.8563536,1.30208333 C22.3756906,1.30208333 23.6187845,2.47395833 23.6187845,3.90625 L23.6187845,21.09375 L23.480663,21.09375 Z\\\"/></symbol><symbol id=\\\"hardship-icon\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M18.7721739,2.6119403 L14.4991304,2.6119403 L12.4813043,2.6119403 C12.5178261,2.44402985 12.5543478,2.2761194 12.5543478,2.0988806 C12.5543478,0.942164179 11.6321739,0 10.5,0 C9.36782609,0 8.44565217,0.942164179 8.44565217,2.0988806 C8.44565217,2.2761194 8.47304348,2.44402985 8.51869565,2.6119403 L6.49173913,2.6119403 L2.21869565,2.6119403 C0.995217391,2.6119403 0,3.62873134 0,4.8880597 L0,22.733209 C0,23.983209 0.995217391,25 2.21869565,25 L18.7721739,25 C19.9956522,25 21,23.983209 21,22.7238806 L21,4.8880597 C21,3.62873134 19.9956522,2.6119403 18.7721739,2.6119403 Z M10.5,0.932835821 C11.13,0.932835821 11.6413043,1.45522388 11.6413043,2.0988806 C11.6413043,2.31343284 11.5682609,2.5 11.4769565,2.66791045 C11.403913,2.7891791 11.3126087,2.9011194 11.2030435,2.99440299 C11.1482609,3.04104478 11.0843478,3.08768657 11.0204348,3.125 C10.9747826,3.14365672 10.9382609,3.17164179 10.8926087,3.19029851 C10.7647826,3.22761194 10.6369565,3.26492537 10.5,3.26492537 C10.3630435,3.26492537 10.2352174,3.22761194 10.1165217,3.18097015 C10.0708696,3.16231343 10.0343478,3.14365672 9.98869565,3.11567164 C9.92478261,3.07835821 9.86086957,3.03171642 9.80608696,2.98507463 C9.6873913,2.89179104 9.59608696,2.77052239 9.52304348,2.63992537 C9.43173913,2.47201493 9.36782609,2.29477612 9.36782609,2.08955224 C9.35869565,1.45522388 9.87,0.932835821 10.5,0.932835821 Z M20.0869565,22.7238806 C20.0869565,23.4608209 19.5026087,24.0671642 18.7721739,24.0671642 L2.21869565,24.0671642 C1.4973913,24.0671642 0.903913043,23.4701493 0.903913043,22.7238806 L0.903913043,4.8880597 C0.913043478,4.14179104 1.4973913,3.54477612 2.21869565,3.54477612 L6.49173913,3.54477612 L6.49173913,4.38432836 C6.49173913,4.95335821 6.93913043,5.41044776 7.49608696,5.41044776 L13.503913,5.41044776 C14.0608696,5.41044776 14.5082609,4.95335821 14.5082609,4.38432836 L14.5082609,3.54477612 L18.7813043,3.54477612 C19.5026087,3.54477612 20.096087,4.14179104 20.096087,4.8880597 L20.096087,22.7238806 L20.0869565,22.7238806 L20.0869565,22.7238806 Z\\\" transform=\\\"translate(2)\\\"/><path d=\\\"M3.506 7.24H11.477V8.24H3.506zM.849 7.24H2.2199999999999998V8.24H.849zM6.506 2.17H11.477V3.17H6.506zM2.13428571 4.04L.402857143 2.01 1.01142857 1.31 2.13428571 2.62 4.03714286.41 4.64571429 1.11z\\\" transform=\\\"translate(6 9)\\\"/></symbol><symbol id=\\\"target-icon\\\" viewBox=\\\"0 0 25 25\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M15.6521739,13.3410862 C14.9799955,14.9155188 13.3391142,15.8471825 11.6426584,15.617619 C9.9462025,15.3880555 8.61194453,14.0537975 8.38238102,12.3573416 C8.15281751,10.6608858 9.08448121,9.0200045 10.6589138,8.34782609\\\" stroke-linecap=\\\"round\\\" transform=\\\"translate(1 1)\\\"/><path d=\\\"M19.826087,11.4686261 C19.5475194,15.6524455 16.0240274,18.8752139 11.8318419,18.780577 C7.63965639,18.6859401 4.26519733,15.3074531 4.17572893,11.1153254 C4.08626053,6.92319774 7.31350554,3.40382874 11.4978365,3.13043478\\\" stroke-linecap=\\\"round\\\" transform=\\\"translate(1 1)\\\"/><path d=\\\"M22.9565217 10.4801044C22.9565217 10.8094757 22.9565217 11.1488279 22.9565217 11.4781992 22.9565217 16.1251852 20.1544991 20.3136359 15.8592987 22.0872623 11.5640982 23.8608888 6.62327363 22.8696906 3.3445233 19.5766243.065772964 16.283558-.903887735 11.3384639.888438166 7.05103466 2.68076407 2.7636054 6.8813862-.0200950351 11.5283306 0 11.867683 0 12.2070354 0 12.5264259 0M23.4104348 8.34782609C23.4626087 8.69217391 23.5147826 9.04695652 23.546087 9.39130435\\\" stroke-linecap=\\\"round\\\" transform=\\\"translate(1 1)\\\"/><path d=\\\"M19.0559527,8.3085908 L16.1993898,7.27346855 C15.9679825,7.18675289 15.7867762,7.00255341 15.7042523,6.77015223 L14.6758896,3.9211919 C14.5392501,3.60164864 14.6150694,3.23112279 14.8663271,2.99053153 L17.5610181,0.255529619 C17.7680939,0.0454487694 18.069052,-0.043464617 18.357445,0.020237671 C18.6458381,0.083939959 18.8810085,0.291277194 18.9797777,0.568915255 L19.7415278,2.61067015 C19.8301804,2.85007338 20.017334,3.04018548 20.2557092,3.13297955 L22.4076532,3.94968151 C22.6793557,4.05644917 22.8788566,4.29253202 22.938341,4.57768034 C22.9978255,4.86282867 22.9092906,5.15867892 22.7028314,5.36466513 L19.960531,8.07117744 C19.7289278,8.31564041 19.3782081,8.40768945 19.0559527,8.3085908 Z\\\" transform=\\\"translate(1 1)\\\"/><path stroke-linecap=\\\"round\\\" d=\\\"M12.522 10.435L16.696 6.261\\\" transform=\\\"translate(1 1)\\\"/></g></symbol><symbol id=\\\"manage-users\\\" viewBox=\\\"0 0 25 25\\\"><path d=\\\"M4.4 10.8V.2H3.6v10.7c-1.9.2-3.4 1.8-3.4 3.8s1.5 3.6 3.4 3.8v6.4h.9v-6.4c1.9-.2 3.4-1.8 3.4-3.8S6.3 11.1 4.4 10.8zM4 17.6c-1.6 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3S5.6 17.6 4 17.6zM12.9 2.3V.2h-.9v2.2c-1.9.2-3.4 1.8-3.4 3.8 0 2 1.5 3.6 3.4 3.8v14.9h.9V9.9c1.9-.2 3.4-1.8 3.4-3.8C16.3 4.2 14.8 2.6 12.9 2.3zM12.5 9.1c-1.6 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3S14.1 9.1 12.5 9.1zM24.8 18.9c0-2-1.5-3.6-3.4-3.8V.2h-.9v14.9c-1.9.2-3.4 1.8-3.4 3.8s1.5 3.6 3.4 3.8v2.2h.9v-2.2C23.3 22.4 24.8 20.8 24.8 18.9zM21 21.8c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3s3 1.3 3 3C24 20.5 22.6 21.8 21 21.8z\\\"/></symbol></svg>\";","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n Modal.setCreateHTMLElement = function (fn) {\n return createHTMLElement = fn;\n };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV === \"production\") return;\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV === \"production\") return;\n\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \"<html /> (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV === \"production\") return;\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// import styles from \"./styles\"\n\nvar cleanups = {\n // some useless stuff for us\n // that svgo doesn't remove\n title: /<title>.*<\\/title>/gi,\n desc: /<desc>.*<\\/desc>/gi,\n comment: /<!--.*-->/gi,\n defs: /<defs>.*<\\/defs>/gi,\n\n // remove hardcoded dimensions\n width: / +width=\"\\d+(\\.\\d+)?(px)?\"/gi,\n height: / +height=\"\\d+(\\.\\d+)?(px)?\"/gi,\n\n // remove fill\n fill: / +fill=\"(none|#[0-9a-f]+)\"/gi,\n\n // Sketch.app shit\n sketchMSShapeGroup: / +sketch:type=\"MSShapeGroup\"/gi,\n sketchMSPage: / +sketch:type=\"MSPage\"/gi,\n sketchMSLayerGroup: / +sketch:type=\"MSLayerGroup\"/gi\n};\n\n// @styled(styles)\n\nvar SVGInline = function (_Component) {\n _inherits(SVGInline, _Component);\n\n function SVGInline() {\n _classCallCheck(this, SVGInline);\n\n return _possibleConstructorReturn(this, (SVGInline.__proto__ || Object.getPrototypeOf(SVGInline)).apply(this, arguments));\n }\n\n _createClass(SVGInline, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n className = _props.className,\n component = _props.component,\n svg = _props.svg,\n fill = _props.fill,\n width = _props.width,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityDesc = _props.accessibilityDesc,\n classSuffix = _props.classSuffix,\n cleanupExceptions = _props.cleanupExceptions,\n componentProps = _objectWithoutProperties(_props, [\"className\", \"component\", \"svg\", \"fill\", \"width\", \"accessibilityLabel\", \"accessibilityDesc\", \"classSuffix\", \"cleanupExceptions\"]);\n\n var _props2 = this.props,\n cleanup = _props2.cleanup,\n height = _props2.height;\n\n\n if (\n // simple way to enable entire cleanup\n cleanup === true ||\n // passing cleanupExceptions enable cleanup as well\n cleanup.length === 0 && cleanupExceptions.length > 0) {\n cleanup = Object.keys(cleanups);\n }\n cleanup = cleanup.filter(function (key) {\n return !(cleanupExceptions.indexOf(key) > -1);\n });\n\n if (width && height === undefined) {\n height = width;\n }\n\n // remove useless props for wrapper\n delete componentProps.cleanup;\n delete componentProps.height;\n\n var classes = (0, _classnames2.default)(_defineProperty({\n SVGInline: true,\n \"SVGInline--cleaned\": cleanup.length\n }, className, className));\n var svgClasses = classes.split(\" \").join(classSuffix + \" \") + classSuffix;\n var svgStr = SVGInline.cleanupSvg(svg, cleanup).replace(/<svg/, \"<svg class=\\\"\" + svgClasses + \"\\\"\" + (fill ? \" fill=\\\"\" + fill + \"\\\"\" : \"\") + (width || height ? ' style=\"' + (width ? \"width: \" + width + \";\" : \"\") + (height ? \"height: \" + height + \";\" : \"\") + '\"' : \"\"));\n var match = void 0;\n if (accessibilityDesc) {\n match = /<svg(.|\\n|\\r\\n)*?>/.exec(svgStr);\n var pos = match.index + match[0].length;\n svgStr = svgStr.substr(0, pos) + (\"<desc>\" + accessibilityDesc + \"</desc>\") + svgStr.substr(pos);\n }\n if (accessibilityLabel) {\n match = match || /<svg(.|\\n|\\r\\n)*?>/.exec(svgStr);\n var _pos = match.index + match[0].length - 1;\n var id = \"SVGInline-\" + SVGInline.idCount++ + \"-title\";\n svgStr = svgStr.substr(0, _pos) + (\" role=\\\"img\\\" aria-labelledby=\\\"\" + id + \"\\\"\") + svgStr.substr(_pos, 1) + (\"<title id=\\\"\" + id + \"\\\">\" + accessibilityLabel + \"</title>\") + svgStr.substr(_pos + 1);\n }\n return _react2.default.createElement(component, _extends({}, componentProps, { // take most props\n className: classes,\n dangerouslySetInnerHTML: {\n __html: svgStr\n }\n }));\n }\n }]);\n\n return SVGInline;\n}(_react.Component);\n\nSVGInline.propTypes = {\n className: _propTypes2.default.string,\n classSuffix: _propTypes2.default.string,\n component: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]),\n svg: _propTypes2.default.string.isRequired,\n fill: _propTypes2.default.string,\n cleanup: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.array]),\n cleanupExceptions: _propTypes2.default.array,\n width: _propTypes2.default.string,\n height: _propTypes2.default.string,\n accessibilityLabel: _propTypes2.default.string,\n accessibilityDesc: _propTypes2.default.string\n};\n\nSVGInline.defaultProps = {\n component: \"span\",\n classSuffix: \"-svg\",\n cleanup: [],\n cleanupExceptions: []\n};\n\nSVGInline.idCount = 0;\n\nSVGInline.cleanupSvg = function (svg) {\n var cleanup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return Object.keys(cleanups).filter(function (key) {\n return cleanup.indexOf(key) > -1;\n }).reduce(function (acc, key) {\n return acc.replace(cleanups[key], \"\");\n }, svg).trim();\n};\n\nexports.default = SVGInline;","module.exports = require('./lib/retry');","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.10\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"whatInput\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"whatInput\"] = factory();\n\telse\n\t\troot[\"whatInput\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = 'false';\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true } : false;\n\n\t document.addEventListener('DOMContentLoaded', setPersist);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput);\n\t window.addEventListener('pointermove', setIntent);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput);\n\t window.addEventListener('MSPointerMove', setIntent);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput);\n\t window.addEventListener('mousemove', setIntent);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput);\n\t window.addEventListener('keyup', setInput);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement);\n\t window.addEventListener('focusout', clearElement);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an <svg> element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t var persistInput = function persistInput(which, value) {\n\t if (shouldPersist) {\n\t try {\n\t window.sessionStorage.setItem('what-' + which, value);\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\t var detectWheel = function detectWheel() {\n\t var wheelType = null;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos.x !== event.screenX || mousePos.y !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos.x = event.screenX;\n\t mousePos.y = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t },\n\n\t clearStorage: function clearStorage() {\n\t window.sessionStorage.clear();\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;","/**\n * default settings\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"preload\",\n \"src\",\n ],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n figcaption: [],\n figure: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n summary: [],\n sup: [],\n strong: [],\n strike: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"preload\",\n \"src\",\n \"height\",\n \"width\",\n ],\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"&lt;\").replace(REGEXP_GT, \"&gt;\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value.substr(0, 11) === \"data:image/\" ||\n value.substr(0, 6) === \"ftp://\" ||\n value.substr(0, 2) === \"./\" ||\n value.substr(0, 3) === \"../\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = /</g;\nvar REGEXP_GT = />/g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /&quot;/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \"&quot;\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function () {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function (tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end,\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function (html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function (pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n },\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n return html.replace(STRIP_COMMENT_TAG_REGEXP, \"\");\n}\nvar STRIP_COMMENT_TAG_REGEXP = /<!--[\\s\\S]*?-->/g;\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function (char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * xss\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.filterXSS = filterXSS;\nexports.FilterXSS = FilterXSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\nfor (var i in parser) exports[i] = parser[i];\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return (\n typeof self !== \"undefined\" &&\n typeof DedicatedWorkerGlobalScope !== \"undefined\" &&\n self instanceof DedicatedWorkerGlobalScope\n );\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. '<a hef=\"#\">'\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n var tagName = html.slice(1, -1);\n } else {\n var tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:'<a hef=\"#\">'\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"</\";\n}\n\n/**\n * parse input html and returns processed html\n *\n * @param {String} html\n * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)\n * @param {Function} escapeHtml\n * @return {String}\n */\nfunction parseTag(html, onTag, escapeHtml) {\n \"use strict\";\n\n var rethtml = \"\";\n var lastPos = 0;\n var tagStart = false;\n var quoteStart = false;\n var currentPos = 0;\n var len = html.length;\n var currentTagName = \"\";\n var currentHtml = \"\";\n\n chariterator: for (currentPos = 0; currentPos < len; currentPos++) {\n var c = html.charAt(currentPos);\n if (tagStart === false) {\n if (c === \"<\") {\n tagStart = currentPos;\n continue;\n }\n } else {\n if (quoteStart === false) {\n if (c === \"<\") {\n rethtml += escapeHtml(html.slice(lastPos, currentPos));\n tagStart = currentPos;\n lastPos = currentPos;\n continue;\n }\n if (c === \">\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if (c === '\"' || c === \"'\") {\n var i = 1;\n var ic = html.charAt(currentPos - i);\n\n while (ic.trim() === \"\" || ic === \"=\") {\n if (ic === \"=\") {\n quoteStart = c;\n continue chariterator;\n }\n ic = html.charAt(currentPos - ++i);\n }\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\\.\\-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"use strict\";\n\n var lastPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastPos &&\n (c === '\"' || c === \"'\") &&\n html.charAt(i - 1) === \"=\"\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function (str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n },\n};\n","/**\n * filter xss\n *\n * @author Zongmin Lei<leizongmin@gmail.com>\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\",\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing,\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList, onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function (html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n var stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function (sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: whiteList.hasOwnProperty(tag),\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"</\" + tag + \">\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function (name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n var html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n var ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(763);\n"],"names":["Portal","_ref","dispatch","children","_ref$type","type","mountNode","useRef","portalNode","forceUpdate","useState","Object","create","useCallback","current","ownerDocument","createElement","body","appendChild","removeChild","createPortal","ref","serverHandoffComplete","id","genId","getOwnerDocument","element","document","makeId","_len","arguments","length","args","Array","_key","filter","val","join","isFunction","value","toString","call","_arrayLikeToArray","arr","len","i","arr2","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","isArray","minLen","n","prototype","slice","constructor","name","from","test","_unsupportedIterableToArray","done","TypeError","next","bind","assignRef","error","Error","useComposedRefs","refs","node","_step","_iterator","composeEventHandlers","theirHandler","ourHandler","event","defaultPrevented","_extends","assign","target","source","key","hasOwnProperty","apply","this","_excluded","VisuallyHidden","forwardRef","_ref$as","as","Comp","_ref$style","style","props","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","border","clip","height","margin","overflow","padding","position","width","whiteSpace","wordWrap","rafId","observedNodes","Map","run","changedStates","forEach","state","a","b","newRect","getBoundingClientRect","rect","some","prop","push","callbacks","cb","window","requestAnimationFrame","observe","wasEmpty","size","has","get","set","undefined","hasRectChanged","unobserve","index","splice","cancelAnimationFrame","useRect","nodeRef","observeOrOptions","deprecated_onChange","onChange","_observeOrOptions$obs","_React$useState","setElement","initialRectIsSet","initialRefIsSet","_React$useState2","setRect","onChangeRef","elem","observer","_on","_on2","_on3","_on4","_on5","_states","TooltipStates","TooltipEvents","_excluded2","_excluded3","_excluded4","MOUSE_REST_TIMEOUT","LEAVE_TIMEOUT","restTimeout","leavingVisibleTimer","chart","initial","Idle","states","enter","clearContextId","on","MouseEnter","Focused","Focus","Visible","clearTimeout","setTimeout","send","Rest","leave","MouseMove","MouseLeave","MouseDown","Dismissed","Blur","LeavingVisible","SelectWithKeyboard","GlobalMouseMove","TimeComplete","context","subscriptions","useTooltip","_temp","idProp","onPointerEnter","onPointerMove","onPointerLeave","onPointerDown","onMouseEnter","onMouseMove","onMouseLeave","onMouseDown","onFocus","onBlur","onKeyDown","disabled","forwardedRef","DEBUG_STYLE","String","idFromProps","initialId","setId","useEffect","useId","isTooltipVisible","isVisible","setIsVisible","ownRef","triggerRect","wrapMouseEvent","wrapPointerEventHandler","handler","pointerType","handleMouseEnter","handleMouseMove","handleMouseLeave","handleMouseDown","fn","listener","addEventListener","removeEventListener","_ref5","Element","closest","useDisabledTriggerOnSafari","__REACH_DISABLE_TOOLTIPS","Tooltip","_ref2","label","DEPRECATED_ariaLabel","ariaLabel","child","Children","_useTooltip","trigger","tooltip","Fragment","cloneElement","TooltipPopup","_ref3","TooltipContent","_ref4","realAriaLabel","_ref4$as","_ref4$position","positionTooltip","hasAriaLabel","tooltipRect","role","getStyles","visibility","offset","_ownerDocument$docume","_ownerDocument$docume2","ownerWindow","_getDocumentDimension","defaultView","documentElement","clientWidth","innerWidth","clientHeight","innerHeight","windowWidth","windowHeight","collisions","top","right","left","bottom","directionUp","pageXOffset","pageYOffset","_transition","currentState","stateDef","nextState","changed","payload","nextStateValue","nextDef","transition","canUseDOM","useIsomorphicLayoutEffect","useLayoutEffect","module","exports","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","responseType","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","Axios","mergeConfig","createInstance","defaultConfig","instance","extend","axios","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","message","__CANCEL__","executor","resolvePromise","token","reason","throwIfRequested","c","InterceptorManager","dispatchRequest","validator","validators","interceptors","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","concat","shift","newConfig","onFulfilled","onRejected","getUri","replace","handlers","use","options","eject","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","isPlainObject","mergeDeepProperties","axiosKeys","otherKeys","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","encode","serializedParams","parts","v","isDate","toISOString","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","originURL","msie","navigator","userAgent","urlParsingNode","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","callback","pkg","thing","deprecatedWarnings","currentVerArr","version","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","opt","desc","opts","console","warn","schema","allowUnknown","result","getPrototypeOf","obj","l","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","str","stripBOM","content","charCodeAt","Accordion","isOpen","setActive","setActiveState","ariaPressed","scrollHeight","rotate","toggleAccordion","openAccordion","closeAccordion","className","data-testid","aria-label","title","aria-pressed","aria-expanded","tabIndex","onClick","subTitle","centerItem","rightItem","Chevron","maxHeight","propTypes","PropTypes","string","isRequired","any","bool","defaultProps","Collapsible","isExpanded","_toggleExpanded","toggleExpanded","_renderShowButton","renderShowButton","_renderHideButton","renderHideButton","setState","showLabel","hideLabel","isHidden","hidden","map","contentTitle","Component","oneOfType","array","ErrorUI","errorTitle","errorDetails","ErrorPage","render","rootElement","infoTipLabel","FooterUI","isNewFooter","signUpNowLink","showHcdResearch","listServ","setListServ","storageContent","localStorage","getItem","valueOf","expiration","origin","includes","setItem","buildVersion","data-track-category","data-track-action","data-track-label","rel","src","alt","isFullWidth","LegacyFooterUI","xlinkHref","lightIcon","SocialLinks","viewBox","stroke","strokeWidth","fill","fillRule","transform","d","Subscribe","action","acceptCharset","htmlFor","placeholder","Footer","HeaderAccountMenu","handleClick","fbpPerformanceYear","feedbackPerformanceYear","isLoginEnabled","isDevPre","performanceYear","showFacilityBasedPreviewLink","showPhysicianCompareLink","hasAuthToken","hasAuthorizations","qpp_has_authorizations","hasNonRegistryAuthorizations","qpp_has_non_registry_authorizations","isDevPreAndNotAuthenticated","useHeaderState","closeMenus","RouterLink","to","setUtagLink","firstName","qpp_auth_token","additionalLinks","dashboardUrl","performanceFeedbackUrl","physicianCompareUrl","facilityBasedPreviewUrl","columns","items","submissionsUrl","manageUrl","devPreColumns","hasMenu","menuName","subtitle","rows","func","HeaderCancel","handleCancel","jumpToLink","preventDefault","getElementById","focus","HeaderContainer","includeSkipToSidebar","showCancelButton","skipToContentId","HeaderLogo","HeaderMenuButton","menuSizes","1","2","3","4","excludedClickOutClasses","HeaderMenuItem","isSubMenuFullWidth","setSubMenuFullWidth","openMobileSubMenu","setOpenMobileSubMenu","useWindowWidth","menuButtonRef","menuRef","handleToggleMenu","currentOpenMenu","numColumns","menuIdentifier","shouldSetFullWidth","contains","classList","aria-controls","data-toggle","focusable","data-columns","columnContent","cIndex","heading","item","isSubLink","SubMenuComponent","button","signout","HeaderMenuSignOutButton","link","HeaderMenuLink","sublink","isNotExcluded","useModal","setOpen","openModal","closeModal","showLogoutWarning","LogoutSession","useDesignSystem","onRequestClose","primary","secondary","HeaderMobileButton","isMobileMenuExpanded","data-target","aria-hidden","CloseXIcon","HeaderUI","setIsMobileMenuExpanded","mapContentToRows","section","_","colIndex","row","localStorageName","defaultContent","defaultHeaderContent","HeaderStateProvider","header","Function","HelpIcon","NavigationButtonIcon","Header","showCovidLink","showMaqi","windowSize","setWindowSize","handleResize","HeaderStateContext","createContext","setCurrentOpenMenu","Provider","useContext","eventCategory","eventAction","eventLabel","utag","ga_event_category","ga_event_action","ga_event_label","page_title","page_url","BUTTON_SIZE","buttonStyle","background","WebkitTouchCallout","WebkitUserSelect","userSelect","touchHandlers","onTouchStart","stopPropagation","onTouchEnd","activeElement","currentTarget","blur","Infotip","float","InfotipIcon","xmlns","Modal","showModal","handleOpenModal","handleCloseModal","ReactModal","setAppElement","newProps","contentLabel","overlayClassName","html","displayModal","main","appElement","overflowSeparator","setOverflowSeparator","closeButtonRef","contentRef","portalClassName","bodyOpenClassName","onAfterOpen","aria","labelledby","describedby","CloseXIcon2","loading","shape","loadingText","rest","displayName","NotificationBanner","expanded","_renderCloseButton","renderCloseButton","_collapseNotification","collapseNotification","_expandNotification","expandNotification","_setBannerHeight","setBannerHeight","prevProps","notifications","isNotificationExpanded","bannerContainer","collapsedBanner","collapsedWrapper","offsetHeight","notification","dateDismissed","dateUpdated","isDateValid","date","isNaN","storageNotification","markNotificationClosed","dismissable","enabled","notificationStatus","color","expandedWrapper","BellOutline","withGetConfig","equalityCheckExclude","defaultAllowedTags","defaultAllowedAttributes","SanitizedContent","customClassName","allowedTags","allowedAttributes","whiteList","reduce","tag","sanitizedHTML","dangerouslySetInnerHTML","__html","SessionDialog","showImmediate","warningTimeout","fetchTtlIntervalMs","SessionDialogUI","refreshSession","signOut","startTimer","shouldShowDialog","shouldSignOut","minutesUntil","checkExpiry","onInterval","showError","expiry","exp","clearInterval","warningInterval","operation","retry","retries","factor","minTimeout","maxTimeout","attempt","forceTimeoutHandle","setInterval","minutesLeft","getTime","onSuccess","hasDarkerBackground","darkerBackground","AnimationGroup","display","WIDTH","HEIGHT","RADIUS","Math","min","GAP_VALUE","ScoreChart","legendToggler","legend","chartData","linkCallback","hasLegend","setHasLegend","quality","aci","pi","ia","cost","titleMapping","setTitleMapping","categories","getAdvancingCareLabel","redirectToCategory","categoryId","track","draw","scorePie","pie","sort","maxContribution","categorySum","sum","select","selectAll","svg","attr","chartArc","arc","innerRadius","outerRadius","append","text","finalScore","arcs","parseInt","tabindex","keyCode","which","clientY","clientX","toggleLegend","object","getIcon","DashboardIcon","feedbackUrl","StarIcon","ManageUsersIcon","PhysicianCompareIcon","reportsPortalUrl","HardshipIcon","AccountHomeIcon","facilityBasedPreviewBaseUrl","FacilityBasedPreviewIcon","HelpSupportIcon","PaymentIcon","MyApplicationsIcon","TargetIcon","MyTestDataIcon","LevelOneContent","useTooltips","levelOneContent","user_has_apm_payments","qpp_is_dev_pre","qpp_ehr_authorized","lastName","hasApmPayments","ehrAuthorized","linkClass","devPre","urlConditionMap","navLinks","acc","listOfLinks","IconComponent","Icon","sharedProps","NavLinkDrawer","leftIcon","staticDrawer","openByDefault","isAlwaysOpen","NavLinkInline","icon","NavLinkContainer","default","arrayOf","viewer","PAST_REPORTING_YEARS","LevelTwoContent","showReportingLinks","chartActive","openDrawersByDefault","updateTime","practiceId","practiceName","practiceTin","apmEntityId","isConnectedUsersPage","vgId","roleAbbr","finalFeedbackOpen","isApmPaymentDetailsPage","cpcPlusId","pcfId","links","apmDetailsUrl","NavItemInline","CliniciansIcon","urlExpressionToMatch","linkLabel","practiceUrlSegment","PracticeDetails","ScoreIncrease","TooltipIcon","IndividualDetails","individualName","individualNpi","renderId","CmsSwitchLink","handleNavigation","SwitchPractice","ChevronRight","isActive","urlRegExp","currentPage","linkActiveFunc","activeLink","setActiveLink","toggleActive","idx","React","rightIcon","sidebarExpand","isHighlighted","leftBorderHighlightDisabled","largerDrawerBottomPadding","setIsOpen","toggleDrawer","isLinkActive","isCurrentPage","targetItems","expandedClass","renderLeftIcon","hasDarkerTitle","isLeftBorderHighlightDisabled","isHiddenWhileCollapsed","isLeftBorderDisabled","highlightTitle","hasLargerDrawBottomPadding","adjustItemSpacing","renderDrawerLinksRecursively","svgRef","showTooltip","setShowTooltip","tooltipRef","existingMouseenter","onmouseover","existingMouseout","onmouseout","svgOffset","NavLinkToggle","isAltStyle","collapseRef","expandedStyle","altStyle","NavCollapse","NavExpand","SvgComponents","SideNavUI","currentLevel","onCollapsed","onExpanded","svgIcons","isExpandedState","setIsExpandedState","itemsState","setItemsState","currentLevelState","setCurrentLevelState","expand","collapse","getLevelContent","getDynamicContent","contentItems","recursionId","containerRecursionId","getDynamicIcon","itemsMarkup","divider","container","linkBack","linkHome","practiceDetails","individualDetails","linkDrawer","custom","switchLink","navClassName","SVGIcons","linkCallbackFunction","SideNav","showDevPreDfpLink","showSelfNomination","showApmIncentivePaymentLink","showReportsPortal","showTargetedReviewLink","TEXT_COLOR","BACKGROUND_COLOR","tooltipPopupRef","triangleRef","positionCssText","positionTriangle","cssText","positionTip","OFFSET","TRIANGLE_SCALE_X","TRIANGLE_SCALE_Y","isDirectionUp","maxLeft","centerLeft","max","triangleTop","triangleLeft","triangleBorder","useGetConfig","setResult","storageItem","every","WrappedComponent","QppStyleComponents","errorPage","footer","sideNav","points","UserSignInIcon","ReportDataIcon","x","y","strokeLinecap","x1","y1","x2","y2","ReportsIcon","AccountSettings","DetailsIcon","GroupReporting","IndividualReporting","ChevronLeft","ChevronDown","EarlyClaims","CliniciansList","YoutubeIcon","TwitterIcon","stroke-Width","WiViewReportsIcon","WiViewProgressIcon","WiManageGroupIcon","fetchTtl","RefreshSession","_window","logoutDestination","onError","err","log","requestOptions","Accept","time_remaining","ttl","hasOwn","classNames","classes","arg","argType","inner","pairs","pairSplitRegExp","dec","decode","pair","eq_idx","tryDecode","serialize","enc","fieldContentRegExp","maxAge","isFinite","floor","toUTCString","httpOnly","sameSite","DEFAULT","parseStyle","isNull","FilterCSS","ret","shallowCopyObject","onAttr","onIgnoreAttr","safeAttrValue","css","sourcePosition","check","isWhite","getDefaultWhiteList","REGEXP_URL_JAVASCRIPT","filterCSS","trimRight","cssLength","isParenthesisOpen","lastPos","retCSS","addNewAttr","j","scope","xhtml","xlink","xml","prefix","namespaces","space","local","creatorInherit","uri","namespaceURI","createElementNS","creatorFixed","fullname","namespace","none","selector","querySelector","empty","querySelectorAll","matches","update","EnterNode","parent","datum","_next","_parent","__data__","insertBefore","bindIndex","group","exit","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","ascending","NaN","attrRemove","removeAttribute","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","ClassList","_node","_names","getAttribute","classedAdd","names","list","add","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textContent","textConstant","textFunction","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","parentNode","lower","previousSibling","firstChild","constantNull","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","filterEvents","mouseenter","mouseleave","filterContextListener","contextListener","related","relatedTarget","compareDocumentPosition","event1","event0","parseTypenames","typenames","t","onRemove","typename","__on","m","capture","onAdd","wrap","customEvent","that","sourceEvent","dispatchEvent","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","Selection","groups","parents","_groups","_parents","selection","subgroups","subnode","subgroup","selectorAll","matcher","each","enterGroup","updateGroup","previous","i0","i1","_enter","_exit","sparse","onenter","onupdate","onexit","order","groups0","groups1","m0","m1","merges","group0","group1","compare","compareNode","sortgroups","sortgroup","nodes","getAttributeNS","property","classed","creator","insert","before","deep","nextId","Local","ownerSVGElement","createSVGPoint","point","matrixTransform","getScreenCTM","inverse","clientLeft","clientTop","changedTouches","touches","identifier","touch","PI","tau","epsilon","tauEpsilon","Path","_x0","_y0","_x1","_y1","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","r","x0","y0","x21","y21","x01","y01","l01_2","abs","x20","y20","l21_2","l20_2","l21","sqrt","l01","tan","acos","t01","t21","a0","a1","ccw","dx","cos","dy","sin","cw","da","w","atan2","halfPi","asin","arcInnerRadius","arcOuterRadius","arcStartAngle","startAngle","arcEndAngle","endAngle","arcPadAngle","padAngle","intersect","x3","y3","x10","y10","x32","y32","cornerTangents","r1","rc","lo","ox","oy","x11","y11","x00","y00","d2","D","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","cx","cy","cornerRadius","constant","padRadius","r0","t0","t1","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","p0","p1","oc","ax","ay","bx","by","kc","lc","centroid","Linear","_context","p","defined","curve","output","defined0","lineStart","lineEnd","area","k","x0z","y0z","areaStart","areaEnd","arealine","lineX0","lineY0","lineY1","lineX1","identity","sortValues","descending","pa","_line","_point","curveRadialLinear","curveRadial","Radial","_curve","radial","lineRadial","angle","radius","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","linkSource","linkTarget","argv","s","curveHorizontal","curveVertical","pointRadial","p2","p3","linkHorizontal","linkVertical","linkRadial","tan30","tan30_2","kr","kx","ky","sqrt3","symbols","circle","cross","diamond","square","star","triangle","wye","symbol","Basis","BasisClosed","BasisOpen","Bundle","beta","_basis","_beta","noop","_x2","_x3","_x4","_y2","_y3","_y4","_x","_y","bundle","_k","Cardinal","tension","cardinal","CardinalClosed","_x5","_y5","CardinalOpen","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","alpha","_alpha","x23","y23","pow","catmullRom","CatmullRomClosed","CatmullRomOpen","LinearClosed","sign","slope3","h0","h1","s0","s1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","controlPoints","Step","_t","stepBefore","stepAfter","series","stackValue","oz","kz","sz","sij","ki","si","yp","yn","s2","sij0","s3","sk","peaks","peak","vi","vj","Infinity","sums","reverse","appearance","tops","bottoms","_t0","px","py","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","atob","fromCharCode","u","f","__k","__","__b","__e","__d","__c","__h","__v","vnode","base","g","__r","debounceRendering","__P","__n","z","A","P","N","M","$","H","T","I","contextType","__E","O","sub","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","L","diffed","localName","nodeType","createTextNode","is","childNodes","attributes","C","checked","unmount","componentWillUnmount","S","q","B","Consumer","getDerivedStateFromError","componentDidCatch","__H","F","E","isReactComponent","__f","isPureReactComponent","R","for","$$typeof","count","only","toArray","__u","U","__R","__O","pop","fallback","delete","revealOrder","W","V","defineProperty","configurable","writable","Z","Y","cancelBubble","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","G","class","J","multiple","selected","defaultValue","enumerable","K","Q","ReactCurrentDispatcher","readContext","X","nn","tn","en","rn","un","ln","useReducer","useImperativeHandle","useMemo","useDebugValue","hydrate","unmountComponentAtNode","createFactory","createRef","isValidElement","findDOMNode","PureComponent","memo","flushSync","unstable_batchedUpdates","StrictMode","Suspense","SuspenseList","lazy","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","elementType","instanceOf","objectOf","oneOf","exact","checkPropTypes","nextProps","prevState","__reactInternalSnapshotFlag","__reactInternalSnapshot","polyfill","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","_createClass","defineProperties","descriptor","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","__esModule","newObj","_interopRequireWildcard","_safeHTMLElement","_safeHTMLElement2","_reactLifecyclesCompat","_classCallCheck","_possibleConstructorReturn","self","ReferenceError","isReact16","createHTMLElement","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","_Component","_this","__proto__","removePortal","portalRef","portal","renderPortal","defaultStyles","subClass","superClass","setPrototypeOf","_inherits","prevParent","nextParent","_props","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","overlay","htmlOpenClassName","afterOpen","SafeHTMLCollection","SafeNodeList","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","preventScroll","shouldCloseOnEsc","overlayRef","overlayElement","contentElement","contentEl","backgroundColor","WebkitOverflowScrolling","borderRadius","outline","_typeof","focusManager","_scopeTab2","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","getElementsByTagName","show","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","deregister","beforeOpen","closeTimer","setupScopedFocus","markForFocusLater","openAnimationFrame","overlayEl","close","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","additional","attributesFromObject","moveFromContentToOverlay","hide","register","_props2","contentStyles","overlayStyles","overlayProps","contentProps","onMouseUp","modal","testId","resetState","globalElement","nodeName","assertNodeList","useElement","el","validateElement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","documentNotReadyOrSSRTesting","_warning","_warning2","nodeList","HTMLCollection","NodeList","_arr","after","_i","instances","_arr2","_i2","_portalOpenInstances","subscribe","eventType","openInstances","opacity","lastChild","parentElement","htmlElement","cls","htmlClassList","removeClass","_cls","docBodyClassList","at","classString","classListRef","poll","incrementReference","decrementReference","focusLaterElements","handleBlur","handleFocus","toFocus","modalElement","detachEvent","_tabbable","_tabbable2","needToFocus","portalOpenInstances","PortalOpenInstances","openInstance","emit","subscribers","subscriber","_exenv","EE","SafeHTMLElement","HTMLElement","tabbable","shiftKey","head","tail","checkSafari","exec","tabbableNode","hidesContents","zeroSize","offsetWidth","scrollWidth","exception","isTabIndexNotNaN","visible","isTabIndexNaN","_Modal","_Modal2","_classnames2","cleanups","comment","defs","sketchMSShapeGroup","sketchMSPage","sketchMSLayerGroup","SVGInline","component","accessibilityLabel","accessibilityDesc","classSuffix","cleanupExceptions","componentProps","_objectWithoutProperties","cleanup","svgClasses","svgStr","cleanupSvg","pos","_pos","idCount","RetryOperation","timeouts","forever","unref","maxRetryTime","randomize","createTimeout","random","round","methods","original","op","mainError","_originalTimeouts","_timeouts","_options","_maxRetryTime","_fn","_errors","_attempts","_operationTimeout","_operationTimeoutCb","_timeout","_operationStart","_timer","_cachedTimeouts","reset","stop","currentTime","timeoutOps","try","start","errors","attempts","counts","mainErrorCount","warning","factory","modules","installedModules","moduleId","loaded","ask","ignoreKeys","specificKeys","registerOnChange","unRegisterOnChange","docElem","currentElement","currentInput","currentIntent","currentTimestamp","shouldPersist","formInputs","functionList","ignoreMap","specificMap","inputMap","keydown","keyup","mousedown","mousemove","MSPointerDown","MSPointerMove","pointerdown","pointermove","touchstart","touchend","isScrolling","mousePos","pointerMap","supportsPassive","addListeners","passive","setPersist","PointerEvent","setInput","setIntent","MSPointerEvent","detectWheel","clearElement","sessionStorage","doUpdate","eventKey","ignoreMatch","specificMatch","shouldUpdate","validateTouch","persistInput","activeElem","checkClosest","fireFunctions","detectScrolling","timestamp","touchIsValid","onmousewheel","screenX","screenY","ElementPrototype","msMatchesSelector","webkitMatchesSelector","objPos","clearStorage","clear","getDefaultCSSWhiteList","abbr","address","article","aside","audio","bdi","bdo","big","blockquote","br","caption","center","cite","col","colgroup","dd","del","details","div","dl","dt","em","figcaption","figure","font","h2","h3","h4","h5","h6","hr","img","ins","li","mark","nav","ol","pre","small","span","summary","sup","strong","strike","table","tbody","td","tfoot","th","thead","tr","tt","ul","video","defaultCSSFilter","escapeHtml","REGEXP_LT","REGEXP_GT","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","REGEXP_DEFAULT_ON_TAG_ATTR_4","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeQuote","unescapeQuote","escapeHtmlEntities","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","friendlyAttrValue","escapeAttrValue","STRIP_COMMENT_TAG_REGEXP","onTag","onIgnoreTag","onTagAttr","onIgnoreTagAttr","cssFilter","lastIndex","onIgnoreTagStripAll","StripTagBody","tags","isRemoveAllTag","removeList","posStart","isRemoveTag","isClosing","end","rethtml","stripCommentTag","stripBlankChar","chars","char","FilterXSS","filterXSS","DedicatedWorkerGlobalScope","getTagName","spaceIndex","tagName","REGEXP_ILLEGAL_ATTR_NAME","findNextEqual","findBeforeEqual","stripQuoteWrap","isQuoteWrapString","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","chariterator","ic","parseAttr","retAttrs","tmpName","addAttr","stripIgnoreTag","allowCommentTag","stripIgnoreTagBody","retHtml","info","attrs","closing","getAttrs","whiteAttrList","attrsHtml","isWhiteAttr","__webpack_module_cache__","__webpack_require__","cachedModule","__webpack_modules__","definition","toStringTag","__webpack_exports__"],"sourceRoot":""}