@pranaysahith/decap-cms-core 3.9.1

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 (299) hide show
  1. package/README.md +9 -0
  2. package/dist/@pranaysahith/decap-cms-core.js +52 -0
  3. package/dist/@pranaysahith/decap-cms-core.js.LICENSE.txt +141 -0
  4. package/dist/@pranaysahith/decap-cms-core.js.map +1 -0
  5. package/dist/decap-cms-core.js +47 -0
  6. package/dist/decap-cms-core.js.LICENSE.txt +116 -0
  7. package/dist/decap-cms-core.js.map +1 -0
  8. package/dist/esm/actions/auth.js +97 -0
  9. package/dist/esm/actions/collections.js +15 -0
  10. package/dist/esm/actions/config.js +493 -0
  11. package/dist/esm/actions/deploys.js +79 -0
  12. package/dist/esm/actions/editorialWorkflow.js +480 -0
  13. package/dist/esm/actions/entries.js +865 -0
  14. package/dist/esm/actions/media.js +147 -0
  15. package/dist/esm/actions/mediaLibrary.js +552 -0
  16. package/dist/esm/actions/notifications.js +21 -0
  17. package/dist/esm/actions/search.js +149 -0
  18. package/dist/esm/actions/status.js +74 -0
  19. package/dist/esm/actions/waitUntil.js +32 -0
  20. package/dist/esm/backend.js +1082 -0
  21. package/dist/esm/bootstrap.js +101 -0
  22. package/dist/esm/components/App/App.js +289 -0
  23. package/dist/esm/components/App/Header.js +172 -0
  24. package/dist/esm/components/App/NotFoundPage.js +19 -0
  25. package/dist/esm/components/Collection/Collection.js +198 -0
  26. package/dist/esm/components/Collection/CollectionControls.js +46 -0
  27. package/dist/esm/components/Collection/CollectionSearch.js +222 -0
  28. package/dist/esm/components/Collection/CollectionTop.js +68 -0
  29. package/dist/esm/components/Collection/ControlButton.js +17 -0
  30. package/dist/esm/components/Collection/Entries/Entries.js +73 -0
  31. package/dist/esm/components/Collection/Entries/EntriesCollection.js +241 -0
  32. package/dist/esm/components/Collection/Entries/EntriesSearch.js +113 -0
  33. package/dist/esm/components/Collection/Entries/EntryCard.js +177 -0
  34. package/dist/esm/components/Collection/Entries/EntryListing.js +143 -0
  35. package/dist/esm/components/Collection/FilterControl.js +33 -0
  36. package/dist/esm/components/Collection/FolderRenameControl.js +403 -0
  37. package/dist/esm/components/Collection/GroupControl.js +33 -0
  38. package/dist/esm/components/Collection/NestedCollection.js +308 -0
  39. package/dist/esm/components/Collection/Sidebar.js +91 -0
  40. package/dist/esm/components/Collection/SortControl.js +59 -0
  41. package/dist/esm/components/Collection/ViewStyleControl.js +38 -0
  42. package/dist/esm/components/Editor/Editor.js +466 -0
  43. package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +395 -0
  44. package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +254 -0
  45. package/dist/esm/components/Editor/EditorControlPane/Widget.js +374 -0
  46. package/dist/esm/components/Editor/EditorInterface.js +386 -0
  47. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +47 -0
  48. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +66 -0
  49. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +288 -0
  50. package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +27 -0
  51. package/dist/esm/components/Editor/EditorToolbar.js +536 -0
  52. package/dist/esm/components/Editor/EntryPathEditor.js +272 -0
  53. package/dist/esm/components/Editor/withWorkflow.js +56 -0
  54. package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +18 -0
  55. package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +20 -0
  56. package/dist/esm/components/EditorWidgets/index.js +4 -0
  57. package/dist/esm/components/MediaLibrary/EmptyMessage.js +22 -0
  58. package/dist/esm/components/MediaLibrary/MediaLibrary.js +446 -0
  59. package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +93 -0
  60. package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +99 -0
  61. package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +198 -0
  62. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +32 -0
  63. package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +156 -0
  64. package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +51 -0
  65. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +123 -0
  66. package/dist/esm/components/UI/DragDrop.js +67 -0
  67. package/dist/esm/components/UI/ErrorBoundary.js +173 -0
  68. package/dist/esm/components/UI/FileUploadButton.js +27 -0
  69. package/dist/esm/components/UI/Modal.js +104 -0
  70. package/dist/esm/components/UI/Notifications.js +62 -0
  71. package/dist/esm/components/UI/SettingsDropdown.js +107 -0
  72. package/dist/esm/components/UI/index.js +6 -0
  73. package/dist/esm/components/Workflow/Workflow.js +133 -0
  74. package/dist/esm/components/Workflow/WorkflowCard.js +128 -0
  75. package/dist/esm/components/Workflow/WorkflowList.js +204 -0
  76. package/dist/esm/constants/collectionTypes.js +2 -0
  77. package/dist/esm/constants/collectionViews.js +2 -0
  78. package/dist/esm/constants/commitProps.js +2 -0
  79. package/dist/esm/constants/configSchema.js +644 -0
  80. package/dist/esm/constants/fieldInference.js +57 -0
  81. package/dist/esm/constants/publishModes.js +18 -0
  82. package/dist/esm/constants/validationErrorTypes.js +6 -0
  83. package/dist/esm/formats/formats.js +83 -0
  84. package/dist/esm/formats/frontmatter.js +146 -0
  85. package/dist/esm/formats/helpers.js +12 -0
  86. package/dist/esm/formats/json.js +8 -0
  87. package/dist/esm/formats/toml.js +32 -0
  88. package/dist/esm/formats/yaml.js +51 -0
  89. package/dist/esm/index.js +7 -0
  90. package/dist/esm/integrations/index.js +28 -0
  91. package/dist/esm/integrations/providers/algolia/implementation.js +174 -0
  92. package/dist/esm/integrations/providers/assetStore/implementation.js +165 -0
  93. package/dist/esm/lib/consoleError.js +3 -0
  94. package/dist/esm/lib/formatters.js +191 -0
  95. package/dist/esm/lib/i18n.js +367 -0
  96. package/dist/esm/lib/phrases.js +6 -0
  97. package/dist/esm/lib/polyfill.js +8 -0
  98. package/dist/esm/lib/registry.js +329 -0
  99. package/dist/esm/lib/serializeEntryValues.js +67 -0
  100. package/dist/esm/lib/stega.js +142 -0
  101. package/dist/esm/lib/textHelper.js +9 -0
  102. package/dist/esm/lib/urlHelper.js +111 -0
  103. package/dist/esm/mediaLibrary.js +37 -0
  104. package/dist/esm/reducers/auth.js +27 -0
  105. package/dist/esm/reducers/collections.js +428 -0
  106. package/dist/esm/reducers/combinedReducer.js +8 -0
  107. package/dist/esm/reducers/config.js +29 -0
  108. package/dist/esm/reducers/cursors.js +31 -0
  109. package/dist/esm/reducers/deploys.js +45 -0
  110. package/dist/esm/reducers/editorialWorkflow.js +83 -0
  111. package/dist/esm/reducers/entries.js +568 -0
  112. package/dist/esm/reducers/entryDraft.js +212 -0
  113. package/dist/esm/reducers/globalUI.js +25 -0
  114. package/dist/esm/reducers/index.js +66 -0
  115. package/dist/esm/reducers/integrations.js +53 -0
  116. package/dist/esm/reducers/mediaLibrary.js +252 -0
  117. package/dist/esm/reducers/medias.js +68 -0
  118. package/dist/esm/reducers/notifications.js +23 -0
  119. package/dist/esm/reducers/search.js +92 -0
  120. package/dist/esm/reducers/status.js +30 -0
  121. package/dist/esm/redux/index.js +7 -0
  122. package/dist/esm/redux/middleware/waitUntilAction.js +48 -0
  123. package/dist/esm/routing/history.js +12 -0
  124. package/dist/esm/types/diacritics.d.js +0 -0
  125. package/dist/esm/types/global.d.js +1 -0
  126. package/dist/esm/types/immutable.js +7 -0
  127. package/dist/esm/types/redux.js +14 -0
  128. package/dist/esm/types/tomlify-j0.4.d.js +0 -0
  129. package/dist/esm/valueObjects/AssetProxy.js +44 -0
  130. package/dist/esm/valueObjects/EditorComponent.js +34 -0
  131. package/dist/esm/valueObjects/Entry.js +20 -0
  132. package/index.d.ts +618 -0
  133. package/package.json +106 -0
  134. package/src/__tests__/backend.spec.js +1161 -0
  135. package/src/actions/__tests__/config.spec.js +1009 -0
  136. package/src/actions/__tests__/editorialWorkflow.spec.js +216 -0
  137. package/src/actions/__tests__/entries.spec.js +596 -0
  138. package/src/actions/__tests__/media.spec.ts +171 -0
  139. package/src/actions/__tests__/mediaLibrary.spec.js +327 -0
  140. package/src/actions/__tests__/search.spec.js +209 -0
  141. package/src/actions/auth.ts +127 -0
  142. package/src/actions/collections.ts +18 -0
  143. package/src/actions/config.ts +565 -0
  144. package/src/actions/deploys.ts +104 -0
  145. package/src/actions/editorialWorkflow.ts +567 -0
  146. package/src/actions/entries.ts +1055 -0
  147. package/src/actions/media.ts +139 -0
  148. package/src/actions/mediaLibrary.ts +574 -0
  149. package/src/actions/notifications.ts +36 -0
  150. package/src/actions/search.ts +221 -0
  151. package/src/actions/status.ts +99 -0
  152. package/src/actions/waitUntil.ts +49 -0
  153. package/src/backend.ts +1400 -0
  154. package/src/bootstrap.js +104 -0
  155. package/src/components/App/App.js +286 -0
  156. package/src/components/App/Header.js +266 -0
  157. package/src/components/App/NotFoundPage.js +23 -0
  158. package/src/components/Collection/Collection.js +210 -0
  159. package/src/components/Collection/CollectionControls.js +58 -0
  160. package/src/components/Collection/CollectionSearch.js +243 -0
  161. package/src/components/Collection/CollectionTop.js +81 -0
  162. package/src/components/Collection/ControlButton.js +27 -0
  163. package/src/components/Collection/Entries/Entries.js +82 -0
  164. package/src/components/Collection/Entries/EntriesCollection.js +277 -0
  165. package/src/components/Collection/Entries/EntriesSearch.js +102 -0
  166. package/src/components/Collection/Entries/EntryCard.js +246 -0
  167. package/src/components/Collection/Entries/EntryListing.js +151 -0
  168. package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +163 -0
  169. package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +46 -0
  170. package/src/components/Collection/FilterControl.js +39 -0
  171. package/src/components/Collection/GroupControl.js +39 -0
  172. package/src/components/Collection/NestedCollection.js +330 -0
  173. package/src/components/Collection/Sidebar.js +136 -0
  174. package/src/components/Collection/SortControl.js +68 -0
  175. package/src/components/Collection/ViewStyleControl.js +50 -0
  176. package/src/components/Collection/__tests__/Collection.spec.js +75 -0
  177. package/src/components/Collection/__tests__/NestedCollection.spec.js +445 -0
  178. package/src/components/Collection/__tests__/Sidebar.spec.js +87 -0
  179. package/src/components/Collection/__tests__/__snapshots__/Collection.spec.js.snap +144 -0
  180. package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +550 -0
  181. package/src/components/Collection/__tests__/__snapshots__/Sidebar.spec.js.snap +312 -0
  182. package/src/components/Editor/Editor.js +497 -0
  183. package/src/components/Editor/EditorControlPane/EditorControl.js +452 -0
  184. package/src/components/Editor/EditorControlPane/EditorControlPane.js +269 -0
  185. package/src/components/Editor/EditorControlPane/Widget.js +384 -0
  186. package/src/components/Editor/EditorInterface.js +444 -0
  187. package/src/components/Editor/EditorPreviewPane/EditorPreview.js +40 -0
  188. package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +74 -0
  189. package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +333 -0
  190. package/src/components/Editor/EditorPreviewPane/PreviewHOC.js +33 -0
  191. package/src/components/Editor/EditorToolbar.js +691 -0
  192. package/src/components/Editor/__tests__/Editor.spec.js +221 -0
  193. package/src/components/Editor/__tests__/EditorToolbar.spec.js +120 -0
  194. package/src/components/Editor/__tests__/__snapshots__/Editor.spec.js.snap +45 -0
  195. package/src/components/Editor/__tests__/__snapshots__/EditorToolbar.spec.js.snap +4233 -0
  196. package/src/components/Editor/withWorkflow.js +61 -0
  197. package/src/components/EditorWidgets/Unknown/UnknownControl.js +17 -0
  198. package/src/components/EditorWidgets/Unknown/UnknownPreview.js +19 -0
  199. package/src/components/EditorWidgets/index.js +5 -0
  200. package/src/components/MediaLibrary/EmptyMessage.js +28 -0
  201. package/src/components/MediaLibrary/MediaLibrary.js +411 -0
  202. package/src/components/MediaLibrary/MediaLibraryButtons.js +136 -0
  203. package/src/components/MediaLibrary/MediaLibraryCard.js +128 -0
  204. package/src/components/MediaLibrary/MediaLibraryCardGrid.js +199 -0
  205. package/src/components/MediaLibrary/MediaLibraryHeader.js +48 -0
  206. package/src/components/MediaLibrary/MediaLibraryModal.js +200 -0
  207. package/src/components/MediaLibrary/MediaLibrarySearch.js +61 -0
  208. package/src/components/MediaLibrary/MediaLibraryTop.js +143 -0
  209. package/src/components/MediaLibrary/__tests__/MediaLibraryButtons.spec.js +45 -0
  210. package/src/components/MediaLibrary/__tests__/MediaLibraryCard.spec.js +49 -0
  211. package/src/components/MediaLibrary/__tests__/__snapshots__/MediaLibraryCard.spec.js.snap +264 -0
  212. package/src/components/UI/DragDrop.js +66 -0
  213. package/src/components/UI/ErrorBoundary.js +214 -0
  214. package/src/components/UI/FileUploadButton.js +24 -0
  215. package/src/components/UI/Modal.js +112 -0
  216. package/src/components/UI/Notifications.tsx +83 -0
  217. package/src/components/UI/SettingsDropdown.js +103 -0
  218. package/src/components/UI/__tests__/ErrorBoundary.spec.js +57 -0
  219. package/src/components/UI/index.js +6 -0
  220. package/src/components/Workflow/Workflow.js +169 -0
  221. package/src/components/Workflow/WorkflowCard.js +177 -0
  222. package/src/components/Workflow/WorkflowList.js +272 -0
  223. package/src/constants/__tests__/configSchema.spec.js +611 -0
  224. package/src/constants/collectionTypes.ts +2 -0
  225. package/src/constants/collectionViews.js +2 -0
  226. package/src/constants/commitProps.ts +2 -0
  227. package/src/constants/configSchema.js +441 -0
  228. package/src/constants/fieldInference.tsx +78 -0
  229. package/src/constants/publishModes.ts +22 -0
  230. package/src/constants/validationErrorTypes.js +6 -0
  231. package/src/formats/__tests__/formats.spec.js +87 -0
  232. package/src/formats/__tests__/frontmatter.spec.js +429 -0
  233. package/src/formats/__tests__/toml.spec.js +9 -0
  234. package/src/formats/__tests__/yaml.spec.js +162 -0
  235. package/src/formats/formats.ts +97 -0
  236. package/src/formats/frontmatter.ts +150 -0
  237. package/src/formats/helpers.ts +14 -0
  238. package/src/formats/json.ts +9 -0
  239. package/src/formats/toml.ts +33 -0
  240. package/src/formats/yaml.ts +58 -0
  241. package/src/index.js +8 -0
  242. package/src/integrations/index.js +35 -0
  243. package/src/integrations/providers/algolia/implementation.js +176 -0
  244. package/src/integrations/providers/assetStore/implementation.js +148 -0
  245. package/src/lib/__tests__/formatters.spec.js +751 -0
  246. package/src/lib/__tests__/i18n.spec.js +792 -0
  247. package/src/lib/__tests__/phrases.spec.js +119 -0
  248. package/src/lib/__tests__/registry.spec.js +261 -0
  249. package/src/lib/__tests__/serializeEntryValues.spec.js +22 -0
  250. package/src/lib/__tests__/urlHelper.spec.js +138 -0
  251. package/src/lib/consoleError.js +7 -0
  252. package/src/lib/formatters.ts +286 -0
  253. package/src/lib/i18n.ts +454 -0
  254. package/src/lib/phrases.js +8 -0
  255. package/src/lib/polyfill.js +9 -0
  256. package/src/lib/registry.js +312 -0
  257. package/src/lib/serializeEntryValues.js +75 -0
  258. package/src/lib/stega.ts +145 -0
  259. package/src/lib/textHelper.js +11 -0
  260. package/src/lib/urlHelper.ts +128 -0
  261. package/src/mediaLibrary.ts +51 -0
  262. package/src/reducers/__tests__/auth.spec.ts +38 -0
  263. package/src/reducers/__tests__/collections.spec.js +610 -0
  264. package/src/reducers/__tests__/config.spec.js +38 -0
  265. package/src/reducers/__tests__/entries.spec.js +694 -0
  266. package/src/reducers/__tests__/entryDraft.spec.js +297 -0
  267. package/src/reducers/__tests__/globalUI.js +43 -0
  268. package/src/reducers/__tests__/integrations.spec.ts +76 -0
  269. package/src/reducers/__tests__/mediaLibrary.spec.js +154 -0
  270. package/src/reducers/__tests__/medias.spec.ts +49 -0
  271. package/src/reducers/auth.ts +46 -0
  272. package/src/reducers/collections.ts +535 -0
  273. package/src/reducers/combinedReducer.ts +11 -0
  274. package/src/reducers/config.ts +38 -0
  275. package/src/reducers/cursors.js +36 -0
  276. package/src/reducers/deploys.ts +52 -0
  277. package/src/reducers/editorialWorkflow.ts +163 -0
  278. package/src/reducers/entries.ts +819 -0
  279. package/src/reducers/entryDraft.js +260 -0
  280. package/src/reducers/globalUI.ts +45 -0
  281. package/src/reducers/index.ts +82 -0
  282. package/src/reducers/integrations.ts +59 -0
  283. package/src/reducers/mediaLibrary.ts +296 -0
  284. package/src/reducers/medias.ts +66 -0
  285. package/src/reducers/notifications.ts +52 -0
  286. package/src/reducers/search.ts +111 -0
  287. package/src/reducers/status.ts +40 -0
  288. package/src/redux/index.ts +18 -0
  289. package/src/redux/middleware/waitUntilAction.ts +64 -0
  290. package/src/routing/__tests__/history.spec.ts +49 -0
  291. package/src/routing/history.ts +17 -0
  292. package/src/types/diacritics.d.ts +1 -0
  293. package/src/types/global.d.ts +8 -0
  294. package/src/types/immutable.ts +49 -0
  295. package/src/types/redux.ts +827 -0
  296. package/src/types/tomlify-j0.4.d.ts +13 -0
  297. package/src/valueObjects/AssetProxy.ts +48 -0
  298. package/src/valueObjects/EditorComponent.js +38 -0
  299. package/src/valueObjects/Entry.ts +63 -0
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { translate } from 'react-polyglot';
3
+ import { Dropdown, DropdownItem } from 'decap-cms-ui-default';
4
+ import { ControlButton } from './ControlButton';
5
+ import { jsx as ___EmotionJSX } from "@emotion/react";
6
+ function GroupControl({
7
+ viewGroups,
8
+ t,
9
+ onGroupClick,
10
+ group
11
+ }) {
12
+ const hasActiveGroup = group?.valueSeq().toJS().some(f => f.active === true);
13
+ return ___EmotionJSX(Dropdown, {
14
+ renderButton: () => {
15
+ return ___EmotionJSX(ControlButton, {
16
+ active: hasActiveGroup,
17
+ title: t('collection.collectionTop.groupBy')
18
+ });
19
+ },
20
+ closeOnSelection: false,
21
+ dropdownTopOverlap: "30px",
22
+ dropdownWidth: "160px",
23
+ dropdownPosition: "left"
24
+ }, viewGroups.map(viewGroup => {
25
+ return ___EmotionJSX(DropdownItem, {
26
+ key: viewGroup.id,
27
+ label: viewGroup.label,
28
+ onClick: () => onGroupClick(viewGroup),
29
+ isActive: group.getIn([viewGroup.id, 'active'], false)
30
+ });
31
+ }));
32
+ }
33
+ export default translate()(GroupControl);
@@ -0,0 +1,308 @@
1
+ import _styled from "@emotion/styled/base";
2
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
+ import React from 'react';
4
+ import { List } from 'immutable';
5
+ import { css } from '@emotion/react';
6
+ import { connect } from 'react-redux';
7
+ import { NavLink } from 'react-router-dom';
8
+ import { dirname, sep } from 'path';
9
+ import { stringTemplate } from 'decap-cms-lib-widgets';
10
+ import { Icon, colors, components } from 'decap-cms-ui-default';
11
+ import PropTypes from 'prop-types';
12
+ import ImmutablePropTypes from 'react-immutable-proptypes';
13
+ import sortBy from 'lodash/sortBy';
14
+ import { selectEntries } from '../../reducers/entries';
15
+ import { selectEntryCollectionTitle } from '../../reducers/collections';
16
+ import { jsx as ___EmotionJSX } from "@emotion/react";
17
+ const {
18
+ addFileTemplateFields
19
+ } = stringTemplate;
20
+ const NodeTitleContainer = /*#__PURE__*/_styled("div", {
21
+ target: "e1674r195",
22
+ label: "NodeTitleContainer"
23
+ })(process.env.NODE_ENV === "production" ? {
24
+ name: "1vcob1d",
25
+ styles: "display:flex;justify-content:center;align-items:center"
26
+ } : {
27
+ name: "1vcob1d",
28
+ styles: "display:flex;justify-content:center;align-items:center/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQnFDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBzZXAgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHN0cmluZ1RlbXBsYXRlIH0gZnJvbSAnZGVjYXAtY21zLWxpYi13aWRnZXRzJztcbmltcG9ydCB7IEljb24sIGNvbG9ycywgY29tcG9uZW50cyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHNvcnRCeSBmcm9tICdsb2Rhc2gvc29ydEJ5JztcblxuaW1wb3J0IHsgc2VsZWN0RW50cmllcyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0RW50cnlDb2xsZWN0aW9uVGl0bGUgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IHsgYWRkRmlsZVRlbXBsYXRlRmllbGRzIH0gPSBzdHJpbmdUZW1wbGF0ZTtcblxuY29uc3QgTm9kZVRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBOb2RlVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IENhcmV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbmA7XG5cbmNvbnN0IENhcmV0RG93biA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldERvd259O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuYDtcblxuY29uc3QgQ2FyZXRSaWdodCA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldFJpZ2h0fTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbGVmdDogMnB4O1xuYDtcblxuY29uc3QgVHJlZU5hdkxpbmsgPSBzdHlsZWQoTmF2TGluaylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMuZGVwdGggKiAxNiArIDE4fXB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cbiAgJHtJY29ufSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAke3Byb3BzID0+IGNzc2BcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICYuJHtwcm9wcy5hY3RpdmVDbGFzc05hbWV9IHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQ4NjNjNjtcbiAgICB9XG4gIGB9O1xuYDtcblxuZnVuY3Rpb24gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pIHtcbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogd2hlbiBgbmVzdGVkLnN1YmZvbGRlcnNgIGlzIHRydWUoZGVmYXVsdCkgb3IgdW5kZWZpbmVkLFxuICAvLyBkaXJlY3Rvcnkgbm9kZXMgc2hvdWxkIHVzZSB0aGUgdGl0bGUgb2YgdGhlaXIgaW5kZXggZW50cnkuXG4gIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBmb2xkZXIgbmFtZSBhbHJlYWR5IHN0b3JlZCBpbiBgbm9kZS50aXRsZWAuXG4gIGNvbnN0IHN1YmZvbGRlcnMgPSBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1YmZvbGRlcnMnXSkgIT09IGZhbHNlO1xuICBpZiAoIW5vZGUuaXNSb290ICYmIG5vZGUuaXNEaXIgJiYgc3ViZm9sZGVycykge1xuICAgIGNvbnN0IGluZGV4Q2hpbGQgPSBub2RlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gIWNoaWxkLmlzRGlyKTtcbiAgICBpZiAoaW5kZXhDaGlsZCAmJiBpbmRleENoaWxkLnRpdGxlKSB7XG4gICAgICByZXR1cm4gaW5kZXhDaGlsZC50aXRsZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGl0bGU7XG59XG5cbmZ1bmN0aW9uIFRyZWVOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJlZURhdGEsIGRlcHRoID0gMCwgb25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGNvbGxlY3Rpb24uZ2V0KCduYW1lJyk7XG5cbiAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRCeSh0cmVlRGF0YSwgbm9kZSA9PiBnZXROb2RlVGl0bGUobm9kZSwgY29sbGVjdGlvbikpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gY29sbGVjdGlvbi5nZXQoJ25lc3RlZCcpPy5nZXQoJ3N1YmZvbGRlcnMnKSAhPT0gZmFsc2U7XG4gIHJldHVybiBzb3J0ZWREYXRhLm1hcChub2RlID0+IHtcbiAgICBjb25zdCBsZWFmID1cbiAgICAgIGRlcHRoID4gMCAmJlxuICAgICAgKHN1YmZvbGRlcnNcbiAgICAgICAgPyBub2RlLmNoaWxkcmVuLmxlbmd0aCA8PSAxICYmICFub2RlLmNoaWxkcmVuWzBdPy5pc0RpclxuICAgICAgICA6IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKTtcbiAgICBpZiAobGVhZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB0byA9IGAvY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uTmFtZX1gO1xuICAgIGlmIChkZXB0aCA+IDApIHtcbiAgICAgIHRvID0gYCR7dG99L2ZpbHRlciR7bm9kZS5wYXRofWA7XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPVxuICAgICAgZGVwdGggPT09IDAgfHxcbiAgICAgIChzdWJmb2xkZXJzXG4gICAgICAgID8gbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpXG4gICAgICAgIDogbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e25vZGUucGF0aH0+XG4gICAgICAgIDxUcmVlTmF2TGlua1xuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgdG89e3RvfVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT1cInNpZGViYXItYWN0aXZlXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSh7IG5vZGUsIGV4cGFuZGVkOiAhbm9kZS5leHBhbmRlZCB9KX1cbiAgICAgICAgICBkZXB0aD17ZGVwdGh9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e25vZGUucGF0aH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJ3cml0ZVwiIC8+XG4gICAgICAgICAgPE5vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxOb2RlVGl0bGU+e3RpdGxlfTwvTm9kZVRpdGxlPlxuICAgICAgICAgICAge2hhc0NoaWxkcmVuICYmIChub2RlLmV4cGFuZGVkID8gPENhcmV0RG93biAvPiA6IDxDYXJldFJpZ2h0IC8+KX1cbiAgICAgICAgICA8L05vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9UcmVlTmF2TGluaz5cbiAgICAgICAge25vZGUuZXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxUcmVlTm9kZVxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGRlcHRoPXtkZXB0aCArIDF9XG4gICAgICAgICAgICB0cmVlRGF0YT17bm9kZS5jaGlsZHJlbn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9KTtcbn1cblxuVHJlZU5vZGUucHJvcFR5cGVzID0ge1xuICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGRlcHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0cmVlRGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGsodHJlZURhdGEsIGNhbGxiYWNrKSB7XG4gIGZ1bmN0aW9uIHRyYXZlcnNlKGNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgdHJhdmVyc2UoY2hpbGQuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZSh0cmVlRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmVlRGF0YShjb2xsZWN0aW9uLCBlbnRyaWVzKSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gIGNvbnN0IHJvb3RGb2xkZXIgPSAnLyc7XG4gIGNvbnN0IGVudHJpZXNPYmogPSBlbnRyaWVzXG4gICAgLnRvSlMoKVxuICAgIC5tYXAoZSA9PiAoeyAuLi5lLCBwYXRoOiBlLnBhdGguc2xpY2UoY29sbGVjdGlvbkZvbGRlci5sZW5ndGgpIH0pKTtcblxuICBjb25zdCBkaXJzID0gZW50cmllc09iai5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBsZXQgZGlyID0gZGlybmFtZShlbnRyeS5wYXRoKTtcbiAgICB3aGlsZSAoIWFjY1tkaXJdICYmIGRpciAmJiBkaXIgIT09IHJvb3RGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyLnNwbGl0KHNlcCk7XG4gICAgICBhY2NbZGlyXSA9IHBhcnRzLnBvcCgpO1xuICAgICAgZGlyID0gcGFydHMubGVuZ3RoICYmIHBhcnRzLmpvaW4oc2VwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGlmIChjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpIHtcbiAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5zZXQoJ3N1bW1hcnknLCBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmRlbGV0ZSgnc3VtbWFyeScpO1xuICB9XG5cbiAgY29uc3QgZmxhdERhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgcGF0aDogcm9vdEZvbGRlcixcbiAgICAgIGlzRGlyOiB0cnVlLFxuICAgICAgaXNSb290OiB0cnVlLFxuICAgIH0sXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZGlycykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICB0aXRsZTogdmFsdWUsXG4gICAgICBwYXRoOiBrZXksXG4gICAgICBpc0RpcjogdHJ1ZSxcbiAgICAgIGlzUm9vdDogZmFsc2UsXG4gICAgfSkpLFxuICAgIC4uLmVudHJpZXNPYmoubWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVudHJ5TWFwID0gZW50cmllcy5nZXQoaW5kZXgpO1xuICAgICAgZW50cnlNYXAgPSBlbnRyeU1hcC5zZXQoXG4gICAgICAgICdkYXRhJyxcbiAgICAgICAgYWRkRmlsZVRlbXBsYXRlRmllbGRzKGVudHJ5TWFwLmdldCgncGF0aCcpLCBlbnRyeU1hcC5nZXQoJ2RhdGEnKSksXG4gICAgICApO1xuICAgICAgY29uc3QgdGl0bGUgPSBzZWxlY3RFbnRyeUNvbGxlY3Rpb25UaXRsZShjb2xsZWN0aW9uLCBlbnRyeU1hcCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNEaXI6IGZhbHNlLFxuICAgICAgICBpc1Jvb3Q6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBwYXJlbnRzVG9DaGlsZHJlbiA9IGZsYXREYXRhLnJlZHVjZSgoYWNjLCBub2RlKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXRoID09PSByb290Rm9sZGVyID8gJycgOiBkaXJuYW1lKG5vZGUucGF0aCk7XG4gICAgaWYgKGFjY1twYXJlbnRdKSB7XG4gICAgICBhY2NbcGFyZW50XS5wdXNoKG5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFyZW50XSA9IFtub2RlXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGZ1bmN0aW9uIHJlZHVjZXIoYWNjLCB2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZTtcbiAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICBpZiAocGFyZW50c1RvQ2hpbGRyZW5bbm9kZS5wYXRoXSkge1xuICAgICAgY2hpbGRyZW4gPSBwYXJlbnRzVG9DaGlsZHJlbltub2RlLnBhdGhdLnJlZHVjZShyZWR1Y2VyLCBbXSk7XG4gICAgfVxuXG4gICAgYWNjLnB1c2goeyAuLi5ub2RlLCBjaGlsZHJlbiB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdHJlZURhdGEgPSBwYXJlbnRzVG9DaGlsZHJlblsnJ10ucmVkdWNlKHJlZHVjZXIsIFtdKTtcblxuICByZXR1cm4gdHJlZURhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVOb2RlKHRyZWVEYXRhLCBub2RlLCBjYWxsYmFjaykge1xuICBsZXQgc3RvcCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZXIobm9kZXMpIHtcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAobm9kZXNbaV0ucGF0aCA9PT0gbm9kZS5wYXRoKSB7XG4gICAgICAgIG5vZGVzW2ldID0gY2FsbGJhY2sobm9kZSk7XG4gICAgICAgIHN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICB9XG4gICAgfVxuICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB1cGRhdGVyKG5vZGUuY2hpbGRyZW4pKTtcbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlcihbLi4udHJlZURhdGFdKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5lc3RlZENvbGxlY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICAgIGZpbHRlclRlcm06IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyZWVEYXRhOiBnZXRUcmVlRGF0YSh0aGlzLnByb3BzLmNvbGxlY3Rpb24sIHRoaXMucHJvcHMuZW50cmllcyksXG4gICAgICBzZWxlY3RlZDogbnVsbCxcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKE5lc3RlZENvbGxlY3Rpb24ucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdOZXN0ZWRDb2xsZWN0aW9uJyk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBlbnRyaWVzLCBmaWx0ZXJUZXJtIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uIHx8XG4gICAgICBlbnRyaWVzICE9PSBwcmV2UHJvcHMuZW50cmllcyB8fFxuICAgICAgZmlsdGVyVGVybSAhPT0gcHJldlByb3BzLmZpbHRlclRlcm1cbiAgICApIHtcbiAgICAgIGNvbnN0IGV4cGFuZGVkID0ge307XG4gICAgICB3YWxrKHRoaXMuc3RhdGUudHJlZURhdGEsIG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGV4cGFuZGVkW25vZGUucGF0aF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gZ2V0VHJlZURhdGEoY29sbGVjdGlvbiwgZW50cmllcyk7XG5cbiAgICAgIGNvbnN0IHBhdGggPSBgLyR7ZmlsdGVyVGVybX1gO1xuICAgICAgd2Fsayh0cmVlRGF0YSwgbm9kZSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRlZFtub2RlLnBhdGhdIHx8ICh0aGlzLnN0YXRlLnVzZUZpbHRlciAmJiBwYXRoLnN0YXJ0c1dpdGgobm9kZS5wYXRoKSkpIHtcbiAgICAgICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJlZURhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGUgPSAoeyBub2RlLCBleHBhbmRlZCB9KSA9PiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2VsZWN0ZWQucGF0aCA9PT0gbm9kZS5wYXRoIHx8IGV4cGFuZGVkKSB7XG4gICAgICBjb25zdCB0cmVlRGF0YSA9IHVwZGF0ZU5vZGUodGhpcy5zdGF0ZS50cmVlRGF0YSwgbm9kZSwgbm9kZSA9PiAoe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBleHBhbmRlZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmVlRGF0YSwgc2VsZWN0ZWQ6IG5vZGUsIHVzZUZpbHRlcjogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvbid0IGNvbGxhcHNlIG5vbiBzZWxlY3RlZCBub2RlcyB3aGVuIGNsaWNrZWRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogbm9kZSwgdXNlRmlsdGVyOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdHJlZURhdGEgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIDxUcmVlTm9kZSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSB0cmVlRGF0YT17dHJlZURhdGF9IG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlfSAvPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGUsIG93blByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IGVudHJpZXMgPSBzZWxlY3RFbnRyaWVzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pIHx8IExpc3QoKTtcbiAgcmV0dXJuIHsgZW50cmllcyB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbnVsbCkoTmVzdGVkQ29sbGVjdGlvbik7XG4iXX0= */",
29
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
30
+ });
31
+ const NodeTitle = /*#__PURE__*/_styled("div", {
32
+ target: "e1674r194",
33
+ label: "NodeTitle"
34
+ })(process.env.NODE_ENV === "production" ? {
35
+ name: "qamjgr",
36
+ styles: "margin-right:4px"
37
+ } : {
38
+ name: "qamjgr",
39
+ styles: "margin-right:4px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3QjRCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBzZXAgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHN0cmluZ1RlbXBsYXRlIH0gZnJvbSAnZGVjYXAtY21zLWxpYi13aWRnZXRzJztcbmltcG9ydCB7IEljb24sIGNvbG9ycywgY29tcG9uZW50cyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHNvcnRCeSBmcm9tICdsb2Rhc2gvc29ydEJ5JztcblxuaW1wb3J0IHsgc2VsZWN0RW50cmllcyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0RW50cnlDb2xsZWN0aW9uVGl0bGUgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IHsgYWRkRmlsZVRlbXBsYXRlRmllbGRzIH0gPSBzdHJpbmdUZW1wbGF0ZTtcblxuY29uc3QgTm9kZVRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBOb2RlVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IENhcmV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbmA7XG5cbmNvbnN0IENhcmV0RG93biA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldERvd259O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuYDtcblxuY29uc3QgQ2FyZXRSaWdodCA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldFJpZ2h0fTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbGVmdDogMnB4O1xuYDtcblxuY29uc3QgVHJlZU5hdkxpbmsgPSBzdHlsZWQoTmF2TGluaylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMuZGVwdGggKiAxNiArIDE4fXB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cbiAgJHtJY29ufSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAke3Byb3BzID0+IGNzc2BcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICYuJHtwcm9wcy5hY3RpdmVDbGFzc05hbWV9IHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQ4NjNjNjtcbiAgICB9XG4gIGB9O1xuYDtcblxuZnVuY3Rpb24gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pIHtcbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogd2hlbiBgbmVzdGVkLnN1YmZvbGRlcnNgIGlzIHRydWUoZGVmYXVsdCkgb3IgdW5kZWZpbmVkLFxuICAvLyBkaXJlY3Rvcnkgbm9kZXMgc2hvdWxkIHVzZSB0aGUgdGl0bGUgb2YgdGhlaXIgaW5kZXggZW50cnkuXG4gIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBmb2xkZXIgbmFtZSBhbHJlYWR5IHN0b3JlZCBpbiBgbm9kZS50aXRsZWAuXG4gIGNvbnN0IHN1YmZvbGRlcnMgPSBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1YmZvbGRlcnMnXSkgIT09IGZhbHNlO1xuICBpZiAoIW5vZGUuaXNSb290ICYmIG5vZGUuaXNEaXIgJiYgc3ViZm9sZGVycykge1xuICAgIGNvbnN0IGluZGV4Q2hpbGQgPSBub2RlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gIWNoaWxkLmlzRGlyKTtcbiAgICBpZiAoaW5kZXhDaGlsZCAmJiBpbmRleENoaWxkLnRpdGxlKSB7XG4gICAgICByZXR1cm4gaW5kZXhDaGlsZC50aXRsZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGl0bGU7XG59XG5cbmZ1bmN0aW9uIFRyZWVOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJlZURhdGEsIGRlcHRoID0gMCwgb25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGNvbGxlY3Rpb24uZ2V0KCduYW1lJyk7XG5cbiAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRCeSh0cmVlRGF0YSwgbm9kZSA9PiBnZXROb2RlVGl0bGUobm9kZSwgY29sbGVjdGlvbikpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gY29sbGVjdGlvbi5nZXQoJ25lc3RlZCcpPy5nZXQoJ3N1YmZvbGRlcnMnKSAhPT0gZmFsc2U7XG4gIHJldHVybiBzb3J0ZWREYXRhLm1hcChub2RlID0+IHtcbiAgICBjb25zdCBsZWFmID1cbiAgICAgIGRlcHRoID4gMCAmJlxuICAgICAgKHN1YmZvbGRlcnNcbiAgICAgICAgPyBub2RlLmNoaWxkcmVuLmxlbmd0aCA8PSAxICYmICFub2RlLmNoaWxkcmVuWzBdPy5pc0RpclxuICAgICAgICA6IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKTtcbiAgICBpZiAobGVhZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB0byA9IGAvY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uTmFtZX1gO1xuICAgIGlmIChkZXB0aCA+IDApIHtcbiAgICAgIHRvID0gYCR7dG99L2ZpbHRlciR7bm9kZS5wYXRofWA7XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPVxuICAgICAgZGVwdGggPT09IDAgfHxcbiAgICAgIChzdWJmb2xkZXJzXG4gICAgICAgID8gbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpXG4gICAgICAgIDogbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e25vZGUucGF0aH0+XG4gICAgICAgIDxUcmVlTmF2TGlua1xuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgdG89e3RvfVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT1cInNpZGViYXItYWN0aXZlXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSh7IG5vZGUsIGV4cGFuZGVkOiAhbm9kZS5leHBhbmRlZCB9KX1cbiAgICAgICAgICBkZXB0aD17ZGVwdGh9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e25vZGUucGF0aH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJ3cml0ZVwiIC8+XG4gICAgICAgICAgPE5vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxOb2RlVGl0bGU+e3RpdGxlfTwvTm9kZVRpdGxlPlxuICAgICAgICAgICAge2hhc0NoaWxkcmVuICYmIChub2RlLmV4cGFuZGVkID8gPENhcmV0RG93biAvPiA6IDxDYXJldFJpZ2h0IC8+KX1cbiAgICAgICAgICA8L05vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9UcmVlTmF2TGluaz5cbiAgICAgICAge25vZGUuZXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxUcmVlTm9kZVxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGRlcHRoPXtkZXB0aCArIDF9XG4gICAgICAgICAgICB0cmVlRGF0YT17bm9kZS5jaGlsZHJlbn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9KTtcbn1cblxuVHJlZU5vZGUucHJvcFR5cGVzID0ge1xuICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGRlcHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0cmVlRGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGsodHJlZURhdGEsIGNhbGxiYWNrKSB7XG4gIGZ1bmN0aW9uIHRyYXZlcnNlKGNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgdHJhdmVyc2UoY2hpbGQuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZSh0cmVlRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmVlRGF0YShjb2xsZWN0aW9uLCBlbnRyaWVzKSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gIGNvbnN0IHJvb3RGb2xkZXIgPSAnLyc7XG4gIGNvbnN0IGVudHJpZXNPYmogPSBlbnRyaWVzXG4gICAgLnRvSlMoKVxuICAgIC5tYXAoZSA9PiAoeyAuLi5lLCBwYXRoOiBlLnBhdGguc2xpY2UoY29sbGVjdGlvbkZvbGRlci5sZW5ndGgpIH0pKTtcblxuICBjb25zdCBkaXJzID0gZW50cmllc09iai5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBsZXQgZGlyID0gZGlybmFtZShlbnRyeS5wYXRoKTtcbiAgICB3aGlsZSAoIWFjY1tkaXJdICYmIGRpciAmJiBkaXIgIT09IHJvb3RGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyLnNwbGl0KHNlcCk7XG4gICAgICBhY2NbZGlyXSA9IHBhcnRzLnBvcCgpO1xuICAgICAgZGlyID0gcGFydHMubGVuZ3RoICYmIHBhcnRzLmpvaW4oc2VwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGlmIChjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpIHtcbiAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5zZXQoJ3N1bW1hcnknLCBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmRlbGV0ZSgnc3VtbWFyeScpO1xuICB9XG5cbiAgY29uc3QgZmxhdERhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgcGF0aDogcm9vdEZvbGRlcixcbiAgICAgIGlzRGlyOiB0cnVlLFxuICAgICAgaXNSb290OiB0cnVlLFxuICAgIH0sXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZGlycykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICB0aXRsZTogdmFsdWUsXG4gICAgICBwYXRoOiBrZXksXG4gICAgICBpc0RpcjogdHJ1ZSxcbiAgICAgIGlzUm9vdDogZmFsc2UsXG4gICAgfSkpLFxuICAgIC4uLmVudHJpZXNPYmoubWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVudHJ5TWFwID0gZW50cmllcy5nZXQoaW5kZXgpO1xuICAgICAgZW50cnlNYXAgPSBlbnRyeU1hcC5zZXQoXG4gICAgICAgICdkYXRhJyxcbiAgICAgICAgYWRkRmlsZVRlbXBsYXRlRmllbGRzKGVudHJ5TWFwLmdldCgncGF0aCcpLCBlbnRyeU1hcC5nZXQoJ2RhdGEnKSksXG4gICAgICApO1xuICAgICAgY29uc3QgdGl0bGUgPSBzZWxlY3RFbnRyeUNvbGxlY3Rpb25UaXRsZShjb2xsZWN0aW9uLCBlbnRyeU1hcCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNEaXI6IGZhbHNlLFxuICAgICAgICBpc1Jvb3Q6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBwYXJlbnRzVG9DaGlsZHJlbiA9IGZsYXREYXRhLnJlZHVjZSgoYWNjLCBub2RlKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXRoID09PSByb290Rm9sZGVyID8gJycgOiBkaXJuYW1lKG5vZGUucGF0aCk7XG4gICAgaWYgKGFjY1twYXJlbnRdKSB7XG4gICAgICBhY2NbcGFyZW50XS5wdXNoKG5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFyZW50XSA9IFtub2RlXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGZ1bmN0aW9uIHJlZHVjZXIoYWNjLCB2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZTtcbiAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICBpZiAocGFyZW50c1RvQ2hpbGRyZW5bbm9kZS5wYXRoXSkge1xuICAgICAgY2hpbGRyZW4gPSBwYXJlbnRzVG9DaGlsZHJlbltub2RlLnBhdGhdLnJlZHVjZShyZWR1Y2VyLCBbXSk7XG4gICAgfVxuXG4gICAgYWNjLnB1c2goeyAuLi5ub2RlLCBjaGlsZHJlbiB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdHJlZURhdGEgPSBwYXJlbnRzVG9DaGlsZHJlblsnJ10ucmVkdWNlKHJlZHVjZXIsIFtdKTtcblxuICByZXR1cm4gdHJlZURhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVOb2RlKHRyZWVEYXRhLCBub2RlLCBjYWxsYmFjaykge1xuICBsZXQgc3RvcCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZXIobm9kZXMpIHtcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAobm9kZXNbaV0ucGF0aCA9PT0gbm9kZS5wYXRoKSB7XG4gICAgICAgIG5vZGVzW2ldID0gY2FsbGJhY2sobm9kZSk7XG4gICAgICAgIHN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICB9XG4gICAgfVxuICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB1cGRhdGVyKG5vZGUuY2hpbGRyZW4pKTtcbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlcihbLi4udHJlZURhdGFdKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5lc3RlZENvbGxlY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICAgIGZpbHRlclRlcm06IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyZWVEYXRhOiBnZXRUcmVlRGF0YSh0aGlzLnByb3BzLmNvbGxlY3Rpb24sIHRoaXMucHJvcHMuZW50cmllcyksXG4gICAgICBzZWxlY3RlZDogbnVsbCxcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKE5lc3RlZENvbGxlY3Rpb24ucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdOZXN0ZWRDb2xsZWN0aW9uJyk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBlbnRyaWVzLCBmaWx0ZXJUZXJtIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uIHx8XG4gICAgICBlbnRyaWVzICE9PSBwcmV2UHJvcHMuZW50cmllcyB8fFxuICAgICAgZmlsdGVyVGVybSAhPT0gcHJldlByb3BzLmZpbHRlclRlcm1cbiAgICApIHtcbiAgICAgIGNvbnN0IGV4cGFuZGVkID0ge307XG4gICAgICB3YWxrKHRoaXMuc3RhdGUudHJlZURhdGEsIG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGV4cGFuZGVkW25vZGUucGF0aF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gZ2V0VHJlZURhdGEoY29sbGVjdGlvbiwgZW50cmllcyk7XG5cbiAgICAgIGNvbnN0IHBhdGggPSBgLyR7ZmlsdGVyVGVybX1gO1xuICAgICAgd2Fsayh0cmVlRGF0YSwgbm9kZSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRlZFtub2RlLnBhdGhdIHx8ICh0aGlzLnN0YXRlLnVzZUZpbHRlciAmJiBwYXRoLnN0YXJ0c1dpdGgobm9kZS5wYXRoKSkpIHtcbiAgICAgICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJlZURhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGUgPSAoeyBub2RlLCBleHBhbmRlZCB9KSA9PiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2VsZWN0ZWQucGF0aCA9PT0gbm9kZS5wYXRoIHx8IGV4cGFuZGVkKSB7XG4gICAgICBjb25zdCB0cmVlRGF0YSA9IHVwZGF0ZU5vZGUodGhpcy5zdGF0ZS50cmVlRGF0YSwgbm9kZSwgbm9kZSA9PiAoe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBleHBhbmRlZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmVlRGF0YSwgc2VsZWN0ZWQ6IG5vZGUsIHVzZUZpbHRlcjogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvbid0IGNvbGxhcHNlIG5vbiBzZWxlY3RlZCBub2RlcyB3aGVuIGNsaWNrZWRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogbm9kZSwgdXNlRmlsdGVyOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdHJlZURhdGEgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIDxUcmVlTm9kZSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSB0cmVlRGF0YT17dHJlZURhdGF9IG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlfSAvPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGUsIG93blByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IGVudHJpZXMgPSBzZWxlY3RFbnRyaWVzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pIHx8IExpc3QoKTtcbiAgcmV0dXJuIHsgZW50cmllcyB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbnVsbCkoTmVzdGVkQ29sbGVjdGlvbik7XG4iXX0= */",
40
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
41
+ });
42
+ const Caret = /*#__PURE__*/_styled("div", {
43
+ target: "e1674r193",
44
+ label: "Caret"
45
+ })(process.env.NODE_ENV === "production" ? {
46
+ name: "1lo1a34",
47
+ styles: "position:relative;top:2px"
48
+ } : {
49
+ name: "1lo1a34",
50
+ styles: "position:relative;top:2px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QndCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBzZXAgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHN0cmluZ1RlbXBsYXRlIH0gZnJvbSAnZGVjYXAtY21zLWxpYi13aWRnZXRzJztcbmltcG9ydCB7IEljb24sIGNvbG9ycywgY29tcG9uZW50cyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHNvcnRCeSBmcm9tICdsb2Rhc2gvc29ydEJ5JztcblxuaW1wb3J0IHsgc2VsZWN0RW50cmllcyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0RW50cnlDb2xsZWN0aW9uVGl0bGUgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IHsgYWRkRmlsZVRlbXBsYXRlRmllbGRzIH0gPSBzdHJpbmdUZW1wbGF0ZTtcblxuY29uc3QgTm9kZVRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBOb2RlVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IENhcmV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbmA7XG5cbmNvbnN0IENhcmV0RG93biA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldERvd259O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuYDtcblxuY29uc3QgQ2FyZXRSaWdodCA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldFJpZ2h0fTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbGVmdDogMnB4O1xuYDtcblxuY29uc3QgVHJlZU5hdkxpbmsgPSBzdHlsZWQoTmF2TGluaylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMuZGVwdGggKiAxNiArIDE4fXB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cbiAgJHtJY29ufSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAke3Byb3BzID0+IGNzc2BcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICYuJHtwcm9wcy5hY3RpdmVDbGFzc05hbWV9IHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQ4NjNjNjtcbiAgICB9XG4gIGB9O1xuYDtcblxuZnVuY3Rpb24gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pIHtcbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogd2hlbiBgbmVzdGVkLnN1YmZvbGRlcnNgIGlzIHRydWUoZGVmYXVsdCkgb3IgdW5kZWZpbmVkLFxuICAvLyBkaXJlY3Rvcnkgbm9kZXMgc2hvdWxkIHVzZSB0aGUgdGl0bGUgb2YgdGhlaXIgaW5kZXggZW50cnkuXG4gIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBmb2xkZXIgbmFtZSBhbHJlYWR5IHN0b3JlZCBpbiBgbm9kZS50aXRsZWAuXG4gIGNvbnN0IHN1YmZvbGRlcnMgPSBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1YmZvbGRlcnMnXSkgIT09IGZhbHNlO1xuICBpZiAoIW5vZGUuaXNSb290ICYmIG5vZGUuaXNEaXIgJiYgc3ViZm9sZGVycykge1xuICAgIGNvbnN0IGluZGV4Q2hpbGQgPSBub2RlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gIWNoaWxkLmlzRGlyKTtcbiAgICBpZiAoaW5kZXhDaGlsZCAmJiBpbmRleENoaWxkLnRpdGxlKSB7XG4gICAgICByZXR1cm4gaW5kZXhDaGlsZC50aXRsZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGl0bGU7XG59XG5cbmZ1bmN0aW9uIFRyZWVOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJlZURhdGEsIGRlcHRoID0gMCwgb25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGNvbGxlY3Rpb24uZ2V0KCduYW1lJyk7XG5cbiAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRCeSh0cmVlRGF0YSwgbm9kZSA9PiBnZXROb2RlVGl0bGUobm9kZSwgY29sbGVjdGlvbikpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gY29sbGVjdGlvbi5nZXQoJ25lc3RlZCcpPy5nZXQoJ3N1YmZvbGRlcnMnKSAhPT0gZmFsc2U7XG4gIHJldHVybiBzb3J0ZWREYXRhLm1hcChub2RlID0+IHtcbiAgICBjb25zdCBsZWFmID1cbiAgICAgIGRlcHRoID4gMCAmJlxuICAgICAgKHN1YmZvbGRlcnNcbiAgICAgICAgPyBub2RlLmNoaWxkcmVuLmxlbmd0aCA8PSAxICYmICFub2RlLmNoaWxkcmVuWzBdPy5pc0RpclxuICAgICAgICA6IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKTtcbiAgICBpZiAobGVhZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB0byA9IGAvY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uTmFtZX1gO1xuICAgIGlmIChkZXB0aCA+IDApIHtcbiAgICAgIHRvID0gYCR7dG99L2ZpbHRlciR7bm9kZS5wYXRofWA7XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPVxuICAgICAgZGVwdGggPT09IDAgfHxcbiAgICAgIChzdWJmb2xkZXJzXG4gICAgICAgID8gbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpXG4gICAgICAgIDogbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e25vZGUucGF0aH0+XG4gICAgICAgIDxUcmVlTmF2TGlua1xuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgdG89e3RvfVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT1cInNpZGViYXItYWN0aXZlXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSh7IG5vZGUsIGV4cGFuZGVkOiAhbm9kZS5leHBhbmRlZCB9KX1cbiAgICAgICAgICBkZXB0aD17ZGVwdGh9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e25vZGUucGF0aH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJ3cml0ZVwiIC8+XG4gICAgICAgICAgPE5vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxOb2RlVGl0bGU+e3RpdGxlfTwvTm9kZVRpdGxlPlxuICAgICAgICAgICAge2hhc0NoaWxkcmVuICYmIChub2RlLmV4cGFuZGVkID8gPENhcmV0RG93biAvPiA6IDxDYXJldFJpZ2h0IC8+KX1cbiAgICAgICAgICA8L05vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9UcmVlTmF2TGluaz5cbiAgICAgICAge25vZGUuZXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxUcmVlTm9kZVxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGRlcHRoPXtkZXB0aCArIDF9XG4gICAgICAgICAgICB0cmVlRGF0YT17bm9kZS5jaGlsZHJlbn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9KTtcbn1cblxuVHJlZU5vZGUucHJvcFR5cGVzID0ge1xuICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGRlcHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0cmVlRGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGsodHJlZURhdGEsIGNhbGxiYWNrKSB7XG4gIGZ1bmN0aW9uIHRyYXZlcnNlKGNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgdHJhdmVyc2UoY2hpbGQuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZSh0cmVlRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmVlRGF0YShjb2xsZWN0aW9uLCBlbnRyaWVzKSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gIGNvbnN0IHJvb3RGb2xkZXIgPSAnLyc7XG4gIGNvbnN0IGVudHJpZXNPYmogPSBlbnRyaWVzXG4gICAgLnRvSlMoKVxuICAgIC5tYXAoZSA9PiAoeyAuLi5lLCBwYXRoOiBlLnBhdGguc2xpY2UoY29sbGVjdGlvbkZvbGRlci5sZW5ndGgpIH0pKTtcblxuICBjb25zdCBkaXJzID0gZW50cmllc09iai5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBsZXQgZGlyID0gZGlybmFtZShlbnRyeS5wYXRoKTtcbiAgICB3aGlsZSAoIWFjY1tkaXJdICYmIGRpciAmJiBkaXIgIT09IHJvb3RGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyLnNwbGl0KHNlcCk7XG4gICAgICBhY2NbZGlyXSA9IHBhcnRzLnBvcCgpO1xuICAgICAgZGlyID0gcGFydHMubGVuZ3RoICYmIHBhcnRzLmpvaW4oc2VwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGlmIChjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpIHtcbiAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5zZXQoJ3N1bW1hcnknLCBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmRlbGV0ZSgnc3VtbWFyeScpO1xuICB9XG5cbiAgY29uc3QgZmxhdERhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgcGF0aDogcm9vdEZvbGRlcixcbiAgICAgIGlzRGlyOiB0cnVlLFxuICAgICAgaXNSb290OiB0cnVlLFxuICAgIH0sXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZGlycykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICB0aXRsZTogdmFsdWUsXG4gICAgICBwYXRoOiBrZXksXG4gICAgICBpc0RpcjogdHJ1ZSxcbiAgICAgIGlzUm9vdDogZmFsc2UsXG4gICAgfSkpLFxuICAgIC4uLmVudHJpZXNPYmoubWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVudHJ5TWFwID0gZW50cmllcy5nZXQoaW5kZXgpO1xuICAgICAgZW50cnlNYXAgPSBlbnRyeU1hcC5zZXQoXG4gICAgICAgICdkYXRhJyxcbiAgICAgICAgYWRkRmlsZVRlbXBsYXRlRmllbGRzKGVudHJ5TWFwLmdldCgncGF0aCcpLCBlbnRyeU1hcC5nZXQoJ2RhdGEnKSksXG4gICAgICApO1xuICAgICAgY29uc3QgdGl0bGUgPSBzZWxlY3RFbnRyeUNvbGxlY3Rpb25UaXRsZShjb2xsZWN0aW9uLCBlbnRyeU1hcCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNEaXI6IGZhbHNlLFxuICAgICAgICBpc1Jvb3Q6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBwYXJlbnRzVG9DaGlsZHJlbiA9IGZsYXREYXRhLnJlZHVjZSgoYWNjLCBub2RlKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXRoID09PSByb290Rm9sZGVyID8gJycgOiBkaXJuYW1lKG5vZGUucGF0aCk7XG4gICAgaWYgKGFjY1twYXJlbnRdKSB7XG4gICAgICBhY2NbcGFyZW50XS5wdXNoKG5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFyZW50XSA9IFtub2RlXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGZ1bmN0aW9uIHJlZHVjZXIoYWNjLCB2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZTtcbiAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICBpZiAocGFyZW50c1RvQ2hpbGRyZW5bbm9kZS5wYXRoXSkge1xuICAgICAgY2hpbGRyZW4gPSBwYXJlbnRzVG9DaGlsZHJlbltub2RlLnBhdGhdLnJlZHVjZShyZWR1Y2VyLCBbXSk7XG4gICAgfVxuXG4gICAgYWNjLnB1c2goeyAuLi5ub2RlLCBjaGlsZHJlbiB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdHJlZURhdGEgPSBwYXJlbnRzVG9DaGlsZHJlblsnJ10ucmVkdWNlKHJlZHVjZXIsIFtdKTtcblxuICByZXR1cm4gdHJlZURhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVOb2RlKHRyZWVEYXRhLCBub2RlLCBjYWxsYmFjaykge1xuICBsZXQgc3RvcCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZXIobm9kZXMpIHtcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAobm9kZXNbaV0ucGF0aCA9PT0gbm9kZS5wYXRoKSB7XG4gICAgICAgIG5vZGVzW2ldID0gY2FsbGJhY2sobm9kZSk7XG4gICAgICAgIHN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICB9XG4gICAgfVxuICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB1cGRhdGVyKG5vZGUuY2hpbGRyZW4pKTtcbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlcihbLi4udHJlZURhdGFdKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5lc3RlZENvbGxlY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICAgIGZpbHRlclRlcm06IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyZWVEYXRhOiBnZXRUcmVlRGF0YSh0aGlzLnByb3BzLmNvbGxlY3Rpb24sIHRoaXMucHJvcHMuZW50cmllcyksXG4gICAgICBzZWxlY3RlZDogbnVsbCxcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKE5lc3RlZENvbGxlY3Rpb24ucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdOZXN0ZWRDb2xsZWN0aW9uJyk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBlbnRyaWVzLCBmaWx0ZXJUZXJtIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uIHx8XG4gICAgICBlbnRyaWVzICE9PSBwcmV2UHJvcHMuZW50cmllcyB8fFxuICAgICAgZmlsdGVyVGVybSAhPT0gcHJldlByb3BzLmZpbHRlclRlcm1cbiAgICApIHtcbiAgICAgIGNvbnN0IGV4cGFuZGVkID0ge307XG4gICAgICB3YWxrKHRoaXMuc3RhdGUudHJlZURhdGEsIG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGV4cGFuZGVkW25vZGUucGF0aF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gZ2V0VHJlZURhdGEoY29sbGVjdGlvbiwgZW50cmllcyk7XG5cbiAgICAgIGNvbnN0IHBhdGggPSBgLyR7ZmlsdGVyVGVybX1gO1xuICAgICAgd2Fsayh0cmVlRGF0YSwgbm9kZSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRlZFtub2RlLnBhdGhdIHx8ICh0aGlzLnN0YXRlLnVzZUZpbHRlciAmJiBwYXRoLnN0YXJ0c1dpdGgobm9kZS5wYXRoKSkpIHtcbiAgICAgICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJlZURhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGUgPSAoeyBub2RlLCBleHBhbmRlZCB9KSA9PiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2VsZWN0ZWQucGF0aCA9PT0gbm9kZS5wYXRoIHx8IGV4cGFuZGVkKSB7XG4gICAgICBjb25zdCB0cmVlRGF0YSA9IHVwZGF0ZU5vZGUodGhpcy5zdGF0ZS50cmVlRGF0YSwgbm9kZSwgbm9kZSA9PiAoe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBleHBhbmRlZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmVlRGF0YSwgc2VsZWN0ZWQ6IG5vZGUsIHVzZUZpbHRlcjogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvbid0IGNvbGxhcHNlIG5vbiBzZWxlY3RlZCBub2RlcyB3aGVuIGNsaWNrZWRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogbm9kZSwgdXNlRmlsdGVyOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdHJlZURhdGEgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIDxUcmVlTm9kZSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSB0cmVlRGF0YT17dHJlZURhdGF9IG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlfSAvPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGUsIG93blByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IGVudHJpZXMgPSBzZWxlY3RFbnRyaWVzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pIHx8IExpc3QoKTtcbiAgcmV0dXJuIHsgZW50cmllcyB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbnVsbCkoTmVzdGVkQ29sbGVjdGlvbik7XG4iXX0= */",
51
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
52
+ });
53
+ const CaretDown = /*#__PURE__*/_styled(Caret, {
54
+ target: "e1674r192",
55
+ label: "CaretDown"
56
+ })(components.caretDown, ";color:currentColor;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQytCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBzZXAgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHN0cmluZ1RlbXBsYXRlIH0gZnJvbSAnZGVjYXAtY21zLWxpYi13aWRnZXRzJztcbmltcG9ydCB7IEljb24sIGNvbG9ycywgY29tcG9uZW50cyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHNvcnRCeSBmcm9tICdsb2Rhc2gvc29ydEJ5JztcblxuaW1wb3J0IHsgc2VsZWN0RW50cmllcyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0RW50cnlDb2xsZWN0aW9uVGl0bGUgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IHsgYWRkRmlsZVRlbXBsYXRlRmllbGRzIH0gPSBzdHJpbmdUZW1wbGF0ZTtcblxuY29uc3QgTm9kZVRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBOb2RlVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IENhcmV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbmA7XG5cbmNvbnN0IENhcmV0RG93biA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldERvd259O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuYDtcblxuY29uc3QgQ2FyZXRSaWdodCA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldFJpZ2h0fTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbGVmdDogMnB4O1xuYDtcblxuY29uc3QgVHJlZU5hdkxpbmsgPSBzdHlsZWQoTmF2TGluaylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMuZGVwdGggKiAxNiArIDE4fXB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cbiAgJHtJY29ufSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAke3Byb3BzID0+IGNzc2BcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICYuJHtwcm9wcy5hY3RpdmVDbGFzc05hbWV9IHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQ4NjNjNjtcbiAgICB9XG4gIGB9O1xuYDtcblxuZnVuY3Rpb24gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pIHtcbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogd2hlbiBgbmVzdGVkLnN1YmZvbGRlcnNgIGlzIHRydWUoZGVmYXVsdCkgb3IgdW5kZWZpbmVkLFxuICAvLyBkaXJlY3Rvcnkgbm9kZXMgc2hvdWxkIHVzZSB0aGUgdGl0bGUgb2YgdGhlaXIgaW5kZXggZW50cnkuXG4gIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBmb2xkZXIgbmFtZSBhbHJlYWR5IHN0b3JlZCBpbiBgbm9kZS50aXRsZWAuXG4gIGNvbnN0IHN1YmZvbGRlcnMgPSBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1YmZvbGRlcnMnXSkgIT09IGZhbHNlO1xuICBpZiAoIW5vZGUuaXNSb290ICYmIG5vZGUuaXNEaXIgJiYgc3ViZm9sZGVycykge1xuICAgIGNvbnN0IGluZGV4Q2hpbGQgPSBub2RlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gIWNoaWxkLmlzRGlyKTtcbiAgICBpZiAoaW5kZXhDaGlsZCAmJiBpbmRleENoaWxkLnRpdGxlKSB7XG4gICAgICByZXR1cm4gaW5kZXhDaGlsZC50aXRsZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGl0bGU7XG59XG5cbmZ1bmN0aW9uIFRyZWVOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJlZURhdGEsIGRlcHRoID0gMCwgb25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGNvbGxlY3Rpb24uZ2V0KCduYW1lJyk7XG5cbiAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRCeSh0cmVlRGF0YSwgbm9kZSA9PiBnZXROb2RlVGl0bGUobm9kZSwgY29sbGVjdGlvbikpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gY29sbGVjdGlvbi5nZXQoJ25lc3RlZCcpPy5nZXQoJ3N1YmZvbGRlcnMnKSAhPT0gZmFsc2U7XG4gIHJldHVybiBzb3J0ZWREYXRhLm1hcChub2RlID0+IHtcbiAgICBjb25zdCBsZWFmID1cbiAgICAgIGRlcHRoID4gMCAmJlxuICAgICAgKHN1YmZvbGRlcnNcbiAgICAgICAgPyBub2RlLmNoaWxkcmVuLmxlbmd0aCA8PSAxICYmICFub2RlLmNoaWxkcmVuWzBdPy5pc0RpclxuICAgICAgICA6IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKTtcbiAgICBpZiAobGVhZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB0byA9IGAvY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uTmFtZX1gO1xuICAgIGlmIChkZXB0aCA+IDApIHtcbiAgICAgIHRvID0gYCR7dG99L2ZpbHRlciR7bm9kZS5wYXRofWA7XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPVxuICAgICAgZGVwdGggPT09IDAgfHxcbiAgICAgIChzdWJmb2xkZXJzXG4gICAgICAgID8gbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpXG4gICAgICAgIDogbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e25vZGUucGF0aH0+XG4gICAgICAgIDxUcmVlTmF2TGlua1xuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgdG89e3RvfVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT1cInNpZGViYXItYWN0aXZlXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSh7IG5vZGUsIGV4cGFuZGVkOiAhbm9kZS5leHBhbmRlZCB9KX1cbiAgICAgICAgICBkZXB0aD17ZGVwdGh9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e25vZGUucGF0aH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJ3cml0ZVwiIC8+XG4gICAgICAgICAgPE5vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxOb2RlVGl0bGU+e3RpdGxlfTwvTm9kZVRpdGxlPlxuICAgICAgICAgICAge2hhc0NoaWxkcmVuICYmIChub2RlLmV4cGFuZGVkID8gPENhcmV0RG93biAvPiA6IDxDYXJldFJpZ2h0IC8+KX1cbiAgICAgICAgICA8L05vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9UcmVlTmF2TGluaz5cbiAgICAgICAge25vZGUuZXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxUcmVlTm9kZVxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGRlcHRoPXtkZXB0aCArIDF9XG4gICAgICAgICAgICB0cmVlRGF0YT17bm9kZS5jaGlsZHJlbn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9KTtcbn1cblxuVHJlZU5vZGUucHJvcFR5cGVzID0ge1xuICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGRlcHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0cmVlRGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGsodHJlZURhdGEsIGNhbGxiYWNrKSB7XG4gIGZ1bmN0aW9uIHRyYXZlcnNlKGNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgdHJhdmVyc2UoY2hpbGQuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZSh0cmVlRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmVlRGF0YShjb2xsZWN0aW9uLCBlbnRyaWVzKSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gIGNvbnN0IHJvb3RGb2xkZXIgPSAnLyc7XG4gIGNvbnN0IGVudHJpZXNPYmogPSBlbnRyaWVzXG4gICAgLnRvSlMoKVxuICAgIC5tYXAoZSA9PiAoeyAuLi5lLCBwYXRoOiBlLnBhdGguc2xpY2UoY29sbGVjdGlvbkZvbGRlci5sZW5ndGgpIH0pKTtcblxuICBjb25zdCBkaXJzID0gZW50cmllc09iai5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBsZXQgZGlyID0gZGlybmFtZShlbnRyeS5wYXRoKTtcbiAgICB3aGlsZSAoIWFjY1tkaXJdICYmIGRpciAmJiBkaXIgIT09IHJvb3RGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyLnNwbGl0KHNlcCk7XG4gICAgICBhY2NbZGlyXSA9IHBhcnRzLnBvcCgpO1xuICAgICAgZGlyID0gcGFydHMubGVuZ3RoICYmIHBhcnRzLmpvaW4oc2VwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGlmIChjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpIHtcbiAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5zZXQoJ3N1bW1hcnknLCBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmRlbGV0ZSgnc3VtbWFyeScpO1xuICB9XG5cbiAgY29uc3QgZmxhdERhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgcGF0aDogcm9vdEZvbGRlcixcbiAgICAgIGlzRGlyOiB0cnVlLFxuICAgICAgaXNSb290OiB0cnVlLFxuICAgIH0sXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZGlycykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICB0aXRsZTogdmFsdWUsXG4gICAgICBwYXRoOiBrZXksXG4gICAgICBpc0RpcjogdHJ1ZSxcbiAgICAgIGlzUm9vdDogZmFsc2UsXG4gICAgfSkpLFxuICAgIC4uLmVudHJpZXNPYmoubWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVudHJ5TWFwID0gZW50cmllcy5nZXQoaW5kZXgpO1xuICAgICAgZW50cnlNYXAgPSBlbnRyeU1hcC5zZXQoXG4gICAgICAgICdkYXRhJyxcbiAgICAgICAgYWRkRmlsZVRlbXBsYXRlRmllbGRzKGVudHJ5TWFwLmdldCgncGF0aCcpLCBlbnRyeU1hcC5nZXQoJ2RhdGEnKSksXG4gICAgICApO1xuICAgICAgY29uc3QgdGl0bGUgPSBzZWxlY3RFbnRyeUNvbGxlY3Rpb25UaXRsZShjb2xsZWN0aW9uLCBlbnRyeU1hcCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNEaXI6IGZhbHNlLFxuICAgICAgICBpc1Jvb3Q6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBwYXJlbnRzVG9DaGlsZHJlbiA9IGZsYXREYXRhLnJlZHVjZSgoYWNjLCBub2RlKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXRoID09PSByb290Rm9sZGVyID8gJycgOiBkaXJuYW1lKG5vZGUucGF0aCk7XG4gICAgaWYgKGFjY1twYXJlbnRdKSB7XG4gICAgICBhY2NbcGFyZW50XS5wdXNoKG5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFyZW50XSA9IFtub2RlXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGZ1bmN0aW9uIHJlZHVjZXIoYWNjLCB2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZTtcbiAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICBpZiAocGFyZW50c1RvQ2hpbGRyZW5bbm9kZS5wYXRoXSkge1xuICAgICAgY2hpbGRyZW4gPSBwYXJlbnRzVG9DaGlsZHJlbltub2RlLnBhdGhdLnJlZHVjZShyZWR1Y2VyLCBbXSk7XG4gICAgfVxuXG4gICAgYWNjLnB1c2goeyAuLi5ub2RlLCBjaGlsZHJlbiB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdHJlZURhdGEgPSBwYXJlbnRzVG9DaGlsZHJlblsnJ10ucmVkdWNlKHJlZHVjZXIsIFtdKTtcblxuICByZXR1cm4gdHJlZURhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVOb2RlKHRyZWVEYXRhLCBub2RlLCBjYWxsYmFjaykge1xuICBsZXQgc3RvcCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZXIobm9kZXMpIHtcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAobm9kZXNbaV0ucGF0aCA9PT0gbm9kZS5wYXRoKSB7XG4gICAgICAgIG5vZGVzW2ldID0gY2FsbGJhY2sobm9kZSk7XG4gICAgICAgIHN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICB9XG4gICAgfVxuICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB1cGRhdGVyKG5vZGUuY2hpbGRyZW4pKTtcbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlcihbLi4udHJlZURhdGFdKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5lc3RlZENvbGxlY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICAgIGZpbHRlclRlcm06IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyZWVEYXRhOiBnZXRUcmVlRGF0YSh0aGlzLnByb3BzLmNvbGxlY3Rpb24sIHRoaXMucHJvcHMuZW50cmllcyksXG4gICAgICBzZWxlY3RlZDogbnVsbCxcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKE5lc3RlZENvbGxlY3Rpb24ucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdOZXN0ZWRDb2xsZWN0aW9uJyk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBlbnRyaWVzLCBmaWx0ZXJUZXJtIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uIHx8XG4gICAgICBlbnRyaWVzICE9PSBwcmV2UHJvcHMuZW50cmllcyB8fFxuICAgICAgZmlsdGVyVGVybSAhPT0gcHJldlByb3BzLmZpbHRlclRlcm1cbiAgICApIHtcbiAgICAgIGNvbnN0IGV4cGFuZGVkID0ge307XG4gICAgICB3YWxrKHRoaXMuc3RhdGUudHJlZURhdGEsIG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGV4cGFuZGVkW25vZGUucGF0aF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gZ2V0VHJlZURhdGEoY29sbGVjdGlvbiwgZW50cmllcyk7XG5cbiAgICAgIGNvbnN0IHBhdGggPSBgLyR7ZmlsdGVyVGVybX1gO1xuICAgICAgd2Fsayh0cmVlRGF0YSwgbm9kZSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRlZFtub2RlLnBhdGhdIHx8ICh0aGlzLnN0YXRlLnVzZUZpbHRlciAmJiBwYXRoLnN0YXJ0c1dpdGgobm9kZS5wYXRoKSkpIHtcbiAgICAgICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJlZURhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGUgPSAoeyBub2RlLCBleHBhbmRlZCB9KSA9PiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2VsZWN0ZWQucGF0aCA9PT0gbm9kZS5wYXRoIHx8IGV4cGFuZGVkKSB7XG4gICAgICBjb25zdCB0cmVlRGF0YSA9IHVwZGF0ZU5vZGUodGhpcy5zdGF0ZS50cmVlRGF0YSwgbm9kZSwgbm9kZSA9PiAoe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBleHBhbmRlZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmVlRGF0YSwgc2VsZWN0ZWQ6IG5vZGUsIHVzZUZpbHRlcjogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvbid0IGNvbGxhcHNlIG5vbiBzZWxlY3RlZCBub2RlcyB3aGVuIGNsaWNrZWRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogbm9kZSwgdXNlRmlsdGVyOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdHJlZURhdGEgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIDxUcmVlTm9kZSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSB0cmVlRGF0YT17dHJlZURhdGF9IG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlfSAvPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGUsIG93blByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IGVudHJpZXMgPSBzZWxlY3RFbnRyaWVzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pIHx8IExpc3QoKTtcbiAgcmV0dXJuIHsgZW50cmllcyB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbnVsbCkoTmVzdGVkQ29sbGVjdGlvbik7XG4iXX0= */"));
57
+ const CaretRight = /*#__PURE__*/_styled(Caret, {
58
+ target: "e1674r191",
59
+ label: "CaretRight"
60
+ })(components.caretRight, ";color:currentColor;left:2px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ2dDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBzZXAgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHN0cmluZ1RlbXBsYXRlIH0gZnJvbSAnZGVjYXAtY21zLWxpYi13aWRnZXRzJztcbmltcG9ydCB7IEljb24sIGNvbG9ycywgY29tcG9uZW50cyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHNvcnRCeSBmcm9tICdsb2Rhc2gvc29ydEJ5JztcblxuaW1wb3J0IHsgc2VsZWN0RW50cmllcyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0RW50cnlDb2xsZWN0aW9uVGl0bGUgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IHsgYWRkRmlsZVRlbXBsYXRlRmllbGRzIH0gPSBzdHJpbmdUZW1wbGF0ZTtcblxuY29uc3QgTm9kZVRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBOb2RlVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IENhcmV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbmA7XG5cbmNvbnN0IENhcmV0RG93biA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldERvd259O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuYDtcblxuY29uc3QgQ2FyZXRSaWdodCA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldFJpZ2h0fTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbGVmdDogMnB4O1xuYDtcblxuY29uc3QgVHJlZU5hdkxpbmsgPSBzdHlsZWQoTmF2TGluaylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMuZGVwdGggKiAxNiArIDE4fXB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cbiAgJHtJY29ufSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAke3Byb3BzID0+IGNzc2BcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICYuJHtwcm9wcy5hY3RpdmVDbGFzc05hbWV9IHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQ4NjNjNjtcbiAgICB9XG4gIGB9O1xuYDtcblxuZnVuY3Rpb24gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pIHtcbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogd2hlbiBgbmVzdGVkLnN1YmZvbGRlcnNgIGlzIHRydWUoZGVmYXVsdCkgb3IgdW5kZWZpbmVkLFxuICAvLyBkaXJlY3Rvcnkgbm9kZXMgc2hvdWxkIHVzZSB0aGUgdGl0bGUgb2YgdGhlaXIgaW5kZXggZW50cnkuXG4gIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBmb2xkZXIgbmFtZSBhbHJlYWR5IHN0b3JlZCBpbiBgbm9kZS50aXRsZWAuXG4gIGNvbnN0IHN1YmZvbGRlcnMgPSBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1YmZvbGRlcnMnXSkgIT09IGZhbHNlO1xuICBpZiAoIW5vZGUuaXNSb290ICYmIG5vZGUuaXNEaXIgJiYgc3ViZm9sZGVycykge1xuICAgIGNvbnN0IGluZGV4Q2hpbGQgPSBub2RlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gIWNoaWxkLmlzRGlyKTtcbiAgICBpZiAoaW5kZXhDaGlsZCAmJiBpbmRleENoaWxkLnRpdGxlKSB7XG4gICAgICByZXR1cm4gaW5kZXhDaGlsZC50aXRsZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGl0bGU7XG59XG5cbmZ1bmN0aW9uIFRyZWVOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJlZURhdGEsIGRlcHRoID0gMCwgb25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGNvbGxlY3Rpb24uZ2V0KCduYW1lJyk7XG5cbiAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRCeSh0cmVlRGF0YSwgbm9kZSA9PiBnZXROb2RlVGl0bGUobm9kZSwgY29sbGVjdGlvbikpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gY29sbGVjdGlvbi5nZXQoJ25lc3RlZCcpPy5nZXQoJ3N1YmZvbGRlcnMnKSAhPT0gZmFsc2U7XG4gIHJldHVybiBzb3J0ZWREYXRhLm1hcChub2RlID0+IHtcbiAgICBjb25zdCBsZWFmID1cbiAgICAgIGRlcHRoID4gMCAmJlxuICAgICAgKHN1YmZvbGRlcnNcbiAgICAgICAgPyBub2RlLmNoaWxkcmVuLmxlbmd0aCA8PSAxICYmICFub2RlLmNoaWxkcmVuWzBdPy5pc0RpclxuICAgICAgICA6IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKTtcbiAgICBpZiAobGVhZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB0byA9IGAvY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uTmFtZX1gO1xuICAgIGlmIChkZXB0aCA+IDApIHtcbiAgICAgIHRvID0gYCR7dG99L2ZpbHRlciR7bm9kZS5wYXRofWA7XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPVxuICAgICAgZGVwdGggPT09IDAgfHxcbiAgICAgIChzdWJmb2xkZXJzXG4gICAgICAgID8gbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpXG4gICAgICAgIDogbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e25vZGUucGF0aH0+XG4gICAgICAgIDxUcmVlTmF2TGlua1xuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgdG89e3RvfVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT1cInNpZGViYXItYWN0aXZlXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSh7IG5vZGUsIGV4cGFuZGVkOiAhbm9kZS5leHBhbmRlZCB9KX1cbiAgICAgICAgICBkZXB0aD17ZGVwdGh9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e25vZGUucGF0aH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJ3cml0ZVwiIC8+XG4gICAgICAgICAgPE5vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxOb2RlVGl0bGU+e3RpdGxlfTwvTm9kZVRpdGxlPlxuICAgICAgICAgICAge2hhc0NoaWxkcmVuICYmIChub2RlLmV4cGFuZGVkID8gPENhcmV0RG93biAvPiA6IDxDYXJldFJpZ2h0IC8+KX1cbiAgICAgICAgICA8L05vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9UcmVlTmF2TGluaz5cbiAgICAgICAge25vZGUuZXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxUcmVlTm9kZVxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGRlcHRoPXtkZXB0aCArIDF9XG4gICAgICAgICAgICB0cmVlRGF0YT17bm9kZS5jaGlsZHJlbn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9KTtcbn1cblxuVHJlZU5vZGUucHJvcFR5cGVzID0ge1xuICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGRlcHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0cmVlRGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGsodHJlZURhdGEsIGNhbGxiYWNrKSB7XG4gIGZ1bmN0aW9uIHRyYXZlcnNlKGNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgdHJhdmVyc2UoY2hpbGQuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZSh0cmVlRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmVlRGF0YShjb2xsZWN0aW9uLCBlbnRyaWVzKSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gIGNvbnN0IHJvb3RGb2xkZXIgPSAnLyc7XG4gIGNvbnN0IGVudHJpZXNPYmogPSBlbnRyaWVzXG4gICAgLnRvSlMoKVxuICAgIC5tYXAoZSA9PiAoeyAuLi5lLCBwYXRoOiBlLnBhdGguc2xpY2UoY29sbGVjdGlvbkZvbGRlci5sZW5ndGgpIH0pKTtcblxuICBjb25zdCBkaXJzID0gZW50cmllc09iai5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBsZXQgZGlyID0gZGlybmFtZShlbnRyeS5wYXRoKTtcbiAgICB3aGlsZSAoIWFjY1tkaXJdICYmIGRpciAmJiBkaXIgIT09IHJvb3RGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyLnNwbGl0KHNlcCk7XG4gICAgICBhY2NbZGlyXSA9IHBhcnRzLnBvcCgpO1xuICAgICAgZGlyID0gcGFydHMubGVuZ3RoICYmIHBhcnRzLmpvaW4oc2VwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGlmIChjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpIHtcbiAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5zZXQoJ3N1bW1hcnknLCBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmRlbGV0ZSgnc3VtbWFyeScpO1xuICB9XG5cbiAgY29uc3QgZmxhdERhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgcGF0aDogcm9vdEZvbGRlcixcbiAgICAgIGlzRGlyOiB0cnVlLFxuICAgICAgaXNSb290OiB0cnVlLFxuICAgIH0sXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZGlycykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICB0aXRsZTogdmFsdWUsXG4gICAgICBwYXRoOiBrZXksXG4gICAgICBpc0RpcjogdHJ1ZSxcbiAgICAgIGlzUm9vdDogZmFsc2UsXG4gICAgfSkpLFxuICAgIC4uLmVudHJpZXNPYmoubWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVudHJ5TWFwID0gZW50cmllcy5nZXQoaW5kZXgpO1xuICAgICAgZW50cnlNYXAgPSBlbnRyeU1hcC5zZXQoXG4gICAgICAgICdkYXRhJyxcbiAgICAgICAgYWRkRmlsZVRlbXBsYXRlRmllbGRzKGVudHJ5TWFwLmdldCgncGF0aCcpLCBlbnRyeU1hcC5nZXQoJ2RhdGEnKSksXG4gICAgICApO1xuICAgICAgY29uc3QgdGl0bGUgPSBzZWxlY3RFbnRyeUNvbGxlY3Rpb25UaXRsZShjb2xsZWN0aW9uLCBlbnRyeU1hcCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNEaXI6IGZhbHNlLFxuICAgICAgICBpc1Jvb3Q6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBwYXJlbnRzVG9DaGlsZHJlbiA9IGZsYXREYXRhLnJlZHVjZSgoYWNjLCBub2RlKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXRoID09PSByb290Rm9sZGVyID8gJycgOiBkaXJuYW1lKG5vZGUucGF0aCk7XG4gICAgaWYgKGFjY1twYXJlbnRdKSB7XG4gICAgICBhY2NbcGFyZW50XS5wdXNoKG5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFyZW50XSA9IFtub2RlXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGZ1bmN0aW9uIHJlZHVjZXIoYWNjLCB2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZTtcbiAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICBpZiAocGFyZW50c1RvQ2hpbGRyZW5bbm9kZS5wYXRoXSkge1xuICAgICAgY2hpbGRyZW4gPSBwYXJlbnRzVG9DaGlsZHJlbltub2RlLnBhdGhdLnJlZHVjZShyZWR1Y2VyLCBbXSk7XG4gICAgfVxuXG4gICAgYWNjLnB1c2goeyAuLi5ub2RlLCBjaGlsZHJlbiB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdHJlZURhdGEgPSBwYXJlbnRzVG9DaGlsZHJlblsnJ10ucmVkdWNlKHJlZHVjZXIsIFtdKTtcblxuICByZXR1cm4gdHJlZURhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVOb2RlKHRyZWVEYXRhLCBub2RlLCBjYWxsYmFjaykge1xuICBsZXQgc3RvcCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZXIobm9kZXMpIHtcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAobm9kZXNbaV0ucGF0aCA9PT0gbm9kZS5wYXRoKSB7XG4gICAgICAgIG5vZGVzW2ldID0gY2FsbGJhY2sobm9kZSk7XG4gICAgICAgIHN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICB9XG4gICAgfVxuICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB1cGRhdGVyKG5vZGUuY2hpbGRyZW4pKTtcbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlcihbLi4udHJlZURhdGFdKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5lc3RlZENvbGxlY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICAgIGZpbHRlclRlcm06IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyZWVEYXRhOiBnZXRUcmVlRGF0YSh0aGlzLnByb3BzLmNvbGxlY3Rpb24sIHRoaXMucHJvcHMuZW50cmllcyksXG4gICAgICBzZWxlY3RlZDogbnVsbCxcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKE5lc3RlZENvbGxlY3Rpb24ucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdOZXN0ZWRDb2xsZWN0aW9uJyk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBlbnRyaWVzLCBmaWx0ZXJUZXJtIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uIHx8XG4gICAgICBlbnRyaWVzICE9PSBwcmV2UHJvcHMuZW50cmllcyB8fFxuICAgICAgZmlsdGVyVGVybSAhPT0gcHJldlByb3BzLmZpbHRlclRlcm1cbiAgICApIHtcbiAgICAgIGNvbnN0IGV4cGFuZGVkID0ge307XG4gICAgICB3YWxrKHRoaXMuc3RhdGUudHJlZURhdGEsIG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGV4cGFuZGVkW25vZGUucGF0aF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gZ2V0VHJlZURhdGEoY29sbGVjdGlvbiwgZW50cmllcyk7XG5cbiAgICAgIGNvbnN0IHBhdGggPSBgLyR7ZmlsdGVyVGVybX1gO1xuICAgICAgd2Fsayh0cmVlRGF0YSwgbm9kZSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRlZFtub2RlLnBhdGhdIHx8ICh0aGlzLnN0YXRlLnVzZUZpbHRlciAmJiBwYXRoLnN0YXJ0c1dpdGgobm9kZS5wYXRoKSkpIHtcbiAgICAgICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJlZURhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGUgPSAoeyBub2RlLCBleHBhbmRlZCB9KSA9PiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2VsZWN0ZWQucGF0aCA9PT0gbm9kZS5wYXRoIHx8IGV4cGFuZGVkKSB7XG4gICAgICBjb25zdCB0cmVlRGF0YSA9IHVwZGF0ZU5vZGUodGhpcy5zdGF0ZS50cmVlRGF0YSwgbm9kZSwgbm9kZSA9PiAoe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBleHBhbmRlZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmVlRGF0YSwgc2VsZWN0ZWQ6IG5vZGUsIHVzZUZpbHRlcjogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvbid0IGNvbGxhcHNlIG5vbiBzZWxlY3RlZCBub2RlcyB3aGVuIGNsaWNrZWRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogbm9kZSwgdXNlRmlsdGVyOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdHJlZURhdGEgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIDxUcmVlTm9kZSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSB0cmVlRGF0YT17dHJlZURhdGF9IG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlfSAvPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGUsIG93blByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IGVudHJpZXMgPSBzZWxlY3RFbnRyaWVzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pIHx8IExpc3QoKTtcbiAgcmV0dXJuIHsgZW50cmllcyB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbnVsbCkoTmVzdGVkQ29sbGVjdGlvbik7XG4iXX0= */"));
61
+ const TreeNavLink = /*#__PURE__*/_styled(NavLink, {
62
+ target: "e1674r190",
63
+ label: "TreeNavLink"
64
+ })("display:flex;font-size:14px;font-weight:500;align-items:center;padding:8px;padding-left:", props => props.depth * 16 + 18, "px;border-left:2px solid #fff;", Icon, "{margin-right:4px;flex-shrink:0;}", props => /*#__PURE__*/css("&:hover,&:active,&.", props.activeClassName, "{color:", colors.active, ";background-color:", colors.activeBackground, ";border-left-color:#4863c6;};label:TreeNavLink;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRGdCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBzZXAgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHN0cmluZ1RlbXBsYXRlIH0gZnJvbSAnZGVjYXAtY21zLWxpYi13aWRnZXRzJztcbmltcG9ydCB7IEljb24sIGNvbG9ycywgY29tcG9uZW50cyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHNvcnRCeSBmcm9tICdsb2Rhc2gvc29ydEJ5JztcblxuaW1wb3J0IHsgc2VsZWN0RW50cmllcyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0RW50cnlDb2xsZWN0aW9uVGl0bGUgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IHsgYWRkRmlsZVRlbXBsYXRlRmllbGRzIH0gPSBzdHJpbmdUZW1wbGF0ZTtcblxuY29uc3QgTm9kZVRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBOb2RlVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IENhcmV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbmA7XG5cbmNvbnN0IENhcmV0RG93biA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldERvd259O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuYDtcblxuY29uc3QgQ2FyZXRSaWdodCA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldFJpZ2h0fTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbGVmdDogMnB4O1xuYDtcblxuY29uc3QgVHJlZU5hdkxpbmsgPSBzdHlsZWQoTmF2TGluaylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMuZGVwdGggKiAxNiArIDE4fXB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cbiAgJHtJY29ufSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAke3Byb3BzID0+IGNzc2BcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICYuJHtwcm9wcy5hY3RpdmVDbGFzc05hbWV9IHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQ4NjNjNjtcbiAgICB9XG4gIGB9O1xuYDtcblxuZnVuY3Rpb24gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pIHtcbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogd2hlbiBgbmVzdGVkLnN1YmZvbGRlcnNgIGlzIHRydWUoZGVmYXVsdCkgb3IgdW5kZWZpbmVkLFxuICAvLyBkaXJlY3Rvcnkgbm9kZXMgc2hvdWxkIHVzZSB0aGUgdGl0bGUgb2YgdGhlaXIgaW5kZXggZW50cnkuXG4gIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBmb2xkZXIgbmFtZSBhbHJlYWR5IHN0b3JlZCBpbiBgbm9kZS50aXRsZWAuXG4gIGNvbnN0IHN1YmZvbGRlcnMgPSBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1YmZvbGRlcnMnXSkgIT09IGZhbHNlO1xuICBpZiAoIW5vZGUuaXNSb290ICYmIG5vZGUuaXNEaXIgJiYgc3ViZm9sZGVycykge1xuICAgIGNvbnN0IGluZGV4Q2hpbGQgPSBub2RlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gIWNoaWxkLmlzRGlyKTtcbiAgICBpZiAoaW5kZXhDaGlsZCAmJiBpbmRleENoaWxkLnRpdGxlKSB7XG4gICAgICByZXR1cm4gaW5kZXhDaGlsZC50aXRsZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGl0bGU7XG59XG5cbmZ1bmN0aW9uIFRyZWVOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJlZURhdGEsIGRlcHRoID0gMCwgb25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGNvbGxlY3Rpb24uZ2V0KCduYW1lJyk7XG5cbiAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRCeSh0cmVlRGF0YSwgbm9kZSA9PiBnZXROb2RlVGl0bGUobm9kZSwgY29sbGVjdGlvbikpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gY29sbGVjdGlvbi5nZXQoJ25lc3RlZCcpPy5nZXQoJ3N1YmZvbGRlcnMnKSAhPT0gZmFsc2U7XG4gIHJldHVybiBzb3J0ZWREYXRhLm1hcChub2RlID0+IHtcbiAgICBjb25zdCBsZWFmID1cbiAgICAgIGRlcHRoID4gMCAmJlxuICAgICAgKHN1YmZvbGRlcnNcbiAgICAgICAgPyBub2RlLmNoaWxkcmVuLmxlbmd0aCA8PSAxICYmICFub2RlLmNoaWxkcmVuWzBdPy5pc0RpclxuICAgICAgICA6IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKTtcbiAgICBpZiAobGVhZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB0byA9IGAvY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uTmFtZX1gO1xuICAgIGlmIChkZXB0aCA+IDApIHtcbiAgICAgIHRvID0gYCR7dG99L2ZpbHRlciR7bm9kZS5wYXRofWA7XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPVxuICAgICAgZGVwdGggPT09IDAgfHxcbiAgICAgIChzdWJmb2xkZXJzXG4gICAgICAgID8gbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpXG4gICAgICAgIDogbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e25vZGUucGF0aH0+XG4gICAgICAgIDxUcmVlTmF2TGlua1xuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgdG89e3RvfVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT1cInNpZGViYXItYWN0aXZlXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSh7IG5vZGUsIGV4cGFuZGVkOiAhbm9kZS5leHBhbmRlZCB9KX1cbiAgICAgICAgICBkZXB0aD17ZGVwdGh9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e25vZGUucGF0aH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJ3cml0ZVwiIC8+XG4gICAgICAgICAgPE5vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxOb2RlVGl0bGU+e3RpdGxlfTwvTm9kZVRpdGxlPlxuICAgICAgICAgICAge2hhc0NoaWxkcmVuICYmIChub2RlLmV4cGFuZGVkID8gPENhcmV0RG93biAvPiA6IDxDYXJldFJpZ2h0IC8+KX1cbiAgICAgICAgICA8L05vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9UcmVlTmF2TGluaz5cbiAgICAgICAge25vZGUuZXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxUcmVlTm9kZVxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGRlcHRoPXtkZXB0aCArIDF9XG4gICAgICAgICAgICB0cmVlRGF0YT17bm9kZS5jaGlsZHJlbn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9KTtcbn1cblxuVHJlZU5vZGUucHJvcFR5cGVzID0ge1xuICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGRlcHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0cmVlRGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGsodHJlZURhdGEsIGNhbGxiYWNrKSB7XG4gIGZ1bmN0aW9uIHRyYXZlcnNlKGNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgdHJhdmVyc2UoY2hpbGQuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZSh0cmVlRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmVlRGF0YShjb2xsZWN0aW9uLCBlbnRyaWVzKSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gIGNvbnN0IHJvb3RGb2xkZXIgPSAnLyc7XG4gIGNvbnN0IGVudHJpZXNPYmogPSBlbnRyaWVzXG4gICAgLnRvSlMoKVxuICAgIC5tYXAoZSA9PiAoeyAuLi5lLCBwYXRoOiBlLnBhdGguc2xpY2UoY29sbGVjdGlvbkZvbGRlci5sZW5ndGgpIH0pKTtcblxuICBjb25zdCBkaXJzID0gZW50cmllc09iai5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBsZXQgZGlyID0gZGlybmFtZShlbnRyeS5wYXRoKTtcbiAgICB3aGlsZSAoIWFjY1tkaXJdICYmIGRpciAmJiBkaXIgIT09IHJvb3RGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyLnNwbGl0KHNlcCk7XG4gICAgICBhY2NbZGlyXSA9IHBhcnRzLnBvcCgpO1xuICAgICAgZGlyID0gcGFydHMubGVuZ3RoICYmIHBhcnRzLmpvaW4oc2VwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGlmIChjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpIHtcbiAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5zZXQoJ3N1bW1hcnknLCBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmRlbGV0ZSgnc3VtbWFyeScpO1xuICB9XG5cbiAgY29uc3QgZmxhdERhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgcGF0aDogcm9vdEZvbGRlcixcbiAgICAgIGlzRGlyOiB0cnVlLFxuICAgICAgaXNSb290OiB0cnVlLFxuICAgIH0sXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZGlycykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICB0aXRsZTogdmFsdWUsXG4gICAgICBwYXRoOiBrZXksXG4gICAgICBpc0RpcjogdHJ1ZSxcbiAgICAgIGlzUm9vdDogZmFsc2UsXG4gICAgfSkpLFxuICAgIC4uLmVudHJpZXNPYmoubWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVudHJ5TWFwID0gZW50cmllcy5nZXQoaW5kZXgpO1xuICAgICAgZW50cnlNYXAgPSBlbnRyeU1hcC5zZXQoXG4gICAgICAgICdkYXRhJyxcbiAgICAgICAgYWRkRmlsZVRlbXBsYXRlRmllbGRzKGVudHJ5TWFwLmdldCgncGF0aCcpLCBlbnRyeU1hcC5nZXQoJ2RhdGEnKSksXG4gICAgICApO1xuICAgICAgY29uc3QgdGl0bGUgPSBzZWxlY3RFbnRyeUNvbGxlY3Rpb25UaXRsZShjb2xsZWN0aW9uLCBlbnRyeU1hcCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNEaXI6IGZhbHNlLFxuICAgICAgICBpc1Jvb3Q6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBwYXJlbnRzVG9DaGlsZHJlbiA9IGZsYXREYXRhLnJlZHVjZSgoYWNjLCBub2RlKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXRoID09PSByb290Rm9sZGVyID8gJycgOiBkaXJuYW1lKG5vZGUucGF0aCk7XG4gICAgaWYgKGFjY1twYXJlbnRdKSB7XG4gICAgICBhY2NbcGFyZW50XS5wdXNoKG5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFyZW50XSA9IFtub2RlXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGZ1bmN0aW9uIHJlZHVjZXIoYWNjLCB2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZTtcbiAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICBpZiAocGFyZW50c1RvQ2hpbGRyZW5bbm9kZS5wYXRoXSkge1xuICAgICAgY2hpbGRyZW4gPSBwYXJlbnRzVG9DaGlsZHJlbltub2RlLnBhdGhdLnJlZHVjZShyZWR1Y2VyLCBbXSk7XG4gICAgfVxuXG4gICAgYWNjLnB1c2goeyAuLi5ub2RlLCBjaGlsZHJlbiB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdHJlZURhdGEgPSBwYXJlbnRzVG9DaGlsZHJlblsnJ10ucmVkdWNlKHJlZHVjZXIsIFtdKTtcblxuICByZXR1cm4gdHJlZURhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVOb2RlKHRyZWVEYXRhLCBub2RlLCBjYWxsYmFjaykge1xuICBsZXQgc3RvcCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZXIobm9kZXMpIHtcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAobm9kZXNbaV0ucGF0aCA9PT0gbm9kZS5wYXRoKSB7XG4gICAgICAgIG5vZGVzW2ldID0gY2FsbGJhY2sobm9kZSk7XG4gICAgICAgIHN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICB9XG4gICAgfVxuICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB1cGRhdGVyKG5vZGUuY2hpbGRyZW4pKTtcbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlcihbLi4udHJlZURhdGFdKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5lc3RlZENvbGxlY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICAgIGZpbHRlclRlcm06IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyZWVEYXRhOiBnZXRUcmVlRGF0YSh0aGlzLnByb3BzLmNvbGxlY3Rpb24sIHRoaXMucHJvcHMuZW50cmllcyksXG4gICAgICBzZWxlY3RlZDogbnVsbCxcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKE5lc3RlZENvbGxlY3Rpb24ucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdOZXN0ZWRDb2xsZWN0aW9uJyk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBlbnRyaWVzLCBmaWx0ZXJUZXJtIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uIHx8XG4gICAgICBlbnRyaWVzICE9PSBwcmV2UHJvcHMuZW50cmllcyB8fFxuICAgICAgZmlsdGVyVGVybSAhPT0gcHJldlByb3BzLmZpbHRlclRlcm1cbiAgICApIHtcbiAgICAgIGNvbnN0IGV4cGFuZGVkID0ge307XG4gICAgICB3YWxrKHRoaXMuc3RhdGUudHJlZURhdGEsIG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGV4cGFuZGVkW25vZGUucGF0aF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gZ2V0VHJlZURhdGEoY29sbGVjdGlvbiwgZW50cmllcyk7XG5cbiAgICAgIGNvbnN0IHBhdGggPSBgLyR7ZmlsdGVyVGVybX1gO1xuICAgICAgd2Fsayh0cmVlRGF0YSwgbm9kZSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRlZFtub2RlLnBhdGhdIHx8ICh0aGlzLnN0YXRlLnVzZUZpbHRlciAmJiBwYXRoLnN0YXJ0c1dpdGgobm9kZS5wYXRoKSkpIHtcbiAgICAgICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJlZURhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGUgPSAoeyBub2RlLCBleHBhbmRlZCB9KSA9PiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2VsZWN0ZWQucGF0aCA9PT0gbm9kZS5wYXRoIHx8IGV4cGFuZGVkKSB7XG4gICAgICBjb25zdCB0cmVlRGF0YSA9IHVwZGF0ZU5vZGUodGhpcy5zdGF0ZS50cmVlRGF0YSwgbm9kZSwgbm9kZSA9PiAoe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBleHBhbmRlZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmVlRGF0YSwgc2VsZWN0ZWQ6IG5vZGUsIHVzZUZpbHRlcjogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvbid0IGNvbGxhcHNlIG5vbiBzZWxlY3RlZCBub2RlcyB3aGVuIGNsaWNrZWRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogbm9kZSwgdXNlRmlsdGVyOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdHJlZURhdGEgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIDxUcmVlTm9kZSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSB0cmVlRGF0YT17dHJlZURhdGF9IG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlfSAvPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGUsIG93blByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IGVudHJpZXMgPSBzZWxlY3RFbnRyaWVzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pIHx8IExpc3QoKTtcbiAgcmV0dXJuIHsgZW50cmllcyB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbnVsbCkoTmVzdGVkQ29sbGVjdGlvbik7XG4iXX0= */")), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0Q21DIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vTmVzdGVkQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBOYXZMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBzZXAgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHN0cmluZ1RlbXBsYXRlIH0gZnJvbSAnZGVjYXAtY21zLWxpYi13aWRnZXRzJztcbmltcG9ydCB7IEljb24sIGNvbG9ycywgY29tcG9uZW50cyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHNvcnRCeSBmcm9tICdsb2Rhc2gvc29ydEJ5JztcblxuaW1wb3J0IHsgc2VsZWN0RW50cmllcyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0RW50cnlDb2xsZWN0aW9uVGl0bGUgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IHsgYWRkRmlsZVRlbXBsYXRlRmllbGRzIH0gPSBzdHJpbmdUZW1wbGF0ZTtcblxuY29uc3QgTm9kZVRpdGxlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBOb2RlVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IENhcmV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbmA7XG5cbmNvbnN0IENhcmV0RG93biA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldERvd259O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuYDtcblxuY29uc3QgQ2FyZXRSaWdodCA9IHN0eWxlZChDYXJldClgXG4gICR7Y29tcG9uZW50cy5jYXJldFJpZ2h0fTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbGVmdDogMnB4O1xuYDtcblxuY29uc3QgVHJlZU5hdkxpbmsgPSBzdHlsZWQoTmF2TGluaylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMuZGVwdGggKiAxNiArIDE4fXB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cbiAgJHtJY29ufSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAke3Byb3BzID0+IGNzc2BcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICYuJHtwcm9wcy5hY3RpdmVDbGFzc05hbWV9IHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQ4NjNjNjtcbiAgICB9XG4gIGB9O1xuYDtcblxuZnVuY3Rpb24gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pIHtcbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogd2hlbiBgbmVzdGVkLnN1YmZvbGRlcnNgIGlzIHRydWUoZGVmYXVsdCkgb3IgdW5kZWZpbmVkLFxuICAvLyBkaXJlY3Rvcnkgbm9kZXMgc2hvdWxkIHVzZSB0aGUgdGl0bGUgb2YgdGhlaXIgaW5kZXggZW50cnkuXG4gIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBmb2xkZXIgbmFtZSBhbHJlYWR5IHN0b3JlZCBpbiBgbm9kZS50aXRsZWAuXG4gIGNvbnN0IHN1YmZvbGRlcnMgPSBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1YmZvbGRlcnMnXSkgIT09IGZhbHNlO1xuICBpZiAoIW5vZGUuaXNSb290ICYmIG5vZGUuaXNEaXIgJiYgc3ViZm9sZGVycykge1xuICAgIGNvbnN0IGluZGV4Q2hpbGQgPSBub2RlLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gIWNoaWxkLmlzRGlyKTtcbiAgICBpZiAoaW5kZXhDaGlsZCAmJiBpbmRleENoaWxkLnRpdGxlKSB7XG4gICAgICByZXR1cm4gaW5kZXhDaGlsZC50aXRsZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGUudGl0bGU7XG59XG5cbmZ1bmN0aW9uIFRyZWVOb2RlKHByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJlZURhdGEsIGRlcHRoID0gMCwgb25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGNvbGxlY3Rpb24uZ2V0KCduYW1lJyk7XG5cbiAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRCeSh0cmVlRGF0YSwgbm9kZSA9PiBnZXROb2RlVGl0bGUobm9kZSwgY29sbGVjdGlvbikpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gY29sbGVjdGlvbi5nZXQoJ25lc3RlZCcpPy5nZXQoJ3N1YmZvbGRlcnMnKSAhPT0gZmFsc2U7XG4gIHJldHVybiBzb3J0ZWREYXRhLm1hcChub2RlID0+IHtcbiAgICBjb25zdCBsZWFmID1cbiAgICAgIGRlcHRoID4gMCAmJlxuICAgICAgKHN1YmZvbGRlcnNcbiAgICAgICAgPyBub2RlLmNoaWxkcmVuLmxlbmd0aCA8PSAxICYmICFub2RlLmNoaWxkcmVuWzBdPy5pc0RpclxuICAgICAgICA6IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKTtcbiAgICBpZiAobGVhZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB0byA9IGAvY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uTmFtZX1gO1xuICAgIGlmIChkZXB0aCA+IDApIHtcbiAgICAgIHRvID0gYCR7dG99L2ZpbHRlciR7bm9kZS5wYXRofWA7XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gZ2V0Tm9kZVRpdGxlKG5vZGUsIGNvbGxlY3Rpb24pO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPVxuICAgICAgZGVwdGggPT09IDAgfHxcbiAgICAgIChzdWJmb2xkZXJzXG4gICAgICAgID8gbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpXG4gICAgICAgIDogbm9kZS5jaGlsZHJlbi5zb21lKGMgPT4gYy5pc0RpcikpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e25vZGUucGF0aH0+XG4gICAgICAgIDxUcmVlTmF2TGlua1xuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgdG89e3RvfVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT1cInNpZGViYXItYWN0aXZlXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSh7IG5vZGUsIGV4cGFuZGVkOiAhbm9kZS5leHBhbmRlZCB9KX1cbiAgICAgICAgICBkZXB0aD17ZGVwdGh9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e25vZGUucGF0aH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJ3cml0ZVwiIC8+XG4gICAgICAgICAgPE5vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxOb2RlVGl0bGU+e3RpdGxlfTwvTm9kZVRpdGxlPlxuICAgICAgICAgICAge2hhc0NoaWxkcmVuICYmIChub2RlLmV4cGFuZGVkID8gPENhcmV0RG93biAvPiA6IDxDYXJldFJpZ2h0IC8+KX1cbiAgICAgICAgICA8L05vZGVUaXRsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9UcmVlTmF2TGluaz5cbiAgICAgICAge25vZGUuZXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxUcmVlTm9kZVxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGRlcHRoPXtkZXB0aCArIDF9XG4gICAgICAgICAgICB0cmVlRGF0YT17bm9kZS5jaGlsZHJlbn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9KTtcbn1cblxuVHJlZU5vZGUucHJvcFR5cGVzID0ge1xuICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGRlcHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICB0cmVlRGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9uVG9nZ2xlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGsodHJlZURhdGEsIGNhbGxiYWNrKSB7XG4gIGZ1bmN0aW9uIHRyYXZlcnNlKGNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgdHJhdmVyc2UoY2hpbGQuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZSh0cmVlRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmVlRGF0YShjb2xsZWN0aW9uLCBlbnRyaWVzKSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gIGNvbnN0IHJvb3RGb2xkZXIgPSAnLyc7XG4gIGNvbnN0IGVudHJpZXNPYmogPSBlbnRyaWVzXG4gICAgLnRvSlMoKVxuICAgIC5tYXAoZSA9PiAoeyAuLi5lLCBwYXRoOiBlLnBhdGguc2xpY2UoY29sbGVjdGlvbkZvbGRlci5sZW5ndGgpIH0pKTtcblxuICBjb25zdCBkaXJzID0gZW50cmllc09iai5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBsZXQgZGlyID0gZGlybmFtZShlbnRyeS5wYXRoKTtcbiAgICB3aGlsZSAoIWFjY1tkaXJdICYmIGRpciAmJiBkaXIgIT09IHJvb3RGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyLnNwbGl0KHNlcCk7XG4gICAgICBhY2NbZGlyXSA9IHBhcnRzLnBvcCgpO1xuICAgICAgZGlyID0gcGFydHMubGVuZ3RoICYmIHBhcnRzLmpvaW4oc2VwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGlmIChjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpIHtcbiAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5zZXQoJ3N1bW1hcnknLCBjb2xsZWN0aW9uLmdldEluKFsnbmVzdGVkJywgJ3N1bW1hcnknXSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmRlbGV0ZSgnc3VtbWFyeScpO1xuICB9XG5cbiAgY29uc3QgZmxhdERhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgcGF0aDogcm9vdEZvbGRlcixcbiAgICAgIGlzRGlyOiB0cnVlLFxuICAgICAgaXNSb290OiB0cnVlLFxuICAgIH0sXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZGlycykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICB0aXRsZTogdmFsdWUsXG4gICAgICBwYXRoOiBrZXksXG4gICAgICBpc0RpcjogdHJ1ZSxcbiAgICAgIGlzUm9vdDogZmFsc2UsXG4gICAgfSkpLFxuICAgIC4uLmVudHJpZXNPYmoubWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVudHJ5TWFwID0gZW50cmllcy5nZXQoaW5kZXgpO1xuICAgICAgZW50cnlNYXAgPSBlbnRyeU1hcC5zZXQoXG4gICAgICAgICdkYXRhJyxcbiAgICAgICAgYWRkRmlsZVRlbXBsYXRlRmllbGRzKGVudHJ5TWFwLmdldCgncGF0aCcpLCBlbnRyeU1hcC5nZXQoJ2RhdGEnKSksXG4gICAgICApO1xuICAgICAgY29uc3QgdGl0bGUgPSBzZWxlY3RFbnRyeUNvbGxlY3Rpb25UaXRsZShjb2xsZWN0aW9uLCBlbnRyeU1hcCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNEaXI6IGZhbHNlLFxuICAgICAgICBpc1Jvb3Q6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBwYXJlbnRzVG9DaGlsZHJlbiA9IGZsYXREYXRhLnJlZHVjZSgoYWNjLCBub2RlKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXRoID09PSByb290Rm9sZGVyID8gJycgOiBkaXJuYW1lKG5vZGUucGF0aCk7XG4gICAgaWYgKGFjY1twYXJlbnRdKSB7XG4gICAgICBhY2NbcGFyZW50XS5wdXNoKG5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFyZW50XSA9IFtub2RlXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIGZ1bmN0aW9uIHJlZHVjZXIoYWNjLCB2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZTtcbiAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICBpZiAocGFyZW50c1RvQ2hpbGRyZW5bbm9kZS5wYXRoXSkge1xuICAgICAgY2hpbGRyZW4gPSBwYXJlbnRzVG9DaGlsZHJlbltub2RlLnBhdGhdLnJlZHVjZShyZWR1Y2VyLCBbXSk7XG4gICAgfVxuXG4gICAgYWNjLnB1c2goeyAuLi5ub2RlLCBjaGlsZHJlbiB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgY29uc3QgdHJlZURhdGEgPSBwYXJlbnRzVG9DaGlsZHJlblsnJ10ucmVkdWNlKHJlZHVjZXIsIFtdKTtcblxuICByZXR1cm4gdHJlZURhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVOb2RlKHRyZWVEYXRhLCBub2RlLCBjYWxsYmFjaykge1xuICBsZXQgc3RvcCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZXIobm9kZXMpIHtcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAobm9kZXNbaV0ucGF0aCA9PT0gbm9kZS5wYXRoKSB7XG4gICAgICAgIG5vZGVzW2ldID0gY2FsbGJhY2sobm9kZSk7XG4gICAgICAgIHN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICB9XG4gICAgfVxuICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB1cGRhdGVyKG5vZGUuY2hpbGRyZW4pKTtcbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlcihbLi4udHJlZURhdGFdKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5lc3RlZENvbGxlY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICAgIGZpbHRlclRlcm06IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyZWVEYXRhOiBnZXRUcmVlRGF0YSh0aGlzLnByb3BzLmNvbGxlY3Rpb24sIHRoaXMucHJvcHMuZW50cmllcyksXG4gICAgICBzZWxlY3RlZDogbnVsbCxcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKE5lc3RlZENvbGxlY3Rpb24ucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdOZXN0ZWRDb2xsZWN0aW9uJyk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBlbnRyaWVzLCBmaWx0ZXJUZXJtIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uIHx8XG4gICAgICBlbnRyaWVzICE9PSBwcmV2UHJvcHMuZW50cmllcyB8fFxuICAgICAgZmlsdGVyVGVybSAhPT0gcHJldlByb3BzLmZpbHRlclRlcm1cbiAgICApIHtcbiAgICAgIGNvbnN0IGV4cGFuZGVkID0ge307XG4gICAgICB3YWxrKHRoaXMuc3RhdGUudHJlZURhdGEsIG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGV4cGFuZGVkW25vZGUucGF0aF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gZ2V0VHJlZURhdGEoY29sbGVjdGlvbiwgZW50cmllcyk7XG5cbiAgICAgIGNvbnN0IHBhdGggPSBgLyR7ZmlsdGVyVGVybX1gO1xuICAgICAgd2Fsayh0cmVlRGF0YSwgbm9kZSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRlZFtub2RlLnBhdGhdIHx8ICh0aGlzLnN0YXRlLnVzZUZpbHRlciAmJiBwYXRoLnN0YXJ0c1dpdGgobm9kZS5wYXRoKSkpIHtcbiAgICAgICAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJlZURhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGUgPSAoeyBub2RlLCBleHBhbmRlZCB9KSA9PiB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc2VsZWN0ZWQucGF0aCA9PT0gbm9kZS5wYXRoIHx8IGV4cGFuZGVkKSB7XG4gICAgICBjb25zdCB0cmVlRGF0YSA9IHVwZGF0ZU5vZGUodGhpcy5zdGF0ZS50cmVlRGF0YSwgbm9kZSwgbm9kZSA9PiAoe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBleHBhbmRlZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmVlRGF0YSwgc2VsZWN0ZWQ6IG5vZGUsIHVzZUZpbHRlcjogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvbid0IGNvbGxhcHNlIG5vbiBzZWxlY3RlZCBub2RlcyB3aGVuIGNsaWNrZWRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZDogbm9kZSwgdXNlRmlsdGVyOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdHJlZURhdGEgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIDxUcmVlTm9kZSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSB0cmVlRGF0YT17dHJlZURhdGF9IG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlfSAvPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGUsIG93blByb3BzKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IGVudHJpZXMgPSBzZWxlY3RFbnRyaWVzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pIHx8IExpc3QoKTtcbiAgcmV0dXJuIHsgZW50cmllcyB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbnVsbCkoTmVzdGVkQ29sbGVjdGlvbik7XG4iXX0= */"));
65
+ function getNodeTitle(node, collection) {
66
+ // Backward compatibility: when `nested.subfolders` is true(default) or undefined,
67
+ // directory nodes should use the title of their index entry.
68
+ // Otherwise, use the folder name already stored in `node.title`.
69
+ const subfolders = collection.getIn(['nested', 'subfolders']) !== false;
70
+ if (!node.isRoot && node.isDir && subfolders) {
71
+ const indexChild = node.children.find(child => !child.isDir);
72
+ if (indexChild && indexChild.title) {
73
+ return indexChild.title;
74
+ }
75
+ }
76
+ return node.title;
77
+ }
78
+ function TreeNode(props) {
79
+ const {
80
+ collection,
81
+ treeData,
82
+ depth = 0,
83
+ onToggle
84
+ } = props;
85
+ const collectionName = collection.get('name');
86
+ const sortedData = sortBy(treeData, node => getNodeTitle(node, collection));
87
+ const subfolders = collection.get('nested')?.get('subfolders') !== false;
88
+ return sortedData.map(node => {
89
+ const leaf = depth > 0 && (subfolders ? node.children.length <= 1 && !node.children[0]?.isDir : node.children.length === 0);
90
+ if (leaf) {
91
+ return null;
92
+ }
93
+ let to = `/collections/${collectionName}`;
94
+ if (depth > 0) {
95
+ to = `${to}/filter${node.path}`;
96
+ }
97
+ const title = getNodeTitle(node, collection);
98
+ const hasChildren = depth === 0 || (subfolders ? node.children.some(c => c.children.some(c => c.isDir)) : node.children.some(c => c.isDir));
99
+ return ___EmotionJSX(React.Fragment, {
100
+ key: node.path
101
+ }, ___EmotionJSX(TreeNavLink, {
102
+ exact: true,
103
+ to: to,
104
+ activeClassName: "sidebar-active",
105
+ onClick: () => onToggle({
106
+ node,
107
+ expanded: !node.expanded
108
+ }),
109
+ depth: depth,
110
+ "data-testid": node.path
111
+ }, ___EmotionJSX(Icon, {
112
+ type: "write"
113
+ }), ___EmotionJSX(NodeTitleContainer, null, ___EmotionJSX(NodeTitle, null, title), hasChildren && (node.expanded ? ___EmotionJSX(CaretDown, null) : ___EmotionJSX(CaretRight, null)))), node.expanded && ___EmotionJSX(TreeNode, {
114
+ collection: collection,
115
+ depth: depth + 1,
116
+ treeData: node.children,
117
+ onToggle: onToggle
118
+ }));
119
+ });
120
+ }
121
+ TreeNode.propTypes = {
122
+ collection: ImmutablePropTypes.map.isRequired,
123
+ depth: PropTypes.number,
124
+ treeData: PropTypes.array.isRequired,
125
+ onToggle: PropTypes.func.isRequired
126
+ };
127
+ export function walk(treeData, callback) {
128
+ function traverse(children) {
129
+ for (const child of children) {
130
+ callback(child);
131
+ traverse(child.children);
132
+ }
133
+ }
134
+ return traverse(treeData);
135
+ }
136
+ export function getTreeData(collection, entries) {
137
+ const collectionFolder = collection.get('folder');
138
+ const rootFolder = '/';
139
+ const entriesObj = entries.toJS().map(e => ({
140
+ ...e,
141
+ path: e.path.slice(collectionFolder.length)
142
+ }));
143
+ const dirs = entriesObj.reduce((acc, entry) => {
144
+ let dir = dirname(entry.path);
145
+ while (!acc[dir] && dir && dir !== rootFolder) {
146
+ const parts = dir.split(sep);
147
+ acc[dir] = parts.pop();
148
+ dir = parts.length && parts.join(sep);
149
+ }
150
+ return acc;
151
+ }, {});
152
+ if (collection.getIn(['nested', 'summary'])) {
153
+ collection = collection.set('summary', collection.getIn(['nested', 'summary']));
154
+ } else {
155
+ collection = collection.delete('summary');
156
+ }
157
+ const flatData = [{
158
+ title: collection.get('label'),
159
+ path: rootFolder,
160
+ isDir: true,
161
+ isRoot: true
162
+ }, ...Object.entries(dirs).map(([key, value]) => ({
163
+ title: value,
164
+ path: key,
165
+ isDir: true,
166
+ isRoot: false
167
+ })), ...entriesObj.map((e, index) => {
168
+ let entryMap = entries.get(index);
169
+ entryMap = entryMap.set('data', addFileTemplateFields(entryMap.get('path'), entryMap.get('data')));
170
+ const title = selectEntryCollectionTitle(collection, entryMap);
171
+ return {
172
+ ...e,
173
+ title,
174
+ isDir: false,
175
+ isRoot: false
176
+ };
177
+ })];
178
+ const parentsToChildren = flatData.reduce((acc, node) => {
179
+ const parent = node.path === rootFolder ? '' : dirname(node.path);
180
+ if (acc[parent]) {
181
+ acc[parent].push(node);
182
+ } else {
183
+ acc[parent] = [node];
184
+ }
185
+ return acc;
186
+ }, {});
187
+ function reducer(acc, value) {
188
+ const node = value;
189
+ let children = [];
190
+ if (parentsToChildren[node.path]) {
191
+ children = parentsToChildren[node.path].reduce(reducer, []);
192
+ }
193
+ acc.push({
194
+ ...node,
195
+ children
196
+ });
197
+ return acc;
198
+ }
199
+ const treeData = parentsToChildren[''].reduce(reducer, []);
200
+ return treeData;
201
+ }
202
+ export function updateNode(treeData, node, callback) {
203
+ let stop = false;
204
+ function updater(nodes) {
205
+ if (stop) {
206
+ return nodes;
207
+ }
208
+ for (let i = 0; i < nodes.length; i++) {
209
+ if (nodes[i].path === node.path) {
210
+ nodes[i] = callback(node);
211
+ stop = true;
212
+ return nodes;
213
+ }
214
+ }
215
+ nodes.forEach(node => updater(node.children));
216
+ return nodes;
217
+ }
218
+ return updater([...treeData]);
219
+ }
220
+ export class NestedCollection extends React.Component {
221
+ static propTypes = {
222
+ collection: ImmutablePropTypes.map.isRequired,
223
+ entries: ImmutablePropTypes.list.isRequired,
224
+ filterTerm: PropTypes.string
225
+ };
226
+ constructor(props) {
227
+ super(props);
228
+ this.state = {
229
+ treeData: getTreeData(this.props.collection, this.props.entries),
230
+ selected: null,
231
+ useFilter: true
232
+ };
233
+ }
234
+ componentDidMount() {
235
+ // Manually validate PropTypes - React 19 breaking change
236
+ PropTypes.checkPropTypes(NestedCollection.propTypes, this.props, 'prop', 'NestedCollection');
237
+ }
238
+ componentDidUpdate(prevProps) {
239
+ const {
240
+ collection,
241
+ entries,
242
+ filterTerm
243
+ } = this.props;
244
+ if (collection !== prevProps.collection || entries !== prevProps.entries || filterTerm !== prevProps.filterTerm) {
245
+ const expanded = {};
246
+ walk(this.state.treeData, node => {
247
+ if (node.expanded) {
248
+ expanded[node.path] = true;
249
+ }
250
+ });
251
+ const treeData = getTreeData(collection, entries);
252
+ const path = `/${filterTerm}`;
253
+ walk(treeData, node => {
254
+ if (expanded[node.path] || this.state.useFilter && path.startsWith(node.path)) {
255
+ node.expanded = true;
256
+ }
257
+ });
258
+ this.setState({
259
+ treeData
260
+ });
261
+ }
262
+ }
263
+ onToggle = ({
264
+ node,
265
+ expanded
266
+ }) => {
267
+ if (!this.state.selected || this.state.selected.path === node.path || expanded) {
268
+ const treeData = updateNode(this.state.treeData, node, node => ({
269
+ ...node,
270
+ expanded
271
+ }));
272
+ this.setState({
273
+ treeData,
274
+ selected: node,
275
+ useFilter: false
276
+ });
277
+ } else {
278
+ // don't collapse non selected nodes when clicked
279
+ this.setState({
280
+ selected: node,
281
+ useFilter: false
282
+ });
283
+ }
284
+ };
285
+ render() {
286
+ const {
287
+ treeData
288
+ } = this.state;
289
+ const {
290
+ collection
291
+ } = this.props;
292
+ return ___EmotionJSX(TreeNode, {
293
+ collection: collection,
294
+ treeData: treeData,
295
+ onToggle: this.onToggle
296
+ });
297
+ }
298
+ }
299
+ function mapStateToProps(state, ownProps) {
300
+ const {
301
+ collection
302
+ } = ownProps;
303
+ const entries = selectEntries(state.entries, collection) || List();
304
+ return {
305
+ entries
306
+ };
307
+ }
308
+ export default connect(mapStateToProps, null)(NestedCollection);