@payloadcms/ui 3.0.0-alpha.15 → 3.0.0-alpha.17

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 (441) hide show
  1. package/dist/@types/assets.d.js +0 -1
  2. package/dist/config.js +2 -12
  3. package/dist/elements/ArrayAction/index.js +25 -81
  4. package/dist/elements/ArrayAction/types.js +2 -5
  5. package/dist/elements/Autosave/index.js +37 -92
  6. package/dist/elements/Autosave/types.js +2 -5
  7. package/dist/elements/Banner/index.js +10 -34
  8. package/dist/elements/Banner/types.js +2 -5
  9. package/dist/elements/Button/index.js +30 -89
  10. package/dist/elements/Button/types.js +2 -5
  11. package/dist/elements/Card/index.js +9 -24
  12. package/dist/elements/Card/types.js +2 -5
  13. package/dist/elements/CodeEditor/CodeEditor.js +10 -25
  14. package/dist/elements/CodeEditor/index.js +8 -59
  15. package/dist/elements/CodeEditor/types.js +2 -5
  16. package/dist/elements/Collapsible/index.js +26 -82
  17. package/dist/elements/Collapsible/provider.js +7 -66
  18. package/dist/elements/Collapsible/types.js +2 -5
  19. package/dist/elements/ColumnSelector/index.js +20 -76
  20. package/dist/elements/ColumnSelector/types.js +2 -5
  21. package/dist/elements/CopyToClipboard/index.js +14 -65
  22. package/dist/elements/CopyToClipboard/types.js +2 -5
  23. package/dist/elements/DatePicker/DatePicker.js +19 -75
  24. package/dist/elements/DatePicker/index.js +8 -59
  25. package/dist/elements/DatePicker/types.js +2 -5
  26. package/dist/elements/DeleteDocument/index.js +36 -86
  27. package/dist/elements/DeleteDocument/types.js +2 -5
  28. package/dist/elements/DeleteMany/index.js +38 -102
  29. package/dist/elements/DeleteMany/types.js +2 -5
  30. package/dist/elements/DocumentControls/index.js +46 -102
  31. package/dist/elements/DocumentDrawer/DrawerContent.js +62 -114
  32. package/dist/elements/DocumentDrawer/index.js +33 -98
  33. package/dist/elements/DocumentDrawer/types.js +2 -5
  34. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  35. package/dist/elements/DocumentFields/index.js +16 -31
  36. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +4 -14
  37. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +9 -24
  38. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +9 -68
  39. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +5 -15
  40. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -12
  41. package/dist/elements/DocumentHeader/Tabs/index.js +18 -33
  42. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +8 -23
  43. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +5 -23
  44. package/dist/elements/DocumentHeader/index.js +10 -66
  45. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -66
  46. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -5
  47. package/dist/elements/DraggableSortable/index.js +15 -66
  48. package/dist/elements/DraggableSortable/types.js +2 -5
  49. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +4 -14
  50. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -5
  51. package/dist/elements/Drawer/index.js +32 -94
  52. package/dist/elements/Drawer/types.js +2 -5
  53. package/dist/elements/Drawer/useDrawerSlug.js +8 -18
  54. package/dist/elements/Dropzone/index.js +20 -35
  55. package/dist/elements/DuplicateDocument/index.js +33 -83
  56. package/dist/elements/DuplicateDocument/types.js +2 -5
  57. package/dist/elements/EditMany/index.js +72 -128
  58. package/dist/elements/EditMany/types.js +2 -5
  59. package/dist/elements/EditUpload/index.js +66 -122
  60. package/dist/elements/ErrorPill/index.js +7 -22
  61. package/dist/elements/ErrorPill/types.js +2 -5
  62. package/dist/elements/FieldSelect/index.js +23 -79
  63. package/dist/elements/FileDetails/FileMeta/index.js +19 -75
  64. package/dist/elements/FileDetails/FileMeta/types.js +2 -5
  65. package/dist/elements/FileDetails/index.js +15 -30
  66. package/dist/elements/FileDetails/types.js +2 -5
  67. package/dist/elements/GenerateConfirmation/index.js +22 -37
  68. package/dist/elements/GenerateConfirmation/types.js +2 -5
  69. package/dist/elements/GetFilterOptions/index.js +18 -33
  70. package/dist/elements/Gutter/index.js +5 -56
  71. package/dist/elements/Hamburger/index.js +18 -33
  72. package/dist/elements/Header/index.js +39 -95
  73. package/dist/elements/HydrateClientUser/index.js +6 -16
  74. package/dist/elements/IDLabel/index.js +5 -20
  75. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +6 -16
  76. package/dist/elements/ListControls/index.js +52 -104
  77. package/dist/elements/ListControls/types.js +2 -5
  78. package/dist/elements/ListDrawer/DrawerContent.js +72 -128
  79. package/dist/elements/ListDrawer/index.js +32 -100
  80. package/dist/elements/ListDrawer/types.js +2 -5
  81. package/dist/elements/ListSelection/index.js +11 -62
  82. package/dist/elements/Loading/index.js +25 -51
  83. package/dist/elements/LoadingOverlay/index.js +17 -79
  84. package/dist/elements/LoadingOverlay/reducer.js +3 -21
  85. package/dist/elements/LoadingOverlay/types.js +2 -5
  86. package/dist/elements/Localizer/LocalizerLabel/index.js +15 -30
  87. package/dist/elements/Localizer/index.js +24 -80
  88. package/dist/elements/Logout/index.js +13 -28
  89. package/dist/elements/Nav/NavHamburger/index.js +8 -23
  90. package/dist/elements/Nav/NavToggler/index.js +13 -28
  91. package/dist/elements/Nav/NavWrapper/index.js +8 -23
  92. package/dist/elements/Nav/context.js +20 -82
  93. package/dist/elements/Nav/index.js +36 -51
  94. package/dist/elements/NavGroup/index.js +21 -77
  95. package/dist/elements/Pagination/ClickableArrow/index.js +7 -22
  96. package/dist/elements/Pagination/ClickableArrow/types.js +2 -5
  97. package/dist/elements/Pagination/Page/index.js +4 -19
  98. package/dist/elements/Pagination/Page/types.js +2 -5
  99. package/dist/elements/Pagination/Separator/index.js +4 -19
  100. package/dist/elements/Pagination/index.js +20 -35
  101. package/dist/elements/Pagination/types.js +2 -5
  102. package/dist/elements/PerPage/index.js +28 -83
  103. package/dist/elements/Pill/index.js +16 -40
  104. package/dist/elements/Pill/types.js +2 -5
  105. package/dist/elements/Popup/PopupButtonList/index.js +10 -75
  106. package/dist/elements/Popup/PopupTrigger/index.js +6 -21
  107. package/dist/elements/Popup/PopupTrigger/types.js +2 -5
  108. package/dist/elements/Popup/index.js +29 -80
  109. package/dist/elements/Popup/types.js +2 -5
  110. package/dist/elements/PreviewButton/index.js +22 -73
  111. package/dist/elements/PreviewSizes/index.js +24 -80
  112. package/dist/elements/Publish/index.js +23 -79
  113. package/dist/elements/PublishMany/index.js +37 -93
  114. package/dist/elements/PublishMany/types.js +2 -5
  115. package/dist/elements/ReactSelect/ClearIndicator/index.js +7 -22
  116. package/dist/elements/ReactSelect/Control/index.js +5 -20
  117. package/dist/elements/ReactSelect/MultiValue/index.js +8 -23
  118. package/dist/elements/ReactSelect/MultiValueLabel/index.js +7 -22
  119. package/dist/elements/ReactSelect/MultiValueRemove/index.js +12 -27
  120. package/dist/elements/ReactSelect/SingleValue/index.js +5 -20
  121. package/dist/elements/ReactSelect/ValueContainer/index.js +7 -22
  122. package/dist/elements/ReactSelect/index.js +45 -60
  123. package/dist/elements/ReactSelect/types.js +2 -5
  124. package/dist/elements/RenderCustomComponent/index.js +5 -20
  125. package/dist/elements/RenderCustomComponent/types.js +2 -5
  126. package/dist/elements/RenderTitle/index.js +9 -24
  127. package/dist/elements/RenderTitle/types.js +2 -5
  128. package/dist/elements/Save/index.js +16 -72
  129. package/dist/elements/SaveDraft/index.js +24 -80
  130. package/dist/elements/SearchFilter/index.js +31 -86
  131. package/dist/elements/SearchFilter/types.js +2 -5
  132. package/dist/elements/SelectAll/index.js +13 -28
  133. package/dist/elements/SelectRow/index.js +10 -25
  134. package/dist/elements/ShimmerEffect/index.js +12 -71
  135. package/dist/elements/SortColumn/index.js +27 -90
  136. package/dist/elements/SortColumn/types.js +2 -5
  137. package/dist/elements/SortComplex/index.js +35 -90
  138. package/dist/elements/SortComplex/types.js +2 -5
  139. package/dist/elements/Status/index.js +38 -88
  140. package/dist/elements/StayLoggedIn/index.js +20 -34
  141. package/dist/elements/StayLoggedIn/types.js +2 -5
  142. package/dist/elements/StepNav/SetStepNav.js +6 -16
  143. package/dist/elements/StepNav/index.js +27 -93
  144. package/dist/elements/StepNav/types.js +2 -5
  145. package/dist/elements/Table/TableCellProvider/index.js +7 -30
  146. package/dist/elements/Table/index.js +15 -38
  147. package/dist/elements/Table/types.js +2 -5
  148. package/dist/elements/TableColumns/buildColumns.js +7 -22
  149. package/dist/elements/TableColumns/columnReducer.js +2 -12
  150. package/dist/elements/TableColumns/index.js +24 -86
  151. package/dist/elements/Thumbnail/index.js +12 -68
  152. package/dist/elements/Thumbnail/types.js +2 -5
  153. package/dist/elements/ThumbnailCard/index.js +13 -28
  154. package/dist/elements/ThumbnailCard/types.js +2 -5
  155. package/dist/elements/Tooltip/index.js +14 -65
  156. package/dist/elements/Tooltip/types.js +2 -5
  157. package/dist/elements/Translation/index.js +7 -58
  158. package/dist/elements/UnpublishMany/index.js +37 -93
  159. package/dist/elements/UnpublishMany/types.js +2 -5
  160. package/dist/elements/Upload/index.js +57 -127
  161. package/dist/elements/Upload/types.js +2 -5
  162. package/dist/elements/ViewDescription/index.js +12 -27
  163. package/dist/elements/ViewDescription/types.js +4 -19
  164. package/dist/elements/WhereBuilder/Condition/Date/index.js +6 -21
  165. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -5
  166. package/dist/elements/WhereBuilder/Condition/Number/index.js +7 -22
  167. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -5
  168. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +28 -84
  169. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +5 -15
  170. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -5
  171. package/dist/elements/WhereBuilder/Condition/Select/index.js +15 -30
  172. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -5
  173. package/dist/elements/WhereBuilder/Condition/Text/index.js +7 -22
  174. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -5
  175. package/dist/elements/WhereBuilder/Condition/index.js +37 -93
  176. package/dist/elements/WhereBuilder/Condition/types.js +2 -5
  177. package/dist/elements/WhereBuilder/field-types.js +2 -12
  178. package/dist/elements/WhereBuilder/index.js +43 -98
  179. package/dist/elements/WhereBuilder/reducer.js +2 -12
  180. package/dist/elements/WhereBuilder/transformWhereQuery.js +6 -12
  181. package/dist/elements/WhereBuilder/types.js +2 -5
  182. package/dist/elements/WhereBuilder/validateWhereQuery.js +4 -14
  183. package/dist/exports/assets.js +3 -26
  184. package/dist/exports/elements.js +48 -249
  185. package/dist/exports/forms.js +38 -173
  186. package/dist/exports/graphics.js +3 -26
  187. package/dist/exports/hooks.js +10 -54
  188. package/dist/exports/icons.js +18 -81
  189. package/dist/exports/index.js +10 -27
  190. package/dist/exports/providers.js +24 -118
  191. package/dist/exports/templates.js +3 -21
  192. package/dist/exports/types.js +2 -5
  193. package/dist/exports/utilities.js +11 -61
  194. package/dist/forms/Error/index.js +11 -26
  195. package/dist/forms/FieldDescription/index.js +9 -24
  196. package/dist/forms/FieldDescription/types.js +2 -5
  197. package/dist/forms/FieldPathProvider/index.d.ts.map +1 -1
  198. package/dist/forms/FieldPathProvider/index.js +7 -30
  199. package/dist/forms/Form/buildFieldSchemaMap.js +14 -14
  200. package/dist/forms/Form/buildInitialState.js +2 -12
  201. package/dist/forms/Form/context.js +17 -67
  202. package/dist/forms/Form/createNestedFieldPath.js +5 -15
  203. package/dist/forms/Form/errorMessages.js +2 -12
  204. package/dist/forms/Form/fieldReducer.js +25 -38
  205. package/dist/forms/Form/getDataByPath.js +4 -14
  206. package/dist/forms/Form/getSiblingData.js +6 -21
  207. package/dist/forms/Form/index.js +85 -141
  208. package/dist/forms/Form/initContextState.js +2 -12
  209. package/dist/forms/Form/mergeServerFormState.js +4 -14
  210. package/dist/forms/Form/reduceFieldsToValues.js +4 -14
  211. package/dist/forms/Form/rows.js +3 -21
  212. package/dist/forms/Form/types.js +2 -5
  213. package/dist/forms/Label/index.js +9 -24
  214. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  215. package/dist/forms/NullifyField/index.js +16 -72
  216. package/dist/forms/ReadOnlyProvider/index.d.ts +7 -0
  217. package/dist/forms/ReadOnlyProvider/index.d.ts.map +1 -0
  218. package/dist/forms/ReadOnlyProvider/index.js +15 -0
  219. package/dist/forms/RenderFields/RenderField.d.ts +3 -0
  220. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  221. package/dist/forms/RenderFields/RenderField.js +22 -23
  222. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  223. package/dist/forms/RenderFields/index.js +16 -29
  224. package/dist/forms/RenderFields/types.d.ts +2 -0
  225. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  226. package/dist/forms/RenderFields/types.js +2 -5
  227. package/dist/forms/RowLabel/index.js +13 -28
  228. package/dist/forms/RowLabel/types.js +4 -19
  229. package/dist/forms/Submit/index.js +11 -62
  230. package/dist/forms/WatchChildErrors/buildPathSegments.js +2 -12
  231. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +2 -12
  232. package/dist/forms/WatchChildErrors/getNestedFieldState.js +5 -14
  233. package/dist/forms/WatchChildErrors/index.js +11 -26
  234. package/dist/forms/fields/Array/ArrayRow.d.ts.map +1 -1
  235. package/dist/forms/fields/Array/ArrayRow.js +24 -39
  236. package/dist/forms/fields/Array/index.js +59 -115
  237. package/dist/forms/fields/Array/types.js +2 -5
  238. package/dist/forms/fields/Blocks/BlockRow.js +27 -42
  239. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +10 -25
  240. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +29 -85
  241. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +2 -5
  242. package/dist/forms/fields/Blocks/RowActions.js +12 -27
  243. package/dist/forms/fields/Blocks/SectionTitle/index.js +10 -25
  244. package/dist/forms/fields/Blocks/SectionTitle/types.js +2 -5
  245. package/dist/forms/fields/Blocks/index.js +78 -133
  246. package/dist/forms/fields/Blocks/types.js +2 -5
  247. package/dist/forms/fields/Checkbox/Input.js +11 -34
  248. package/dist/forms/fields/Checkbox/index.js +19 -75
  249. package/dist/forms/fields/Checkbox/types.js +2 -5
  250. package/dist/forms/fields/Code/index.js +15 -71
  251. package/dist/forms/fields/Code/types.js +2 -5
  252. package/dist/forms/fields/Collapsible/index.js +31 -87
  253. package/dist/forms/fields/Collapsible/types.js +2 -5
  254. package/dist/forms/fields/ConfirmPassword/index.js +19 -75
  255. package/dist/forms/fields/ConfirmPassword/types.js +2 -5
  256. package/dist/forms/fields/DateTime/index.js +18 -74
  257. package/dist/forms/fields/DateTime/types.js +2 -5
  258. package/dist/forms/fields/Email/index.js +19 -83
  259. package/dist/forms/fields/Email/types.js +2 -5
  260. package/dist/forms/fields/Group/index.js +32 -88
  261. package/dist/forms/fields/Group/provider.js +7 -69
  262. package/dist/forms/fields/Group/types.js +2 -5
  263. package/dist/forms/fields/HiddenInput/index.js +8 -64
  264. package/dist/forms/fields/HiddenInput/types.js +2 -5
  265. package/dist/forms/fields/JSON/index.js +20 -76
  266. package/dist/forms/fields/JSON/types.js +2 -5
  267. package/dist/forms/fields/Number/index.js +26 -82
  268. package/dist/forms/fields/Number/types.js +2 -5
  269. package/dist/forms/fields/Password/index.js +15 -79
  270. package/dist/forms/fields/Password/types.js +2 -5
  271. package/dist/forms/fields/Point/index.js +24 -80
  272. package/dist/forms/fields/Point/types.js +2 -5
  273. package/dist/forms/fields/RadioGroup/Radio/index.js +13 -28
  274. package/dist/forms/fields/RadioGroup/index.js +23 -79
  275. package/dist/forms/fields/RadioGroup/types.js +2 -5
  276. package/dist/forms/fields/Relationship/AddNew/index.js +43 -99
  277. package/dist/forms/fields/Relationship/AddNew/types.js +2 -5
  278. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +6 -16
  279. package/dist/forms/fields/Relationship/createRelationMap.js +2 -12
  280. package/dist/forms/fields/Relationship/findOptionsByValue.js +2 -12
  281. package/dist/forms/fields/Relationship/index.js +64 -120
  282. package/dist/forms/fields/Relationship/optionsReducer.js +7 -17
  283. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +21 -72
  284. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +22 -73
  285. package/dist/forms/fields/Relationship/types.js +2 -5
  286. package/dist/forms/fields/RichText/index.js +2 -12
  287. package/dist/forms/fields/RichText/types.js +2 -5
  288. package/dist/forms/fields/Row/index.js +11 -26
  289. package/dist/forms/fields/Row/provider.js +7 -69
  290. package/dist/forms/fields/Row/types.js +2 -5
  291. package/dist/forms/fields/Select/index.js +24 -88
  292. package/dist/forms/fields/Select/types.js +2 -5
  293. package/dist/forms/fields/Tabs/Tab/index.js +13 -64
  294. package/dist/forms/fields/Tabs/index.d.ts.map +1 -1
  295. package/dist/forms/fields/Tabs/index.js +35 -91
  296. package/dist/forms/fields/Tabs/provider.js +7 -69
  297. package/dist/forms/fields/Tabs/types.js +2 -5
  298. package/dist/forms/fields/Text/Input.js +14 -29
  299. package/dist/forms/fields/Text/index.d.ts.map +1 -1
  300. package/dist/forms/fields/Text/index.js +22 -80
  301. package/dist/forms/fields/Text/types.js +2 -5
  302. package/dist/forms/fields/Textarea/Input.js +15 -30
  303. package/dist/forms/fields/Textarea/index.d.ts.map +1 -1
  304. package/dist/forms/fields/Textarea/index.js +21 -77
  305. package/dist/forms/fields/Textarea/types.js +2 -5
  306. package/dist/forms/fields/UI/index.js +2 -12
  307. package/dist/forms/fields/Upload/Input.js +35 -91
  308. package/dist/forms/fields/Upload/index.js +14 -70
  309. package/dist/forms/fields/Upload/types.js +2 -5
  310. package/dist/forms/fields/getFilterOptionsQuery.js +2 -12
  311. package/dist/forms/fields/index.js +50 -65
  312. package/dist/forms/fields/shared.d.ts +2 -1
  313. package/dist/forms/fields/shared.d.ts.map +1 -1
  314. package/dist/forms/fields/shared.js +7 -21
  315. package/dist/forms/useField/index.d.ts.map +1 -1
  316. package/dist/forms/useField/index.js +30 -41
  317. package/dist/forms/useField/types.d.ts +1 -0
  318. package/dist/forms/useField/types.d.ts.map +1 -1
  319. package/dist/forms/useField/types.js +2 -5
  320. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +21 -33
  321. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +5 -14
  322. package/dist/forms/utilities/buildStateFromSchema/index.js +4 -14
  323. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +8 -16
  324. package/dist/forms/withCondition/WatchCondition.js +7 -57
  325. package/dist/forms/withCondition/index.js +8 -23
  326. package/dist/graphics/Account/Default/index.js +7 -22
  327. package/dist/graphics/Account/Gravatar/index.js +10 -25
  328. package/dist/graphics/Account/index.js +15 -30
  329. package/dist/graphics/DefaultBlockImage/index.js +11 -62
  330. package/dist/graphics/ExternalLink/index.js +5 -20
  331. package/dist/graphics/File/index.js +7 -22
  332. package/dist/graphics/Icon/index.js +13 -28
  333. package/dist/graphics/Logo/index.js +15 -30
  334. package/dist/graphics/Search/index.js +6 -21
  335. package/dist/hooks/useAdminThumbnail.js +5 -15
  336. package/dist/hooks/useDebounce.js +6 -16
  337. package/dist/hooks/useDebouncedCallback.js +10 -15
  338. package/dist/hooks/useDebouncedEffect.js +6 -16
  339. package/dist/hooks/useDelay.js +7 -58
  340. package/dist/hooks/useDelayedRender.js +11 -62
  341. package/dist/hooks/useHotkey.js +10 -20
  342. package/dist/hooks/useIntersect.js +7 -17
  343. package/dist/hooks/usePayloadAPI.js +17 -32
  344. package/dist/hooks/useResize.js +5 -15
  345. package/dist/hooks/useThrottledEffect.js +5 -15
  346. package/dist/hooks/useThumbnail.js +8 -18
  347. package/dist/hooks/useUseAsTitle.js +6 -16
  348. package/dist/icons/Calendar/index.js +8 -23
  349. package/dist/icons/Check/index.js +6 -21
  350. package/dist/icons/Chevron/index.js +5 -20
  351. package/dist/icons/CloseMenu/index.js +6 -21
  352. package/dist/icons/CodeBlock/index.js +5 -20
  353. package/dist/icons/Copy/index.js +6 -21
  354. package/dist/icons/DragHandle/index.js +10 -25
  355. package/dist/icons/Edit/index.js +7 -22
  356. package/dist/icons/Line/index.js +5 -20
  357. package/dist/icons/Link/index.js +6 -21
  358. package/dist/icons/LogOut/index.js +7 -22
  359. package/dist/icons/Menu/index.js +7 -22
  360. package/dist/icons/MinimizeMaximize/index.js +12 -63
  361. package/dist/icons/More/index.js +7 -22
  362. package/dist/icons/Plus/index.js +6 -21
  363. package/dist/icons/Search/index.js +6 -21
  364. package/dist/icons/Swap/index.js +8 -23
  365. package/dist/icons/X/index.js +6 -21
  366. package/dist/index.js +2 -19
  367. package/dist/providers/ActionsProvider/SetViewActions/index.js +6 -16
  368. package/dist/providers/ActionsProvider/index.js +11 -70
  369. package/dist/providers/Auth/index.d.ts.map +1 -1
  370. package/dist/providers/Auth/index.js +51 -127
  371. package/dist/providers/Auth/types.js +2 -5
  372. package/dist/providers/ClientFunction/index.js +14 -40
  373. package/dist/providers/ComponentMapProvider/index.js +9 -68
  374. package/dist/providers/Config/index.js +6 -65
  375. package/dist/providers/CustomProvider/index.js +9 -24
  376. package/dist/providers/DocumentEvents/index.js +7 -66
  377. package/dist/providers/DocumentEvents/types.js +2 -5
  378. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +9 -19
  379. package/dist/providers/DocumentInfo/index.js +42 -100
  380. package/dist/providers/DocumentInfo/types.js +2 -5
  381. package/dist/providers/EditDepth/index.js +5 -67
  382. package/dist/providers/FormQueryParams/index.js +7 -69
  383. package/dist/providers/ListInfo/index.js +9 -68
  384. package/dist/providers/ListInfo/types.js +2 -5
  385. package/dist/providers/Locale/index.js +28 -87
  386. package/dist/providers/OperationProvider/index.js +5 -67
  387. package/dist/providers/Params/index.js +9 -67
  388. package/dist/providers/Portal/index.js +4 -19
  389. package/dist/providers/Preferences/index.js +25 -89
  390. package/dist/providers/Root/index.js +31 -82
  391. package/dist/providers/SearchParams/index.js +14 -77
  392. package/dist/providers/SearchParams/types.js +2 -5
  393. package/dist/providers/SelectionProvider/index.js +23 -90
  394. package/dist/providers/Theme/index.js +11 -73
  395. package/dist/providers/Theme/types.js +2 -5
  396. package/dist/providers/Theme/utilities.js +3 -21
  397. package/dist/providers/Translation/index.js +8 -67
  398. package/dist/templates/Default/NavHamburger/index.js +7 -22
  399. package/dist/templates/Default/Wrapper/index.js +7 -22
  400. package/dist/templates/Default/index.js +17 -68
  401. package/dist/templates/Default/types.js +2 -5
  402. package/dist/templates/Minimal/index.js +6 -21
  403. package/dist/templates/Minimal/types.js +2 -5
  404. package/dist/utilities/api.js +4 -19
  405. package/dist/utilities/arraysHaveSameStrings.js +2 -12
  406. package/dist/utilities/buildComponentMap/index.d.ts +2 -5
  407. package/dist/utilities/buildComponentMap/index.d.ts.map +1 -1
  408. package/dist/utilities/buildComponentMap/index.js +22 -36
  409. package/dist/utilities/buildComponentMap/mapActions.js +5 -20
  410. package/dist/utilities/buildComponentMap/mapFields.d.ts +2 -5
  411. package/dist/utilities/buildComponentMap/mapFields.d.ts.map +1 -1
  412. package/dist/utilities/buildComponentMap/mapFields.js +40 -106
  413. package/dist/utilities/buildComponentMap/types.d.ts +3 -0
  414. package/dist/utilities/buildComponentMap/types.d.ts.map +1 -1
  415. package/dist/utilities/buildComponentMap/types.js +2 -5
  416. package/dist/utilities/buildFieldSchemaMap/index.js +5 -15
  417. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +9 -19
  418. package/dist/utilities/buildFieldSchemaMap/types.js +2 -5
  419. package/dist/utilities/canUseDOM.js +2 -12
  420. package/dist/utilities/findLocaleFromCode.js +4 -12
  421. package/dist/utilities/formatDate/getSupportedDateLocale.js +2 -12
  422. package/dist/utilities/formatDate/index.js +10 -69
  423. package/dist/utilities/formatDocTitle.js +6 -16
  424. package/dist/utilities/formatFields.js +3 -13
  425. package/dist/utilities/getFormState.js +2 -12
  426. package/dist/utilities/getOffsetTop.js +2 -12
  427. package/dist/utilities/getRequestLanguage.js +2 -12
  428. package/dist/utilities/getSupportedMonacoLocale.js +2 -12
  429. package/dist/utilities/groupNavItems.js +7 -25
  430. package/dist/utilities/scrollToID.js +2 -12
  431. package/dist/utilities/setsAreEqual.js +2 -12
  432. package/dist/utilities/withMergedProps/index.js +23 -21
  433. package/dist/views/Global/RenderCustomView.js +0 -1
  434. package/package.json +4 -4
  435. package/dist/forms/FieldPathProvider/index.scss +0 -12
  436. package/dist/forms/FieldPathProvider/types.d.ts +0 -7
  437. package/dist/forms/FieldPathProvider/types.d.ts.map +0 -1
  438. package/dist/forms/FieldPathProvider/types.js +0 -6
  439. package/dist/providers/Auth/HydrateClientUser/index.d.ts +0 -7
  440. package/dist/providers/Auth/HydrateClientUser/index.d.ts.map +0 -1
  441. package/dist/providers/Auth/HydrateClientUser/index.js +0 -28
@@ -1,95 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "mapFields", {
6
- enumerable: true,
7
- get: function() {
8
- return mapFields;
9
- }
10
- });
11
- const _types = require("payload/types");
12
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
- const _RenderCustomComponent = require("../../elements/RenderCustomComponent");
14
- const _SortColumn = require("../../elements/SortColumn");
15
- const _Error = /*#__PURE__*/ _interop_require_default(require("../../forms/Error"));
16
- const _FieldDescription = /*#__PURE__*/ _interop_require_default(require("../../forms/FieldDescription"));
17
- const _Label = /*#__PURE__*/ _interop_require_default(require("../../forms/Label"));
18
- const _fields = require("../../forms/fields");
19
- const _HiddenInput = /*#__PURE__*/ _interop_require_default(require("../../forms/fields/HiddenInput"));
20
- function _interop_require_default(obj) {
21
- return obj && obj.__esModule ? obj : {
22
- default: obj
23
- };
24
- }
25
- function _getRequireWildcardCache(nodeInterop) {
26
- if (typeof WeakMap !== "function") return null;
27
- var cacheBabelInterop = new WeakMap();
28
- var cacheNodeInterop = new WeakMap();
29
- return (_getRequireWildcardCache = function(nodeInterop) {
30
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
- })(nodeInterop);
32
- }
33
- function _interop_require_wildcard(obj, nodeInterop) {
34
- if (!nodeInterop && obj && obj.__esModule) {
35
- return obj;
36
- }
37
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
38
- return {
39
- default: obj
40
- };
41
- }
42
- var cache = _getRequireWildcardCache(nodeInterop);
43
- if (cache && cache.has(obj)) {
44
- return cache.get(obj);
45
- }
46
- var newObj = {
47
- __proto__: null
48
- };
49
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
50
- for(var key in obj){
51
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
52
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
53
- if (desc && (desc.get || desc.set)) {
54
- Object.defineProperty(newObj, key, desc);
55
- } else {
56
- newObj[key] = obj[key];
57
- }
58
- }
59
- }
60
- newObj.default = obj;
61
- if (cache) {
62
- cache.set(obj, newObj);
63
- }
64
- return newObj;
65
- }
66
- const mapFields = (args)=>{
67
- const { DefaultCell, config, fieldSchema, filter, operation = 'update', parentPath, permissions, readOnly: readOnlyOverride } = args;
1
+ import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types';
2
+ import React, { Fragment } from 'react';
3
+ import { RenderCustomComponent } from '../../elements/RenderCustomComponent';
4
+ import { SortColumn } from '../../elements/SortColumn';
5
+ import DefaultError from '../../forms/Error';
6
+ import DefaultDescription from '../../forms/FieldDescription';
7
+ import DefaultLabel from '../../forms/Label';
8
+ import { fieldTypes } from '../../forms/fields';
9
+ import HiddenInput from '../../forms/fields/HiddenInput';
10
+ export const mapFields = (args)=>{
11
+ const { DefaultCell, config, fieldSchema, filter, parentPath, permissions, readOnly: readOnlyOverride } = args;
68
12
  const result = fieldSchema.reduce((acc, field)=>{
69
- const fieldIsPresentational = (0, _types.fieldIsPresentationalOnly)(field);
70
- let FieldComponent = field.admin?.components?.Field || _fields.fieldTypes[field.type];
13
+ const fieldIsPresentational = fieldIsPresentationalOnly(field);
14
+ let FieldComponent = field.admin?.components?.Field || fieldTypes[field.type];
71
15
  if (fieldIsPresentational || !field?.hidden && field?.admin?.disabled !== true) {
72
16
  if (filter && typeof filter === 'function' && filter(field) || !filter) {
73
17
  if (field.admin && 'hidden' in field.admin && field?.admin?.hidden) {
74
- FieldComponent = _fields.fieldTypes.hidden;
18
+ FieldComponent = fieldTypes.hidden;
75
19
  }
76
- const isFieldAffectingData = (0, _types.fieldAffectsData)(field);
20
+ const isFieldAffectingData = fieldAffectsData(field);
77
21
  const path = `${parentPath ? `${parentPath}.` : ''}${field.path || (isFieldAffectingData && 'name' in field ? field.name : '')}`;
78
- const fieldPermissions = isFieldAffectingData ? permissions?.[field.name] : permissions;
22
+ const fieldPermissions = isFieldAffectingData ? permissions?.[field.name] : undefined;
79
23
  // if the user cannot read the field, then filter it out
24
+ // this is different from `admin.readOnly` which is executed on the client based on `operation`
80
25
  if (fieldPermissions?.read?.permission === false) {
81
26
  return acc;
82
27
  }
83
- // readOnly from field config
84
- let readOnly = field.admin && 'readOnly' in field.admin ? field.admin.readOnly : undefined;
85
- // if parent field is readOnly
86
- // but this field is `readOnly: false`
87
- // the field should be editable
88
- if (readOnlyOverride && readOnly !== false) readOnly = true;
89
- // unless the user does not pass access control
90
- if (fieldPermissions?.[operation]?.permission === false) {
91
- readOnly = true;
92
- }
93
28
  const labelProps = {
94
29
  htmlFor: 'TODO',
95
30
  // TODO: fix types
@@ -105,7 +40,6 @@ const mapFields = (args)=>{
105
40
  config,
106
41
  fieldSchema: field.fields,
107
42
  filter,
108
- operation,
109
43
  parentPath: path,
110
44
  permissions,
111
45
  readOnly: readOnlyOverride
@@ -117,7 +51,6 @@ const mapFields = (args)=>{
117
51
  config,
118
52
  fieldSchema: tab.fields,
119
53
  filter,
120
- operation,
121
54
  parentPath: path,
122
55
  permissions,
123
56
  readOnly: readOnlyOverride
@@ -136,7 +69,6 @@ const mapFields = (args)=>{
136
69
  config,
137
70
  fieldSchema: block.fields,
138
71
  filter,
139
- operation,
140
72
  parentPath: `${path}.${block.slug}`,
141
73
  permissions,
142
74
  readOnly: readOnlyOverride
@@ -154,27 +86,27 @@ const mapFields = (args)=>{
154
86
  // i.e. not all fields have `maxRows` or `min` or `max`
155
87
  // but this is labor intensive and requires consuming components to be updated
156
88
  const fieldComponentProps = {
157
- AfterInput: 'admin' in field && 'components' in field.admin && 'afterInput' in field.admin.components && Array.isArray(field.admin?.components?.afterInput) && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, field.admin.components.afterInput.map((Component, i)=>/*#__PURE__*/ _react.default.createElement(Component, {
89
+ AfterInput: 'admin' in field && 'components' in field.admin && 'afterInput' in field.admin.components && Array.isArray(field.admin?.components?.afterInput) && /*#__PURE__*/ React.createElement(Fragment, null, field.admin.components.afterInput.map((Component, i)=>/*#__PURE__*/ React.createElement(Component, {
158
90
  key: i
159
91
  }))),
160
- BeforeInput: 'admin' in field && field.admin?.components && 'beforeInput' in field.admin.components && Array.isArray(field.admin.components.beforeInput) && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, field.admin.components.beforeInput.map((Component, i)=>/*#__PURE__*/ _react.default.createElement(Component, {
92
+ BeforeInput: 'admin' in field && field.admin?.components && 'beforeInput' in field.admin.components && Array.isArray(field.admin.components.beforeInput) && /*#__PURE__*/ React.createElement(Fragment, null, field.admin.components.beforeInput.map((Component, i)=>/*#__PURE__*/ React.createElement(Component, {
161
93
  key: i
162
94
  }))),
163
- Description: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
95
+ Description: /*#__PURE__*/ React.createElement(RenderCustomComponent, {
164
96
  CustomComponent: field.admin && 'description' in field.admin && field.admin.description && typeof field.admin.description === 'function' && field.admin.description,
165
- DefaultComponent: _FieldDescription.default,
97
+ DefaultComponent: DefaultDescription,
166
98
  componentProps: descriptionProps
167
99
  }),
168
- Error: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
100
+ Error: /*#__PURE__*/ React.createElement(RenderCustomComponent, {
169
101
  CustomComponent: 'admin' in field && field.admin.components && 'Error' in field.admin.components && field.admin?.components?.Error,
170
- DefaultComponent: _Error.default,
102
+ DefaultComponent: DefaultError,
171
103
  componentProps: {
172
104
  path
173
105
  }
174
106
  }),
175
- Label: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
107
+ Label: /*#__PURE__*/ React.createElement(RenderCustomComponent, {
176
108
  CustomComponent: 'admin' in field && field.admin?.components && 'Label' in field.admin.components && field.admin?.components?.Label,
177
- DefaultComponent: _Label.default,
109
+ DefaultComponent: DefaultLabel,
178
110
  componentProps: labelProps
179
111
  }),
180
112
  className: 'admin' in field && 'className' in field.admin ? field?.admin?.className : undefined,
@@ -184,17 +116,19 @@ const mapFields = (args)=>{
184
116
  // TODO: fix types
185
117
  // label: 'label' in field ? field.label : undefined,
186
118
  blocks,
119
+ fieldPermissions,
187
120
  hasMany: 'hasMany' in field ? field.hasMany : undefined,
188
121
  max: 'max' in field ? field.max : undefined,
189
122
  maxRows: 'maxRows' in field ? field.maxRows : undefined,
190
123
  min: 'min' in field ? field.min : undefined,
191
124
  options: 'options' in field ? field.options : undefined,
125
+ readOnly: 'admin' in field && 'readOnly' in field.admin ? field.admin.readOnly : undefined,
192
126
  relationTo: 'relationTo' in field ? field.relationTo : undefined,
193
127
  richTextComponentMap: undefined,
194
128
  step: 'admin' in field && 'step' in field.admin ? field.admin.step : undefined,
195
129
  tabs
196
130
  };
197
- let Field = /*#__PURE__*/ _react.default.createElement(FieldComponent, fieldComponentProps);
131
+ let Field = /*#__PURE__*/ React.createElement(FieldComponent, fieldComponentProps);
198
132
  const cellComponentProps = {
199
133
  name: 'name' in field ? field.name : undefined,
200
134
  blocks: 'blocks' in field && field.blocks.map((b)=>({
@@ -216,7 +150,7 @@ const mapFields = (args)=>{
216
150
  const isLazyField = 'LazyFieldComponent' in field.editor;
217
151
  const isLazyCell = 'LazyCellComponent' in field.editor;
218
152
  if (isLazyField) {
219
- RichTextFieldComponent = /*#__PURE__*/ _react.default.lazy(()=>{
153
+ RichTextFieldComponent = /*#__PURE__*/ React.lazy(()=>{
220
154
  return 'LazyFieldComponent' in field.editor ? field.editor.LazyFieldComponent().then((resolvedComponent)=>({
221
155
  default: resolvedComponent
222
156
  })) : null;
@@ -225,7 +159,7 @@ const mapFields = (args)=>{
225
159
  RichTextFieldComponent = field.editor.FieldComponent;
226
160
  }
227
161
  if (isLazyCell) {
228
- RichTextCellComponent = /*#__PURE__*/ _react.default.lazy(()=>{
162
+ RichTextCellComponent = /*#__PURE__*/ React.lazy(()=>{
229
163
  return 'LazyCellComponent' in field.editor ? field.editor.LazyCellComponent().then((resolvedComponent)=>({
230
164
  default: resolvedComponent
231
165
  })) : null;
@@ -243,23 +177,23 @@ const mapFields = (args)=>{
243
177
  cellComponentProps.richTextComponentMap = result;
244
178
  }
245
179
  if (RichTextFieldComponent) {
246
- Field = /*#__PURE__*/ _react.default.createElement(RichTextFieldComponent, fieldComponentProps);
180
+ Field = /*#__PURE__*/ React.createElement(RichTextFieldComponent, fieldComponentProps);
247
181
  }
248
182
  if (RichTextCellComponent) {
249
- cellComponentProps.CellComponentOverride = /*#__PURE__*/ _react.default.createElement(RichTextCellComponent, null);
183
+ cellComponentProps.CellComponentOverride = /*#__PURE__*/ React.createElement(RichTextCellComponent, null);
250
184
  }
251
185
  }
252
186
  const reducedField = {
253
187
  name: 'name' in field ? field.name : '',
254
188
  type: field.type,
255
- Cell: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
189
+ Cell: /*#__PURE__*/ React.createElement(RenderCustomComponent, {
256
190
  CustomComponent: field.admin?.components?.Cell,
257
191
  DefaultComponent: DefaultCell,
258
192
  componentProps: cellComponentProps
259
193
  }),
260
194
  Field,
261
- Heading: /*#__PURE__*/ _react.default.createElement(_SortColumn.SortColumn, {
262
- disable: 'disableSort' in field && Boolean(field.disableSort) || (0, _types.fieldIsPresentationalOnly)(field) || undefined,
195
+ Heading: /*#__PURE__*/ React.createElement(SortColumn, {
196
+ disable: 'disableSort' in field && Boolean(field.disableSort) || fieldIsPresentationalOnly(field) || undefined,
263
197
  label: 'label' in field && field.label && typeof field.label !== 'function' ? field.label : 'name' in field ? field.name : undefined,
264
198
  name: 'name' in field ? field.name : undefined
265
199
  }),
@@ -273,7 +207,7 @@ const mapFields = (args)=>{
273
207
  labels: 'labels' in field ? field.labels : undefined,
274
208
  localized: 'localized' in field ? field.localized : false,
275
209
  options: 'options' in field ? field.options : undefined,
276
- readOnly,
210
+ readOnly: 'admin' in field && 'readOnly' in field.admin ? field.admin.readOnly : undefined,
277
211
  relationTo: 'relationTo' in field ? field.relationTo : undefined,
278
212
  subfields: nestedFieldMap,
279
213
  tabs
@@ -290,13 +224,13 @@ const mapFields = (args)=>{
290
224
  result.push({
291
225
  name: 'id',
292
226
  type: 'text',
293
- Cell: typeof DefaultCell === 'function' ? /*#__PURE__*/ _react.default.createElement(DefaultCell, {
227
+ Cell: typeof DefaultCell === 'function' ? /*#__PURE__*/ React.createElement(DefaultCell, {
294
228
  name: "id"
295
229
  }) : null,
296
- Field: /*#__PURE__*/ _react.default.createElement(_HiddenInput.default, {
230
+ Field: /*#__PURE__*/ React.createElement(HiddenInput, {
297
231
  name: "id"
298
232
  }),
299
- Heading: /*#__PURE__*/ _react.default.createElement(_SortColumn.SortColumn, {
233
+ Heading: /*#__PURE__*/ React.createElement(SortColumn, {
300
234
  label: "ID",
301
235
  name: "id"
302
236
  }),
@@ -315,4 +249,4 @@ const mapFields = (args)=>{
315
249
  return result;
316
250
  };
317
251
 
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRDb21wb25lbnRNYXAvbWFwRmllbGRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkUGVybWlzc2lvbnMgfSBmcm9tICdwYXlsb2FkL2F1dGgnXG5pbXBvcnQgdHlwZSB7IENlbGxQcm9wcywgRmllbGQsIEZpZWxkV2l0aFBhdGgsIExhYmVsUHJvcHMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgYXMgRmllbGREZXNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL2Zvcm1zL0ZpZWxkRGVzY3JpcHRpb24vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZvcm1GaWVsZEJhc2UgfSBmcm9tICcuLi8uLi9mb3Jtcy9maWVsZHMvc2hhcmVkJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZE1hcCwgTWFwcGVkRmllbGQsIE1hcHBlZFRhYiwgUmVkdWNlZEJsb2NrIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgUmVuZGVyQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvUmVuZGVyQ3VzdG9tQ29tcG9uZW50J1xuaW1wb3J0IHsgU29ydENvbHVtbiB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL1NvcnRDb2x1bW4nXG5pbXBvcnQgRGVmYXVsdEVycm9yIGZyb20gJy4uLy4uL2Zvcm1zL0Vycm9yJ1xuaW1wb3J0IERlZmF1bHREZXNjcmlwdGlvbiBmcm9tICcuLi8uLi9mb3Jtcy9GaWVsZERlc2NyaXB0aW9uJ1xuaW1wb3J0IERlZmF1bHRMYWJlbCBmcm9tICcuLi8uLi9mb3Jtcy9MYWJlbCdcbmltcG9ydCB7IGZpZWxkVHlwZXMgfSBmcm9tICcuLi8uLi9mb3Jtcy9maWVsZHMnXG5pbXBvcnQgSGlkZGVuSW5wdXQgZnJvbSAnLi4vLi4vZm9ybXMvZmllbGRzL0hpZGRlbklucHV0J1xuXG5leHBvcnQgY29uc3QgbWFwRmllbGRzID0gKGFyZ3M6IHtcbiAgRGVmYXVsdENlbGw/OiBSZWFjdC5GQzxhbnk+XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGZpZWxkU2NoZW1hOiBGaWVsZFdpdGhQYXRoW11cbiAgZmlsdGVyPzogKGZpZWxkOiBGaWVsZCkgPT4gYm9vbGVhblxuICBvcGVyYXRpb24/OiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgcGVybWlzc2lvbnM/OlxuICAgIHwge1xuICAgICAgICBbZmllbGQ6IHN0cmluZ106IEZpZWxkUGVybWlzc2lvbnNcbiAgICAgIH1cbiAgICB8IEZpZWxkUGVybWlzc2lvbnNcbiAgcmVhZE9ubHk/OiBib29sZWFuXG59KTogRmllbGRNYXAgPT4ge1xuICBjb25zdCB7XG4gICAgRGVmYXVsdENlbGwsXG4gICAgY29uZmlnLFxuICAgIGZpZWxkU2NoZW1hLFxuICAgIGZpbHRlcixcbiAgICBvcGVyYXRpb24gPSAndXBkYXRlJyxcbiAgICBwYXJlbnRQYXRoLFxuICAgIHBlcm1pc3Npb25zLFxuICAgIHJlYWRPbmx5OiByZWFkT25seU92ZXJyaWRlLFxuICB9ID0gYXJnc1xuXG4gIGNvbnN0IHJlc3VsdDogRmllbGRNYXAgPSBmaWVsZFNjaGVtYS5yZWR1Y2UoKGFjYywgZmllbGQpOiBGaWVsZE1hcCA9PiB7XG4gICAgY29uc3QgZmllbGRJc1ByZXNlbnRhdGlvbmFsID0gZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZClcbiAgICBsZXQgRmllbGRDb21wb25lbnQgPSBmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uRmllbGQgfHwgZmllbGRUeXBlc1tmaWVsZC50eXBlXVxuXG4gICAgaWYgKGZpZWxkSXNQcmVzZW50YXRpb25hbCB8fCAoIWZpZWxkPy5oaWRkZW4gJiYgZmllbGQ/LmFkbWluPy5kaXNhYmxlZCAhPT0gdHJ1ZSkpIHtcbiAgICAgIGlmICgoZmlsdGVyICYmIHR5cGVvZiBmaWx0ZXIgPT09ICdmdW5jdGlvbicgJiYgZmlsdGVyKGZpZWxkKSkgfHwgIWZpbHRlcikge1xuICAgICAgICBpZiAoZmllbGQuYWRtaW4gJiYgJ2hpZGRlbicgaW4gZmllbGQuYWRtaW4gJiYgZmllbGQ/LmFkbWluPy5oaWRkZW4pIHtcbiAgICAgICAgICBGaWVsZENvbXBvbmVudCA9IGZpZWxkVHlwZXMuaGlkZGVuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc0ZpZWxkQWZmZWN0aW5nRGF0YSA9IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpXG5cbiAgICAgICAgY29uc3QgcGF0aCA9IGAke3BhcmVudFBhdGggPyBgJHtwYXJlbnRQYXRofS5gIDogJyd9JHtcbiAgICAgICAgICBmaWVsZC5wYXRoIHx8IChpc0ZpZWxkQWZmZWN0aW5nRGF0YSAmJiAnbmFtZScgaW4gZmllbGQgPyBmaWVsZC5uYW1lIDogJycpXG4gICAgICAgIH1gXG5cbiAgICAgICAgY29uc3QgZmllbGRQZXJtaXNzaW9ucyA9IGlzRmllbGRBZmZlY3RpbmdEYXRhID8gcGVybWlzc2lvbnM/LltmaWVsZC5uYW1lXSA6IHBlcm1pc3Npb25zXG5cbiAgICAgICAgLy8gaWYgdGhlIHVzZXIgY2Fubm90IHJlYWQgdGhlIGZpZWxkLCB0aGVuIGZpbHRlciBpdCBvdXRcbiAgICAgICAgaWYgKGZpZWxkUGVybWlzc2lvbnM/LnJlYWQ/LnBlcm1pc3Npb24gPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVhZE9ubHkgZnJvbSBmaWVsZCBjb25maWdcbiAgICAgICAgbGV0IHJlYWRPbmx5ID0gZmllbGQuYWRtaW4gJiYgJ3JlYWRPbmx5JyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLnJlYWRPbmx5IDogdW5kZWZpbmVkXG5cbiAgICAgICAgLy8gaWYgcGFyZW50IGZpZWxkIGlzIHJlYWRPbmx5XG4gICAgICAgIC8vIGJ1dCB0aGlzIGZpZWxkIGlzIGByZWFkT25seTogZmFsc2VgXG4gICAgICAgIC8vIHRoZSBmaWVsZCBzaG91bGQgYmUgZWRpdGFibGVcbiAgICAgICAgaWYgKHJlYWRPbmx5T3ZlcnJpZGUgJiYgcmVhZE9ubHkgIT09IGZhbHNlKSByZWFkT25seSA9IHRydWVcblxuICAgICAgICAvLyB1bmxlc3MgdGhlIHVzZXIgZG9lcyBub3QgcGFzcyBhY2Nlc3MgY29udHJvbFxuICAgICAgICBpZiAoZmllbGRQZXJtaXNzaW9ucz8uW29wZXJhdGlvbl0/LnBlcm1pc3Npb24gPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmVhZE9ubHkgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYWJlbFByb3BzOiBMYWJlbFByb3BzID0ge1xuICAgICAgICAgIGh0bWxGb3I6ICdUT0RPJyxcbiAgICAgICAgICAvLyBUT0RPOiBmaXggdHlwZXNcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yLW5leHQtbGluZVxuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnIGluIGZpZWxkID8gZmllbGQubGFiZWwgOiBudWxsLFxuICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnIGluIGZpZWxkID8gZmllbGQucmVxdWlyZWQgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvblByb3BzOiBGaWVsZERlc2NyaXB0aW9uID0ge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgICdkZXNjcmlwdGlvbicgaW4gZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgIHR5cGVvZiBmaWVsZC5hZG1pbj8uZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgID8gZmllbGQuYWRtaW4uZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXN0ZWRGaWVsZE1hcCA9XG4gICAgICAgICAgJ2ZpZWxkcycgaW4gZmllbGQgJiZcbiAgICAgICAgICBmaWVsZC5maWVsZHMgJiZcbiAgICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLmZpZWxkcykgJiZcbiAgICAgICAgICBtYXBGaWVsZHMoe1xuICAgICAgICAgICAgRGVmYXVsdENlbGwsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBmaWVsZFNjaGVtYTogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgZmlsdGVyLFxuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgcGFyZW50UGF0aDogcGF0aCxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5T3ZlcnJpZGUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAvLyBgdGFic2AgZmllbGRzIHJlcXVpcmUgYSBmaWVsZCBtYXAgb2YgZWFjaCBvZiBpdHMgdGFiJ3MgbmVzdGVkIGZpZWxkc1xuICAgICAgICBjb25zdCB0YWJzID1cbiAgICAgICAgICAndGFicycgaW4gZmllbGQgJiZcbiAgICAgICAgICBmaWVsZC50YWJzICYmXG4gICAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZC50YWJzKSAmJlxuICAgICAgICAgIGZpZWxkLnRhYnMubWFwKCh0YWIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhYkZpZWxkTWFwID0gbWFwRmllbGRzKHtcbiAgICAgICAgICAgICAgRGVmYXVsdENlbGwsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwYXJlbnRQYXRoOiBwYXRoLFxuICAgICAgICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5T3ZlcnJpZGUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCByZWR1Y2VkVGFiOiBNYXBwZWRUYWIgPSB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyBpbiB0YWIgPyB0YWIubmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHRhYi5sYWJlbCxcbiAgICAgICAgICAgICAgc3ViZmllbGRzOiB0YWJGaWVsZE1hcCxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlZHVjZWRUYWJcbiAgICAgICAgICB9KVxuXG4gICAgICAgIC8vIGBibG9ja3NgIGZpZWxkcyByZXF1aXJlIGEgZmllbGQgbWFwIG9mIGVhY2ggb2YgaXRzIGJsb2NrJ3MgbmVzdGVkIGZpZWxkc1xuICAgICAgICBjb25zdCBibG9ja3MgPVxuICAgICAgICAgICdibG9ja3MnIGluIGZpZWxkICYmXG4gICAgICAgICAgZmllbGQuYmxvY2tzICYmXG4gICAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZC5ibG9ja3MpICYmXG4gICAgICAgICAgZmllbGQuYmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrRmllbGRNYXAgPSBtYXBGaWVsZHMoe1xuICAgICAgICAgICAgICBEZWZhdWx0Q2VsbCxcbiAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICBmaWVsZFNjaGVtYTogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgcGFyZW50UGF0aDogYCR7cGF0aH0uJHtibG9jay5zbHVnfWAsXG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICAgICAgICByZWFkT25seTogcmVhZE9ubHlPdmVycmlkZSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IHJlZHVjZWRCbG9jazogUmVkdWNlZEJsb2NrID0ge1xuICAgICAgICAgICAgICBzbHVnOiBibG9jay5zbHVnLFxuICAgICAgICAgICAgICBpbWFnZUFsdFRleHQ6IGJsb2NrLmltYWdlQWx0VGV4dCxcbiAgICAgICAgICAgICAgaW1hZ2VVUkw6IGJsb2NrLmltYWdlVVJMLFxuICAgICAgICAgICAgICBsYWJlbHM6IGJsb2NrLmxhYmVscyxcbiAgICAgICAgICAgICAgc3ViZmllbGRzOiBibG9ja0ZpZWxkTWFwLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVkdWNlZEJsb2NrXG4gICAgICAgICAgfSlcblxuICAgICAgICAvLyBUT0RPOiB0aGVzZSB0eXBlcyBjYW4gZ2V0IGNsZWFuZWQgdXBcbiAgICAgICAgLy8gaS5lLiBub3QgYWxsIGZpZWxkcyBoYXZlIGBtYXhSb3dzYCBvciBgbWluYCBvciBgbWF4YFxuICAgICAgICAvLyBidXQgdGhpcyBpcyBsYWJvciBpbnRlbnNpdmUgYW5kIHJlcXVpcmVzIGNvbnN1bWluZyBjb21wb25lbnRzIHRvIGJlIHVwZGF0ZWRcbiAgICAgICAgY29uc3QgZmllbGRDb21wb25lbnRQcm9wczogRm9ybUZpZWxkQmFzZSA9IHtcbiAgICAgICAgICBBZnRlcklucHV0OiAnYWRtaW4nIGluIGZpZWxkICYmXG4gICAgICAgICAgICAnY29tcG9uZW50cycgaW4gZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgICdhZnRlcklucHV0JyBpbiBmaWVsZC5hZG1pbi5jb21wb25lbnRzICYmXG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLmFkbWluPy5jb21wb25lbnRzPy5hZnRlcklucHV0KSAmJiAoXG4gICAgICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgICAgICB7ZmllbGQuYWRtaW4uY29tcG9uZW50cy5hZnRlcklucHV0Lm1hcCgoQ29tcG9uZW50LCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8Q29tcG9uZW50IGtleT17aX0gLz5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgQmVmb3JlSW5wdXQ6ICdhZG1pbicgaW4gZmllbGQgJiZcbiAgICAgICAgICAgIGZpZWxkLmFkbWluPy5jb21wb25lbnRzICYmXG4gICAgICAgICAgICAnYmVmb3JlSW5wdXQnIGluIGZpZWxkLmFkbWluLmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZmllbGQuYWRtaW4uY29tcG9uZW50cy5iZWZvcmVJbnB1dCkgJiYgKFxuICAgICAgICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAge2ZpZWxkLmFkbWluLmNvbXBvbmVudHMuYmVmb3JlSW5wdXQubWFwKChDb21wb25lbnQsIGkpID0+IChcbiAgICAgICAgICAgICAgICAgIDxDb21wb25lbnQga2V5PXtpfSAvPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBEZXNjcmlwdGlvbjogKFxuICAgICAgICAgICAgPFJlbmRlckN1c3RvbUNvbXBvbmVudFxuICAgICAgICAgICAgICBDdXN0b21Db21wb25lbnQ9e1xuICAgICAgICAgICAgICAgIGZpZWxkLmFkbWluICYmXG4gICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyBpbiBmaWVsZC5hZG1pbiAmJlxuICAgICAgICAgICAgICAgIGZpZWxkLmFkbWluLmRlc2NyaXB0aW9uICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIGZpZWxkLmFkbWluLmRlc2NyaXB0aW9uID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgICAgKGZpZWxkLmFkbWluLmRlc2NyaXB0aW9uIGFzIFJlYWN0LkZDPGFueT4pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgRGVmYXVsdENvbXBvbmVudD17RGVmYXVsdERlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICBjb21wb25lbnRQcm9wcz17ZGVzY3JpcHRpb25Qcm9wc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgICBFcnJvcjogKFxuICAgICAgICAgICAgPFJlbmRlckN1c3RvbUNvbXBvbmVudFxuICAgICAgICAgICAgICBDdXN0b21Db21wb25lbnQ9e1xuICAgICAgICAgICAgICAgICdhZG1pbicgaW4gZmllbGQgJiZcbiAgICAgICAgICAgICAgICBmaWVsZC5hZG1pbi5jb21wb25lbnRzICYmXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyBpbiBmaWVsZC5hZG1pbi5jb21wb25lbnRzICYmXG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4/LmNvbXBvbmVudHM/LkVycm9yXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgRGVmYXVsdENvbXBvbmVudD17RGVmYXVsdEVycm9yfVxuICAgICAgICAgICAgICBjb21wb25lbnRQcm9wcz17eyBwYXRoIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgTGFiZWw6IChcbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtcbiAgICAgICAgICAgICAgICAnYWRtaW4nIGluIGZpZWxkICYmXG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4/LmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICAgICAnTGFiZWwnIGluIGZpZWxkLmFkbWluLmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICAgICBmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uTGFiZWxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXtsYWJlbFByb3BzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICAgIGNsYXNzTmFtZTpcbiAgICAgICAgICAgICdhZG1pbicgaW4gZmllbGQgJiYgJ2NsYXNzTmFtZScgaW4gZmllbGQuYWRtaW4gPyBmaWVsZD8uYWRtaW4/LmNsYXNzTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBmaWVsZE1hcDogbmVzdGVkRmllbGRNYXAsXG4gICAgICAgICAgc3R5bGU6ICdhZG1pbicgaW4gZmllbGQgJiYgJ3N0eWxlJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkPy5hZG1pbj8uc3R5bGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgd2lkdGg6ICdhZG1pbicgaW4gZmllbGQgJiYgJ3dpZHRoJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkPy5hZG1pbj8ud2lkdGggOiB1bmRlZmluZWQsXG4gICAgICAgICAgLy8gVE9ETzogZml4IHR5cGVzXG4gICAgICAgICAgLy8gbGFiZWw6ICdsYWJlbCcgaW4gZmllbGQgPyBmaWVsZC5sYWJlbCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgaGFzTWFueTogJ2hhc01hbnknIGluIGZpZWxkID8gZmllbGQuaGFzTWFueSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBtYXg6ICdtYXgnIGluIGZpZWxkID8gZmllbGQubWF4IDogdW5kZWZpbmVkLFxuICAgICAgICAgIG1heFJvd3M6ICdtYXhSb3dzJyBpbiBmaWVsZCA/IGZpZWxkLm1heFJvd3MgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbWluOiAnbWluJyBpbiBmaWVsZCA/IGZpZWxkLm1pbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBvcHRpb25zOiAnb3B0aW9ucycgaW4gZmllbGQgPyBmaWVsZC5vcHRpb25zIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdyZWxhdGlvblRvJyBpbiBmaWVsZCA/IGZpZWxkLnJlbGF0aW9uVG8gOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmljaFRleHRDb21wb25lbnRNYXA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzdGVwOiAnYWRtaW4nIGluIGZpZWxkICYmICdzdGVwJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLnN0ZXAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgdGFicyxcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBGaWVsZCA9IDxGaWVsZENvbXBvbmVudCB7Li4uZmllbGRDb21wb25lbnRQcm9wc30gLz5cblxuICAgICAgICBjb25zdCBjZWxsQ29tcG9uZW50UHJvcHM6IENlbGxQcm9wcyA9IHtcbiAgICAgICAgICBuYW1lOiAnbmFtZScgaW4gZmllbGQgPyBmaWVsZC5uYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGJsb2NrczpcbiAgICAgICAgICAgICdibG9ja3MnIGluIGZpZWxkICYmXG4gICAgICAgICAgICBmaWVsZC5ibG9ja3MubWFwKChiKSA9PiAoe1xuICAgICAgICAgICAgICBzbHVnOiBiLnNsdWcsXG4gICAgICAgICAgICAgIGxhYmVsczogYi5sYWJlbHMsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgZGF0ZURpc3BsYXlGb3JtYXQ6XG4gICAgICAgICAgICAnYWRtaW4nIGluIGZpZWxkICYmICdkYXRlJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLmRhdGUuZGlzcGxheUZvcm1hdCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBmaWVsZFR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgaXNGaWVsZEFmZmVjdGluZ0RhdGEsXG4gICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAnbGFiZWwnIGluIGZpZWxkICYmIGZpZWxkLmxhYmVsICYmIHR5cGVvZiBmaWVsZC5sYWJlbCAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICA/IGZpZWxkLmxhYmVsXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGxhYmVsczogJ2xhYmVscycgaW4gZmllbGQgPyBmaWVsZC5sYWJlbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgb3B0aW9uczogJ29wdGlvbnMnIGluIGZpZWxkID8gZmllbGQub3B0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBIYW5kbGUgUmljaFRleHQgRmllbGQgQ29tcG9uZW50cywgQ2VsbCBDb21wb25lbnRzLCBhbmQgY29tcG9uZW50IG1hcHNcbiAgICAgICAgICovXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmljaFRleHQnICYmICdlZGl0b3InIGluIGZpZWxkKSB7XG4gICAgICAgICAgbGV0IFJpY2hUZXh0RmllbGRDb21wb25lbnRcbiAgICAgICAgICBsZXQgUmljaFRleHRDZWxsQ29tcG9uZW50XG5cbiAgICAgICAgICBjb25zdCBpc0xhenlGaWVsZCA9ICdMYXp5RmllbGRDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvclxuICAgICAgICAgIGNvbnN0IGlzTGF6eUNlbGwgPSAnTGF6eUNlbGxDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvclxuXG4gICAgICAgICAgaWYgKGlzTGF6eUZpZWxkKSB7XG4gICAgICAgICAgICBSaWNoVGV4dEZpZWxkQ29tcG9uZW50ID0gUmVhY3QubGF6eSgoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAnTGF6eUZpZWxkQ29tcG9uZW50JyBpbiBmaWVsZC5lZGl0b3JcbiAgICAgICAgICAgICAgICA/IGZpZWxkLmVkaXRvci5MYXp5RmllbGRDb21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIGlmICgnRmllbGRDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvcikge1xuICAgICAgICAgICAgUmljaFRleHRGaWVsZENvbXBvbmVudCA9IGZpZWxkLmVkaXRvci5GaWVsZENvbXBvbmVudFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpc0xhenlDZWxsKSB7XG4gICAgICAgICAgICBSaWNoVGV4dENlbGxDb21wb25lbnQgPSBSZWFjdC5sYXp5KCgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICdMYXp5Q2VsbENvbXBvbmVudCcgaW4gZmllbGQuZWRpdG9yXG4gICAgICAgICAgICAgICAgPyBmaWVsZC5lZGl0b3IuTGF6eUNlbGxDb21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIGlmICgnQ2VsbENvbXBvbmVudCcgaW4gZmllbGQuZWRpdG9yKSB7XG4gICAgICAgICAgICBSaWNoVGV4dENlbGxDb21wb25lbnQgPSBmaWVsZC5lZGl0b3IuQ2VsbENvbXBvbmVudFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQuZWRpdG9yLmdlbmVyYXRlQ29tcG9uZW50TWFwID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVDb21wb25lbnRNYXAoeyBjb25maWcsIHNjaGVtYVBhdGg6IHBhdGggfSlcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3ItbmV4dC1saW5lIC8vIFRPRE86IHRoZSBgcmljaFRleHRDb21wb25lbnRNYXBgIGlzIG5vdCBmb3VuZCBvbiB0aGUgdW5pb24gdHlwZVxuICAgICAgICAgICAgZmllbGRDb21wb25lbnRQcm9wcy5yaWNoVGV4dENvbXBvbmVudE1hcCA9IHJlc3VsdFxuICAgICAgICAgICAgY2VsbENvbXBvbmVudFByb3BzLnJpY2hUZXh0Q29tcG9uZW50TWFwID0gcmVzdWx0XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFJpY2hUZXh0RmllbGRDb21wb25lbnQpIHtcbiAgICAgICAgICAgIEZpZWxkID0gPFJpY2hUZXh0RmllbGRDb21wb25lbnQgey4uLmZpZWxkQ29tcG9uZW50UHJvcHN9IC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFJpY2hUZXh0Q2VsbENvbXBvbmVudCkge1xuICAgICAgICAgICAgY2VsbENvbXBvbmVudFByb3BzLkNlbGxDb21wb25lbnRPdmVycmlkZSA9IDxSaWNoVGV4dENlbGxDb21wb25lbnQgLz5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWR1Y2VkRmllbGQ6IE1hcHBlZEZpZWxkID0ge1xuICAgICAgICAgIG5hbWU6ICduYW1lJyBpbiBmaWVsZCA/IGZpZWxkLm5hbWUgOiAnJyxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgIENlbGw6IChcbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uQ2VsbH1cbiAgICAgICAgICAgICAgRGVmYXVsdENvbXBvbmVudD17RGVmYXVsdENlbGx9XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXtjZWxsQ29tcG9uZW50UHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgRmllbGQsXG4gICAgICAgICAgSGVhZGluZzogKFxuICAgICAgICAgICAgPFNvcnRDb2x1bW5cbiAgICAgICAgICAgICAgZGlzYWJsZT17XG4gICAgICAgICAgICAgICAgKCdkaXNhYmxlU29ydCcgaW4gZmllbGQgJiYgQm9vbGVhbihmaWVsZC5kaXNhYmxlU29ydCkpIHx8XG4gICAgICAgICAgICAgICAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZCkgfHxcbiAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgJ2xhYmVsJyBpbiBmaWVsZCAmJiBmaWVsZC5sYWJlbCAmJiB0eXBlb2YgZmllbGQubGFiZWwgIT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgID8gZmllbGQubGFiZWxcbiAgICAgICAgICAgICAgICAgIDogJ25hbWUnIGluIGZpZWxkXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGQubmFtZVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG5hbWU9eyduYW1lJyBpbiBmaWVsZCA/IGZpZWxkLm5hbWUgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgIGZpZWxkSXNQcmVzZW50YXRpb25hbCxcbiAgICAgICAgICBmaWVsZFBlcm1pc3Npb25zLFxuICAgICAgICAgIGhhc01hbnk6ICdoYXNNYW55JyBpbiBmaWVsZCA/IGZpZWxkLmhhc01hbnkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgaXNGaWVsZEFmZmVjdGluZ0RhdGEsXG4gICAgICAgICAgaXNTaWRlYmFyOiAnYWRtaW4nIGluIGZpZWxkICYmIGZpZWxkLmFkbWluPy5wb3NpdGlvbiA9PT0gJ3NpZGViYXInLFxuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnIGluIGZpZWxkICYmIHR5cGVvZiBmaWVsZC5sYWJlbCAhPT0gJ2Z1bmN0aW9uJyA/IGZpZWxkLmxhYmVsIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGxhYmVsczogJ2xhYmVscycgaW4gZmllbGQgPyBmaWVsZC5sYWJlbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbG9jYWxpemVkOiAnbG9jYWxpemVkJyBpbiBmaWVsZCA/IGZpZWxkLmxvY2FsaXplZCA6IGZhbHNlLFxuICAgICAgICAgIG9wdGlvbnM6ICdvcHRpb25zJyBpbiBmaWVsZCA/IGZpZWxkLm9wdGlvbnMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgcmVsYXRpb25UbzogJ3JlbGF0aW9uVG8nIGluIGZpZWxkID8gZmllbGQucmVsYXRpb25UbyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzdWJmaWVsZHM6IG5lc3RlZEZpZWxkTWFwLFxuICAgICAgICAgIHRhYnMsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoRmllbGRDb21wb25lbnQpIHtcbiAgICAgICAgICBhY2MucHVzaChyZWR1Y2VkRmllbGQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhc0lEID1cbiAgICByZXN1bHQuZmluZEluZGV4KCh7IG5hbWUsIGlzRmllbGRBZmZlY3RpbmdEYXRhIH0pID0+IGlzRmllbGRBZmZlY3RpbmdEYXRhICYmIG5hbWUgPT09ICdpZCcpID4gLTFcblxuICBpZiAoIWhhc0lEKSB7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgbmFtZTogJ2lkJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIENlbGw6IHR5cGVvZiBEZWZhdWx0Q2VsbCA9PT0gJ2Z1bmN0aW9uJyA/IDxEZWZhdWx0Q2VsbCBuYW1lPVwiaWRcIiAvPiA6IG51bGwsXG4gICAgICBGaWVsZDogPEhpZGRlbklucHV0IG5hbWU9XCJpZFwiIC8+LFxuICAgICAgSGVhZGluZzogPFNvcnRDb2x1bW4gbGFiZWw9XCJJRFwiIG5hbWU9XCJpZFwiIC8+LFxuICAgICAgZmllbGRJc1ByZXNlbnRhdGlvbmFsOiBmYWxzZSxcbiAgICAgIGZpZWxkUGVybWlzc2lvbnM6IHt9IGFzIEZpZWxkUGVybWlzc2lvbnMsIC8vIFRPRE86IHdpcmUgdGhpcyB1cFxuICAgICAgaXNGaWVsZEFmZmVjdGluZ0RhdGE6IHRydWUsXG4gICAgICBpc1NpZGViYXI6IGZhbHNlLFxuICAgICAgbGFiZWw6ICdJRCcsXG4gICAgICBsYWJlbHM6IHVuZGVmaW5lZCxcbiAgICAgIGxvY2FsaXplZDogdW5kZWZpbmVkLFxuICAgICAgcmVhZE9ubHk6IGZhbHNlLFxuICAgICAgc3ViZmllbGRzOiBbXSxcbiAgICAgIHRhYnM6IFtdLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsibWFwRmllbGRzIiwiYXJncyIsIkRlZmF1bHRDZWxsIiwiY29uZmlnIiwiZmllbGRTY2hlbWEiLCJmaWx0ZXIiLCJvcGVyYXRpb24iLCJwYXJlbnRQYXRoIiwicGVybWlzc2lvbnMiLCJyZWFkT25seSIsInJlYWRPbmx5T3ZlcnJpZGUiLCJyZXN1bHQiLCJyZWR1Y2UiLCJhY2MiLCJmaWVsZCIsImZpZWxkSXNQcmVzZW50YXRpb25hbCIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJGaWVsZENvbXBvbmVudCIsImFkbWluIiwiY29tcG9uZW50cyIsIkZpZWxkIiwiZmllbGRUeXBlcyIsInR5cGUiLCJoaWRkZW4iLCJkaXNhYmxlZCIsImlzRmllbGRBZmZlY3RpbmdEYXRhIiwiZmllbGRBZmZlY3RzRGF0YSIsInBhdGgiLCJuYW1lIiwiZmllbGRQZXJtaXNzaW9ucyIsInJlYWQiLCJwZXJtaXNzaW9uIiwidW5kZWZpbmVkIiwibGFiZWxQcm9wcyIsImh0bWxGb3IiLCJsYWJlbCIsInJlcXVpcmVkIiwiZGVzY3JpcHRpb25Qcm9wcyIsImRlc2NyaXB0aW9uIiwibmVzdGVkRmllbGRNYXAiLCJmaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJ0YWJzIiwibWFwIiwidGFiIiwidGFiRmllbGRNYXAiLCJyZWR1Y2VkVGFiIiwic3ViZmllbGRzIiwiYmxvY2tzIiwiYmxvY2siLCJibG9ja0ZpZWxkTWFwIiwic2x1ZyIsInJlZHVjZWRCbG9jayIsImltYWdlQWx0VGV4dCIsImltYWdlVVJMIiwibGFiZWxzIiwiZmllbGRDb21wb25lbnRQcm9wcyIsIkFmdGVySW5wdXQiLCJhZnRlcklucHV0IiwiRnJhZ21lbnQiLCJDb21wb25lbnQiLCJpIiwia2V5IiwiQmVmb3JlSW5wdXQiLCJiZWZvcmVJbnB1dCIsIkRlc2NyaXB0aW9uIiwiUmVuZGVyQ3VzdG9tQ29tcG9uZW50IiwiQ3VzdG9tQ29tcG9uZW50IiwiRGVmYXVsdENvbXBvbmVudCIsIkRlZmF1bHREZXNjcmlwdGlvbiIsImNvbXBvbmVudFByb3BzIiwiRXJyb3IiLCJEZWZhdWx0RXJyb3IiLCJMYWJlbCIsIkRlZmF1bHRMYWJlbCIsImNsYXNzTmFtZSIsImZpZWxkTWFwIiwic3R5bGUiLCJ3aWR0aCIsImhhc01hbnkiLCJtYXgiLCJtYXhSb3dzIiwibWluIiwib3B0aW9ucyIsInJlbGF0aW9uVG8iLCJyaWNoVGV4dENvbXBvbmVudE1hcCIsInN0ZXAiLCJjZWxsQ29tcG9uZW50UHJvcHMiLCJiIiwiZGF0ZURpc3BsYXlGb3JtYXQiLCJkYXRlIiwiZGlzcGxheUZvcm1hdCIsImZpZWxkVHlwZSIsIlJpY2hUZXh0RmllbGRDb21wb25lbnQiLCJSaWNoVGV4dENlbGxDb21wb25lbnQiLCJpc0xhenlGaWVsZCIsImVkaXRvciIsImlzTGF6eUNlbGwiLCJSZWFjdCIsImxhenkiLCJMYXp5RmllbGRDb21wb25lbnQiLCJ0aGVuIiwicmVzb2x2ZWRDb21wb25lbnQiLCJkZWZhdWx0IiwiTGF6eUNlbGxDb21wb25lbnQiLCJDZWxsQ29tcG9uZW50IiwiZ2VuZXJhdGVDb21wb25lbnRNYXAiLCJzY2hlbWFQYXRoIiwiQ2VsbENvbXBvbmVudE92ZXJyaWRlIiwicmVkdWNlZEZpZWxkIiwiQ2VsbCIsIkhlYWRpbmciLCJTb3J0Q29sdW1uIiwiZGlzYWJsZSIsIkJvb2xlYW4iLCJkaXNhYmxlU29ydCIsImlzU2lkZWJhciIsInBvc2l0aW9uIiwibG9jYWxpemVkIiwicHVzaCIsImhhc0lEIiwiZmluZEluZGV4IiwiSGlkZGVuSW5wdXQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0JhQTs7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
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRDb21wb25lbnRNYXAvbWFwRmllbGRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uLCBGaWVsZFBlcm1pc3Npb25zLCBHbG9iYWxQZXJtaXNzaW9uIH0gZnJvbSAncGF5bG9hZC9hdXRoJ1xuaW1wb3J0IHR5cGUgeyBDZWxsUHJvcHMsIEZpZWxkLCBGaWVsZFdpdGhQYXRoLCBMYWJlbFByb3BzLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IFByb3BzIGFzIEZpZWxkRGVzY3JpcHRpb24gfSBmcm9tICcuLi8uLi9mb3Jtcy9GaWVsZERlc2NyaXB0aW9uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGb3JtRmllbGRCYXNlIH0gZnJvbSAnLi4vLi4vZm9ybXMvZmllbGRzL3NoYXJlZCdcbmltcG9ydCB0eXBlIHsgRmllbGRNYXAsIE1hcHBlZEZpZWxkLCBNYXBwZWRUYWIsIFJlZHVjZWRCbG9jayB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IFJlbmRlckN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL1JlbmRlckN1c3RvbUNvbXBvbmVudCdcbmltcG9ydCB7IFNvcnRDb2x1bW4gfSBmcm9tICcuLi8uLi9lbGVtZW50cy9Tb3J0Q29sdW1uJ1xuaW1wb3J0IERlZmF1bHRFcnJvciBmcm9tICcuLi8uLi9mb3Jtcy9FcnJvcidcbmltcG9ydCBEZWZhdWx0RGVzY3JpcHRpb24gZnJvbSAnLi4vLi4vZm9ybXMvRmllbGREZXNjcmlwdGlvbidcbmltcG9ydCBEZWZhdWx0TGFiZWwgZnJvbSAnLi4vLi4vZm9ybXMvTGFiZWwnXG5pbXBvcnQgeyBmaWVsZFR5cGVzIH0gZnJvbSAnLi4vLi4vZm9ybXMvZmllbGRzJ1xuaW1wb3J0IEhpZGRlbklucHV0IGZyb20gJy4uLy4uL2Zvcm1zL2ZpZWxkcy9IaWRkZW5JbnB1dCdcblxuZXhwb3J0IGNvbnN0IG1hcEZpZWxkcyA9IChhcmdzOiB7XG4gIERlZmF1bHRDZWxsPzogUmVhY3QuRkM8YW55PlxuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xuICBmaWVsZFNjaGVtYTogRmllbGRXaXRoUGF0aFtdXG4gIGZpbHRlcj86IChmaWVsZDogRmllbGQpID0+IGJvb2xlYW5cbiAgcGFyZW50UGF0aD86IHN0cmluZ1xuICBwZXJtaXNzaW9ucz86IENvbGxlY3Rpb25QZXJtaXNzaW9uWydmaWVsZHMnXSB8IEdsb2JhbFBlcm1pc3Npb25bJ2ZpZWxkcyddXG4gIHJlYWRPbmx5PzogYm9vbGVhblxufSk6IEZpZWxkTWFwID0+IHtcbiAgY29uc3Qge1xuICAgIERlZmF1bHRDZWxsLFxuICAgIGNvbmZpZyxcbiAgICBmaWVsZFNjaGVtYSxcbiAgICBmaWx0ZXIsXG4gICAgcGFyZW50UGF0aCxcbiAgICBwZXJtaXNzaW9ucyxcbiAgICByZWFkT25seTogcmVhZE9ubHlPdmVycmlkZSxcbiAgfSA9IGFyZ3NcblxuICBjb25zdCByZXN1bHQ6IEZpZWxkTWFwID0gZmllbGRTY2hlbWEucmVkdWNlKChhY2MsIGZpZWxkKTogRmllbGRNYXAgPT4ge1xuICAgIGNvbnN0IGZpZWxkSXNQcmVzZW50YXRpb25hbCA9IGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpXG4gICAgbGV0IEZpZWxkQ29tcG9uZW50ID0gZmllbGQuYWRtaW4/LmNvbXBvbmVudHM/LkZpZWxkIHx8IGZpZWxkVHlwZXNbZmllbGQudHlwZV1cblxuICAgIGlmIChmaWVsZElzUHJlc2VudGF0aW9uYWwgfHwgKCFmaWVsZD8uaGlkZGVuICYmIGZpZWxkPy5hZG1pbj8uZGlzYWJsZWQgIT09IHRydWUpKSB7XG4gICAgICBpZiAoKGZpbHRlciAmJiB0eXBlb2YgZmlsdGVyID09PSAnZnVuY3Rpb24nICYmIGZpbHRlcihmaWVsZCkpIHx8ICFmaWx0ZXIpIHtcbiAgICAgICAgaWYgKGZpZWxkLmFkbWluICYmICdoaWRkZW4nIGluIGZpZWxkLmFkbWluICYmIGZpZWxkPy5hZG1pbj8uaGlkZGVuKSB7XG4gICAgICAgICAgRmllbGRDb21wb25lbnQgPSBmaWVsZFR5cGVzLmhpZGRlblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNGaWVsZEFmZmVjdGluZ0RhdGEgPSBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKVxuXG4gICAgICAgIGNvbnN0IHBhdGggPSBgJHtwYXJlbnRQYXRoID8gYCR7cGFyZW50UGF0aH0uYCA6ICcnfSR7XG4gICAgICAgICAgZmllbGQucGF0aCB8fCAoaXNGaWVsZEFmZmVjdGluZ0RhdGEgJiYgJ25hbWUnIGluIGZpZWxkID8gZmllbGQubmFtZSA6ICcnKVxuICAgICAgICB9YFxuXG4gICAgICAgIGNvbnN0IGZpZWxkUGVybWlzc2lvbnMgPSBpc0ZpZWxkQWZmZWN0aW5nRGF0YSA/IHBlcm1pc3Npb25zPy5bZmllbGQubmFtZV0gOiB1bmRlZmluZWRcblxuICAgICAgICAvLyBpZiB0aGUgdXNlciBjYW5ub3QgcmVhZCB0aGUgZmllbGQsIHRoZW4gZmlsdGVyIGl0IG91dFxuICAgICAgICAvLyB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIGBhZG1pbi5yZWFkT25seWAgd2hpY2ggaXMgZXhlY3V0ZWQgb24gdGhlIGNsaWVudCBiYXNlZCBvbiBgb3BlcmF0aW9uYFxuICAgICAgICBpZiAoZmllbGRQZXJtaXNzaW9ucz8ucmVhZD8ucGVybWlzc2lvbiA9PT0gZmFsc2UpIHtcbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYWJlbFByb3BzOiBMYWJlbFByb3BzID0ge1xuICAgICAgICAgIGh0bWxGb3I6ICdUT0RPJyxcbiAgICAgICAgICAvLyBUT0RPOiBmaXggdHlwZXNcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yLW5leHQtbGluZVxuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnIGluIGZpZWxkID8gZmllbGQubGFiZWwgOiBudWxsLFxuICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnIGluIGZpZWxkID8gZmllbGQucmVxdWlyZWQgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvblByb3BzOiBGaWVsZERlc2NyaXB0aW9uID0ge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgICdkZXNjcmlwdGlvbicgaW4gZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgIHR5cGVvZiBmaWVsZC5hZG1pbj8uZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgID8gZmllbGQuYWRtaW4uZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXN0ZWRGaWVsZE1hcCA9XG4gICAgICAgICAgJ2ZpZWxkcycgaW4gZmllbGQgJiZcbiAgICAgICAgICBmaWVsZC5maWVsZHMgJiZcbiAgICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLmZpZWxkcykgJiZcbiAgICAgICAgICBtYXBGaWVsZHMoe1xuICAgICAgICAgICAgRGVmYXVsdENlbGwsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBmaWVsZFNjaGVtYTogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgZmlsdGVyLFxuICAgICAgICAgICAgcGFyZW50UGF0aDogcGF0aCxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5T3ZlcnJpZGUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAvLyBgdGFic2AgZmllbGRzIHJlcXVpcmUgYSBmaWVsZCBtYXAgb2YgZWFjaCBvZiBpdHMgdGFiJ3MgbmVzdGVkIGZpZWxkc1xuICAgICAgICBjb25zdCB0YWJzID1cbiAgICAgICAgICAndGFicycgaW4gZmllbGQgJiZcbiAgICAgICAgICBmaWVsZC50YWJzICYmXG4gICAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZC50YWJzKSAmJlxuICAgICAgICAgIGZpZWxkLnRhYnMubWFwKCh0YWIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhYkZpZWxkTWFwID0gbWFwRmllbGRzKHtcbiAgICAgICAgICAgICAgRGVmYXVsdENlbGwsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICAgICAgcGFyZW50UGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgICAgICAgIHJlYWRPbmx5OiByZWFkT25seU92ZXJyaWRlLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgY29uc3QgcmVkdWNlZFRhYjogTWFwcGVkVGFiID0ge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScgaW4gdGFiID8gdGFiLm5hbWUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGxhYmVsOiB0YWIubGFiZWwsXG4gICAgICAgICAgICAgIHN1YmZpZWxkczogdGFiRmllbGRNYXAsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZWR1Y2VkVGFiXG4gICAgICAgICAgfSlcblxuICAgICAgICAvLyBgYmxvY2tzYCBmaWVsZHMgcmVxdWlyZSBhIGZpZWxkIG1hcCBvZiBlYWNoIG9mIGl0cyBibG9jaydzIG5lc3RlZCBmaWVsZHNcbiAgICAgICAgY29uc3QgYmxvY2tzID1cbiAgICAgICAgICAnYmxvY2tzJyBpbiBmaWVsZCAmJlxuICAgICAgICAgIGZpZWxkLmJsb2NrcyAmJlxuICAgICAgICAgIEFycmF5LmlzQXJyYXkoZmllbGQuYmxvY2tzKSAmJlxuICAgICAgICAgIGZpZWxkLmJsb2Nrcy5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja0ZpZWxkTWFwID0gbWFwRmllbGRzKHtcbiAgICAgICAgICAgICAgRGVmYXVsdENlbGwsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgZmlsdGVyLFxuICAgICAgICAgICAgICBwYXJlbnRQYXRoOiBgJHtwYXRofS4ke2Jsb2NrLnNsdWd9YCxcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgICAgICAgIHJlYWRPbmx5OiByZWFkT25seU92ZXJyaWRlLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgY29uc3QgcmVkdWNlZEJsb2NrOiBSZWR1Y2VkQmxvY2sgPSB7XG4gICAgICAgICAgICAgIHNsdWc6IGJsb2NrLnNsdWcsXG4gICAgICAgICAgICAgIGltYWdlQWx0VGV4dDogYmxvY2suaW1hZ2VBbHRUZXh0LFxuICAgICAgICAgICAgICBpbWFnZVVSTDogYmxvY2suaW1hZ2VVUkwsXG4gICAgICAgICAgICAgIGxhYmVsczogYmxvY2subGFiZWxzLFxuICAgICAgICAgICAgICBzdWJmaWVsZHM6IGJsb2NrRmllbGRNYXAsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZWR1Y2VkQmxvY2tcbiAgICAgICAgICB9KVxuXG4gICAgICAgIC8vIFRPRE86IHRoZXNlIHR5cGVzIGNhbiBnZXQgY2xlYW5lZCB1cFxuICAgICAgICAvLyBpLmUuIG5vdCBhbGwgZmllbGRzIGhhdmUgYG1heFJvd3NgIG9yIGBtaW5gIG9yIGBtYXhgXG4gICAgICAgIC8vIGJ1dCB0aGlzIGlzIGxhYm9yIGludGVuc2l2ZSBhbmQgcmVxdWlyZXMgY29uc3VtaW5nIGNvbXBvbmVudHMgdG8gYmUgdXBkYXRlZFxuICAgICAgICBjb25zdCBmaWVsZENvbXBvbmVudFByb3BzOiBGb3JtRmllbGRCYXNlID0ge1xuICAgICAgICAgIEFmdGVySW5wdXQ6ICdhZG1pbicgaW4gZmllbGQgJiZcbiAgICAgICAgICAgICdjb21wb25lbnRzJyBpbiBmaWVsZC5hZG1pbiAmJlxuICAgICAgICAgICAgJ2FmdGVySW5wdXQnIGluIGZpZWxkLmFkbWluLmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZmllbGQuYWRtaW4/LmNvbXBvbmVudHM/LmFmdGVySW5wdXQpICYmIChcbiAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgIHtmaWVsZC5hZG1pbi5jb21wb25lbnRzLmFmdGVySW5wdXQubWFwKChDb21wb25lbnQsIGkpID0+IChcbiAgICAgICAgICAgICAgICAgIDxDb21wb25lbnQga2V5PXtpfSAvPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBCZWZvcmVJbnB1dDogJ2FkbWluJyBpbiBmaWVsZCAmJlxuICAgICAgICAgICAgZmllbGQuYWRtaW4/LmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICdiZWZvcmVJbnB1dCcgaW4gZmllbGQuYWRtaW4uY29tcG9uZW50cyAmJlxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZC5hZG1pbi5jb21wb25lbnRzLmJlZm9yZUlucHV0KSAmJiAoXG4gICAgICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgICAgICB7ZmllbGQuYWRtaW4uY29tcG9uZW50cy5iZWZvcmVJbnB1dC5tYXAoKENvbXBvbmVudCwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPENvbXBvbmVudCBrZXk9e2l9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIERlc2NyaXB0aW9uOiAoXG4gICAgICAgICAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17XG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIGluIGZpZWxkLmFkbWluICYmXG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4uZGVzY3JpcHRpb24gJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgZmllbGQuYWRtaW4uZGVzY3JpcHRpb24gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgICAgICAoZmllbGQuYWRtaW4uZGVzY3JpcHRpb24gYXMgUmVhY3QuRkM8YW55PilcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0RGVzY3JpcHRpb259XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXtkZXNjcmlwdGlvblByb3BzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICAgIEVycm9yOiAoXG4gICAgICAgICAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17XG4gICAgICAgICAgICAgICAgJ2FkbWluJyBpbiBmaWVsZCAmJlxuICAgICAgICAgICAgICAgIGZpZWxkLmFkbWluLmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICAgICAnRXJyb3InIGluIGZpZWxkLmFkbWluLmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICAgICBmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uRXJyb3JcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0RXJyb3J9XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXt7IHBhdGggfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgICBMYWJlbDogKFxuICAgICAgICAgICAgPFJlbmRlckN1c3RvbUNvbXBvbmVudFxuICAgICAgICAgICAgICBDdXN0b21Db21wb25lbnQ9e1xuICAgICAgICAgICAgICAgICdhZG1pbicgaW4gZmllbGQgJiZcbiAgICAgICAgICAgICAgICBmaWVsZC5hZG1pbj8uY29tcG9uZW50cyAmJlxuICAgICAgICAgICAgICAgICdMYWJlbCcgaW4gZmllbGQuYWRtaW4uY29tcG9uZW50cyAmJlxuICAgICAgICAgICAgICAgIGZpZWxkLmFkbWluPy5jb21wb25lbnRzPy5MYWJlbFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIERlZmF1bHRDb21wb25lbnQ9e0RlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgICAgY29tcG9uZW50UHJvcHM9e2xhYmVsUHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgY2xhc3NOYW1lOlxuICAgICAgICAgICAgJ2FkbWluJyBpbiBmaWVsZCAmJiAnY2xhc3NOYW1lJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkPy5hZG1pbj8uY2xhc3NOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGZpZWxkTWFwOiBuZXN0ZWRGaWVsZE1hcCxcbiAgICAgICAgICBzdHlsZTogJ2FkbWluJyBpbiBmaWVsZCAmJiAnc3R5bGUnIGluIGZpZWxkLmFkbWluID8gZmllbGQ/LmFkbWluPy5zdHlsZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB3aWR0aDogJ2FkbWluJyBpbiBmaWVsZCAmJiAnd2lkdGgnIGluIGZpZWxkLmFkbWluID8gZmllbGQ/LmFkbWluPy53aWR0aCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAvLyBUT0RPOiBmaXggdHlwZXNcbiAgICAgICAgICAvLyBsYWJlbDogJ2xhYmVsJyBpbiBmaWVsZCA/IGZpZWxkLmxhYmVsIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBmaWVsZFBlcm1pc3Npb25zLFxuICAgICAgICAgIGhhc01hbnk6ICdoYXNNYW55JyBpbiBmaWVsZCA/IGZpZWxkLmhhc01hbnkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbWF4OiAnbWF4JyBpbiBmaWVsZCA/IGZpZWxkLm1heCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBtYXhSb3dzOiAnbWF4Um93cycgaW4gZmllbGQgPyBmaWVsZC5tYXhSb3dzIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG1pbjogJ21pbicgaW4gZmllbGQgPyBmaWVsZC5taW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgb3B0aW9uczogJ29wdGlvbnMnIGluIGZpZWxkID8gZmllbGQub3B0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICByZWFkT25seTpcbiAgICAgICAgICAgICdhZG1pbicgaW4gZmllbGQgJiYgJ3JlYWRPbmx5JyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLnJlYWRPbmx5IDogdW5kZWZpbmVkLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdyZWxhdGlvblRvJyBpbiBmaWVsZCA/IGZpZWxkLnJlbGF0aW9uVG8gOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmljaFRleHRDb21wb25lbnRNYXA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzdGVwOiAnYWRtaW4nIGluIGZpZWxkICYmICdzdGVwJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLnN0ZXAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgdGFicyxcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBGaWVsZCA9IDxGaWVsZENvbXBvbmVudCB7Li4uZmllbGRDb21wb25lbnRQcm9wc30gLz5cblxuICAgICAgICBjb25zdCBjZWxsQ29tcG9uZW50UHJvcHM6IENlbGxQcm9wcyA9IHtcbiAgICAgICAgICBuYW1lOiAnbmFtZScgaW4gZmllbGQgPyBmaWVsZC5uYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGJsb2NrczpcbiAgICAgICAgICAgICdibG9ja3MnIGluIGZpZWxkICYmXG4gICAgICAgICAgICBmaWVsZC5ibG9ja3MubWFwKChiKSA9PiAoe1xuICAgICAgICAgICAgICBzbHVnOiBiLnNsdWcsXG4gICAgICAgICAgICAgIGxhYmVsczogYi5sYWJlbHMsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgZGF0ZURpc3BsYXlGb3JtYXQ6XG4gICAgICAgICAgICAnYWRtaW4nIGluIGZpZWxkICYmICdkYXRlJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLmRhdGUuZGlzcGxheUZvcm1hdCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBmaWVsZFR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgaXNGaWVsZEFmZmVjdGluZ0RhdGEsXG4gICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAnbGFiZWwnIGluIGZpZWxkICYmIGZpZWxkLmxhYmVsICYmIHR5cGVvZiBmaWVsZC5sYWJlbCAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICA/IGZpZWxkLmxhYmVsXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGxhYmVsczogJ2xhYmVscycgaW4gZmllbGQgPyBmaWVsZC5sYWJlbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgb3B0aW9uczogJ29wdGlvbnMnIGluIGZpZWxkID8gZmllbGQub3B0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBIYW5kbGUgUmljaFRleHQgRmllbGQgQ29tcG9uZW50cywgQ2VsbCBDb21wb25lbnRzLCBhbmQgY29tcG9uZW50IG1hcHNcbiAgICAgICAgICovXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmljaFRleHQnICYmICdlZGl0b3InIGluIGZpZWxkKSB7XG4gICAgICAgICAgbGV0IFJpY2hUZXh0RmllbGRDb21wb25lbnRcbiAgICAgICAgICBsZXQgUmljaFRleHRDZWxsQ29tcG9uZW50XG5cbiAgICAgICAgICBjb25zdCBpc0xhenlGaWVsZCA9ICdMYXp5RmllbGRDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvclxuICAgICAgICAgIGNvbnN0IGlzTGF6eUNlbGwgPSAnTGF6eUNlbGxDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvclxuXG4gICAgICAgICAgaWYgKGlzTGF6eUZpZWxkKSB7XG4gICAgICAgICAgICBSaWNoVGV4dEZpZWxkQ29tcG9uZW50ID0gUmVhY3QubGF6eSgoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAnTGF6eUZpZWxkQ29tcG9uZW50JyBpbiBmaWVsZC5lZGl0b3JcbiAgICAgICAgICAgICAgICA/IGZpZWxkLmVkaXRvci5MYXp5RmllbGRDb21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIGlmICgnRmllbGRDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvcikge1xuICAgICAgICAgICAgUmljaFRleHRGaWVsZENvbXBvbmVudCA9IGZpZWxkLmVkaXRvci5GaWVsZENvbXBvbmVudFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpc0xhenlDZWxsKSB7XG4gICAgICAgICAgICBSaWNoVGV4dENlbGxDb21wb25lbnQgPSBSZWFjdC5sYXp5KCgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICdMYXp5Q2VsbENvbXBvbmVudCcgaW4gZmllbGQuZWRpdG9yXG4gICAgICAgICAgICAgICAgPyBmaWVsZC5lZGl0b3IuTGF6eUNlbGxDb21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIGlmICgnQ2VsbENvbXBvbmVudCcgaW4gZmllbGQuZWRpdG9yKSB7XG4gICAgICAgICAgICBSaWNoVGV4dENlbGxDb21wb25lbnQgPSBmaWVsZC5lZGl0b3IuQ2VsbENvbXBvbmVudFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQuZWRpdG9yLmdlbmVyYXRlQ29tcG9uZW50TWFwID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVDb21wb25lbnRNYXAoeyBjb25maWcsIHNjaGVtYVBhdGg6IHBhdGggfSlcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3ItbmV4dC1saW5lIC8vIFRPRE86IHRoZSBgcmljaFRleHRDb21wb25lbnRNYXBgIGlzIG5vdCBmb3VuZCBvbiB0aGUgdW5pb24gdHlwZVxuICAgICAgICAgICAgZmllbGRDb21wb25lbnRQcm9wcy5yaWNoVGV4dENvbXBvbmVudE1hcCA9IHJlc3VsdFxuICAgICAgICAgICAgY2VsbENvbXBvbmVudFByb3BzLnJpY2hUZXh0Q29tcG9uZW50TWFwID0gcmVzdWx0XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFJpY2hUZXh0RmllbGRDb21wb25lbnQpIHtcbiAgICAgICAgICAgIEZpZWxkID0gPFJpY2hUZXh0RmllbGRDb21wb25lbnQgey4uLmZpZWxkQ29tcG9uZW50UHJvcHN9IC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFJpY2hUZXh0Q2VsbENvbXBvbmVudCkge1xuICAgICAgICAgICAgY2VsbENvbXBvbmVudFByb3BzLkNlbGxDb21wb25lbnRPdmVycmlkZSA9IDxSaWNoVGV4dENlbGxDb21wb25lbnQgLz5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWR1Y2VkRmllbGQ6IE1hcHBlZEZpZWxkID0ge1xuICAgICAgICAgIG5hbWU6ICduYW1lJyBpbiBmaWVsZCA/IGZpZWxkLm5hbWUgOiAnJyxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgIENlbGw6IChcbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uQ2VsbH1cbiAgICAgICAgICAgICAgRGVmYXVsdENvbXBvbmVudD17RGVmYXVsdENlbGx9XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXtjZWxsQ29tcG9uZW50UHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgRmllbGQsXG4gICAgICAgICAgSGVhZGluZzogKFxuICAgICAgICAgICAgPFNvcnRDb2x1bW5cbiAgICAgICAgICAgICAgZGlzYWJsZT17XG4gICAgICAgICAgICAgICAgKCdkaXNhYmxlU29ydCcgaW4gZmllbGQgJiYgQm9vbGVhbihmaWVsZC5kaXNhYmxlU29ydCkpIHx8XG4gICAgICAgICAgICAgICAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZCkgfHxcbiAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgJ2xhYmVsJyBpbiBmaWVsZCAmJiBmaWVsZC5sYWJlbCAmJiB0eXBlb2YgZmllbGQubGFiZWwgIT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgID8gZmllbGQubGFiZWxcbiAgICAgICAgICAgICAgICAgIDogJ25hbWUnIGluIGZpZWxkXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGQubmFtZVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG5hbWU9eyduYW1lJyBpbiBmaWVsZCA/IGZpZWxkLm5hbWUgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgIGZpZWxkSXNQcmVzZW50YXRpb25hbCxcbiAgICAgICAgICBmaWVsZFBlcm1pc3Npb25zLFxuICAgICAgICAgIGhhc01hbnk6ICdoYXNNYW55JyBpbiBmaWVsZCA/IGZpZWxkLmhhc01hbnkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgaXNGaWVsZEFmZmVjdGluZ0RhdGEsXG4gICAgICAgICAgaXNTaWRlYmFyOiAnYWRtaW4nIGluIGZpZWxkICYmIGZpZWxkLmFkbWluPy5wb3NpdGlvbiA9PT0gJ3NpZGViYXInLFxuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnIGluIGZpZWxkICYmIHR5cGVvZiBmaWVsZC5sYWJlbCAhPT0gJ2Z1bmN0aW9uJyA/IGZpZWxkLmxhYmVsIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGxhYmVsczogJ2xhYmVscycgaW4gZmllbGQgPyBmaWVsZC5sYWJlbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbG9jYWxpemVkOiAnbG9jYWxpemVkJyBpbiBmaWVsZCA/IGZpZWxkLmxvY2FsaXplZCA6IGZhbHNlLFxuICAgICAgICAgIG9wdGlvbnM6ICdvcHRpb25zJyBpbiBmaWVsZCA/IGZpZWxkLm9wdGlvbnMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmVhZE9ubHk6XG4gICAgICAgICAgICAnYWRtaW4nIGluIGZpZWxkICYmICdyZWFkT25seScgaW4gZmllbGQuYWRtaW4gPyBmaWVsZC5hZG1pbi5yZWFkT25seSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICByZWxhdGlvblRvOiAncmVsYXRpb25UbycgaW4gZmllbGQgPyBmaWVsZC5yZWxhdGlvblRvIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHN1YmZpZWxkczogbmVzdGVkRmllbGRNYXAsXG4gICAgICAgICAgdGFicyxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChGaWVsZENvbXBvbmVudCkge1xuICAgICAgICAgIGFjYy5wdXNoKHJlZHVjZWRGaWVsZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2NcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFzSUQgPVxuICAgIHJlc3VsdC5maW5kSW5kZXgoKHsgbmFtZSwgaXNGaWVsZEFmZmVjdGluZ0RhdGEgfSkgPT4gaXNGaWVsZEFmZmVjdGluZ0RhdGEgJiYgbmFtZSA9PT0gJ2lkJykgPiAtMVxuXG4gIGlmICghaGFzSUQpIHtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICBuYW1lOiAnaWQnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgQ2VsbDogdHlwZW9mIERlZmF1bHRDZWxsID09PSAnZnVuY3Rpb24nID8gPERlZmF1bHRDZWxsIG5hbWU9XCJpZFwiIC8+IDogbnVsbCxcbiAgICAgIEZpZWxkOiA8SGlkZGVuSW5wdXQgbmFtZT1cImlkXCIgLz4sXG4gICAgICBIZWFkaW5nOiA8U29ydENvbHVtbiBsYWJlbD1cIklEXCIgbmFtZT1cImlkXCIgLz4sXG4gICAgICBmaWVsZElzUHJlc2VudGF0aW9uYWw6IGZhbHNlLFxuICAgICAgZmllbGRQZXJtaXNzaW9uczoge30gYXMgRmllbGRQZXJtaXNzaW9ucyxcbiAgICAgIGlzRmllbGRBZmZlY3RpbmdEYXRhOiB0cnVlLFxuICAgICAgaXNTaWRlYmFyOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnSUQnLFxuICAgICAgbGFiZWxzOiB1bmRlZmluZWQsXG4gICAgICBsb2NhbGl6ZWQ6IHVuZGVmaW5lZCxcbiAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICAgIHN1YmZpZWxkczogW10sXG4gICAgICB0YWJzOiBbXSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiUmVhY3QiLCJGcmFnbWVudCIsIlJlbmRlckN1c3RvbUNvbXBvbmVudCIsIlNvcnRDb2x1bW4iLCJEZWZhdWx0RXJyb3IiLCJEZWZhdWx0RGVzY3JpcHRpb24iLCJEZWZhdWx0TGFiZWwiLCJmaWVsZFR5cGVzIiwiSGlkZGVuSW5wdXQiLCJtYXBGaWVsZHMiLCJhcmdzIiwiRGVmYXVsdENlbGwiLCJjb25maWciLCJmaWVsZFNjaGVtYSIsImZpbHRlciIsInBhcmVudFBhdGgiLCJwZXJtaXNzaW9ucyIsInJlYWRPbmx5IiwicmVhZE9ubHlPdmVycmlkZSIsInJlc3VsdCIsInJlZHVjZSIsImFjYyIsImZpZWxkIiwiZmllbGRJc1ByZXNlbnRhdGlvbmFsIiwiRmllbGRDb21wb25lbnQiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWVsZCIsInR5cGUiLCJoaWRkZW4iLCJkaXNhYmxlZCIsImlzRmllbGRBZmZlY3RpbmdEYXRhIiwicGF0aCIsIm5hbWUiLCJmaWVsZFBlcm1pc3Npb25zIiwidW5kZWZpbmVkIiwicmVhZCIsInBlcm1pc3Npb24iLCJsYWJlbFByb3BzIiwiaHRtbEZvciIsImxhYmVsIiwicmVxdWlyZWQiLCJkZXNjcmlwdGlvblByb3BzIiwiZGVzY3JpcHRpb24iLCJuZXN0ZWRGaWVsZE1hcCIsImZpZWxkcyIsIkFycmF5IiwiaXNBcnJheSIsInRhYnMiLCJtYXAiLCJ0YWIiLCJ0YWJGaWVsZE1hcCIsInJlZHVjZWRUYWIiLCJzdWJmaWVsZHMiLCJibG9ja3MiLCJibG9jayIsImJsb2NrRmllbGRNYXAiLCJzbHVnIiwicmVkdWNlZEJsb2NrIiwiaW1hZ2VBbHRUZXh0IiwiaW1hZ2VVUkwiLCJsYWJlbHMiLCJmaWVsZENvbXBvbmVudFByb3BzIiwiQWZ0ZXJJbnB1dCIsImFmdGVySW5wdXQiLCJDb21wb25lbnQiLCJpIiwia2V5IiwiQmVmb3JlSW5wdXQiLCJiZWZvcmVJbnB1dCIsIkRlc2NyaXB0aW9uIiwiQ3VzdG9tQ29tcG9uZW50IiwiRGVmYXVsdENvbXBvbmVudCIsImNvbXBvbmVudFByb3BzIiwiRXJyb3IiLCJMYWJlbCIsImNsYXNzTmFtZSIsImZpZWxkTWFwIiwic3R5bGUiLCJ3aWR0aCIsImhhc01hbnkiLCJtYXgiLCJtYXhSb3dzIiwibWluIiwib3B0aW9ucyIsInJlbGF0aW9uVG8iLCJyaWNoVGV4dENvbXBvbmVudE1hcCIsInN0ZXAiLCJjZWxsQ29tcG9uZW50UHJvcHMiLCJiIiwiZGF0ZURpc3BsYXlGb3JtYXQiLCJkYXRlIiwiZGlzcGxheUZvcm1hdCIsImZpZWxkVHlwZSIsIlJpY2hUZXh0RmllbGRDb21wb25lbnQiLCJSaWNoVGV4dENlbGxDb21wb25lbnQiLCJpc0xhenlGaWVsZCIsImVkaXRvciIsImlzTGF6eUNlbGwiLCJsYXp5IiwiTGF6eUZpZWxkQ29tcG9uZW50IiwidGhlbiIsInJlc29sdmVkQ29tcG9uZW50IiwiZGVmYXVsdCIsIkxhenlDZWxsQ29tcG9uZW50IiwiQ2VsbENvbXBvbmVudCIsImdlbmVyYXRlQ29tcG9uZW50TWFwIiwic2NoZW1hUGF0aCIsIkNlbGxDb21wb25lbnRPdmVycmlkZSIsInJlZHVjZWRGaWVsZCIsIkNlbGwiLCJIZWFkaW5nIiwiZGlzYWJsZSIsIkJvb2xlYW4iLCJkaXNhYmxlU29ydCIsImlzU2lkZWJhciIsInBvc2l0aW9uIiwibG9jYWxpemVkIiwicHVzaCIsImhhc0lEIiwiZmluZEluZGV4Il0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxnQkFBZ0IsRUFBRUMseUJBQXlCLFFBQVEsZ0JBQWU7QUFDM0UsT0FBT0MsU0FBU0MsUUFBUSxRQUFRLFFBQU87QUFNdkMsU0FBU0MscUJBQXFCLFFBQVEsdUNBQXNDO0FBQzVFLFNBQVNDLFVBQVUsUUFBUSw0QkFBMkI7QUFDdEQsT0FBT0Msa0JBQWtCLG9CQUFtQjtBQUM1QyxPQUFPQyx3QkFBd0IsK0JBQThCO0FBQzdELE9BQU9DLGtCQUFrQixvQkFBbUI7QUFDNUMsU0FBU0MsVUFBVSxRQUFRLHFCQUFvQjtBQUMvQyxPQUFPQyxpQkFBaUIsaUNBQWdDO0FBRXhELE9BQU8sTUFBTUMsWUFBWSxDQUFDQztJQVN4QixNQUFNLEVBQ0pDLFdBQVcsRUFDWEMsTUFBTSxFQUNO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
@@ -40,6 +40,9 @@ export type MappedField = {
40
40
  * On `select` fields only
41
41
  */
42
42
  options?: Option[];
43
+ /**
44
+ * This is the `admin.readOnly` value from the field's config
45
+ */
43
46
  readOnly: boolean;
44
47
  /**
45
48
  * On `relationship` fields only
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildComponentMap/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildComponentMap/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EACV,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,QAAQ,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC5C;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,EAAE,CAAA;IAClB,IAAI,EAAE,MAAM,OAAO,UAAU,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;AAEpC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE;QACJ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;KAClC,CAAA;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,GAAG;IAC5D,cAAc,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,UAAU,EAAE,SAAS,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE;QACX,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;KAClE,CAAA;IACD,OAAO,EAAE;QACP,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAA;KAC1D,CAAA;CACF,CAAA"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRDb21wb25lbnRNYXAvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZFBlcm1pc3Npb25zIH0gZnJvbSAncGF5bG9hZC9hdXRoJ1xuaW1wb3J0IHR5cGUge1xuICBCbG9ja0ZpZWxkLFxuICBGaWVsZEJhc2UsXG4gIExhYmVscyxcbiAgT3B0aW9uLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyxcbiAgU2FuaXRpemVkR2xvYmFsQ29uZmlnLFxuICBUYWJzRmllbGQsXG59IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgZmllbGRUeXBlcyB9IGZyb20gJy4uLy4uL2Zvcm1zL2ZpZWxkcydcblxuZXhwb3J0IHR5cGUgTWFwcGVkVGFiID0ge1xuICBsYWJlbDogVGFic0ZpZWxkWyd0YWJzJ11bMF1bJ2xhYmVsJ11cbiAgbmFtZT86IHN0cmluZ1xuICBzdWJmaWVsZHM/OiBGaWVsZE1hcFxufVxuXG5leHBvcnQgdHlwZSBSZWR1Y2VkQmxvY2sgPSB7XG4gIGltYWdlQWx0VGV4dD86IHN0cmluZ1xuICBpbWFnZVVSTD86IHN0cmluZ1xuICBsYWJlbHM6IEJsb2NrRmllbGRbJ2xhYmVscyddXG4gIHNsdWc6IHN0cmluZ1xuICBzdWJmaWVsZHM6IEZpZWxkTWFwXG59XG5cbmV4cG9ydCB0eXBlIE1hcHBlZEZpZWxkID0ge1xuICBDZWxsOiBSZWFjdC5SZWFjdE5vZGVcbiAgRmllbGQ6IFJlYWN0LlJlYWN0Tm9kZVxuICBIZWFkaW5nOiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIE9uIGBibG9ja2AgZmllbGRzIG9ubHlcbiAgICovXG4gIGJsb2Nrcz86IFJlZHVjZWRCbG9ja1tdXG4gIC8qKlxuICAgKiBPbiBgcmljaFRleHRgIGZpZWxkcyBvbmx5XG4gICAqL1xuICBlZGl0b3I/OiBSaWNoVGV4dEZpZWxkWydlZGl0b3InXVxuICBmaWVsZElzUHJlc2VudGF0aW9uYWw6IGJvb2xlYW5cbiAgZmllbGRNYXA/OiBGaWVsZE1hcFxuICBmaWVsZFBlcm1pc3Npb25zOiBGaWVsZFBlcm1pc3Npb25zXG4gIGhhc01hbnk/OiBib29sZWFuXG4gIGlzRmllbGRBZmZlY3RpbmdEYXRhOiBib29sZWFuXG4gIGlzU2lkZWJhcjogYm9vbGVhblxuICBsYWJlbDogRmllbGRCYXNlWydsYWJlbCddXG4gIGxhYmVsczogTGFiZWxzXG4gIGxvY2FsaXplZDogYm9vbGVhblxuICBuYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIE9uIGBzZWxlY3RgIGZpZWxkcyBvbmx5XG4gICAqL1xuICBvcHRpb25zPzogT3B0aW9uW11cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIGBhZG1pbi5yZWFkT25seWAgdmFsdWUgZnJvbSB0aGUgZmllbGQncyBjb25maWdcbiAgICovXG4gIHJlYWRPbmx5OiBib29sZWFuXG4gIC8qKlxuICAgKiBPbiBgcmVsYXRpb25zaGlwYCBmaWVsZHMgb25seVxuICAgKi9cbiAgcmVsYXRpb25Ubz86IFJlbGF0aW9uc2hpcEZpZWxkWydyZWxhdGlvblRvJ11cbiAgLyoqXG4gICAqIE9uIGBhcnJheWAsIGBncm91cGAsIGBjb2xsYXBzaWJsZWAsIGFuZCBgdGFic2AgZmllbGRzIG9ubHlcbiAgICovXG4gIHN1YmZpZWxkcz86IEZpZWxkTWFwXG4gIC8qKlxuICAgKiBPbiBgdGFic2AgZmllbGRzIG9ubHlcbiAgICovXG4gIHRhYnM/OiBNYXBwZWRUYWJbXVxuICB0eXBlOiBrZXlvZiB0eXBlb2YgZmllbGRUeXBlc1xufVxuXG5leHBvcnQgdHlwZSBGaWVsZE1hcCA9IE1hcHBlZEZpZWxkW11cblxuZXhwb3J0IHR5cGUgQWN0aW9uTWFwID0ge1xuICBFZGl0OiB7XG4gICAgW3ZpZXc6IHN0cmluZ106IFJlYWN0LlJlYWN0Tm9kZVtdXG4gIH1cbiAgTGlzdDogUmVhY3QuUmVhY3ROb2RlW11cbn1cblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkNvbXBvbmVudE1hcCA9IENvbmZpZ0NvbXBvbmVudE1hcEJhc2UgJiB7XG4gIEFkbWluVGh1bWJuYWlsOiBSZWFjdC5SZWFjdE5vZGVcbiAgQWZ0ZXJMaXN0OiBSZWFjdC5SZWFjdE5vZGVcbiAgQWZ0ZXJMaXN0VGFibGU6IFJlYWN0LlJlYWN0Tm9kZVxuICBCZWZvcmVMaXN0OiBSZWFjdC5SZWFjdE5vZGVcbiAgQmVmb3JlTGlzdFRhYmxlOiBSZWFjdC5SZWFjdE5vZGVcbiAgTGlzdDogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmV4cG9ydCB0eXBlIEdsb2JhbENvbXBvbmVudE1hcCA9IENvbmZpZ0NvbXBvbmVudE1hcEJhc2VcblxuZXhwb3J0IHR5cGUgQ29uZmlnQ29tcG9uZW50TWFwQmFzZSA9IHtcbiAgRWRpdDogUmVhY3QuUmVhY3ROb2RlXG4gIGFjdGlvbnNNYXA6IEFjdGlvbk1hcFxuICBmaWVsZE1hcDogRmllbGRNYXBcbn1cblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50TWFwID0ge1xuICBjb2xsZWN0aW9uczoge1xuICAgIFtzbHVnOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnWydzbHVnJ11dOiBDb2xsZWN0aW9uQ29tcG9uZW50TWFwXG4gIH1cbiAgZ2xvYmFsczoge1xuICAgIFtzbHVnOiBTYW5pdGl6ZWRHbG9iYWxDb25maWdbJ3NsdWcnXV06IEdsb2JhbENvbXBvbmVudE1hcFxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0dBLFdBT0MifQ==
@@ -1,19 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "buildFieldSchemaMap", {
6
- enumerable: true,
7
- get: function() {
8
- return buildFieldSchemaMap;
9
- }
10
- });
11
- const _traverseFields = require("./traverseFields");
12
- const buildFieldSchemaMap = (config)=>{
1
+ import { traverseFields } from './traverseFields';
2
+ export const buildFieldSchemaMap = (config)=>{
13
3
  const result = new Map();
14
4
  const validRelationships = config.collections.map((c)=>c.slug) || [];
15
5
  config.collections.forEach((collection)=>{
16
- (0, _traverseFields.traverseFields)({
6
+ traverseFields({
17
7
  config,
18
8
  fields: collection.fields,
19
9
  schemaMap: result,
@@ -22,7 +12,7 @@ const buildFieldSchemaMap = (config)=>{
22
12
  });
23
13
  });
24
14
  config.globals.forEach((global)=>{
25
- (0, _traverseFields.traverseFields)({
15
+ traverseFields({
26
16
  config,
27
17
  fields: global.fields,
28
18
  schemaMap: result,
@@ -33,4 +23,4 @@ const buildFieldSchemaMap = (config)=>{
33
23
  return result;
34
24
  };
35
25
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRGaWVsZFNjaGVtYU1hcC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkU2NoZW1hTWFwID0gKGNvbmZpZzogU2FuaXRpemVkQ29uZmlnKTogRmllbGRTY2hlbWFNYXAgPT4ge1xuICBjb25zdCByZXN1bHQ6IEZpZWxkU2NoZW1hTWFwID0gbmV3IE1hcCgpXG5cbiAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gY29uZmlnLmNvbGxlY3Rpb25zLm1hcCgoYykgPT4gYy5zbHVnKSB8fCBbXVxuXG4gIGNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgY29uZmlnLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgIHNjaGVtYU1hcDogcmVzdWx0LFxuICAgICAgc2NoZW1hUGF0aDogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgIH0pXG4gIH0pXG5cbiAgY29uZmlnLmdsb2JhbHMuZm9yRWFjaCgoZ2xvYmFsKSA9PiB7XG4gICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgY29uZmlnLFxuICAgICAgZmllbGRzOiBnbG9iYWwuZmllbGRzLFxuICAgICAgc2NoZW1hTWFwOiByZXN1bHQsXG4gICAgICBzY2hlbWFQYXRoOiBnbG9iYWwuc2x1ZyxcbiAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICB9KVxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJidWlsZEZpZWxkU2NoZW1hTWFwIiwiY29uZmlnIiwicmVzdWx0IiwiTWFwIiwidmFsaWRSZWxhdGlvbnNoaXBzIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjIiwic2x1ZyIsImZvckVhY2giLCJjb2xsZWN0aW9uIiwidHJhdmVyc2VGaWVsZHMiLCJmaWVsZHMiLCJzY2hlbWFNYXAiLCJzY2hlbWFQYXRoIiwiZ2xvYmFscyIsImdsb2JhbCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFNYUE7OztlQUFBQTs7O2dDQUZrQjtBQUV4QixNQUFNQSxzQkFBc0IsQ0FBQ0M7SUFDbEMsTUFBTUMsU0FBeUIsSUFBSUM7SUFFbkMsTUFBTUMscUJBQXFCSCxPQUFPSSxXQUFXLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUssRUFBRTtJQUV0RVAsT0FBT0ksV0FBVyxDQUFDSSxPQUFPLENBQUMsQ0FBQ0M7UUFDMUJDLElBQUFBLDhCQUFjLEVBQUM7WUFDYlY7WUFDQVcsUUFBUUYsV0FBV0UsTUFBTTtZQUN6QkMsV0FBV1g7WUFDWFksWUFBWUosV0FBV0YsSUFBSTtZQUMzQko7UUFDRjtJQUNGO0lBRUFILE9BQU9jLE9BQU8sQ0FBQ04sT0FBTyxDQUFDLENBQUNPO1FBQ3RCTCxJQUFBQSw4QkFBYyxFQUFDO1lBQ2JWO1lBQ0FXLFFBQVFJLE9BQU9KLE1BQU07WUFDckJDLFdBQVdYO1lBQ1hZLFlBQVlFLE9BQU9SLElBQUk7WUFDdkJKO1FBQ0Y7SUFDRjtJQUVBLE9BQU9GO0FBQ1QifQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRGaWVsZFNjaGVtYU1hcC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkU2NoZW1hTWFwID0gKGNvbmZpZzogU2FuaXRpemVkQ29uZmlnKTogRmllbGRTY2hlbWFNYXAgPT4ge1xuICBjb25zdCByZXN1bHQ6IEZpZWxkU2NoZW1hTWFwID0gbmV3IE1hcCgpXG5cbiAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gY29uZmlnLmNvbGxlY3Rpb25zLm1hcCgoYykgPT4gYy5zbHVnKSB8fCBbXVxuXG4gIGNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgY29uZmlnLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgIHNjaGVtYU1hcDogcmVzdWx0LFxuICAgICAgc2NoZW1hUGF0aDogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgIH0pXG4gIH0pXG5cbiAgY29uZmlnLmdsb2JhbHMuZm9yRWFjaCgoZ2xvYmFsKSA9PiB7XG4gICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgY29uZmlnLFxuICAgICAgZmllbGRzOiBnbG9iYWwuZmllbGRzLFxuICAgICAgc2NoZW1hTWFwOiByZXN1bHQsXG4gICAgICBzY2hlbWFQYXRoOiBnbG9iYWwuc2x1ZyxcbiAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICB9KVxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImJ1aWxkRmllbGRTY2hlbWFNYXAiLCJjb25maWciLCJyZXN1bHQiLCJNYXAiLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJjb2xsZWN0aW9ucyIsIm1hcCIsImMiLCJzbHVnIiwiZm9yRWFjaCIsImNvbGxlY3Rpb24iLCJmaWVsZHMiLCJzY2hlbWFNYXAiLCJzY2hlbWFQYXRoIiwiZ2xvYmFscyIsImdsb2JhbCJdLCJtYXBwaW5ncyI6IkFBSUEsU0FBU0EsY0FBYyxRQUFRLG1CQUFrQjtBQUVqRCxPQUFPLE1BQU1DLHNCQUFzQixDQUFDQztJQUNsQyxNQUFNQyxTQUF5QixJQUFJQztJQUVuQyxNQUFNQyxxQkFBcUJILE9BQU9JLFdBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBSyxFQUFFO0lBRXRFUCxPQUFPSSxXQUFXLENBQUNJLE9BQU8sQ0FBQyxDQUFDQztRQUMxQlgsZUFBZTtZQUNiRTtZQUNBVSxRQUFRRCxXQUFXQyxNQUFNO1lBQ3pCQyxXQUFXVjtZQUNYVyxZQUFZSCxXQUFXRixJQUFJO1lBQzNCSjtRQUNGO0lBQ0Y7SUFFQUgsT0FBT2EsT0FBTyxDQUFDTCxPQUFPLENBQUMsQ0FBQ007UUFDdEJoQixlQUFlO1lBQ2JFO1lBQ0FVLFFBQVFJLE9BQU9KLE1BQU07WUFDckJDLFdBQVdWO1lBQ1hXLFlBQVlFLE9BQU9QLElBQUk7WUFDdkJKO1FBQ0Y7SUFDRjtJQUVBLE9BQU9GO0FBQ1QsRUFBQyJ9
@@ -1,22 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "traverseFields", {
6
- enumerable: true,
7
- get: function() {
8
- return traverseFields;
9
- }
10
- });
11
- const _config = require("payload/config");
12
- const _types = require("payload/types");
13
- const traverseFields = ({ config, fields, schemaMap, schemaPath, validRelationships })=>{
1
+ import { sanitizeFields } from 'payload/config';
2
+ import { tabHasName } from 'payload/types';
3
+ export const traverseFields = ({ config, fields, schemaMap, schemaPath, validRelationships })=>{
14
4
  fields.map((field)=>{
15
5
  let fieldsToSet;
16
6
  switch(field.type){
17
7
  case 'group':
18
8
  case 'array':
19
- fieldsToSet = (0, _config.sanitizeFields)({
9
+ fieldsToSet = sanitizeFields({
20
10
  config,
21
11
  fields: field.fields,
22
12
  validRelationships
@@ -43,7 +33,7 @@ const traverseFields = ({ config, fields, schemaMap, schemaPath, validRelationsh
43
33
  case 'blocks':
44
34
  field.blocks.map((block)=>{
45
35
  const blockSchemaPath = `${schemaPath}.${field.name}.${block.slug}`;
46
- fieldsToSet = (0, _config.sanitizeFields)({
36
+ fieldsToSet = sanitizeFields({
47
37
  config,
48
38
  fields: block.fields,
49
39
  validRelationships
@@ -69,9 +59,9 @@ const traverseFields = ({ config, fields, schemaMap, schemaPath, validRelationsh
69
59
  break;
70
60
  case 'tabs':
71
61
  field.tabs.map((tab)=>{
72
- const tabSchemaPath = (0, _types.tabHasName)(tab) ? `${schemaPath}.${tab.name}` : schemaPath;
73
- if ((0, _types.tabHasName)(tab)) {
74
- fieldsToSet = (0, _config.sanitizeFields)({
62
+ const tabSchemaPath = tabHasName(tab) ? `${schemaPath}.${tab.name}` : schemaPath;
63
+ if (tabHasName(tab)) {
64
+ fieldsToSet = sanitizeFields({
75
65
  config,
76
66
  fields: tab.fields,
77
67
  validRelationships
@@ -91,4 +81,4 @@ const traverseFields = ({ config, fields, schemaMap, schemaPath, validRelationsh
91
81
  });
92
82
  };
93
83
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRGaWVsZFNjaGVtYU1hcC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHsgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGZpZWxkczogRmllbGRbXVxuICBzY2hlbWFNYXA6IEZpZWxkU2NoZW1hTWFwXG4gIHNjaGVtYVBhdGg6IHN0cmluZ1xuICB2YWxpZFJlbGF0aW9uc2hpcHM6IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIGNvbmZpZyxcbiAgZmllbGRzLFxuICBzY2hlbWFNYXAsXG4gIHNjaGVtYVBhdGgsXG4gIHZhbGlkUmVsYXRpb25zaGlwcyxcbn06IEFyZ3MpID0+IHtcbiAgZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICBsZXQgZmllbGRzVG9TZXRcbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgZmllbGRzVG9TZXQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgICAgc2NoZW1hTWFwLnNldChgJHtzY2hlbWFQYXRofS4ke2ZpZWxkLm5hbWV9YCwgZmllbGRzVG9TZXQpXG5cbiAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBzY2hlbWFNYXAsXG4gICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6XG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHNjaGVtYU1hcCxcbiAgICAgICAgICBzY2hlbWFQYXRoLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgZmllbGQuYmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICBjb25zdCBibG9ja1NjaGVtYVBhdGggPSBgJHtzY2hlbWFQYXRofS4ke2ZpZWxkLm5hbWV9LiR7YmxvY2suc2x1Z31gXG4gICAgICAgICAgZmllbGRzVG9TZXQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHNjaGVtYU1hcC5zZXQoYmxvY2tTY2hlbWFQYXRoLCBmaWVsZHNUb1NldClcblxuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogYmxvY2tTY2hlbWFQYXRoLFxuICAgICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3JpY2hUZXh0JzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVTY2hlbWFNYXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVTY2hlbWFNYXAoe1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3RhYnMnOlxuICAgICAgICBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFiU2NoZW1hUGF0aCA9IHRhYkhhc05hbWUodGFiKSA/IGAke3NjaGVtYVBhdGh9LiR7dGFiLm5hbWV9YCA6IHNjaGVtYVBhdGhcblxuICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgIGZpZWxkc1RvU2V0ID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHNjaGVtYU1hcC5zZXQodGFiU2NoZW1hUGF0aCwgZmllbGRzVG9TZXQpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogdGFiU2NoZW1hUGF0aCxcbiAgICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImNvbmZpZyIsImZpZWxkcyIsInNjaGVtYU1hcCIsInNjaGVtYVBhdGgiLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJtYXAiLCJmaWVsZCIsImZpZWxkc1RvU2V0IiwidHlwZSIsInNhbml0aXplRmllbGRzIiwic2V0IiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tTY2hlbWFQYXRoIiwic2x1ZyIsImVkaXRvciIsImdlbmVyYXRlU2NoZW1hTWFwIiwidGFicyIsInRhYiIsInRhYlNjaGVtYVBhdGgiLCJ0YWJIYXNOYW1lIl0sIm1hcHBpbmdzIjoiOzs7OytCQWVhQTs7O2VBQUFBOzs7d0JBYmtCO3VCQUNKO0FBWXBCLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxVQUFVLEVBQ1ZDLGtCQUFrQixFQUNiO0lBQ0xILE9BQU9JLEdBQUcsQ0FBQyxDQUFDQztRQUNWLElBQUlDO1FBQ0osT0FBUUQsTUFBTUUsSUFBSTtZQUNoQixLQUFLO1lBQ0wsS0FBSztnQkFDSEQsY0FBY0UsSUFBQUEsc0JBQWMsRUFBQztvQkFDM0JUO29CQUNBQyxRQUFRSyxNQUFNTCxNQUFNO29CQUNwQkc7Z0JBQ0Y7Z0JBQ0FGLFVBQVVRLEdBQUcsQ0FBQyxDQUFDLEVBQUVQLFdBQVcsQ0FBQyxFQUFFRyxNQUFNSyxJQUFJLENBQUMsQ0FBQyxFQUFFSjtnQkFFN0NSLGVBQWU7b0JBQ2JDO29CQUNBQyxRQUFRSyxNQUFNTCxNQUFNO29CQUNwQkM7b0JBQ0FDLFlBQVksQ0FBQyxFQUFFQSxXQUFXLENBQUMsRUFBRUcsTUFBTUssSUFBSSxDQUFDLENBQUM7b0JBQ3pDUDtnQkFDRjtnQkFDQTtZQUVGLEtBQUs7WUFDTCxLQUFLO2dCQUNITCxlQUFlO29CQUNiQztvQkFDQUMsUUFBUUssTUFBTUwsTUFBTTtvQkFDcEJDO29CQUNBQztvQkFDQUM7Z0JBQ0Y7Z0JBQ0E7WUFFRixLQUFLO2dCQUNIRSxNQUFNTSxNQUFNLENBQUNQLEdBQUcsQ0FBQyxDQUFDUTtvQkFDaEIsTUFBTUMsa0JBQWtCLENBQUMsRUFBRVgsV0FBVyxDQUFDLEVBQUVHLE1BQU1LLElBQUksQ0FBQyxDQUFDLEVBQUVFLE1BQU1FLElBQUksQ0FBQyxDQUFDO29CQUNuRVIsY0FBY0UsSUFBQUEsc0JBQWMsRUFBQzt3QkFDM0JUO3dCQUNBQyxRQUFRWSxNQUFNWixNQUFNO3dCQUNwQkc7b0JBQ0Y7b0JBQ0FGLFVBQVVRLEdBQUcsQ0FBQ0ksaUJBQWlCUDtvQkFFL0JSLGVBQWU7d0JBQ2JDO3dCQUNBQyxRQUFRWSxNQUFNWixNQUFNO3dCQUNwQkM7d0JBQ0FDLFlBQVlXO3dCQUNaVjtvQkFDRjtnQkFDRjtnQkFDQTtZQUVGLEtBQUs7Z0JBQ0gsSUFBSSxPQUFPRSxNQUFNVSxNQUFNLENBQUNDLGlCQUFpQixLQUFLLFlBQVk7b0JBQ3hEWCxNQUFNVSxNQUFNLENBQUNDLGlCQUFpQixDQUFDO3dCQUM3QmpCO3dCQUNBRTt3QkFDQUMsWUFBWSxDQUFDLEVBQUVBLFdBQVcsQ0FBQyxFQUFFRyxNQUFNSyxJQUFJLENBQUMsQ0FBQztvQkFDM0M7Z0JBQ0Y7Z0JBRUE7WUFFRixLQUFLO2dCQUNITCxNQUFNWSxJQUFJLENBQUNiLEdBQUcsQ0FBQyxDQUFDYztvQkFDZCxNQUFNQyxnQkFBZ0JDLElBQUFBLGlCQUFVLEVBQUNGLE9BQU8sQ0FBQyxFQUFFaEIsV0FBVyxDQUFDLEVBQUVnQixJQUFJUixJQUFJLENBQUMsQ0FBQyxHQUFHUjtvQkFFdEUsSUFBSWtCLElBQUFBLGlCQUFVLEVBQUNGLE1BQU07d0JBQ25CWixjQUFjRSxJQUFBQSxzQkFBYyxFQUFDOzRCQUMzQlQ7NEJBQ0FDLFFBQVFrQixJQUFJbEIsTUFBTTs0QkFDbEJHO3dCQUNGO3dCQUNBRixVQUFVUSxHQUFHLENBQUNVLGVBQWViO29CQUMvQjtvQkFFQVIsZUFBZTt3QkFDYkM7d0JBQ0FDLFFBQVFrQixJQUFJbEIsTUFBTTt3QkFDbEJDO3dCQUNBQyxZQUFZaUI7d0JBQ1poQjtvQkFDRjtnQkFDRjtnQkFDQTtRQUNKO0lBQ0Y7QUFDRiJ9
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRGaWVsZFNjaGVtYU1hcC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHsgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGZpZWxkczogRmllbGRbXVxuICBzY2hlbWFNYXA6IEZpZWxkU2NoZW1hTWFwXG4gIHNjaGVtYVBhdGg6IHN0cmluZ1xuICB2YWxpZFJlbGF0aW9uc2hpcHM6IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIGNvbmZpZyxcbiAgZmllbGRzLFxuICBzY2hlbWFNYXAsXG4gIHNjaGVtYVBhdGgsXG4gIHZhbGlkUmVsYXRpb25zaGlwcyxcbn06IEFyZ3MpID0+IHtcbiAgZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICBsZXQgZmllbGRzVG9TZXRcbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgZmllbGRzVG9TZXQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgICAgc2NoZW1hTWFwLnNldChgJHtzY2hlbWFQYXRofS4ke2ZpZWxkLm5hbWV9YCwgZmllbGRzVG9TZXQpXG5cbiAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBzY2hlbWFNYXAsXG4gICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6XG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHNjaGVtYU1hcCxcbiAgICAgICAgICBzY2hlbWFQYXRoLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgZmllbGQuYmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICBjb25zdCBibG9ja1NjaGVtYVBhdGggPSBgJHtzY2hlbWFQYXRofS4ke2ZpZWxkLm5hbWV9LiR7YmxvY2suc2x1Z31gXG4gICAgICAgICAgZmllbGRzVG9TZXQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHNjaGVtYU1hcC5zZXQoYmxvY2tTY2hlbWFQYXRoLCBmaWVsZHNUb1NldClcblxuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogYmxvY2tTY2hlbWFQYXRoLFxuICAgICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3JpY2hUZXh0JzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVTY2hlbWFNYXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVTY2hlbWFNYXAoe1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3RhYnMnOlxuICAgICAgICBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFiU2NoZW1hUGF0aCA9IHRhYkhhc05hbWUodGFiKSA/IGAke3NjaGVtYVBhdGh9LiR7dGFiLm5hbWV9YCA6IHNjaGVtYVBhdGhcblxuICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgIGZpZWxkc1RvU2V0ID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHNjaGVtYU1hcC5zZXQodGFiU2NoZW1hUGF0aCwgZmllbGRzVG9TZXQpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogdGFiU2NoZW1hUGF0aCxcbiAgICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJzYW5pdGl6ZUZpZWxkcyIsInRhYkhhc05hbWUiLCJ0cmF2ZXJzZUZpZWxkcyIsImNvbmZpZyIsImZpZWxkcyIsInNjaGVtYU1hcCIsInNjaGVtYVBhdGgiLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJtYXAiLCJmaWVsZCIsImZpZWxkc1RvU2V0IiwidHlwZSIsInNldCIsIm5hbWUiLCJibG9ja3MiLCJibG9jayIsImJsb2NrU2NoZW1hUGF0aCIsInNsdWciLCJlZGl0b3IiLCJnZW5lcmF0ZVNjaGVtYU1hcCIsInRhYnMiLCJ0YWIiLCJ0YWJTY2hlbWFQYXRoIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxjQUFjLFFBQVEsaUJBQWdCO0FBQy9DLFNBQVNDLFVBQVUsUUFBUSxnQkFBZTtBQVkxQyxPQUFPLE1BQU1DLGlCQUFpQixDQUFDLEVBQzdCQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxVQUFVLEVBQ1ZDLGtCQUFrQixFQUNiO0lBQ0xILE9BQU9JLEdBQUcsQ0FBQyxDQUFDQztRQUNWLElBQUlDO1FBQ0osT0FBUUQsTUFBTUUsSUFBSTtZQUNoQixLQUFLO1lBQ0wsS0FBSztnQkFDSEQsY0FBY1YsZUFBZTtvQkFDM0JHO29CQUNBQyxRQUFRSyxNQUFNTCxNQUFNO29CQUNwQkc7Z0JBQ0Y7Z0JBQ0FGLFVBQVVPLEdBQUcsQ0FBQyxDQUFDLEVBQUVOLFdBQVcsQ0FBQyxFQUFFRyxNQUFNSSxJQUFJLENBQUMsQ0FBQyxFQUFFSDtnQkFFN0NSLGVBQWU7b0JBQ2JDO29CQUNBQyxRQUFRSyxNQUFNTCxNQUFNO29CQUNwQkM7b0JBQ0FDLFlBQVksQ0FBQyxFQUFFQSxXQUFXLENBQUMsRUFBRUcsTUFBTUksSUFBSSxDQUFDLENBQUM7b0JBQ3pDTjtnQkFDRjtnQkFDQTtZQUVGLEtBQUs7WUFDTCxLQUFLO2dCQUNITCxlQUFlO29CQUNiQztvQkFDQUMsUUFBUUssTUFBTUwsTUFBTTtvQkFDcEJDO29CQUNBQztvQkFDQUM7Z0JBQ0Y7Z0JBQ0E7WUFFRixLQUFLO2dCQUNIRSxNQUFNSyxNQUFNLENBQUNOLEdBQUcsQ0FBQyxDQUFDTztvQkFDaEIsTUFBTUMsa0JBQWtCLENBQUMsRUFBRVYsV0FBVyxDQUFDLEVBQUVHLE1BQU1JLElBQUksQ0FBQyxDQUFDLEVBQUVFLE1BQU1FLElBQUksQ0FBQyxDQUFDO29CQUNuRVAsY0FBY1YsZUFBZTt3QkFDM0JHO3dCQUNBQyxRQUFRVyxNQUFNWCxNQUFNO3dCQUNwQkc7b0JBQ0Y7b0JBQ0FGLFVBQVVPLEdBQUcsQ0FBQ0ksaUJBQWlCTjtvQkFFL0JSLGVBQWU7d0JBQ2JDO3dCQUNBQyxRQUFRVyxNQUFNWCxNQUFNO3dCQUNwQkM7d0JBQ0FDLFlBQVlVO3dCQUNaVDtvQkFDRjtnQkFDRjtnQkFDQTtZQUVGLEtBQUs7Z0JBQ0gsSUFBSSxPQUFPRSxNQUFNUyxNQUFNLENBQUNDLGlCQUFpQixLQUFLLFlBQVk7b0JBQ3hEVixNQUFNUyxNQUFNLENBQUNDLGlCQUFpQixDQUFDO3dCQUM3QmhCO3dCQUNBRTt3QkFDQUMsWUFBWSxDQUFDLEVBQUVBLFdBQVcsQ0FBQyxFQUFFRyxNQUFNSSxJQUFJLENBQUMsQ0FBQztvQkFDM0M7Z0JBQ0Y7Z0JBRUE7WUFFRixLQUFLO2dCQUNISixNQUFNVyxJQUFJLENBQUNaLEdBQUcsQ0FBQyxDQUFDYTtvQkFDZCxNQUFNQyxnQkFBZ0JyQixXQUFXb0IsT0FBTyxDQUFDLEVBQUVmLFdBQVcsQ0FBQyxFQUFFZSxJQUFJUixJQUFJLENBQUMsQ0FBQyxHQUFHUDtvQkFFdEUsSUFBSUwsV0FBV29CLE1BQU07d0JBQ25CWCxjQUFjVixlQUFlOzRCQUMzQkc7NEJBQ0FDLFFBQVFpQixJQUFJakIsTUFBTTs0QkFDbEJHO3dCQUNGO3dCQUNBRixVQUFVTyxHQUFHLENBQUNVLGVBQWVaO29CQUMvQjtvQkFFQVIsZUFBZTt3QkFDYkM7d0JBQ0FDLFFBQVFpQixJQUFJakIsTUFBTTt3QkFDbEJDO3dCQUNBQyxZQUFZZ0I7d0JBQ1pmO29CQUNGO2dCQUNGO2dCQUNBO1FBQ0o7SUFDRjtBQUNGLEVBQUMifQ==
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRGaWVsZFNjaGVtYU1hcC90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuZXhwb3J0IHR5cGUgRmllbGRTY2hlbWFNYXAgPSBNYXA8c3RyaW5nLCBGaWVsZFtdPlxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLFdBQWlEIn0=
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
1
+ export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);
12
2
 
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2FuVXNlRE9NLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudClcbiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQUE7OztlQUFBOzs7TUFBQSxXQUFlLENBQUMsQ0FBRSxDQUFBLE9BQU9BLFdBQVcsZUFBZUEsT0FBT0MsUUFBUSxJQUFJRCxPQUFPQyxRQUFRLENBQUNDLGFBQWEsQUFBRCJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2FuVXNlRE9NLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudClcbiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsQ0FBQyxDQUFFLENBQUEsT0FBT0EsV0FBVyxlQUFlQSxPQUFPQyxRQUFRLElBQUlELE9BQU9DLFFBQVEsQ0FBQ0MsYUFBYSxBQUFELEVBQUUifQ==