@payloadcms/next 3.0.0-alpha.4 → 3.0.0-alpha.41

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 (775) hide show
  1. package/dist/bin/index.js +5 -14
  2. package/dist/bin/install.js +16 -31
  3. package/dist/config.js +2 -12
  4. package/dist/elements/ClearRouteCache/index.d.ts +3 -0
  5. package/dist/elements/ClearRouteCache/index.d.ts.map +1 -0
  6. package/dist/elements/ClearRouteCache/index.js +16 -0
  7. package/dist/elements/LeaveWithoutSaving/index.js +26 -76
  8. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +11 -29
  9. package/dist/exports/index.d.ts +1 -1
  10. package/dist/exports/index.d.ts.map +1 -1
  11. package/dist/exports/index.js +2 -12
  12. package/dist/graphql/registerSchema.js +0 -1
  13. package/dist/index.d.ts +5 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +6 -3
  16. package/dist/layouts/Admin/index.js +9 -32
  17. package/dist/layouts/Root/index.d.ts.map +1 -1
  18. package/dist/layouts/Root/index.js +39 -55
  19. package/dist/next-fileupload/fileFactory.d.ts +2 -2
  20. package/dist/next-fileupload/fileFactory.d.ts.map +1 -1
  21. package/dist/next-fileupload/fileFactory.js +9 -19
  22. package/dist/next-fileupload/handlers.d.ts +2 -2
  23. package/dist/next-fileupload/handlers.d.ts.map +1 -1
  24. package/dist/next-fileupload/handlers.js +25 -89
  25. package/dist/next-fileupload/index.d.ts +1 -1
  26. package/dist/next-fileupload/index.js +10 -25
  27. package/dist/next-fileupload/isEligibleRequest.js +2 -12
  28. package/dist/next-fileupload/processMultipart.d.ts +1 -1
  29. package/dist/next-fileupload/processMultipart.d.ts.map +1 -1
  30. package/dist/next-fileupload/processMultipart.js +33 -46
  31. package/dist/next-fileupload/processNested.js +4 -14
  32. package/dist/next-fileupload/uploadTimer.js +2 -12
  33. package/dist/next-fileupload/utilities.d.ts +1 -1
  34. package/dist/next-fileupload/utilities.d.ts.map +1 -1
  35. package/dist/next-fileupload/utilities.js +31 -76
  36. package/dist/next-stream-file/index.d.ts +4 -0
  37. package/dist/next-stream-file/index.d.ts.map +1 -1
  38. package/dist/next-stream-file/index.js +6 -21
  39. package/dist/routes/graphql/handler.d.ts.map +1 -1
  40. package/dist/routes/graphql/handler.js +19 -36
  41. package/dist/routes/graphql/index.d.ts +2 -2
  42. package/dist/routes/graphql/index.d.ts.map +1 -1
  43. package/dist/routes/graphql/index.js +3 -21
  44. package/dist/routes/graphql/playground.js +6 -16
  45. package/dist/routes/index.d.ts +2 -3
  46. package/dist/routes/index.d.ts.map +1 -1
  47. package/dist/routes/index.js +3 -37
  48. package/dist/routes/rest/RouteError.js +10 -25
  49. package/dist/routes/rest/auth/access.d.ts +1 -1
  50. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  51. package/dist/routes/rest/auth/access.js +6 -21
  52. package/dist/routes/rest/auth/forgotPassword.d.ts +1 -1
  53. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  54. package/dist/routes/rest/auth/forgotPassword.js +6 -21
  55. package/dist/routes/rest/auth/init.d.ts +1 -1
  56. package/dist/routes/rest/auth/init.d.ts.map +1 -1
  57. package/dist/routes/rest/auth/init.js +4 -14
  58. package/dist/routes/rest/auth/login.d.ts +1 -1
  59. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  60. package/dist/routes/rest/auth/login.js +10 -25
  61. package/dist/routes/rest/auth/logout.d.ts +1 -1
  62. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  63. package/dist/routes/rest/auth/logout.js +9 -24
  64. package/dist/routes/rest/auth/me.d.ts +1 -1
  65. package/dist/routes/rest/auth/me.d.ts.map +1 -1
  66. package/dist/routes/rest/auth/me.js +8 -23
  67. package/dist/routes/rest/auth/refresh.d.ts +1 -1
  68. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  69. package/dist/routes/rest/auth/refresh.js +11 -25
  70. package/dist/routes/rest/auth/registerFirstUser.d.ts +1 -1
  71. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  72. package/dist/routes/rest/auth/registerFirstUser.js +8 -23
  73. package/dist/routes/rest/auth/resetPassword.d.ts +1 -1
  74. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
  75. package/dist/routes/rest/auth/resetPassword.js +8 -23
  76. package/dist/routes/rest/auth/unlock.d.ts +1 -1
  77. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  78. package/dist/routes/rest/auth/unlock.js +6 -21
  79. package/dist/routes/rest/auth/verifyEmail.d.ts +1 -1
  80. package/dist/routes/rest/auth/verifyEmail.d.ts.map +1 -1
  81. package/dist/routes/rest/auth/verifyEmail.js +6 -21
  82. package/dist/routes/rest/buildFormState.js +11 -34
  83. package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
  84. package/dist/routes/rest/checkEndpoints.js +4 -19
  85. package/dist/routes/rest/collections/create.d.ts +1 -1
  86. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  87. package/dist/routes/rest/collections/create.js +8 -23
  88. package/dist/routes/rest/collections/delete.d.ts +1 -1
  89. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  90. package/dist/routes/rest/collections/delete.js +13 -31
  91. package/dist/routes/rest/collections/deleteByID.d.ts +1 -1
  92. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  93. package/dist/routes/rest/collections/deleteByID.js +9 -24
  94. package/dist/routes/rest/collections/docAccess.d.ts +1 -1
  95. package/dist/routes/rest/collections/docAccess.d.ts.map +1 -1
  96. package/dist/routes/rest/collections/docAccess.js +6 -21
  97. package/dist/routes/rest/collections/find.d.ts +1 -1
  98. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  99. package/dist/routes/rest/collections/find.js +11 -29
  100. package/dist/routes/rest/collections/findByID.d.ts +1 -1
  101. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  102. package/dist/routes/rest/collections/findByID.js +8 -23
  103. package/dist/routes/rest/collections/findVersionByID.d.ts +1 -1
  104. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  105. package/dist/routes/rest/collections/findVersionByID.js +8 -23
  106. package/dist/routes/rest/collections/findVersions.d.ts +1 -1
  107. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  108. package/dist/routes/rest/collections/findVersions.js +11 -29
  109. package/dist/routes/rest/collections/restoreVersion.d.ts +1 -1
  110. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  111. package/dist/routes/rest/collections/restoreVersion.js +8 -23
  112. package/dist/routes/rest/collections/update.d.ts +1 -1
  113. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  114. package/dist/routes/rest/collections/update.js +13 -31
  115. package/dist/routes/rest/collections/updateByID.d.ts +1 -1
  116. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  117. package/dist/routes/rest/collections/updateByID.js +8 -23
  118. package/dist/routes/rest/files/checkFileAccess.d.ts +7 -0
  119. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -0
  120. package/dist/routes/rest/files/checkFileAccess.js +50 -0
  121. package/dist/routes/rest/files/getFile.d.ts +9 -0
  122. package/dist/routes/rest/files/getFile.d.ts.map +1 -0
  123. package/dist/routes/rest/files/getFile.js +52 -0
  124. package/dist/routes/rest/globals/docAccess.d.ts +1 -1
  125. package/dist/routes/rest/globals/docAccess.d.ts.map +1 -1
  126. package/dist/routes/rest/globals/docAccess.js +6 -21
  127. package/dist/routes/rest/globals/findOne.d.ts +1 -1
  128. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  129. package/dist/routes/rest/globals/findOne.js +8 -23
  130. package/dist/routes/rest/globals/findVersionByID.d.ts +1 -1
  131. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  132. package/dist/routes/rest/globals/findVersionByID.js +8 -23
  133. package/dist/routes/rest/globals/findVersions.d.ts +1 -1
  134. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  135. package/dist/routes/rest/globals/findVersions.js +11 -29
  136. package/dist/routes/rest/globals/restoreVersion.d.ts +1 -1
  137. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  138. package/dist/routes/rest/globals/restoreVersion.js +8 -23
  139. package/dist/routes/rest/globals/update.d.ts +1 -1
  140. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  141. package/dist/routes/rest/globals/update.js +8 -23
  142. package/dist/routes/rest/index.d.ts.map +1 -1
  143. package/dist/routes/rest/index.js +101 -121
  144. package/dist/routes/rest/types.js +2 -5
  145. package/dist/utilities/auth.d.ts +3 -3
  146. package/dist/utilities/auth.d.ts.map +1 -1
  147. package/dist/utilities/auth.js +7 -21
  148. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  149. package/dist/utilities/createPayloadRequest.js +29 -31
  150. package/dist/utilities/getDataAndFile.js +6 -16
  151. package/dist/utilities/getNextI18n.js +11 -21
  152. package/dist/utilities/getNextT.js +11 -21
  153. package/dist/utilities/getPayload.d.ts +4 -0
  154. package/dist/utilities/getPayload.d.ts.map +1 -0
  155. package/dist/utilities/getPayload.js +62 -0
  156. package/dist/utilities/getRequestLanguage.d.ts +1 -1
  157. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  158. package/dist/utilities/getRequestLanguage.js +4 -14
  159. package/dist/utilities/getRequestLocales.js +2 -12
  160. package/dist/utilities/initPage.d.ts +6 -15
  161. package/dist/utilities/initPage.d.ts.map +1 -1
  162. package/dist/utilities/initPage.js +45 -45
  163. package/dist/utilities/meta.js +5 -15
  164. package/dist/utilities/timestamp.d.ts +2 -0
  165. package/dist/utilities/timestamp.d.ts.map +1 -0
  166. package/dist/utilities/timestamp.js +7 -0
  167. package/dist/{pages → views}/API/RenderJSON/index.d.ts.map +1 -1
  168. package/dist/views/API/RenderJSON/index.js +91 -0
  169. package/dist/views/API/index.client.d.ts +4 -0
  170. package/dist/views/API/index.client.d.ts.map +1 -0
  171. package/dist/views/API/index.client.js +176 -0
  172. package/dist/views/API/index.d.ts +4 -0
  173. package/dist/views/API/index.d.ts.map +1 -0
  174. package/dist/views/API/index.js +7 -0
  175. package/dist/{pages/LivePreview → views/API}/meta.d.ts +1 -1
  176. package/dist/views/API/meta.d.ts.map +1 -0
  177. package/dist/views/API/meta.js +11 -0
  178. package/dist/{pages → views}/Account/Settings/index.d.ts.map +1 -1
  179. package/dist/views/Account/Settings/index.js +30 -0
  180. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -0
  181. package/dist/views/Account/ToggleTheme/index.js +34 -0
  182. package/dist/views/Account/index.d.ts +5 -0
  183. package/dist/views/Account/index.d.ts.map +1 -0
  184. package/dist/views/Account/index.js +98 -0
  185. package/dist/views/Account/meta.d.ts +3 -0
  186. package/dist/views/Account/meta.d.ts.map +1 -0
  187. package/dist/views/Account/meta.js +11 -0
  188. package/dist/views/CreateFirstUser/index.client.d.ts +7 -0
  189. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -0
  190. package/dist/views/CreateFirstUser/index.client.js +18 -0
  191. package/dist/views/CreateFirstUser/index.d.ts +6 -0
  192. package/dist/views/CreateFirstUser/index.d.ts.map +1 -0
  193. package/dist/views/CreateFirstUser/index.js +51 -0
  194. package/dist/views/CreateFirstUser/meta.d.ts +3 -0
  195. package/dist/views/CreateFirstUser/meta.d.ts.map +1 -0
  196. package/dist/views/CreateFirstUser/meta.js +11 -0
  197. package/dist/{pages → views}/Dashboard/Default/index.client.d.ts +2 -0
  198. package/dist/views/Dashboard/Default/index.client.d.ts.map +1 -0
  199. package/dist/views/Dashboard/Default/index.client.js +99 -0
  200. package/dist/{pages → views}/Dashboard/Default/index.d.ts +2 -0
  201. package/dist/views/Dashboard/Default/index.d.ts.map +1 -0
  202. package/dist/views/Dashboard/Default/index.js +28 -0
  203. package/dist/views/Dashboard/index.d.ts +5 -0
  204. package/dist/views/Dashboard/index.d.ts.map +1 -0
  205. package/dist/views/Dashboard/index.js +46 -0
  206. package/dist/views/Dashboard/meta.d.ts +3 -0
  207. package/dist/views/Dashboard/meta.d.ts.map +1 -0
  208. package/dist/views/Dashboard/meta.js +11 -0
  209. package/dist/{pages → views}/Document/getCustomViewByKey.d.ts +2 -2
  210. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -0
  211. package/dist/views/Document/getCustomViewByKey.js +5 -0
  212. package/dist/{pages → views}/Document/getCustomViewByPath.d.ts +2 -2
  213. package/dist/views/Document/getCustomViewByPath.d.ts.map +1 -0
  214. package/dist/views/Document/getCustomViewByPath.js +16 -0
  215. package/dist/views/Document/getMetaBySegment.d.ts +10 -0
  216. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -0
  217. package/dist/views/Document/getMetaBySegment.js +77 -0
  218. package/dist/{pages → views}/Document/getViewsFromConfig.d.ts +3 -3
  219. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -0
  220. package/dist/views/Document/getViewsFromConfig.js +155 -0
  221. package/dist/views/Document/index.d.ts +6 -0
  222. package/dist/views/Document/index.d.ts.map +1 -0
  223. package/dist/views/Document/index.js +159 -0
  224. package/dist/views/Document/meta.d.ts +3 -0
  225. package/dist/views/Document/meta.d.ts.map +1 -0
  226. package/dist/views/Document/meta.js +4 -0
  227. package/dist/{pages → views}/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  228. package/dist/views/Edit/Default/Auth/APIKey.js +89 -0
  229. package/dist/{pages → views}/Edit/Default/Auth/index.d.ts +1 -1
  230. package/dist/{pages → views}/Edit/Default/Auth/index.d.ts.map +1 -1
  231. package/dist/views/Edit/Default/Auth/index.js +124 -0
  232. package/dist/{pages → views}/Edit/Default/Auth/types.d.ts.map +1 -1
  233. package/dist/views/Edit/Default/Auth/types.js +3 -0
  234. package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.d.ts +10 -0
  235. package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.d.ts.map +1 -0
  236. package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.js +23 -0
  237. package/dist/{pages → views}/Edit/Default/SetDocumentTitle/index.d.ts +1 -1
  238. package/dist/{pages → views}/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
  239. package/dist/views/Edit/Default/SetDocumentTitle/index.js +33 -0
  240. package/dist/{pages → views}/Edit/Default/SetStepNav/index.d.ts +1 -2
  241. package/dist/views/Edit/Default/SetStepNav/index.d.ts.map +1 -0
  242. package/dist/views/Edit/Default/SetStepNav/index.js +60 -0
  243. package/dist/views/Edit/Default/index.d.ts.map +1 -0
  244. package/dist/views/Edit/Default/index.js +145 -0
  245. package/dist/{pages → views}/Edit/Default/types.d.ts.map +1 -1
  246. package/dist/views/Edit/Default/types.js +3 -0
  247. package/dist/views/Edit/index.client.d.ts +3 -0
  248. package/dist/views/Edit/index.client.d.ts.map +1 -0
  249. package/dist/views/Edit/index.client.js +53 -0
  250. package/dist/views/Edit/index.d.ts +4 -0
  251. package/dist/views/Edit/index.d.ts.map +1 -0
  252. package/dist/views/Edit/index.js +7 -0
  253. package/dist/{pages/API → views/Edit}/meta.d.ts +1 -1
  254. package/dist/views/Edit/meta.d.ts.map +1 -0
  255. package/dist/views/Edit/meta.js +26 -0
  256. package/dist/views/Edit/sanitizeEditViewProps.d.ts +3 -0
  257. package/dist/views/Edit/sanitizeEditViewProps.d.ts.map +1 -0
  258. package/dist/views/Edit/sanitizeEditViewProps.js +11 -0
  259. package/dist/views/ForgotPassword/index.d.ts +6 -0
  260. package/dist/views/ForgotPassword/index.d.ts.map +1 -0
  261. package/dist/views/ForgotPassword/index.js +58 -0
  262. package/dist/views/ForgotPassword/meta.d.ts +3 -0
  263. package/dist/views/ForgotPassword/meta.d.ts.map +1 -0
  264. package/dist/views/ForgotPassword/meta.js +11 -0
  265. package/dist/{pages → views}/List/Default/Cell/cellTypes.spec.js +21 -30
  266. package/dist/{pages → views}/List/Default/Cell/fields/Array/index.d.ts.map +1 -1
  267. package/dist/views/List/Default/Cell/fields/Array/index.js +12 -0
  268. package/dist/{pages → views}/List/Default/Cell/fields/Blocks/index.d.ts.map +1 -1
  269. package/dist/views/List/Default/Cell/fields/Blocks/index.js +30 -0
  270. package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.d.ts.map +1 -1
  271. package/dist/views/List/Default/Cell/fields/Checkbox/index.js +8 -0
  272. package/dist/{pages → views}/List/Default/Cell/fields/Code/index.d.ts.map +1 -1
  273. package/dist/views/List/Default/Cell/fields/Code/index.js +14 -0
  274. package/dist/{pages → views}/List/Default/Cell/fields/Date/index.d.ts.map +1 -1
  275. package/dist/views/List/Default/Cell/fields/Date/index.js +11 -0
  276. package/dist/{pages → views}/List/Default/Cell/fields/File/index.d.ts.map +1 -1
  277. package/dist/{pages → views}/List/Default/Cell/fields/File/index.js +8 -23
  278. package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.d.ts.map +1 -1
  279. package/dist/views/List/Default/Cell/fields/JSON/index.js +11 -0
  280. package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.d.ts.map +1 -1
  281. package/dist/views/List/Default/Cell/fields/Relationship/index.js +70 -0
  282. package/dist/{pages → views}/List/Default/Cell/fields/Select/index.d.ts.map +1 -1
  283. package/dist/{pages → views}/List/Default/Cell/fields/Select/index.js +10 -25
  284. package/dist/{pages → views}/List/Default/Cell/fields/Textarea/index.d.ts.map +1 -1
  285. package/dist/views/List/Default/Cell/fields/Textarea/index.js +8 -0
  286. package/dist/views/List/Default/Cell/fields/index.d.ts +17 -0
  287. package/dist/views/List/Default/Cell/fields/index.d.ts.map +1 -0
  288. package/dist/views/List/Default/Cell/fields/index.js +26 -0
  289. package/dist/views/List/Default/Cell/index.d.ts.map +1 -0
  290. package/dist/views/List/Default/Cell/index.js +75 -0
  291. package/dist/{pages → views}/List/Default/RelationshipProvider/index.d.ts.map +1 -1
  292. package/dist/views/List/Default/RelationshipProvider/index.js +89 -0
  293. package/dist/{pages → views}/List/Default/RelationshipProvider/reducer.d.ts +1 -1
  294. package/dist/{pages → views}/List/Default/RelationshipProvider/reducer.d.ts.map +1 -1
  295. package/dist/views/List/Default/RelationshipProvider/reducer.js +45 -0
  296. package/dist/views/List/Default/index.d.ts.map +1 -0
  297. package/dist/views/List/Default/index.js +130 -0
  298. package/dist/{pages → views}/List/Default/types.d.ts.map +1 -1
  299. package/dist/views/List/Default/types.js +3 -0
  300. package/dist/views/List/index.d.ts +5 -0
  301. package/dist/views/List/index.d.ts.map +1 -0
  302. package/dist/views/List/index.js +70 -0
  303. package/dist/views/List/meta.d.ts +7 -0
  304. package/dist/views/List/meta.d.ts.map +1 -0
  305. package/dist/views/List/meta.js +19 -0
  306. package/dist/{pages → views}/LivePreview/Context/collisionDetection.d.ts.map +1 -1
  307. package/dist/{pages → views}/LivePreview/Context/collisionDetection.js +6 -14
  308. package/dist/{pages → views}/LivePreview/Context/context.d.ts +2 -2
  309. package/dist/views/LivePreview/Context/context.d.ts.map +1 -0
  310. package/dist/views/LivePreview/Context/context.js +40 -0
  311. package/dist/{pages → views}/LivePreview/Context/index.d.ts +3 -3
  312. package/dist/views/LivePreview/Context/index.d.ts.map +1 -0
  313. package/dist/views/LivePreview/Context/index.js +157 -0
  314. package/dist/{pages → views}/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  315. package/dist/{pages → views}/LivePreview/Context/sizeReducer.js +2 -12
  316. package/dist/{pages → views}/LivePreview/Device/index.d.ts.map +1 -1
  317. package/dist/views/LivePreview/Device/index.js +51 -0
  318. package/dist/{pages → views}/LivePreview/DeviceContainer/index.d.ts.map +1 -1
  319. package/dist/views/LivePreview/DeviceContainer/index.js +29 -0
  320. package/dist/{pages → views}/LivePreview/IFrame/index.d.ts.map +1 -1
  321. package/dist/views/LivePreview/IFrame/index.js +23 -0
  322. package/dist/{pages → views}/LivePreview/Preview/index.d.ts +1 -1
  323. package/dist/views/LivePreview/Preview/index.d.ts.map +1 -0
  324. package/dist/views/LivePreview/Preview/index.js +76 -0
  325. package/dist/{pages → views}/LivePreview/Toolbar/Controls/index.d.ts +1 -1
  326. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -0
  327. package/dist/views/LivePreview/Toolbar/Controls/index.js +81 -0
  328. package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  329. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +61 -0
  330. package/dist/{pages → views}/LivePreview/Toolbar/index.d.ts +1 -1
  331. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -0
  332. package/dist/views/LivePreview/Toolbar/index.js +50 -0
  333. package/dist/{pages → views}/LivePreview/ToolbarArea/index.d.ts.map +1 -1
  334. package/dist/views/LivePreview/ToolbarArea/index.js +17 -0
  335. package/dist/views/LivePreview/index.client.d.ts.map +1 -0
  336. package/dist/views/LivePreview/index.client.js +141 -0
  337. package/dist/views/LivePreview/index.d.ts +4 -0
  338. package/dist/views/LivePreview/index.d.ts.map +1 -0
  339. package/dist/views/LivePreview/index.js +45 -0
  340. package/dist/{pages/Version → views/LivePreview}/meta.d.ts +1 -1
  341. package/dist/views/LivePreview/meta.d.ts.map +1 -0
  342. package/dist/views/LivePreview/meta.js +26 -0
  343. package/dist/{pages → views}/LivePreview/usePopupWindow.d.ts.map +1 -1
  344. package/dist/{pages → views}/LivePreview/usePopupWindow.js +11 -21
  345. package/dist/{pages → views}/Login/LoginForm/index.d.ts.map +1 -1
  346. package/dist/views/Login/LoginForm/index.js +58 -0
  347. package/dist/views/Login/index.d.ts +7 -0
  348. package/dist/views/Login/index.d.ts.map +1 -0
  349. package/dist/views/Login/index.js +29 -0
  350. package/dist/views/Login/index.scss +8 -0
  351. package/dist/views/Login/meta.d.ts +3 -0
  352. package/dist/views/Login/meta.d.ts.map +1 -0
  353. package/dist/views/Login/meta.js +11 -0
  354. package/dist/views/Logout/LogoutClient.d.ts.map +1 -0
  355. package/dist/views/Logout/LogoutClient.js +33 -0
  356. package/dist/views/Logout/index.d.ts +9 -0
  357. package/dist/views/Logout/index.d.ts.map +1 -0
  358. package/dist/views/Logout/index.js +26 -0
  359. package/dist/views/Logout/meta.d.ts +3 -0
  360. package/dist/views/Logout/meta.d.ts.map +1 -0
  361. package/dist/views/Logout/meta.js +11 -0
  362. package/dist/views/NotFound/index.client.d.ts +6 -0
  363. package/dist/views/NotFound/index.client.d.ts.map +1 -0
  364. package/dist/views/NotFound/index.client.js +38 -0
  365. package/dist/views/NotFound/index.d.ts +12 -0
  366. package/dist/views/NotFound/index.d.ts.map +1 -0
  367. package/dist/views/NotFound/index.js +20 -0
  368. package/dist/views/NotFound/meta.d.ts +8 -0
  369. package/dist/views/NotFound/meta.d.ts.map +1 -0
  370. package/dist/views/NotFound/meta.js +11 -0
  371. package/dist/views/ResetPassword/index.d.ts +7 -0
  372. package/dist/views/ResetPassword/index.d.ts.map +1 -0
  373. package/dist/views/ResetPassword/index.js +63 -0
  374. package/dist/views/ResetPassword/meta.d.ts +3 -0
  375. package/dist/views/ResetPassword/meta.d.ts.map +1 -0
  376. package/dist/views/ResetPassword/meta.js +11 -0
  377. package/dist/views/Root/index.d.ts +31 -0
  378. package/dist/views/Root/index.d.ts.map +1 -0
  379. package/dist/views/Root/index.js +174 -0
  380. package/dist/views/Root/meta.d.ts +14 -0
  381. package/dist/views/Root/meta.d.ts.map +1 -0
  382. package/dist/views/Root/meta.js +159 -0
  383. package/dist/views/Unauthorized/UnauthorizedClient.d.ts.map +1 -0
  384. package/dist/views/Unauthorized/UnauthorizedClient.js +15 -0
  385. package/dist/views/Unauthorized/index.d.ts +5 -0
  386. package/dist/views/Unauthorized/index.d.ts.map +1 -0
  387. package/dist/views/Unauthorized/index.js +11 -0
  388. package/dist/views/Unauthorized/meta.d.ts +3 -0
  389. package/dist/views/Unauthorized/meta.d.ts.map +1 -0
  390. package/dist/views/Unauthorized/meta.js +11 -0
  391. package/dist/views/Verify/index.d.ts +7 -0
  392. package/dist/views/Verify/index.d.ts.map +1 -0
  393. package/dist/views/Verify/index.js +33 -0
  394. package/dist/views/Verify/meta.d.ts +3 -0
  395. package/dist/views/Verify/meta.d.ts.map +1 -0
  396. package/dist/views/Verify/meta.js +11 -0
  397. package/dist/{pages → views}/Version/Default/SetStepNav.d.ts.map +1 -1
  398. package/dist/{pages → views}/Version/Default/SetStepNav.js +13 -23
  399. package/dist/{pages → views}/Version/Default/index.d.ts +1 -1
  400. package/dist/views/Version/Default/index.d.ts.map +1 -0
  401. package/dist/views/Version/Default/index.js +100 -0
  402. package/dist/{pages → views}/Version/Default/types.d.ts +2 -7
  403. package/dist/views/Version/Default/types.d.ts.map +1 -0
  404. package/dist/views/Version/Default/types.js +3 -0
  405. package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.d.ts.map +1 -1
  406. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +9 -0
  407. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +1 -1
  408. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  409. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -0
  410. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +1 -1
  411. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  412. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +29 -0
  413. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +1 -1
  414. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -0
  415. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +75 -0
  416. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +1 -1
  417. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +17 -0
  418. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.d.ts +1 -1
  419. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  420. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +39 -0
  421. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +1 -1
  422. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  423. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +39 -0
  424. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +1 -1
  425. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +17 -0
  426. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.d.ts +1 -1
  427. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  428. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +31 -0
  429. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +1 -1
  430. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.js +2 -12
  431. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +25 -0
  432. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -0
  433. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +29 -0
  434. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.d.ts.map +1 -1
  435. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.js +2 -12
  436. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  437. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +3 -0
  438. package/dist/{pages → views}/Version/RenderFieldsToDiff/index.d.ts +1 -1
  439. package/dist/{pages → views}/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  440. package/dist/views/Version/RenderFieldsToDiff/index.js +100 -0
  441. package/dist/{pages → views}/Version/RenderFieldsToDiff/types.d.ts +1 -1
  442. package/dist/{pages → views}/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  443. package/dist/views/Version/RenderFieldsToDiff/types.js +3 -0
  444. package/dist/{pages → views}/Version/Restore/index.d.ts +1 -1
  445. package/dist/views/Version/Restore/index.d.ts.map +1 -0
  446. package/dist/views/Version/Restore/index.js +71 -0
  447. package/dist/{pages → views}/Version/Restore/types.d.ts.map +1 -1
  448. package/dist/views/Version/Restore/types.js +3 -0
  449. package/dist/{pages → views}/Version/SelectComparison/index.d.ts +1 -1
  450. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -0
  451. package/dist/views/Version/SelectComparison/index.js +112 -0
  452. package/dist/{pages → views}/Version/SelectComparison/types.d.ts +1 -1
  453. package/dist/{pages → views}/Version/SelectComparison/types.d.ts.map +1 -1
  454. package/dist/views/Version/SelectComparison/types.js +3 -0
  455. package/dist/{pages → views}/Version/SelectLocales/index.d.ts +1 -1
  456. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -0
  457. package/dist/views/Version/SelectLocales/index.js +33 -0
  458. package/dist/{pages → views}/Version/SelectLocales/types.d.ts.map +1 -1
  459. package/dist/views/Version/SelectLocales/types.js +3 -0
  460. package/dist/views/Version/index.d.ts +3 -0
  461. package/dist/views/Version/index.d.ts.map +1 -0
  462. package/dist/views/Version/index.js +89 -0
  463. package/dist/{pages/Edit → views/Version}/meta.d.ts +1 -1
  464. package/dist/views/Version/meta.d.ts.map +1 -0
  465. package/dist/views/Version/meta.js +37 -0
  466. package/dist/{pages → views}/Version/shared.d.ts.map +1 -1
  467. package/dist/views/Version/shared.js +10 -0
  468. package/dist/{pages → views}/Versions/buildColumns.d.ts.map +1 -1
  469. package/dist/views/Versions/buildColumns.js +54 -0
  470. package/dist/{pages → views}/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  471. package/dist/views/Versions/cells/AutosaveCell/index.js +12 -0
  472. package/dist/{pages → views}/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  473. package/dist/views/Versions/cells/CreatedAt/index.js +19 -0
  474. package/dist/{pages → views}/Versions/cells/ID/index.d.ts.map +1 -1
  475. package/dist/views/Versions/cells/ID/index.js +9 -0
  476. package/dist/{pages → views}/Versions/index.client.d.ts +0 -3
  477. package/dist/views/Versions/index.client.d.ts.map +1 -0
  478. package/dist/views/Versions/index.client.js +93 -0
  479. package/dist/{pages → views}/Versions/index.d.ts +1 -1
  480. package/dist/views/Versions/index.d.ts.map +1 -0
  481. package/dist/views/Versions/index.js +86 -0
  482. package/dist/views/Versions/meta.d.ts +3 -0
  483. package/dist/views/Versions/meta.d.ts.map +1 -0
  484. package/dist/views/Versions/meta.js +33 -0
  485. package/dist/{pages → views}/Versions/types.d.ts.map +1 -1
  486. package/dist/views/Versions/types.js +3 -0
  487. package/dist/withPayload.d.ts +2 -1
  488. package/dist/withPayload.d.ts.map +1 -1
  489. package/dist/withPayload.js +3 -6
  490. package/package.json +24 -15
  491. package/src/index.ts +5 -1
  492. package/dist/layouts/Document/index.d.ts +0 -14
  493. package/dist/layouts/Document/index.d.ts.map +0 -1
  494. package/dist/layouts/Document/index.js +0 -82
  495. package/dist/pages/API/RenderJSON/index.js +0 -142
  496. package/dist/pages/API/index.client.d.ts +0 -5
  497. package/dist/pages/API/index.client.d.ts.map +0 -1
  498. package/dist/pages/API/index.client.js +0 -241
  499. package/dist/pages/API/index.d.ts +0 -4
  500. package/dist/pages/API/index.d.ts.map +0 -1
  501. package/dist/pages/API/index.js +0 -27
  502. package/dist/pages/API/meta.d.ts.map +0 -1
  503. package/dist/pages/API/meta.js +0 -21
  504. package/dist/pages/Account/Settings/index.js +0 -45
  505. package/dist/pages/Account/ToggleTheme/index.d.ts.map +0 -1
  506. package/dist/pages/Account/ToggleTheme/index.js +0 -85
  507. package/dist/pages/Account/index.d.ts +0 -13
  508. package/dist/pages/Account/index.d.ts.map +0 -1
  509. package/dist/pages/Account/index.js +0 -171
  510. package/dist/pages/CreateFirstUser/index.client.d.ts +0 -5
  511. package/dist/pages/CreateFirstUser/index.client.d.ts.map +0 -1
  512. package/dist/pages/CreateFirstUser/index.client.js +0 -29
  513. package/dist/pages/CreateFirstUser/index.d.ts +0 -11
  514. package/dist/pages/CreateFirstUser/index.d.ts.map +0 -1
  515. package/dist/pages/CreateFirstUser/index.js +0 -91
  516. package/dist/pages/Dashboard/Default/index.client.d.ts.map +0 -1
  517. package/dist/pages/Dashboard/Default/index.client.js +0 -154
  518. package/dist/pages/Dashboard/Default/index.d.ts.map +0 -1
  519. package/dist/pages/Dashboard/Default/index.js +0 -44
  520. package/dist/pages/Dashboard/index.d.ts +0 -13
  521. package/dist/pages/Dashboard/index.d.ts.map +0 -1
  522. package/dist/pages/Dashboard/index.js +0 -128
  523. package/dist/pages/Document/getCustomViewByKey.d.ts.map +0 -1
  524. package/dist/pages/Document/getCustomViewByKey.js +0 -15
  525. package/dist/pages/Document/getCustomViewByPath.d.ts.map +0 -1
  526. package/dist/pages/Document/getCustomViewByPath.js +0 -26
  527. package/dist/pages/Document/getMetaBySegment.d.ts +0 -20
  528. package/dist/pages/Document/getMetaBySegment.d.ts.map +0 -1
  529. package/dist/pages/Document/getMetaBySegment.js +0 -124
  530. package/dist/pages/Document/getViewsFromConfig.d.ts.map +0 -1
  531. package/dist/pages/Document/getViewsFromConfig.js +0 -224
  532. package/dist/pages/Document/index.d.ts +0 -23
  533. package/dist/pages/Document/index.d.ts.map +0 -1
  534. package/dist/pages/Document/index.js +0 -237
  535. package/dist/pages/Edit/Default/Auth/APIKey.js +0 -140
  536. package/dist/pages/Edit/Default/Auth/index.js +0 -180
  537. package/dist/pages/Edit/Default/Auth/types.js +0 -6
  538. package/dist/pages/Edit/Default/RenderCustomView.d.ts +0 -2
  539. package/dist/pages/Edit/Default/RenderCustomView.d.ts.map +0 -1
  540. package/dist/pages/Edit/Default/RenderCustomView.js +0 -3
  541. package/dist/pages/Edit/Default/SetDocumentTitle/index.js +0 -50
  542. package/dist/pages/Edit/Default/SetStepNav/index.d.ts.map +0 -1
  543. package/dist/pages/Edit/Default/SetStepNav/index.js +0 -70
  544. package/dist/pages/Edit/Default/index.d.ts.map +0 -1
  545. package/dist/pages/Edit/Default/index.js +0 -202
  546. package/dist/pages/Edit/Default/types.js +0 -6
  547. package/dist/pages/Edit/index.client.d.ts +0 -4
  548. package/dist/pages/Edit/index.client.d.ts.map +0 -1
  549. package/dist/pages/Edit/index.client.js +0 -99
  550. package/dist/pages/Edit/index.d.ts +0 -4
  551. package/dist/pages/Edit/index.d.ts.map +0 -1
  552. package/dist/pages/Edit/index.js +0 -27
  553. package/dist/pages/Edit/meta.d.ts.map +0 -1
  554. package/dist/pages/Edit/meta.js +0 -36
  555. package/dist/pages/Edit/sanitizeEditViewProps.d.ts +0 -4
  556. package/dist/pages/Edit/sanitizeEditViewProps.d.ts.map +0 -1
  557. package/dist/pages/Edit/sanitizeEditViewProps.js +0 -24
  558. package/dist/pages/Edit/types.d.js +0 -7
  559. package/dist/pages/Edit/types.d.ts +0 -37
  560. package/dist/pages/Edit/types.d.ts.map +0 -1
  561. package/dist/pages/Edit/types.js +0 -6
  562. package/dist/pages/ForgotPassword/index.d.ts +0 -10
  563. package/dist/pages/ForgotPassword/index.d.ts.map +0 -1
  564. package/dist/pages/ForgotPassword/index.js +0 -101
  565. package/dist/pages/List/Default/Cell/fields/Array/index.js +0 -27
  566. package/dist/pages/List/Default/Cell/fields/Blocks/index.js +0 -45
  567. package/dist/pages/List/Default/Cell/fields/Checkbox/index.js +0 -23
  568. package/dist/pages/List/Default/Cell/fields/Code/index.js +0 -29
  569. package/dist/pages/List/Default/Cell/fields/Date/index.js +0 -26
  570. package/dist/pages/List/Default/Cell/fields/JSON/index.js +0 -26
  571. package/dist/pages/List/Default/Cell/fields/Relationship/index.js +0 -121
  572. package/dist/pages/List/Default/Cell/fields/Richtext/index.d.ts +0 -2
  573. package/dist/pages/List/Default/Cell/fields/Richtext/index.d.ts.map +0 -1
  574. package/dist/pages/List/Default/Cell/fields/Richtext/index.js +0 -3
  575. package/dist/pages/List/Default/Cell/fields/Textarea/index.js +0 -23
  576. package/dist/pages/List/Default/Cell/fields/index.d.ts +0 -17
  577. package/dist/pages/List/Default/Cell/fields/index.d.ts.map +0 -1
  578. package/dist/pages/List/Default/Cell/fields/index.js +0 -36
  579. package/dist/pages/List/Default/Cell/index.d.ts.map +0 -1
  580. package/dist/pages/List/Default/Cell/index.js +0 -89
  581. package/dist/pages/List/Default/RelationshipProvider/index.js +0 -153
  582. package/dist/pages/List/Default/RelationshipProvider/reducer.js +0 -55
  583. package/dist/pages/List/Default/index.d.ts.map +0 -1
  584. package/dist/pages/List/Default/index.js +0 -174
  585. package/dist/pages/List/Default/types.js +0 -6
  586. package/dist/pages/List/index.d.ts +0 -18
  587. package/dist/pages/List/index.d.ts.map +0 -1
  588. package/dist/pages/List/index.js +0 -158
  589. package/dist/pages/LivePreview/Context/context.d.ts.map +0 -1
  590. package/dist/pages/LivePreview/Context/context.js +0 -58
  591. package/dist/pages/LivePreview/Context/index.d.ts.map +0 -1
  592. package/dist/pages/LivePreview/Context/index.js +0 -208
  593. package/dist/pages/LivePreview/Device/index.js +0 -102
  594. package/dist/pages/LivePreview/DeviceContainer/index.js +0 -44
  595. package/dist/pages/LivePreview/IFrame/index.js +0 -74
  596. package/dist/pages/LivePreview/Preview/index.d.ts.map +0 -1
  597. package/dist/pages/LivePreview/Preview/index.js +0 -127
  598. package/dist/pages/LivePreview/Toolbar/Controls/index.d.ts.map +0 -1
  599. package/dist/pages/LivePreview/Toolbar/Controls/index.js +0 -96
  600. package/dist/pages/LivePreview/Toolbar/SizeInput/index.js +0 -112
  601. package/dist/pages/LivePreview/Toolbar/index.d.ts.map +0 -1
  602. package/dist/pages/LivePreview/Toolbar/index.js +0 -65
  603. package/dist/pages/LivePreview/ToolbarArea/index.js +0 -32
  604. package/dist/pages/LivePreview/index.client.d.ts.map +0 -1
  605. package/dist/pages/LivePreview/index.client.js +0 -195
  606. package/dist/pages/LivePreview/index.d.ts +0 -5
  607. package/dist/pages/LivePreview/index.d.ts.map +0 -1
  608. package/dist/pages/LivePreview/index.js +0 -59
  609. package/dist/pages/LivePreview/meta.d.ts.map +0 -1
  610. package/dist/pages/LivePreview/meta.js +0 -36
  611. package/dist/pages/Login/LoginForm/index.js +0 -67
  612. package/dist/pages/Login/index.d.ts +0 -14
  613. package/dist/pages/Login/index.d.ts.map +0 -1
  614. package/dist/pages/Login/index.js +0 -108
  615. package/dist/pages/Login/index.scss +0 -38
  616. package/dist/pages/Logout/LogoutClient.d.ts.map +0 -1
  617. package/dist/pages/Logout/LogoutClient.js +0 -88
  618. package/dist/pages/Logout/index.d.ts +0 -16
  619. package/dist/pages/Logout/index.d.ts.map +0 -1
  620. package/dist/pages/Logout/index.js +0 -61
  621. package/dist/pages/NotFound/index.d.ts +0 -7
  622. package/dist/pages/NotFound/index.d.ts.map +0 -1
  623. package/dist/pages/NotFound/index.js +0 -48
  624. package/dist/pages/ResetPassword/index.d.ts +0 -12
  625. package/dist/pages/ResetPassword/index.d.ts.map +0 -1
  626. package/dist/pages/ResetPassword/index.js +0 -99
  627. package/dist/pages/Root/index.d.ts +0 -5
  628. package/dist/pages/Root/index.d.ts.map +0 -1
  629. package/dist/pages/Root/index.js +0 -17
  630. package/dist/pages/Unauthorized/UnauthorizedClient.d.ts.map +0 -1
  631. package/dist/pages/Unauthorized/UnauthorizedClient.js +0 -27
  632. package/dist/pages/Unauthorized/index.d.ts +0 -10
  633. package/dist/pages/Unauthorized/index.d.ts.map +0 -1
  634. package/dist/pages/Unauthorized/index.js +0 -51
  635. package/dist/pages/Verify/index.d.ts +0 -13
  636. package/dist/pages/Verify/index.d.ts.map +0 -1
  637. package/dist/pages/Verify/index.js +0 -90
  638. package/dist/pages/Version/Default/index.d.ts.map +0 -1
  639. package/dist/pages/Version/Default/index.js +0 -157
  640. package/dist/pages/Version/Default/types.d.ts.map +0 -1
  641. package/dist/pages/Version/Default/types.js +0 -6
  642. package/dist/pages/Version/RenderFieldsToDiff/Label/index.js +0 -24
  643. package/dist/pages/Version/RenderFieldsToDiff/fields/Iterable/index.js +0 -80
  644. package/dist/pages/Version/RenderFieldsToDiff/fields/Nested/index.js +0 -44
  645. package/dist/pages/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +0 -1
  646. package/dist/pages/Version/RenderFieldsToDiff/fields/Relationship/index.js +0 -89
  647. package/dist/pages/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +0 -72
  648. package/dist/pages/Version/RenderFieldsToDiff/fields/Select/index.js +0 -54
  649. package/dist/pages/Version/RenderFieldsToDiff/fields/Tabs/index.js +0 -54
  650. package/dist/pages/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +0 -72
  651. package/dist/pages/Version/RenderFieldsToDiff/fields/Text/index.js +0 -46
  652. package/dist/pages/Version/RenderFieldsToDiff/fields/index.d.ts +0 -25
  653. package/dist/pages/Version/RenderFieldsToDiff/fields/index.d.ts.map +0 -1
  654. package/dist/pages/Version/RenderFieldsToDiff/fields/index.js +0 -44
  655. package/dist/pages/Version/RenderFieldsToDiff/fields/types.js +0 -6
  656. package/dist/pages/Version/RenderFieldsToDiff/index.js +0 -115
  657. package/dist/pages/Version/RenderFieldsToDiff/types.js +0 -6
  658. package/dist/pages/Version/Restore/index.d.ts.map +0 -1
  659. package/dist/pages/Version/Restore/index.js +0 -121
  660. package/dist/pages/Version/Restore/types.js +0 -6
  661. package/dist/pages/Version/SelectComparison/index.d.ts.map +0 -1
  662. package/dist/pages/Version/SelectComparison/index.js +0 -167
  663. package/dist/pages/Version/SelectComparison/types.js +0 -6
  664. package/dist/pages/Version/SelectLocales/index.d.ts.map +0 -1
  665. package/dist/pages/Version/SelectLocales/index.js +0 -47
  666. package/dist/pages/Version/SelectLocales/types.js +0 -6
  667. package/dist/pages/Version/index.d.ts +0 -4
  668. package/dist/pages/Version/index.d.ts.map +0 -1
  669. package/dist/pages/Version/index.js +0 -111
  670. package/dist/pages/Version/meta.d.ts.map +0 -1
  671. package/dist/pages/Version/meta.js +0 -47
  672. package/dist/pages/Version/shared.js +0 -28
  673. package/dist/pages/Versions/buildColumns.js +0 -69
  674. package/dist/pages/Versions/cells/AutosaveCell/index.js +0 -63
  675. package/dist/pages/Versions/cells/CreatedAt/index.js +0 -33
  676. package/dist/pages/Versions/cells/ID/index.js +0 -60
  677. package/dist/pages/Versions/index.client.d.ts.map +0 -1
  678. package/dist/pages/Versions/index.client.js +0 -142
  679. package/dist/pages/Versions/index.d.ts.map +0 -1
  680. package/dist/pages/Versions/index.js +0 -125
  681. package/dist/pages/Versions/meta.d.ts +0 -3
  682. package/dist/pages/Versions/meta.d.ts.map +0 -1
  683. package/dist/pages/Versions/meta.js +0 -43
  684. package/dist/pages/Versions/types.js +0 -6
  685. package/dist/routes/rest/[collection]/file/[filename]/route.d.ts +0 -8
  686. package/dist/routes/rest/[collection]/file/[filename]/route.d.ts.map +0 -1
  687. package/dist/routes/rest/[collection]/file/[filename]/route.js +0 -116
  688. package/dist/utilities/createClientConfig.d.ts +0 -5
  689. package/dist/utilities/createClientConfig.d.ts.map +0 -1
  690. package/dist/utilities/createClientConfig.js +0 -120
  691. /package/dist/{pages → views}/API/RenderJSON/index.d.ts +0 -0
  692. /package/dist/{pages → views}/API/RenderJSON/index.scss +0 -0
  693. /package/dist/{pages → views}/API/index.scss +0 -0
  694. /package/dist/{pages → views}/Account/Settings/index.d.ts +0 -0
  695. /package/dist/{pages → views}/Account/Settings/index.scss +0 -0
  696. /package/dist/{pages → views}/Account/ToggleTheme/index.d.ts +0 -0
  697. /package/dist/{pages → views}/CreateFirstUser/index.scss +0 -0
  698. /package/dist/{pages → views}/Dashboard/Default/index.scss +0 -0
  699. /package/dist/{pages → views}/Edit/Default/Auth/APIKey.d.ts +0 -0
  700. /package/dist/{pages → views}/Edit/Default/Auth/index.scss +0 -0
  701. /package/dist/{pages → views}/Edit/Default/Auth/types.d.ts +0 -0
  702. /package/dist/{pages → views}/Edit/Default/index.d.ts +0 -0
  703. /package/dist/{pages → views}/Edit/Default/index.scss +0 -0
  704. /package/dist/{pages → views}/Edit/Default/types.d.ts +0 -0
  705. /package/dist/{pages → views}/List/Default/Cell/fields/Array/index.d.ts +0 -0
  706. /package/dist/{pages → views}/List/Default/Cell/fields/Blocks/index.d.ts +0 -0
  707. /package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.d.ts +0 -0
  708. /package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.scss +0 -0
  709. /package/dist/{pages → views}/List/Default/Cell/fields/Code/index.d.ts +0 -0
  710. /package/dist/{pages → views}/List/Default/Cell/fields/Code/index.scss +0 -0
  711. /package/dist/{pages → views}/List/Default/Cell/fields/Date/index.d.ts +0 -0
  712. /package/dist/{pages → views}/List/Default/Cell/fields/File/index.d.ts +0 -0
  713. /package/dist/{pages → views}/List/Default/Cell/fields/File/index.scss +0 -0
  714. /package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.d.ts +0 -0
  715. /package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.scss +0 -0
  716. /package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.d.ts +0 -0
  717. /package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.scss +0 -0
  718. /package/dist/{pages → views}/List/Default/Cell/fields/Select/index.d.ts +0 -0
  719. /package/dist/{pages → views}/List/Default/Cell/fields/Textarea/index.d.ts +0 -0
  720. /package/dist/{pages → views}/List/Default/Cell/index.d.ts +0 -0
  721. /package/dist/{pages → views}/List/Default/RelationshipProvider/index.d.ts +0 -0
  722. /package/dist/{pages → views}/List/Default/index.d.ts +0 -0
  723. /package/dist/{pages → views}/List/Default/index.scss +0 -0
  724. /package/dist/{pages → views}/List/Default/types.d.ts +0 -0
  725. /package/dist/{pages → views}/LivePreview/Context/collisionDetection.d.ts +0 -0
  726. /package/dist/{pages → views}/LivePreview/Context/sizeReducer.d.ts +0 -0
  727. /package/dist/{pages → views}/LivePreview/Device/index.d.ts +0 -0
  728. /package/dist/{pages → views}/LivePreview/DeviceContainer/index.d.ts +0 -0
  729. /package/dist/{pages → views}/LivePreview/IFrame/index.d.ts +0 -0
  730. /package/dist/{pages → views}/LivePreview/IFrame/index.scss +0 -0
  731. /package/dist/{pages → views}/LivePreview/Preview/index.scss +0 -0
  732. /package/dist/{pages → views}/LivePreview/Toolbar/Controls/index.scss +0 -0
  733. /package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.d.ts +0 -0
  734. /package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.scss +0 -0
  735. /package/dist/{pages → views}/LivePreview/Toolbar/index.scss +0 -0
  736. /package/dist/{pages → views}/LivePreview/ToolbarArea/index.d.ts +0 -0
  737. /package/dist/{pages → views}/LivePreview/ToolbarArea/index.scss +0 -0
  738. /package/dist/{pages → views}/LivePreview/index.client.d.ts +0 -0
  739. /package/dist/{pages → views}/LivePreview/index.scss +0 -0
  740. /package/dist/{pages → views}/LivePreview/usePopupWindow.d.ts +0 -0
  741. /package/dist/{pages → views}/Login/LoginForm/index.d.ts +0 -0
  742. /package/dist/{pages → views}/Login/LoginForm/index.scss +0 -0
  743. /package/dist/{pages → views}/Logout/LogoutClient.d.ts +0 -0
  744. /package/dist/{pages → views}/Logout/index.scss +0 -0
  745. /package/dist/{pages → views}/NotFound/index.scss +0 -0
  746. /package/dist/{pages → views}/ResetPassword/index.scss +0 -0
  747. /package/dist/{pages → views}/Unauthorized/UnauthorizedClient.d.ts +0 -0
  748. /package/dist/{pages → views}/Verify/index.scss +0 -0
  749. /package/dist/{pages → views}/Version/Default/SetStepNav.d.ts +0 -0
  750. /package/dist/{pages → views}/Version/Default/index.scss +0 -0
  751. /package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.d.ts +0 -0
  752. /package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.scss +0 -0
  753. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -0
  754. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.scss +0 -0
  755. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -0
  756. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +0 -0
  757. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -0
  758. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +0 -0
  759. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -0
  760. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +0 -0
  761. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.d.ts +0 -0
  762. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/types.d.ts +0 -0
  763. /package/dist/{pages → views}/Version/RenderFieldsToDiff/index.scss +0 -0
  764. /package/dist/{pages → views}/Version/Restore/index.scss +0 -0
  765. /package/dist/{pages → views}/Version/Restore/types.d.ts +0 -0
  766. /package/dist/{pages → views}/Version/SelectComparison/index.scss +0 -0
  767. /package/dist/{pages → views}/Version/SelectLocales/index.scss +0 -0
  768. /package/dist/{pages → views}/Version/SelectLocales/types.d.ts +0 -0
  769. /package/dist/{pages → views}/Version/shared.d.ts +0 -0
  770. /package/dist/{pages → views}/Versions/buildColumns.d.ts +0 -0
  771. /package/dist/{pages → views}/Versions/cells/AutosaveCell/index.d.ts +0 -0
  772. /package/dist/{pages → views}/Versions/cells/CreatedAt/index.d.ts +0 -0
  773. /package/dist/{pages → views}/Versions/cells/ID/index.d.ts +0 -0
  774. /package/dist/{pages → views}/Versions/index.scss +0 -0
  775. /package/dist/{pages → views}/Versions/types.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"processMultipart.d.ts","sourceRoot":"","sources":["../../src/next-fileupload/processMultipart.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,GAAG,CAAA;AAUtE,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE;IAC7B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;AACrC,eAAO,MAAM,gBAAgB,EAAE,gBAmJ9B,CAAA"}
1
+ {"version":3,"file":"processMultipart.d.ts","sourceRoot":"","sources":["../../src/next-fileupload/processMultipart.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAU/E,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE;IAC7B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;AACrC,eAAO,MAAM,gBAAgB,EAAE,gBAqJ9B,CAAA"}
@@ -1,27 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "processMultipart", {
6
- enumerable: true,
7
- get: function() {
8
- return processMultipart;
9
- }
10
- });
11
- const _busboy = /*#__PURE__*/ _interop_require_default(require("busboy"));
12
- const _errors = require("payload/errors");
13
- const _fileFactory = require("./fileFactory");
14
- const _handlers = require("./handlers");
15
- const _processNested = require("./processNested");
16
- const _uploadTimer = require("./uploadTimer");
17
- const _utilities = require("./utilities");
18
- function _interop_require_default(obj) {
19
- return obj && obj.__esModule ? obj : {
20
- default: obj
21
- };
22
- }
1
+ import Busboy from 'busboy';
2
+ import { APIError } from 'payload/errors';
3
+ import { fileFactory } from './fileFactory.js';
4
+ import { memHandler, tempFileHandler } from './handlers.js';
5
+ import { processNested } from './processNested.js';
6
+ import { createUploadTimer } from './uploadTimer.js';
7
+ import { buildFields, debugLog, isFunc, parseFileName } from './utilities.js';
23
8
  const waitFlushProperty = Symbol('wait flush property symbol');
24
- const processMultipart = async ({ options, request })=>{
9
+ export const processMultipart = async ({ options, request })=>{
25
10
  let parsingRequest = true;
26
11
  const result = {
27
12
  fields: undefined,
@@ -31,37 +16,37 @@ const processMultipart = async ({ options, request })=>{
31
16
  request.headers.forEach((value, name)=>{
32
17
  headersObject[name] = value;
33
18
  });
34
- const busboy = (0, _busboy.default)({
19
+ const busboy = Busboy({
35
20
  ...options,
36
21
  headers: headersObject
37
22
  });
38
23
  // Build multipart req.body fields
39
24
  busboy.on('field', (field, val)=>{
40
- result.fields = (0, _utilities.buildFields)(result.fields, field, val);
25
+ result.fields = buildFields(result.fields, field, val);
41
26
  });
42
27
  // Build req.files fields
43
28
  busboy.on('file', (field, file, info)=>{
44
29
  // Parse file name(cutting huge names, decoding, etc..).
45
30
  const { encoding, filename: name, mimeType: mime } = info;
46
- const filename = (0, _utilities.parseFileName)(options, name);
31
+ const filename = parseFileName(options, name);
47
32
  // Define methods and handlers for upload process.
48
- const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } = options.useTempFiles ? (0, _handlers.tempFileHandler)(options, field, filename) // Upload into temporary file.
49
- : (0, _handlers.memHandler)(options, field, filename) // Upload into RAM.
33
+ const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } = options.useTempFiles ? tempFileHandler(options, field, filename) // Upload into temporary file.
34
+ : memHandler(options, field, filename) // Upload into RAM.
50
35
  ;
51
36
  const writePromise = options.useTempFiles ? getWritePromise().catch((err)=>{
52
37
  busboy.end();
53
38
  cleanup();
54
39
  }) : getWritePromise();
55
- const uploadTimer = (0, _uploadTimer.createUploadTimer)(options.uploadTimeout, ()=>{
40
+ const uploadTimer = createUploadTimer(options.uploadTimeout, ()=>{
56
41
  file.removeAllListeners('data');
57
42
  file.resume();
58
43
  const err = new Error(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`);
59
44
  return file.destroy(err);
60
45
  });
61
46
  file.on('limit', ()=>{
62
- (0, _utilities.debugLog)(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`);
47
+ debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`);
63
48
  uploadTimer.clear();
64
- if ((0, _utilities.isFunc)(options.limitHandler)) {
49
+ if (isFunc(options.limitHandler)) {
65
50
  options.limitHandler({
66
51
  request,
67
52
  size: getFileSize()
@@ -69,10 +54,10 @@ const processMultipart = async ({ options, request })=>{
69
54
  }
70
55
  // Return error and cleanup files if abortOnLimit set.
71
56
  if (options.abortOnLimit) {
72
- (0, _utilities.debugLog)(options, `Aborting upload because of size limit ${field}->${filename}.`);
57
+ debugLog(options, `Aborting upload because of size limit ${field}->${filename}.`);
73
58
  cleanup();
74
59
  parsingRequest = false;
75
- throw new _errors.APIError(options.responseOnLimit, 413, {
60
+ throw new APIError(options.responseOnLimit, 413, {
76
61
  size: getFileSize()
77
62
  });
78
63
  }
@@ -83,16 +68,16 @@ const processMultipart = async ({ options, request })=>{
83
68
  });
84
69
  file.on('end', ()=>{
85
70
  const size = getFileSize();
86
- (0, _utilities.debugLog)(options, `Upload finished ${field}->${filename}, bytes:${size}`);
71
+ debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`);
87
72
  uploadTimer.clear();
88
73
  if (!name && size === 0) {
89
74
  if (options.useTempFiles) {
90
75
  cleanup();
91
- (0, _utilities.debugLog)(options, `Removing the empty file ${field}->${filename}`);
76
+ debugLog(options, `Removing the empty file ${field}->${filename}`);
92
77
  }
93
- return (0, _utilities.debugLog)(options, `Don't add file instance if original name and size are empty`);
78
+ return debugLog(options, `Don't add file instance if original name and size are empty`);
94
79
  }
95
- result.files = (0, _utilities.buildFields)(result.files, field, (0, _fileFactory.fileFactory)({
80
+ result.files = buildFields(result.files, field, fileFactory({
96
81
  name: filename,
97
82
  buffer: complete(),
98
83
  encoding,
@@ -109,17 +94,17 @@ const processMultipart = async ({ options, request })=>{
109
94
  });
110
95
  file.on('error', (err)=>{
111
96
  uploadTimer.clear();
112
- (0, _utilities.debugLog)(options, `File Error: ${err.message}`);
97
+ debugLog(options, `File Error: ${err.message}`);
113
98
  cleanup();
114
99
  });
115
- (0, _utilities.debugLog)(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`);
100
+ debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`);
116
101
  uploadTimer.set();
117
102
  });
118
103
  busboy.on('finish', ()=>{
119
- (0, _utilities.debugLog)(options, `Busboy finished parsing request.`);
104
+ debugLog(options, `Busboy finished parsing request.`);
120
105
  if (options.parseNested) {
121
- result.fields = (0, _processNested.processNested)(result.fields);
122
- result.files = (0, _processNested.processNested)(result.files);
106
+ result.fields = processNested(result.fields);
107
+ result.files = processNested(result.files);
123
108
  }
124
109
  if (request[waitFlushProperty]) {
125
110
  Promise.all(request[waitFlushProperty]).then(()=>{
@@ -128,9 +113,9 @@ const processMultipart = async ({ options, request })=>{
128
113
  }
129
114
  });
130
115
  busboy.on('error', (err)=>{
131
- (0, _utilities.debugLog)(options, `Busboy error`);
116
+ debugLog(options, `Busboy error`);
132
117
  parsingRequest = false;
133
- throw new _errors.APIError('Busboy error parsing multipart request', 500);
118
+ throw new APIError('Busboy error parsing multipart request', 500);
134
119
  });
135
120
  const reader = request.body.getReader();
136
121
  while(parsingRequest){
@@ -138,9 +123,11 @@ const processMultipart = async ({ options, request })=>{
138
123
  if (done) {
139
124
  parsingRequest = false;
140
125
  }
141
- busboy.write(value);
126
+ if (value) {
127
+ busboy.write(value);
128
+ }
142
129
  }
143
130
  return result;
144
131
  };
145
132
 
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvcHJvY2Vzc011bHRpcGFydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVzYm95IGZyb20gJ2J1c2JveSdcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5cbmltcG9ydCB0eXBlIHsgTmV4dEZpbGVVcGxvYWRPcHRpb25zLCBOZXh0RmlsZVVwbG9hZFJlc3BvbnNlIH0gZnJvbSAnLidcblxuaW1wb3J0IHsgZmlsZUZhY3RvcnkgfSBmcm9tICcuL2ZpbGVGYWN0b3J5J1xuaW1wb3J0IHsgbWVtSGFuZGxlciwgdGVtcEZpbGVIYW5kbGVyIH0gZnJvbSAnLi9oYW5kbGVycydcbmltcG9ydCB7IHByb2Nlc3NOZXN0ZWQgfSBmcm9tICcuL3Byb2Nlc3NOZXN0ZWQnXG5pbXBvcnQgeyBjcmVhdGVVcGxvYWRUaW1lciB9IGZyb20gJy4vdXBsb2FkVGltZXInXG5pbXBvcnQgeyBidWlsZEZpZWxkcywgZGVidWdMb2csIGlzRnVuYywgcGFyc2VGaWxlTmFtZSB9IGZyb20gJy4vdXRpbGl0aWVzJ1xuXG5jb25zdCB3YWl0Rmx1c2hQcm9wZXJ0eSA9IFN5bWJvbCgnd2FpdCBmbHVzaCBwcm9wZXJ0eSBzeW1ib2wnKVxuXG50eXBlIFByb2Nlc3NNdWx0aXBhcnQgPSAoYXJnczoge1xuICBvcHRpb25zOiBOZXh0RmlsZVVwbG9hZE9wdGlvbnNcbiAgcmVxdWVzdDogUmVxdWVzdFxufSkgPT4gUHJvbWlzZTxOZXh0RmlsZVVwbG9hZFJlc3BvbnNlPlxuZXhwb3J0IGNvbnN0IHByb2Nlc3NNdWx0aXBhcnQ6IFByb2Nlc3NNdWx0aXBhcnQgPSBhc3luYyAoeyBvcHRpb25zLCByZXF1ZXN0IH0pID0+IHtcbiAgbGV0IHBhcnNpbmdSZXF1ZXN0ID0gdHJ1ZVxuICBjb25zdCByZXN1bHQ6IE5leHRGaWxlVXBsb2FkUmVzcG9uc2UgPSB7XG4gICAgZmllbGRzOiB1bmRlZmluZWQsXG4gICAgZmlsZXM6IHVuZGVmaW5lZCxcbiAgfVxuXG4gIGNvbnN0IGhlYWRlcnNPYmplY3QgPSB7fVxuICByZXF1ZXN0LmhlYWRlcnMuZm9yRWFjaCgodmFsdWUsIG5hbWUpID0+IHtcbiAgICBoZWFkZXJzT2JqZWN0W25hbWVdID0gdmFsdWVcbiAgfSlcblxuICBjb25zdCBidXNib3kgPSBCdXNib3koeyAuLi5vcHRpb25zLCBoZWFkZXJzOiBoZWFkZXJzT2JqZWN0IH0pXG5cbiAgLy8gQnVpbGQgbXVsdGlwYXJ0IHJlcS5ib2R5IGZpZWxkc1xuICBidXNib3kub24oJ2ZpZWxkJywgKGZpZWxkLCB2YWwpID0+IHtcbiAgICByZXN1bHQuZmllbGRzID0gYnVpbGRGaWVsZHMocmVzdWx0LmZpZWxkcywgZmllbGQsIHZhbClcbiAgfSlcblxuICAvLyBCdWlsZCByZXEuZmlsZXMgZmllbGRzXG4gIGJ1c2JveS5vbignZmlsZScsIChmaWVsZCwgZmlsZSwgaW5mbykgPT4ge1xuICAgIC8vIFBhcnNlIGZpbGUgbmFtZShjdXR0aW5nIGh1Z2UgbmFtZXMsIGRlY29kaW5nLCBldGMuLikuXG4gICAgY29uc3QgeyBlbmNvZGluZywgZmlsZW5hbWU6IG5hbWUsIG1pbWVUeXBlOiBtaW1lIH0gPSBpbmZvXG4gICAgY29uc3QgZmlsZW5hbWUgPSBwYXJzZUZpbGVOYW1lKG9wdGlvbnMsIG5hbWUpXG5cbiAgICAvLyBEZWZpbmUgbWV0aG9kcyBhbmQgaGFuZGxlcnMgZm9yIHVwbG9hZCBwcm9jZXNzLlxuICAgIGNvbnN0IHsgY2xlYW51cCwgY29tcGxldGUsIGRhdGFIYW5kbGVyLCBnZXRGaWxlUGF0aCwgZ2V0RmlsZVNpemUsIGdldEhhc2gsIGdldFdyaXRlUHJvbWlzZSB9ID1cbiAgICAgIG9wdGlvbnMudXNlVGVtcEZpbGVzXG4gICAgICAgID8gdGVtcEZpbGVIYW5kbGVyKG9wdGlvbnMsIGZpZWxkLCBmaWxlbmFtZSkgLy8gVXBsb2FkIGludG8gdGVtcG9yYXJ5IGZpbGUuXG4gICAgICAgIDogbWVtSGFuZGxlcihvcHRpb25zLCBmaWVsZCwgZmlsZW5hbWUpIC8vIFVwbG9hZCBpbnRvIFJBTS5cblxuICAgIGNvbnN0IHdyaXRlUHJvbWlzZSA9IG9wdGlvbnMudXNlVGVtcEZpbGVzXG4gICAgICA/IGdldFdyaXRlUHJvbWlzZSgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICBidXNib3kuZW5kKClcbiAgICAgICAgICBjbGVhbnVwKClcbiAgICAgICAgfSlcbiAgICAgIDogZ2V0V3JpdGVQcm9taXNlKClcblxuICAgIGNvbnN0IHVwbG9hZFRpbWVyID0gY3JlYXRlVXBsb2FkVGltZXIob3B0aW9ucy51cGxvYWRUaW1lb3V0LCAoKSA9PiB7XG4gICAgICBmaWxlLnJlbW92ZUFsbExpc3RlbmVycygnZGF0YScpXG4gICAgICBmaWxlLnJlc3VtZSgpXG4gICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoYFVwbG9hZCB0aW1lb3V0IGZvciAke2ZpZWxkfS0+JHtmaWxlbmFtZX0sIGJ5dGVzOiR7Z2V0RmlsZVNpemUoKX1gKVxuICAgICAgcmV0dXJuIGZpbGUuZGVzdHJveShlcnIpXG4gICAgfSlcblxuICAgIGZpbGUub24oJ2xpbWl0JywgKCkgPT4ge1xuICAgICAgZGVidWdMb2cob3B0aW9ucywgYFNpemUgbGltaXQgcmVhY2hlZCBmb3IgJHtmaWVsZH0tPiR7ZmlsZW5hbWV9LCBieXRlczoke2dldEZpbGVTaXplKCl9YClcbiAgICAgIHVwbG9hZFRpbWVyLmNsZWFyKClcblxuICAgICAgaWYgKGlzRnVuYyhvcHRpb25zLmxpbWl0SGFuZGxlcikpIHtcbiAgICAgICAgb3B0aW9ucy5saW1pdEhhbmRsZXIoeyByZXF1ZXN0LCBzaXplOiBnZXRGaWxlU2l6ZSgpIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIFJldHVybiBlcnJvciBhbmQgY2xlYW51cCBmaWxlcyBpZiBhYm9ydE9uTGltaXQgc2V0LlxuICAgICAgaWYgKG9wdGlvbnMuYWJvcnRPbkxpbWl0KSB7XG4gICAgICAgIGRlYnVnTG9nKG9wdGlvbnMsIGBBYm9ydGluZyB1cGxvYWQgYmVjYXVzZSBvZiBzaXplIGxpbWl0ICR7ZmllbGR9LT4ke2ZpbGVuYW1lfS5gKVxuICAgICAgICBjbGVhbnVwKClcbiAgICAgICAgcGFyc2luZ1JlcXVlc3QgPSBmYWxzZVxuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3Iob3B0aW9ucy5yZXNwb25zZU9uTGltaXQsIDQxMywgeyBzaXplOiBnZXRGaWxlU2l6ZSgpIH0pXG4gICAgICB9XG4gICAgfSlcblxuICAgIGZpbGUub24oJ2RhdGEnLCAoZGF0YSkgPT4ge1xuICAgICAgdXBsb2FkVGltZXIuc2V0KClcbiAgICAgIGRhdGFIYW5kbGVyKGRhdGEpXG4gICAgfSlcblxuICAgIGZpbGUub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSBnZXRGaWxlU2l6ZSgpXG4gICAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgVXBsb2FkIGZpbmlzaGVkICR7ZmllbGR9LT4ke2ZpbGVuYW1lfSwgYnl0ZXM6JHtzaXplfWApXG4gICAgICB1cGxvYWRUaW1lci5jbGVhcigpXG5cbiAgICAgIGlmICghbmFtZSAmJiBzaXplID09PSAwKSB7XG4gICAgICAgIGlmIChvcHRpb25zLnVzZVRlbXBGaWxlcykge1xuICAgICAgICAgIGNsZWFudXAoKVxuICAgICAgICAgIGRlYnVnTG9nKG9wdGlvbnMsIGBSZW1vdmluZyB0aGUgZW1wdHkgZmlsZSAke2ZpZWxkfS0+JHtmaWxlbmFtZX1gKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWJ1Z0xvZyhvcHRpb25zLCBgRG9uJ3QgYWRkIGZpbGUgaW5zdGFuY2UgaWYgb3JpZ2luYWwgbmFtZSBhbmQgc2l6ZSBhcmUgZW1wdHlgKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQuZmlsZXMgPSBidWlsZEZpZWxkcyhcbiAgICAgICAgcmVzdWx0LmZpbGVzLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgZmlsZUZhY3RvcnkoXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogZmlsZW5hbWUsXG4gICAgICAgICAgICBidWZmZXI6IGNvbXBsZXRlKCksXG4gICAgICAgICAgICBlbmNvZGluZyxcbiAgICAgICAgICAgIGhhc2g6IGdldEhhc2goKSxcbiAgICAgICAgICAgIG1pbWV0eXBlOiBtaW1lLFxuICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgIHRlbXBGaWxlUGF0aDogZ2V0RmlsZVBhdGgoKSxcbiAgICAgICAgICAgIHRydW5jYXRlZDogQm9vbGVhbigndHJ1bmNhdGVkJyBpbiBmaWxlICYmIGZpbGUudHJ1bmNhdGVkKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICksXG4gICAgICApXG5cbiAgICAgIGlmICghcmVxdWVzdFt3YWl0Rmx1c2hQcm9wZXJ0eV0pIHtcbiAgICAgICAgcmVxdWVzdFt3YWl0Rmx1c2hQcm9wZXJ0eV0gPSBbXVxuICAgICAgfVxuICAgICAgcmVxdWVzdFt3YWl0Rmx1c2hQcm9wZXJ0eV0ucHVzaCh3cml0ZVByb21pc2UpXG4gICAgfSlcblxuICAgIGZpbGUub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgdXBsb2FkVGltZXIuY2xlYXIoKVxuICAgICAgZGVidWdMb2cob3B0aW9ucywgYEZpbGUgRXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YClcbiAgICAgIGNsZWFudXAoKVxuICAgIH0pXG5cbiAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgTmV3IHVwbG9hZCBzdGFydGVkICR7ZmllbGR9LT4ke2ZpbGVuYW1lfSwgYnl0ZXM6JHtnZXRGaWxlU2l6ZSgpfWApXG4gICAgdXBsb2FkVGltZXIuc2V0KClcbiAgfSlcblxuICBidXNib3kub24oJ2ZpbmlzaCcsICgpID0+IHtcbiAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgQnVzYm95IGZpbmlzaGVkIHBhcnNpbmcgcmVxdWVzdC5gKVxuICAgIGlmIChvcHRpb25zLnBhcnNlTmVzdGVkKSB7XG4gICAgICByZXN1bHQuZmllbGRzID0gcHJvY2Vzc05lc3RlZChyZXN1bHQuZmllbGRzKVxuICAgICAgcmVzdWx0LmZpbGVzID0gcHJvY2Vzc05lc3RlZChyZXN1bHQuZmlsZXMpXG4gICAgfVxuXG4gICAgaWYgKHJlcXVlc3Rbd2FpdEZsdXNoUHJvcGVydHldKSB7XG4gICAgICBQcm9taXNlLmFsbChyZXF1ZXN0W3dhaXRGbHVzaFByb3BlcnR5XSkudGhlbigoKSA9PiB7XG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0W3dhaXRGbHVzaFByb3BlcnR5XVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG5cbiAgYnVzYm95Lm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgQnVzYm95IGVycm9yYClcbiAgICBwYXJzaW5nUmVxdWVzdCA9IGZhbHNlXG4gICAgdGhyb3cgbmV3IEFQSUVycm9yKCdCdXNib3kgZXJyb3IgcGFyc2luZyBtdWx0aXBhcnQgcmVxdWVzdCcsIDUwMClcbiAgfSlcblxuICBjb25zdCByZWFkZXIgPSByZXF1ZXN0LmJvZHkuZ2V0UmVhZGVyKClcblxuICB3aGlsZSAocGFyc2luZ1JlcXVlc3QpIHtcbiAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpXG5cbiAgICBpZiAoZG9uZSkge1xuICAgICAgcGFyc2luZ1JlcXVlc3QgPSBmYWxzZVxuICAgIH1cblxuICAgIGJ1c2JveS53cml0ZSh2YWx1ZSlcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzTXVsdGlwYXJ0Iiwid2FpdEZsdXNoUHJvcGVydHkiLCJTeW1ib2wiLCJvcHRpb25zIiwicmVxdWVzdCIsInBhcnNpbmdSZXF1ZXN0IiwicmVzdWx0IiwiZmllbGRzIiwidW5kZWZpbmVkIiwiZmlsZXMiLCJoZWFkZXJzT2JqZWN0IiwiaGVhZGVycyIsImZvckVhY2giLCJ2YWx1ZSIsIm5hbWUiLCJidXNib3kiLCJCdXNib3kiLCJvbiIsImZpZWxkIiwidmFsIiwiYnVpbGRGaWVsZHMiLCJmaWxlIiwiaW5mbyIsImVuY29kaW5nIiwiZmlsZW5hbWUiLCJtaW1lVHlwZSIsIm1pbWUiLCJwYXJzZUZpbGVOYW1lIiwiY2xlYW51cCIsImNvbXBsZXRlIiwiZGF0YUhhbmRsZXIiLCJnZXRGaWxlUGF0aCIsImdldEZpbGVTaXplIiwiZ2V0SGFzaCIsImdldFdyaXRlUHJvbWlzZSIsInVzZVRlbXBGaWxlcyIsInRlbXBGaWxlSGFuZGxlciIsIm1lbUhhbmRsZXIiLCJ3cml0ZVByb21pc2UiLCJjYXRjaCIsImVyciIsImVuZCIsInVwbG9hZFRpbWVyIiwiY3JlYXRlVXBsb2FkVGltZXIiLCJ1cGxvYWRUaW1lb3V0IiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwicmVzdW1lIiwiRXJyb3IiLCJkZXN0cm95IiwiZGVidWdMb2ciLCJjbGVhciIsImlzRnVuYyIsImxpbWl0SGFuZGxlciIsInNpemUiLCJhYm9ydE9uTGltaXQiLCJBUElFcnJvciIsInJlc3BvbnNlT25MaW1pdCIsImRhdGEiLCJzZXQiLCJmaWxlRmFjdG9yeSIsImJ1ZmZlciIsImhhc2giLCJtaW1ldHlwZSIsInRlbXBGaWxlUGF0aCIsInRydW5jYXRlZCIsIkJvb2xlYW4iLCJwdXNoIiwibWVzc2FnZSIsInBhcnNlTmVzdGVkIiwicHJvY2Vzc05lc3RlZCIsIlByb21pc2UiLCJhbGwiLCJ0aGVuIiwicmVhZGVyIiwiYm9keSIsImdldFJlYWRlciIsImRvbmUiLCJyZWFkIiwid3JpdGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBaUJhQTs7O2VBQUFBOzs7K0RBakJNO3dCQUNNOzZCQUlHOzBCQUNnQjsrQkFDZDs2QkFDSTsyQkFDMkI7Ozs7OztBQUU3RCxNQUFNQyxvQkFBb0JDLE9BQU87QUFNMUIsTUFBTUYsbUJBQXFDLE9BQU8sRUFBRUcsT0FBTyxFQUFFQyxPQUFPLEVBQUU7SUFDM0UsSUFBSUMsaUJBQWlCO0lBQ3JCLE1BQU1DLFNBQWlDO1FBQ3JDQyxRQUFRQztRQUNSQyxPQUFPRDtJQUNUO0lBRUEsTUFBTUUsZ0JBQWdCLENBQUM7SUFDdkJOLFFBQVFPLE9BQU8sQ0FBQ0MsT0FBTyxD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
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvcHJvY2Vzc011bHRpcGFydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVzYm95IGZyb20gJ2J1c2JveSdcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5cbmltcG9ydCB0eXBlIHsgTmV4dEZpbGVVcGxvYWRPcHRpb25zLCBOZXh0RmlsZVVwbG9hZFJlc3BvbnNlIH0gZnJvbSAnLi9pbmRleC5qcydcblxuaW1wb3J0IHsgZmlsZUZhY3RvcnkgfSBmcm9tICcuL2ZpbGVGYWN0b3J5LmpzJ1xuaW1wb3J0IHsgbWVtSGFuZGxlciwgdGVtcEZpbGVIYW5kbGVyIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHByb2Nlc3NOZXN0ZWQgfSBmcm9tICcuL3Byb2Nlc3NOZXN0ZWQuanMnXG5pbXBvcnQgeyBjcmVhdGVVcGxvYWRUaW1lciB9IGZyb20gJy4vdXBsb2FkVGltZXIuanMnXG5pbXBvcnQgeyBidWlsZEZpZWxkcywgZGVidWdMb2csIGlzRnVuYywgcGFyc2VGaWxlTmFtZSB9IGZyb20gJy4vdXRpbGl0aWVzLmpzJ1xuXG5jb25zdCB3YWl0Rmx1c2hQcm9wZXJ0eSA9IFN5bWJvbCgnd2FpdCBmbHVzaCBwcm9wZXJ0eSBzeW1ib2wnKVxuXG50eXBlIFByb2Nlc3NNdWx0aXBhcnQgPSAoYXJnczoge1xuICBvcHRpb25zOiBOZXh0RmlsZVVwbG9hZE9wdGlvbnNcbiAgcmVxdWVzdDogUmVxdWVzdFxufSkgPT4gUHJvbWlzZTxOZXh0RmlsZVVwbG9hZFJlc3BvbnNlPlxuZXhwb3J0IGNvbnN0IHByb2Nlc3NNdWx0aXBhcnQ6IFByb2Nlc3NNdWx0aXBhcnQgPSBhc3luYyAoeyBvcHRpb25zLCByZXF1ZXN0IH0pID0+IHtcbiAgbGV0IHBhcnNpbmdSZXF1ZXN0ID0gdHJ1ZVxuICBjb25zdCByZXN1bHQ6IE5leHRGaWxlVXBsb2FkUmVzcG9uc2UgPSB7XG4gICAgZmllbGRzOiB1bmRlZmluZWQsXG4gICAgZmlsZXM6IHVuZGVmaW5lZCxcbiAgfVxuXG4gIGNvbnN0IGhlYWRlcnNPYmplY3QgPSB7fVxuICByZXF1ZXN0LmhlYWRlcnMuZm9yRWFjaCgodmFsdWUsIG5hbWUpID0+IHtcbiAgICBoZWFkZXJzT2JqZWN0W25hbWVdID0gdmFsdWVcbiAgfSlcblxuICBjb25zdCBidXNib3kgPSBCdXNib3koeyAuLi5vcHRpb25zLCBoZWFkZXJzOiBoZWFkZXJzT2JqZWN0IH0pXG5cbiAgLy8gQnVpbGQgbXVsdGlwYXJ0IHJlcS5ib2R5IGZpZWxkc1xuICBidXNib3kub24oJ2ZpZWxkJywgKGZpZWxkLCB2YWwpID0+IHtcbiAgICByZXN1bHQuZmllbGRzID0gYnVpbGRGaWVsZHMocmVzdWx0LmZpZWxkcywgZmllbGQsIHZhbClcbiAgfSlcblxuICAvLyBCdWlsZCByZXEuZmlsZXMgZmllbGRzXG4gIGJ1c2JveS5vbignZmlsZScsIChmaWVsZCwgZmlsZSwgaW5mbykgPT4ge1xuICAgIC8vIFBhcnNlIGZpbGUgbmFtZShjdXR0aW5nIGh1Z2UgbmFtZXMsIGRlY29kaW5nLCBldGMuLikuXG4gICAgY29uc3QgeyBlbmNvZGluZywgZmlsZW5hbWU6IG5hbWUsIG1pbWVUeXBlOiBtaW1lIH0gPSBpbmZvXG4gICAgY29uc3QgZmlsZW5hbWUgPSBwYXJzZUZpbGVOYW1lKG9wdGlvbnMsIG5hbWUpXG5cbiAgICAvLyBEZWZpbmUgbWV0aG9kcyBhbmQgaGFuZGxlcnMgZm9yIHVwbG9hZCBwcm9jZXNzLlxuICAgIGNvbnN0IHsgY2xlYW51cCwgY29tcGxldGUsIGRhdGFIYW5kbGVyLCBnZXRGaWxlUGF0aCwgZ2V0RmlsZVNpemUsIGdldEhhc2gsIGdldFdyaXRlUHJvbWlzZSB9ID1cbiAgICAgIG9wdGlvbnMudXNlVGVtcEZpbGVzXG4gICAgICAgID8gdGVtcEZpbGVIYW5kbGVyKG9wdGlvbnMsIGZpZWxkLCBmaWxlbmFtZSkgLy8gVXBsb2FkIGludG8gdGVtcG9yYXJ5IGZpbGUuXG4gICAgICAgIDogbWVtSGFuZGxlcihvcHRpb25zLCBmaWVsZCwgZmlsZW5hbWUpIC8vIFVwbG9hZCBpbnRvIFJBTS5cblxuICAgIGNvbnN0IHdyaXRlUHJvbWlzZSA9IG9wdGlvbnMudXNlVGVtcEZpbGVzXG4gICAgICA/IGdldFdyaXRlUHJvbWlzZSgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICBidXNib3kuZW5kKClcbiAgICAgICAgICBjbGVhbnVwKClcbiAgICAgICAgfSlcbiAgICAgIDogZ2V0V3JpdGVQcm9taXNlKClcblxuICAgIGNvbnN0IHVwbG9hZFRpbWVyID0gY3JlYXRlVXBsb2FkVGltZXIob3B0aW9ucy51cGxvYWRUaW1lb3V0LCAoKSA9PiB7XG4gICAgICBmaWxlLnJlbW92ZUFsbExpc3RlbmVycygnZGF0YScpXG4gICAgICBmaWxlLnJlc3VtZSgpXG4gICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoYFVwbG9hZCB0aW1lb3V0IGZvciAke2ZpZWxkfS0+JHtmaWxlbmFtZX0sIGJ5dGVzOiR7Z2V0RmlsZVNpemUoKX1gKVxuICAgICAgcmV0dXJuIGZpbGUuZGVzdHJveShlcnIpXG4gICAgfSlcblxuICAgIGZpbGUub24oJ2xpbWl0JywgKCkgPT4ge1xuICAgICAgZGVidWdMb2cob3B0aW9ucywgYFNpemUgbGltaXQgcmVhY2hlZCBmb3IgJHtmaWVsZH0tPiR7ZmlsZW5hbWV9LCBieXRlczoke2dldEZpbGVTaXplKCl9YClcbiAgICAgIHVwbG9hZFRpbWVyLmNsZWFyKClcblxuICAgICAgaWYgKGlzRnVuYyhvcHRpb25zLmxpbWl0SGFuZGxlcikpIHtcbiAgICAgICAgb3B0aW9ucy5saW1pdEhhbmRsZXIoeyByZXF1ZXN0LCBzaXplOiBnZXRGaWxlU2l6ZSgpIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIFJldHVybiBlcnJvciBhbmQgY2xlYW51cCBmaWxlcyBpZiBhYm9ydE9uTGltaXQgc2V0LlxuICAgICAgaWYgKG9wdGlvbnMuYWJvcnRPbkxpbWl0KSB7XG4gICAgICAgIGRlYnVnTG9nKG9wdGlvbnMsIGBBYm9ydGluZyB1cGxvYWQgYmVjYXVzZSBvZiBzaXplIGxpbWl0ICR7ZmllbGR9LT4ke2ZpbGVuYW1lfS5gKVxuICAgICAgICBjbGVhbnVwKClcbiAgICAgICAgcGFyc2luZ1JlcXVlc3QgPSBmYWxzZVxuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3Iob3B0aW9ucy5yZXNwb25zZU9uTGltaXQsIDQxMywgeyBzaXplOiBnZXRGaWxlU2l6ZSgpIH0pXG4gICAgICB9XG4gICAgfSlcblxuICAgIGZpbGUub24oJ2RhdGEnLCAoZGF0YSkgPT4ge1xuICAgICAgdXBsb2FkVGltZXIuc2V0KClcbiAgICAgIGRhdGFIYW5kbGVyKGRhdGEpXG4gICAgfSlcblxuICAgIGZpbGUub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSBnZXRGaWxlU2l6ZSgpXG4gICAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgVXBsb2FkIGZpbmlzaGVkICR7ZmllbGR9LT4ke2ZpbGVuYW1lfSwgYnl0ZXM6JHtzaXplfWApXG4gICAgICB1cGxvYWRUaW1lci5jbGVhcigpXG5cbiAgICAgIGlmICghbmFtZSAmJiBzaXplID09PSAwKSB7XG4gICAgICAgIGlmIChvcHRpb25zLnVzZVRlbXBGaWxlcykge1xuICAgICAgICAgIGNsZWFudXAoKVxuICAgICAgICAgIGRlYnVnTG9nKG9wdGlvbnMsIGBSZW1vdmluZyB0aGUgZW1wdHkgZmlsZSAke2ZpZWxkfS0+JHtmaWxlbmFtZX1gKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWJ1Z0xvZyhvcHRpb25zLCBgRG9uJ3QgYWRkIGZpbGUgaW5zdGFuY2UgaWYgb3JpZ2luYWwgbmFtZSBhbmQgc2l6ZSBhcmUgZW1wdHlgKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQuZmlsZXMgPSBidWlsZEZpZWxkcyhcbiAgICAgICAgcmVzdWx0LmZpbGVzLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgZmlsZUZhY3RvcnkoXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogZmlsZW5hbWUsXG4gICAgICAgICAgICBidWZmZXI6IGNvbXBsZXRlKCksXG4gICAgICAgICAgICBlbmNvZGluZyxcbiAgICAgICAgICAgIGhhc2g6IGdldEhhc2goKSxcbiAgICAgICAgICAgIG1pbWV0eXBlOiBtaW1lLFxuICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgIHRlbXBGaWxlUGF0aDogZ2V0RmlsZVBhdGgoKSxcbiAgICAgICAgICAgIHRydW5jYXRlZDogQm9vbGVhbigndHJ1bmNhdGVkJyBpbiBmaWxlICYmIGZpbGUudHJ1bmNhdGVkKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICksXG4gICAgICApXG5cbiAgICAgIGlmICghcmVxdWVzdFt3YWl0Rmx1c2hQcm9wZXJ0eV0pIHtcbiAgICAgICAgcmVxdWVzdFt3YWl0Rmx1c2hQcm9wZXJ0eV0gPSBbXVxuICAgICAgfVxuICAgICAgcmVxdWVzdFt3YWl0Rmx1c2hQcm9wZXJ0eV0ucHVzaCh3cml0ZVByb21pc2UpXG4gICAgfSlcblxuICAgIGZpbGUub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgdXBsb2FkVGltZXIuY2xlYXIoKVxuICAgICAgZGVidWdMb2cob3B0aW9ucywgYEZpbGUgRXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YClcbiAgICAgIGNsZWFudXAoKVxuICAgIH0pXG5cbiAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgTmV3IHVwbG9hZCBzdGFydGVkICR7ZmllbGR9LT4ke2ZpbGVuYW1lfSwgYnl0ZXM6JHtnZXRGaWxlU2l6ZSgpfWApXG4gICAgdXBsb2FkVGltZXIuc2V0KClcbiAgfSlcblxuICBidXNib3kub24oJ2ZpbmlzaCcsICgpID0+IHtcbiAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgQnVzYm95IGZpbmlzaGVkIHBhcnNpbmcgcmVxdWVzdC5gKVxuICAgIGlmIChvcHRpb25zLnBhcnNlTmVzdGVkKSB7XG4gICAgICByZXN1bHQuZmllbGRzID0gcHJvY2Vzc05lc3RlZChyZXN1bHQuZmllbGRzKVxuICAgICAgcmVzdWx0LmZpbGVzID0gcHJvY2Vzc05lc3RlZChyZXN1bHQuZmlsZXMpXG4gICAgfVxuXG4gICAgaWYgKHJlcXVlc3Rbd2FpdEZsdXNoUHJvcGVydHldKSB7XG4gICAgICBQcm9taXNlLmFsbChyZXF1ZXN0W3dhaXRGbHVzaFByb3BlcnR5XSkudGhlbigoKSA9PiB7XG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0W3dhaXRGbHVzaFByb3BlcnR5XVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG5cbiAgYnVzYm95Lm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICBkZWJ1Z0xvZyhvcHRpb25zLCBgQnVzYm95IGVycm9yYClcbiAgICBwYXJzaW5nUmVxdWVzdCA9IGZhbHNlXG4gICAgdGhyb3cgbmV3IEFQSUVycm9yKCdCdXNib3kgZXJyb3IgcGFyc2luZyBtdWx0aXBhcnQgcmVxdWVzdCcsIDUwMClcbiAgfSlcblxuICBjb25zdCByZWFkZXIgPSByZXF1ZXN0LmJvZHkuZ2V0UmVhZGVyKClcblxuICB3aGlsZSAocGFyc2luZ1JlcXVlc3QpIHtcbiAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpXG5cbiAgICBpZiAoZG9uZSkge1xuICAgICAgcGFyc2luZ1JlcXVlc3QgPSBmYWxzZVxuICAgIH1cblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgYnVzYm95LndyaXRlKHZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJCdXNib3kiLCJBUElFcnJvciIsImZpbGVGYWN0b3J5IiwibWVtSGFuZGxlciIsInRlbXBGaWxlSGFuZGxlciIsInByb2Nlc3NOZXN0ZWQiLCJjcmVhdGVVcGxvYWRUaW1lciIsImJ1aWxkRmllbGRzIiwiZGVidWdMb2ciLCJpc0Z1bmMiLCJwYXJzZUZpbGVOYW1lIiwid2FpdEZsdXNoUHJvcGVydHkiLCJTeW1ib2wiLCJwcm9jZXNzTXVsdGlwYXJ0Iiwib3B0aW9ucyIsInJlcXVlc3QiLCJwYXJzaW5nUmVxdWVzdCIsInJlc3VsdCIsImZpZWxkcyIsInVuZGVmaW5lZCIsImZpbGVzIiwiaGVhZGVyc09iamVjdCIsImhlYWRlcnMiLCJmb3JFYWNoIiwidmFsdWUiLCJuYW1lIiwiYnVzYm95Iiwib24iLCJmaWVsZCIsInZhbCIsImZpbGUiLCJpbmZvIiwiZW5jb2RpbmciLCJmaWxlbmFtZSIsIm1pbWVUeXBlIiwibWltZSIsImNsZWFudXAiLCJjb21wbGV0ZSIsImRhdGFIYW5kbGVyIiwiZ2V0RmlsZVBhdGgiLCJnZXRGaWxlU2l6ZSIsImdldEhhc2giLCJnZXRXcml0ZVByb21pc2UiLCJ1c2VUZW1wRmlsZXMiLCJ3cml0ZVByb21pc2UiLCJjYXRjaCIsImVyciIsImVuZCIsInVwbG9hZFRpbWVyIiwidXBsb2FkVGltZW91dCIsInJlbW92ZUFsbExpc3RlbmVycyIsInJlc3VtZSIsIkVycm9yIiwiZGVzdHJveSIsImNsZWFyIiwibGltaXRIYW5kbGVyIiwic2l6ZSIsImFib3J0T25MaW1pdCIsInJlc3BvbnNlT25MaW1pdCIsImRhdGEiLCJzZXQiLCJidWZmZXIiLCJoYXNoIiwibWltZXR5cGUiLCJ0ZW1wRmlsZVBhdGgiLCJ0cnVuY2F0ZWQiLCJCb29sZWFuIiwicHVzaCIsIm1lc3NhZ2UiLCJwYXJzZU5lc3RlZCIsIlByb21pc2UiLCJhbGwiLCJ0aGVuIiwicmVhZGVyIiwiYm9keSIsImdldFJlYWRlciIsImRvbmUiLCJyZWFkIiwid3JpdGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksU0FBUTtBQUMzQixTQUFTQyxRQUFRLFFBQVEsaUJBQWdCO0FBSXpDLFNBQVNDLFdBQVcsUUFBUSxtQkFBa0I7QUFDOUMsU0FBU0MsVUFBVSxFQUFFQyxlQUFlLFFBQVEsZ0JBQWU7QUFDM0QsU0FBU0MsYUFBYSxRQUFRLHFCQUFvQjtBQUNsRCxTQUFTQyxpQkFBaUIsUUFBUSxtQkFBa0I7QUFDcEQsU0FBU0MsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0s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
@@ -1,15 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "processNested", {
6
- enumerable: true,
7
- get: function() {
8
- return processNested;
9
- }
10
- });
11
- const _utilities = require("./utilities");
12
- const processNested = function(data) {
1
+ import { isSafeFromPollution } from './utilities.js';
2
+ export const processNested = function(data) {
13
3
  if (!data || data.length < 1) return Object.create(null);
14
4
  const d = Object.create(null), keys = Object.keys(data);
15
5
  for(let i = 0; i < keys.length; i++){
@@ -17,7 +7,7 @@ const processNested = function(data) {
17
7
  for(let index = 0; index < keyParts.length; index++){
18
8
  const k = keyParts[index];
19
9
  // Ensure we don't allow prototype pollution
20
- if (!(0, _utilities.isSafeFromPollution)(current, k)) {
10
+ if (!isSafeFromPollution(current, k)) {
21
11
  continue;
22
12
  }
23
13
  if (index >= keyParts.length - 1) {
@@ -31,4 +21,4 @@ const processNested = function(data) {
31
21
  return d;
32
22
  };
33
23
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvcHJvY2Vzc05lc3RlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NhZmVGcm9tUG9sbHV0aW9uIH0gZnJvbSAnLi91dGlsaXRpZXMnXG5cbmV4cG9ydCBjb25zdCBwcm9jZXNzTmVzdGVkID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoIDwgMSkgcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbClcblxuICBjb25zdCBkID0gT2JqZWN0LmNyZWF0ZShudWxsKSxcbiAgICBrZXlzID0gT2JqZWN0LmtleXMoZGF0YSlcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQga2V5ID0ga2V5c1tpXSxcbiAgICAgIHZhbHVlID0gZGF0YVtrZXldLFxuICAgICAgY3VycmVudCA9IGQsXG4gICAgICBrZXlQYXJ0cyA9IGtleS5yZXBsYWNlKG5ldyBSZWdFeHAoL1xcWy9nKSwgJy4nKS5yZXBsYWNlKG5ldyBSZWdFeHAoL1xcXS9nKSwgJycpLnNwbGl0KCcuJylcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBrZXlQYXJ0cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGsgPSBrZXlQYXJ0c1tpbmRleF1cblxuICAgICAgLy8gRW5zdXJlIHdlIGRvbid0IGFsbG93IHByb3RvdHlwZSBwb2xsdXRpb25cbiAgICAgIGlmICghaXNTYWZlRnJvbVBvbGx1dGlvbihjdXJyZW50LCBrKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAoaW5kZXggPj0ga2V5UGFydHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBjdXJyZW50W2tdID0gdmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghY3VycmVudFtrXSkgY3VycmVudFtrXSA9ICFrZXlQYXJ0c1tpbmRleCArIDFdID8gW10gOiBPYmplY3QuY3JlYXRlKG51bGwpXG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tdXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBkXG59XG4iXSwibmFtZXMiOlsicHJvY2Vzc05lc3RlZCIsImRhdGEiLCJsZW5ndGgiLCJPYmplY3QiLCJjcmVhdGUiLCJkIiwia2V5cyIsImkiLCJrZXkiLCJ2YWx1ZSIsImN1cnJlbnQiLCJrZXlQYXJ0cyIsInJlcGxhY2UiLCJSZWdFeHAiLCJzcGxpdCIsImluZGV4IiwiayIsImlzU2FmZUZyb21Qb2xsdXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OzsyQkFGdUI7QUFFN0IsTUFBTUEsZ0JBQWdCLFNBQVVDLElBQUk7SUFDekMsSUFBSSxDQUFDQSxRQUFRQSxLQUFLQyxNQUFNLEdBQUcsR0FBRyxPQUFPQyxPQUFPQyxNQUFNLENBQUM7SUFFbkQsTUFBTUMsSUFBSUYsT0FBT0MsTUFBTSxDQUFDLE9BQ3RCRSxPQUFPSCxPQUFPRyxJQUFJLENBQUNMO0lBRXJCLElBQUssSUFBSU0sSUFBSSxHQUFHQSxJQUFJRCxLQUFLSixNQUFNLEVBQUVLLElBQUs7UUFDcEMsSUFBSUMsTUFBTUYsSUFBSSxDQUFDQyxFQUFFLEVBQ2ZFLFFBQVFSLElBQUksQ0FBQ08sSUFBSSxFQUNqQkUsVUFBVUwsR0FDVk0sV0FBV0gsSUFBSUksT0FBTyxDQUFDLElBQUlDLE9BQU8sUUFBUSxLQUFLRCxPQUFPLENBQUMsSUFBSUMsT0FBTyxRQUFRLElBQUlDLEtBQUssQ0FBQztRQUV0RixJQUFLLElBQUlDLFFBQVEsR0FBR0EsUUFBUUosU0FBU1QsTUFBTSxFQUFFYSxRQUFTO1lBQ3BELE1BQU1DLElBQUlMLFFBQVEsQ0FBQ0ksTUFBTTtZQUV6Qiw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDRSxJQUFBQSw4QkFBbUIsRUFBQ1AsU0FBU00sSUFBSTtnQkFDcEM7WUFDRjtZQUVBLElBQUlELFNBQVNKLFNBQVNULE1BQU0sR0FBRyxHQUFHO2dCQUNoQ1EsT0FBTyxDQUFDTSxFQUFFLEdBQUdQO1lBQ2YsT0FBTztnQkFDTCxJQUFJLENBQUNDLE9BQU8sQ0FBQ00sRUFBRSxFQUFFTixPQUFPLENBQUNNLEVBQUUsR0FBRyxDQUFDTCxRQUFRLENBQUNJLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBR1osT0FBT0MsTUFBTSxDQUFDO2dCQUN4RU0sVUFBVUEsT0FBTyxDQUFDTSxFQUFFO1lBQ3RCO1FBQ0Y7SUFDRjtJQUNBLE9BQU9YO0FBQ1QifQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvcHJvY2Vzc05lc3RlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NhZmVGcm9tUG9sbHV0aW9uIH0gZnJvbSAnLi91dGlsaXRpZXMuanMnXG5cbmV4cG9ydCBjb25zdCBwcm9jZXNzTmVzdGVkID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoIDwgMSkgcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbClcblxuICBjb25zdCBkID0gT2JqZWN0LmNyZWF0ZShudWxsKSxcbiAgICBrZXlzID0gT2JqZWN0LmtleXMoZGF0YSlcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQga2V5ID0ga2V5c1tpXSxcbiAgICAgIHZhbHVlID0gZGF0YVtrZXldLFxuICAgICAgY3VycmVudCA9IGQsXG4gICAgICBrZXlQYXJ0cyA9IGtleS5yZXBsYWNlKG5ldyBSZWdFeHAoL1xcWy9nKSwgJy4nKS5yZXBsYWNlKG5ldyBSZWdFeHAoL1xcXS9nKSwgJycpLnNwbGl0KCcuJylcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBrZXlQYXJ0cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGsgPSBrZXlQYXJ0c1tpbmRleF1cblxuICAgICAgLy8gRW5zdXJlIHdlIGRvbid0IGFsbG93IHByb3RvdHlwZSBwb2xsdXRpb25cbiAgICAgIGlmICghaXNTYWZlRnJvbVBvbGx1dGlvbihjdXJyZW50LCBrKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAoaW5kZXggPj0ga2V5UGFydHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBjdXJyZW50W2tdID0gdmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghY3VycmVudFtrXSkgY3VycmVudFtrXSA9ICFrZXlQYXJ0c1tpbmRleCArIDFdID8gW10gOiBPYmplY3QuY3JlYXRlKG51bGwpXG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tdXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBkXG59XG4iXSwibmFtZXMiOlsiaXNTYWZlRnJvbVBvbGx1dGlvbiIsInByb2Nlc3NOZXN0ZWQiLCJkYXRhIiwibGVuZ3RoIiwiT2JqZWN0IiwiY3JlYXRlIiwiZCIsImtleXMiLCJpIiwia2V5IiwidmFsdWUiLCJjdXJyZW50Iiwia2V5UGFydHMiLCJyZXBsYWNlIiwiUmVnRXhwIiwic3BsaXQiLCJpbmRleCIsImsiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG1CQUFtQixRQUFRLGlCQUFnQjtBQUVwRCxPQUFPLE1BQU1DLGdCQUFnQixTQUFVQyxJQUFJO0lBQ3pDLElBQUksQ0FBQ0EsUUFBUUEsS0FBS0MsTUFBTSxHQUFHLEdBQUcsT0FBT0MsT0FBT0MsTUFBTSxDQUFDO0lBRW5ELE1BQU1DLElBQUlGLE9BQU9DLE1BQU0sQ0FBQyxPQUN0QkUsT0FBT0gsT0FBT0csSUFBSSxDQUFDTDtJQUVyQixJQUFLLElBQUlNLElBQUksR0FBR0EsSUFBSUQsS0FBS0osTUFBTSxFQUFFSyxJQUFLO1FBQ3BDLElBQUlDLE1BQU1GLElBQUksQ0FBQ0MsRUFBRSxFQUNmRSxRQUFRUixJQUFJLENBQUNPLElBQUksRUFDakJFLFVBQVVMLEdBQ1ZNLFdBQVdILElBQUlJLE9BQU8sQ0FBQyxJQUFJQyxPQUFPLFFBQVEsS0FBS0QsT0FBTyxDQUFDLElBQUlDLE9BQU8sUUFBUSxJQUFJQyxLQUFLLENBQUM7UUFFdEYsSUFBSyxJQUFJQyxRQUFRLEdBQUdBLFFBQVFKLFNBQVNULE1BQU0sRUFBRWEsUUFBUztZQUNwRCxNQUFNQyxJQUFJTCxRQUFRLENBQUNJLE1BQU07WUFFekIsNENBQTRDO1lBQzVDLElBQUksQ0FBQ2hCLG9CQUFvQlcsU0FBU00sSUFBSTtnQkFDcEM7WUFDRjtZQUVBLElBQUlELFNBQVNKLFNBQVNULE1BQU0sR0FBRyxHQUFHO2dCQUNoQ1EsT0FBTyxDQUFDTSxFQUFFLEdBQUdQO1lBQ2YsT0FBTztnQkFDTCxJQUFJLENBQUNDLE9BQU8sQ0FBQ00sRUFBRSxFQUFFTixPQUFPLENBQUNNLEVBQUUsR0FBRyxDQUFDTCxRQUFRLENBQUNJLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBR1osT0FBT0MsTUFBTSxDQUFDO2dCQUN4RU0sVUFBVUEsT0FBTyxDQUFDTSxFQUFFO1lBQ3RCO1FBQ0Y7SUFDRjtJQUNBLE9BQU9YO0FBQ1QsRUFBQyJ9
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "createUploadTimer", {
6
- enumerable: true,
7
- get: function() {
8
- return createUploadTimer;
9
- }
10
- });
11
- const createUploadTimer = (timeout = 0, callback = ()=>{})=>{
1
+ export const createUploadTimer = (timeout = 0, callback = ()=>{})=>{
12
2
  let timer = null;
13
3
  const clear = ()=>{
14
4
  clearTimeout(timer);
@@ -26,4 +16,4 @@ const createUploadTimer = (timeout = 0, callback = ()=>{})=>{
26
16
  };
27
17
  };
28
18
 
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvdXBsb2FkVGltZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBDcmVhdGVVcGxvYWRUaW1lciA9IChcbiAgdGltZW91dD86IG51bWJlcixcbiAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGNsZWFyOiAoKSA9PiB2b2lkXG4gIHNldDogKCkgPT4gYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlVXBsb2FkVGltZXI6IENyZWF0ZVVwbG9hZFRpbWVyID0gKHRpbWVvdXQgPSAwLCBjYWxsYmFjayA9ICgpID0+IHt9KSA9PiB7XG4gIGxldCB0aW1lciA9IG51bGxcblxuICBjb25zdCBjbGVhciA9ICgpID0+IHtcbiAgICBjbGVhclRpbWVvdXQodGltZXIpXG4gIH1cblxuICBjb25zdCBzZXQgPSAoKSA9PiB7XG4gICAgLy8gRG8gbm90IHN0YXJ0IGEgdGltZXIgaWYgemVybyB0aW1lb3V0IG9yIGl0IGhhc24ndCBiZWVuIHNldC5cbiAgICBpZiAoIXRpbWVvdXQpIHJldHVybiBmYWxzZVxuICAgIGNsZWFyKClcbiAgICB0aW1lciA9IHNldFRpbWVvdXQoY2FsbGJhY2ssIHRpbWVvdXQpXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiB7IGNsZWFyLCBzZXQgfVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVVwbG9hZFRpbWVyIiwidGltZW91dCIsImNhbGxiYWNrIiwidGltZXIiLCJjbGVhciIsImNsZWFyVGltZW91dCIsInNldCIsInNldFRpbWVvdXQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLG9CQUF1QyxDQUFDQyxVQUFVLENBQUMsRUFBRUMsV0FBVyxLQUFPLENBQUM7SUFDbkYsSUFBSUMsUUFBUTtJQUVaLE1BQU1DLFFBQVE7UUFDWkMsYUFBYUY7SUFDZjtJQUVBLE1BQU1HLE1BQU07UUFDViw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDTCxTQUFTLE9BQU87UUFDckJHO1FBQ0FELFFBQVFJLFdBQVdMLFVBQVVEO1FBQzdCLE9BQU87SUFDVDtJQUVBLE9BQU87UUFBRUc7UUFBT0U7SUFBSTtBQUN0QiJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvdXBsb2FkVGltZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBDcmVhdGVVcGxvYWRUaW1lciA9IChcbiAgdGltZW91dD86IG51bWJlcixcbiAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGNsZWFyOiAoKSA9PiB2b2lkXG4gIHNldDogKCkgPT4gYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlVXBsb2FkVGltZXI6IENyZWF0ZVVwbG9hZFRpbWVyID0gKHRpbWVvdXQgPSAwLCBjYWxsYmFjayA9ICgpID0+IHt9KSA9PiB7XG4gIGxldCB0aW1lciA9IG51bGxcblxuICBjb25zdCBjbGVhciA9ICgpID0+IHtcbiAgICBjbGVhclRpbWVvdXQodGltZXIpXG4gIH1cblxuICBjb25zdCBzZXQgPSAoKSA9PiB7XG4gICAgLy8gRG8gbm90IHN0YXJ0IGEgdGltZXIgaWYgemVybyB0aW1lb3V0IG9yIGl0IGhhc24ndCBiZWVuIHNldC5cbiAgICBpZiAoIXRpbWVvdXQpIHJldHVybiBmYWxzZVxuICAgIGNsZWFyKClcbiAgICB0aW1lciA9IHNldFRpbWVvdXQoY2FsbGJhY2ssIHRpbWVvdXQpXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiB7IGNsZWFyLCBzZXQgfVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVVwbG9hZFRpbWVyIiwidGltZW91dCIsImNhbGxiYWNrIiwidGltZXIiLCJjbGVhciIsImNsZWFyVGltZW91dCIsInNldCIsInNldFRpbWVvdXQiXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sTUFBTUEsb0JBQXVDLENBQUNDLFVBQVUsQ0FBQyxFQUFFQyxXQUFXLEtBQU8sQ0FBQztJQUNuRixJQUFJQyxRQUFRO0lBRVosTUFBTUMsUUFBUTtRQUNaQyxhQUFhRjtJQUNmO0lBRUEsTUFBTUcsTUFBTTtRQUNWLDhEQUE4RDtRQUM5RCxJQUFJLENBQUNMLFNBQVMsT0FBTztRQUNyQkc7UUFDQUQsUUFBUUksV0FBV0wsVUFBVUQ7UUFDN0IsT0FBTztJQUNUO0lBRUEsT0FBTztRQUFFRztRQUFPRTtJQUFJO0FBQ3RCLEVBQUMifQ==
@@ -1,4 +1,4 @@
1
- import type { NextFileUploadOptions } from '.';
1
+ import type { NextFileUploadOptions } from './index.js';
2
2
  /**
3
3
  * Logs message to console if options.debug option set to true.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/next-fileupload/utilities.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,GAAG,CAAA;AAW9C;;GAEG;AACH,eAAO,MAAM,QAAQ,YAAa,qBAAqB,OAAO,MAAM,YAKnE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,YAAY,MAAM,WAG7C,CAAA;AAED,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AACvC,eAAO,MAAM,MAAM,UAAW,GAAG,sBAEhC,CAAA;AAQD;;;GAGG;AACH,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;AAClG,eAAO,MAAM,eAAe,EAAE,eAU7B,CAAA;AAOD;;GAEG;AACH,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;AAC9D,eAAO,MAAM,mBAAmB,EAAE,mBAQjC,CAAA;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AACpE,eAAO,MAAM,WAAW,EAAE,WAoBzB,CAAA;AAED;;;GAGG;AACH,KAAK,eAAe,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;AAC9F,eAAO,MAAM,eAAe,EAAE,eAQ7B,CAAA;AAED;;GAEG;AACH,KAAK,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAA;AAC3E,eAAO,MAAM,UAAU,EAAE,UACM,CAAA;AA4B/B;;;GAGG;AACH,KAAK,QAAQ,GAAG,CACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,KAC9C,IAAI,CAAA;AACT,eAAO,MAAM,QAAQ,EAAE,QASnB,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,oDAwB5B,CAAA;AA+BD;;GAEG;AACH,KAAK,sBAAsB,GAAG,CAC5B,iBAAiB,EAAE,OAAO,GAAG,MAAM,EACnC,QAAQ,EAAE,MAAM,KACb;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,eAAO,MAAM,sBAAsB,EAAE,sBAwBpC,CAAA;AAED;;GAEG;AACH,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;AAC9E,eAAO,MAAM,aAAa,EAAE,aAmB3B,CAAA"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/next-fileupload/utilities.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAWvD;;GAEG;AACH,eAAO,MAAM,QAAQ,YAAa,qBAAqB,OAAO,MAAM,YAKnE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,YAAY,MAAM,WAG7C,CAAA;AAED,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AACvC,eAAO,MAAM,MAAM,UAAW,GAAG,sBAEhC,CAAA;AAQD;;;GAGG;AACH,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;AAClG,eAAO,MAAM,eAAe,EAAE,eAU7B,CAAA;AAOD;;GAEG;AACH,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;AAC9D,eAAO,MAAM,mBAAmB,EAAE,mBAQjC,CAAA;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AACpE,eAAO,MAAM,WAAW,EAAE,WAoBzB,CAAA;AAED;;;GAGG;AACH,KAAK,eAAe,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;AAC9F,eAAO,MAAM,eAAe,EAAE,eAQ7B,CAAA;AAED;;GAEG;AACH,KAAK,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAA;AAC3E,eAAO,MAAM,UAAU,EAAE,UACM,CAAA;AA4B/B;;;GAGG;AACH,KAAK,QAAQ,GAAG,CACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,KAC9C,IAAI,CAAA;AACT,eAAO,MAAM,QAAQ,EAAE,QASnB,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,oDAwB5B,CAAA;AA+BD;;GAEG;AACH,KAAK,sBAAsB,GAAG,CAC5B,iBAAiB,EAAE,OAAO,GAAG,MAAM,EACnC,QAAQ,EAAE,MAAM,KACb;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,eAAO,MAAM,sBAAsB,EAAE,sBAwBpC,CAAA;AAED;;GAEG;AACH,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;AAC9E,eAAO,MAAM,aAAa,EAAE,aAmB3B,CAAA"}
@@ -1,59 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- buildFields: function() {
13
- return buildFields;
14
- },
15
- checkAndMakeDir: function() {
16
- return checkAndMakeDir;
17
- },
18
- debugLog: function() {
19
- return debugLog;
20
- },
21
- deleteFile: function() {
22
- return deleteFile;
23
- },
24
- getTempFilename: function() {
25
- return getTempFilename;
26
- },
27
- isFunc: function() {
28
- return isFunc;
29
- },
30
- isSafeFromPollution: function() {
31
- return isSafeFromPollution;
32
- },
33
- moveFile: function() {
34
- return moveFile;
35
- },
36
- parseFileName: function() {
37
- return parseFileName;
38
- },
39
- parseFileNameExtension: function() {
40
- return parseFileNameExtension;
41
- },
42
- promiseCallback: function() {
43
- return promiseCallback;
44
- },
45
- saveBufferToFile: function() {
46
- return saveBufferToFile;
47
- }
48
- });
49
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
50
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
51
- const _stream = require("stream");
52
- function _interop_require_default(obj) {
53
- return obj && obj.__esModule ? obj : {
54
- default: obj
55
- };
56
- }
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { Readable } from 'stream';
57
4
  // Parameters for safe file name parsing.
58
5
  const SAFE_FILE_NAME_REGEX = /[^\w-]/g;
59
6
  const MAX_EXTENSION_LENGTH = 3;
@@ -61,22 +8,26 @@ const MAX_EXTENSION_LENGTH = 3;
61
8
  const TEMP_COUNTER_MAX = 65536;
62
9
  const TEMP_PREFIX = 'tmp';
63
10
  let tempCounter = 0;
64
- const debugLog = (options, msg)=>{
11
+ /**
12
+ * Logs message to console if options.debug option set to true.
13
+ */ export const debugLog = (options, msg)=>{
65
14
  const opts = options || {};
66
15
  if (!opts.debug) return false;
67
16
  console.log(`Express-file-upload: ${msg}`) // eslint-disable-line
68
17
  ;
69
18
  return true;
70
19
  };
71
- const getTempFilename = (prefix = TEMP_PREFIX)=>{
20
+ /**
21
+ * Generates unique temporary file name. e.g. tmp-5000-156788789789.
22
+ */ export const getTempFilename = (prefix = TEMP_PREFIX)=>{
72
23
  tempCounter = tempCounter >= TEMP_COUNTER_MAX ? 1 : tempCounter + 1;
73
24
  return `${prefix}-${tempCounter}-${Date.now()}`;
74
25
  };
75
- const isFunc = (value)=>{
26
+ export const isFunc = (value)=>{
76
27
  return typeof value === 'function';
77
28
  };
78
29
  const errorFunc = (resolve, reject)=>isFunc(reject) ? reject : resolve;
79
- const promiseCallback = (resolve, reject)=>{
30
+ export const promiseCallback = (resolve, reject)=>{
80
31
  let hasFired = false;
81
32
  return (err)=>{
82
33
  if (hasFired) {
@@ -90,7 +41,7 @@ const promiseCallback = (resolve, reject)=>{
90
41
  // Used by isSafeFromPollution
91
42
  const OBJECT_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Object.prototype);
92
43
  const ARRAY_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Array.prototype);
93
- const isSafeFromPollution = (base, key)=>{
44
+ export const isSafeFromPollution = (base, key)=>{
94
45
  // We perform an instanceof check instead of Array.isArray as the former is more
95
46
  // permissive for cases in which the object as an Array prototype but was not constructed
96
47
  // via an Array constructor or literal.
@@ -98,7 +49,7 @@ const isSafeFromPollution = (base, key)=>{
98
49
  const TOUCHES_OBJECT_PROTOTYPE = OBJECT_PROTOTYPE_KEYS.includes(key);
99
50
  return !TOUCHES_ARRAY_PROTOTYPE && !TOUCHES_OBJECT_PROTOTYPE;
100
51
  };
101
- const buildFields = (instance, field, value)=>{
52
+ export const buildFields = (instance, field, value)=>{
102
53
  // Do nothing if value is not set.
103
54
  if (value === null || value === undefined) return instance;
104
55
  instance = instance || Object.create(null);
@@ -121,18 +72,18 @@ const buildFields = (instance, field, value)=>{
121
72
  }
122
73
  return instance;
123
74
  };
124
- const checkAndMakeDir = (fileUploadOptions, filePath)=>{
75
+ export const checkAndMakeDir = (fileUploadOptions, filePath)=>{
125
76
  if (!fileUploadOptions.createParentPath) return false;
126
77
  // Check whether folder for the file exists.
127
- const parentPath = _path.default.dirname(filePath);
78
+ const parentPath = path.dirname(filePath);
128
79
  // Create folder if it doesn't exist.
129
- if (!_fs.default.existsSync(parentPath)) _fs.default.mkdirSync(parentPath, {
80
+ if (!fs.existsSync(parentPath)) fs.mkdirSync(parentPath, {
130
81
  recursive: true
131
82
  });
132
83
  // Checks folder again and return a results.
133
- return _fs.default.existsSync(parentPath);
84
+ return fs.existsSync(parentPath);
134
85
  };
135
- const deleteFile = (filePath, callback)=>_fs.default.unlink(filePath, callback);
86
+ export const deleteFile = (filePath, callback)=>fs.unlink(filePath, callback);
136
87
  const copyFile = (src, dst, callback)=>{
137
88
  // cbCalled flag and runCb helps to run cb only once.
138
89
  let cbCalled = false;
@@ -142,10 +93,10 @@ const copyFile = (src, dst, callback)=>{
142
93
  callback(err);
143
94
  };
144
95
  // Create read stream
145
- const readable = _fs.default.createReadStream(src);
96
+ const readable = fs.createReadStream(src);
146
97
  readable.on('error', runCb);
147
98
  // Create write stream
148
- const writable = _fs.default.createWriteStream(dst);
99
+ const writable = fs.createWriteStream(dst);
149
100
  writable.on('error', (err)=>{
150
101
  readable.destroy();
151
102
  runCb(err);
@@ -154,7 +105,7 @@ const copyFile = (src, dst, callback)=>{
154
105
  // Copy file via piping streams.
155
106
  readable.pipe(writable);
156
107
  };
157
- const moveFile = (src, dst, callback)=>_fs.default.rename(src, dst, (err)=>{
108
+ export const moveFile = (src, dst, callback)=>fs.rename(src, dst, (err)=>{
158
109
  if (err) {
159
110
  // Try to copy file if rename didn't work.
160
111
  copyFile(src, dst, (cpErr)=>cpErr ? callback(cpErr) : deleteFile(src, callback));
@@ -163,19 +114,23 @@ const moveFile = (src, dst, callback)=>_fs.default.rename(src, dst, (err)=>{
163
114
  // File was renamed successfully: Add true to the callback to indicate that.
164
115
  callback(null, true);
165
116
  });
166
- const saveBufferToFile = (buffer, filePath, callback)=>{
117
+ /**
118
+ * Save buffer data to a file.
119
+ * @param {Buffer} buffer - buffer to save to a file.
120
+ * @param {string} filePath - path to a file.
121
+ */ export const saveBufferToFile = (buffer, filePath, callback)=>{
167
122
  if (!Buffer.isBuffer(buffer)) {
168
123
  return callback(new Error('buffer variable should be type of Buffer!'));
169
124
  }
170
125
  // Setup readable stream from buffer.
171
126
  let streamData = buffer;
172
- const readStream = new _stream.Readable();
127
+ const readStream = new Readable();
173
128
  readStream._read = ()=>{
174
129
  readStream.push(streamData);
175
130
  streamData = null;
176
131
  };
177
132
  // Setup file system writable stream.
178
- const fstream = _fs.default.createWriteStream(filePath);
133
+ const fstream = fs.createWriteStream(filePath);
179
134
  // console.log("Calling saveBuffer");
180
135
  fstream.on('error', (err)=>{
181
136
  // console.log("err cb")
@@ -212,7 +167,7 @@ const saveBufferToFile = (buffer, filePath, callback)=>{
212
167
  }).join('');
213
168
  }
214
169
  };
215
- const parseFileNameExtension = (preserveExtension, fileName)=>{
170
+ export const parseFileNameExtension = (preserveExtension, fileName)=>{
216
171
  const defaultResult = {
217
172
  name: fileName,
218
173
  extension: ''
@@ -232,7 +187,7 @@ const parseFileNameExtension = (preserveExtension, fileName)=>{
232
187
  extension: maxExtLength ? extension : ''
233
188
  };
234
189
  };
235
- const parseFileName = (opts, fileName)=>{
190
+ export const parseFileName = (opts, fileName)=>{
236
191
  // Check fileName argument
237
192
  if (!fileName || typeof fileName !== 'string') return getTempFilename();
238
193
  // Cut off file name if it's length more then 255.
@@ -249,4 +204,4 @@ const parseFileName = (opts, fileName)=>{
249
204
  return name.replace(nameRegex, '').concat(extension);
250
205
  };
251
206
 
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvdXRpbGl0aWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSdcblxuaW1wb3J0IHR5cGUgeyBOZXh0RmlsZVVwbG9hZE9wdGlvbnMgfSBmcm9tICcuJ1xuXG4vLyBQYXJhbWV0ZXJzIGZvciBzYWZlIGZpbGUgbmFtZSBwYXJzaW5nLlxuY29uc3QgU0FGRV9GSUxFX05BTUVfUkVHRVggPSAvW15cXHctXS9nXG5jb25zdCBNQVhfRVhURU5TSU9OX0xFTkdUSCA9IDNcblxuLy8gUGFyYW1ldGVycyB0byBnZW5lcmF0ZSB1bmlxdWUgdGVtcG9yYXJ5IGZpbGUgbmFtZXM6XG5jb25zdCBURU1QX0NPVU5URVJfTUFYID0gNjU1MzZcbmNvbnN0IFRFTVBfUFJFRklYID0gJ3RtcCdcbmxldCB0ZW1wQ291bnRlciA9IDBcblxuLyoqXG4gKiBMb2dzIG1lc3NhZ2UgdG8gY29uc29sZSBpZiBvcHRpb25zLmRlYnVnIG9wdGlvbiBzZXQgdG8gdHJ1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGRlYnVnTG9nID0gKG9wdGlvbnM6IE5leHRGaWxlVXBsb2FkT3B0aW9ucywgbXNnOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgb3B0cyA9IG9wdGlvbnMgfHwge31cbiAgaWYgKCFvcHRzLmRlYnVnKSByZXR1cm4gZmFsc2VcbiAgY29uc29sZS5sb2coYEV4cHJlc3MtZmlsZS11cGxvYWQ6ICR7bXNnfWApIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgcmV0dXJuIHRydWVcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdW5pcXVlIHRlbXBvcmFyeSBmaWxlIG5hbWUuIGUuZy4gdG1wLTUwMDAtMTU2Nzg4Nzg5Nzg5LlxuICovXG5leHBvcnQgY29uc3QgZ2V0VGVtcEZpbGVuYW1lID0gKHByZWZpeDogc3RyaW5nID0gVEVNUF9QUkVGSVgpID0+IHtcbiAgdGVtcENvdW50ZXIgPSB0ZW1wQ291bnRlciA+PSBURU1QX0NPVU5URVJfTUFYID8gMSA6IHRlbXBDb3VudGVyICsgMVxuICByZXR1cm4gYCR7cHJlZml4fS0ke3RlbXBDb3VudGVyfS0ke0RhdGUubm93KCl9YFxufVxuXG50eXBlIEZ1bmNUeXBlID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnlcbmV4cG9ydCBjb25zdCBpc0Z1bmMgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmNUeXBlID0+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJ1xufVxuXG4vKipcbiAqIFNldCBlcnJvckZ1bmMgdG8gdGhlIHNhbWUgdmFsdWUgYXMgc3VjY2Vzc0Z1bmMgZm9yIGNhbGxiYWNrIG1vZGUuXG4gKi9cbnR5cGUgRXJyb3JGdW5jID0gKHJlc29sdmU6ICgpID0+IHZvaWQsIHJlamVjdDogKGVycjogRXJyb3IpID0+IHZvaWQpID0+IChlcnI6IEVycm9yKSA9PiB2b2lkXG5jb25zdCBlcnJvckZ1bmM6IEVycm9yRnVuYyA9IChyZXNvbHZlLCByZWplY3QpID0+IChpc0Z1bmMocmVqZWN0KSA/IHJlamVjdCA6IHJlc29sdmUpXG5cbi8qKlxuICogUmV0dXJuIGEgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIHByb21pc2UgcmVzb2xlL3JlamVjdCBhcmdzLlxuICogRW5zdXJlcyB0aGF0IGNhbGxiYWNrIGlzIGNhbGxlZCBvbmx5IG9uY2UuXG4gKi9cbnR5cGUgUHJvbWlzZUNhbGxiYWNrID0gKHJlc29sdmU6ICgpID0+IHZvaWQsIHJlamVjdDogKGVycjogRXJyb3IpID0+IHZvaWQpID0+IChlcnI6IEVycm9yKSA9PiB2b2lkXG5leHBvcnQgY29uc3QgcHJvbWlzZUNhbGxiYWNrOiBQcm9taXNlQ2FsbGJhY2sgPSAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gIGxldCBoYXNGaXJlZCA9IGZhbHNlXG4gIHJldHVybiAoZXJyOiBFcnJvcikgPT4ge1xuICAgIGlmIChoYXNGaXJlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaGFzRmlyZWQgPSB0cnVlXG4gICAgcmV0dXJuIGVyciA/IGVycm9yRnVuYyhyZXNvbHZlLCByZWplY3QpKGVycikgOiByZXNvbHZlKClcbiAgfVxufVxuXG4vLyBUaGUgZGVmYXVsdCBwcm90b3R5cGVzIGZvciBib3RoIG9iamVjdHMgYW5kIGFycmF5cy5cbi8vIFVzZWQgYnkgaXNTYWZlRnJvbVBvbGx1dGlvblxuY29uc3QgT0JKRUNUX1BST1RPVFlQRV9LRVlTID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0LnByb3RvdHlwZSlcbmNvbnN0IEFSUkFZX1BST1RPVFlQRV9LRVlTID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoQXJyYXkucHJvdG90eXBlKVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGtleSBpbnNlcnRpb24gaW50byBhbiBvYmplY3QgY291bGQgcmVzdWx0IGluIGEgcHJvdG90eXBlIHBvbGx1dGlvblxuICovXG50eXBlIElzU2FmZUZyb21Qb2xsdXRpb24gPSAoYmFzZTogYW55LCBrZXk6IHN0cmluZykgPT4gYm9vbGVhblxuZXhwb3J0IGNvbnN0IGlzU2FmZUZyb21Qb2xsdXRpb246IElzU2FmZUZyb21Qb2xsdXRpb24gPSAoYmFzZSwga2V5KSA9PiB7XG4gIC8vIFdlIHBlcmZvcm0gYW4gaW5zdGFuY2VvZiBjaGVjayBpbnN0ZWFkIG9mIEFycmF5LmlzQXJyYXkgYXMgdGhlIGZvcm1lciBpcyBtb3JlXG4gIC8vIHBlcm1pc3NpdmUgZm9yIGNhc2VzIGluIHdoaWNoIHRoZSBvYmplY3QgYXMgYW4gQXJyYXkgcHJvdG90eXBlIGJ1dCB3YXMgbm90IGNvbnN0cnVjdGVkXG4gIC8vIHZpYSBhbiBBcnJheSBjb25zdHJ1Y3RvciBvciBsaXRlcmFsLlxuICBjb25zdCBUT1VDSEVTX0FSUkFZX1BST1RPVFlQRSA9IGJhc2UgaW5zdGFuY2VvZiBBcnJheSAmJiBBUlJBWV9QUk9UT1RZUEVfS0VZUy5pbmNsdWRlcyhrZXkpXG4gIGNvbnN0IFRPVUNIRVNfT0JKRUNUX1BST1RPVFlQRSA9IE9CSkVDVF9QUk9UT1RZUEVfS0VZUy5pbmNsdWRlcyhrZXkpXG5cbiAgcmV0dXJuICFUT1VDSEVTX0FSUkFZX1BST1RPVFlQRSAmJiAhVE9VQ0hFU19PQkpFQ1RfUFJPVE9UWVBFXG59XG5cbi8qKlxuICogQnVpbGQgcmVxdWVzdCBmaWVsZC9maWxlIG9iamVjdHMgdG8gcmV0dXJuXG4gKi9cbnR5cGUgQnVpbGRGaWVsZHMgPSAoaW5zdGFuY2U6IGFueSwgZmllbGQ6IHN0cmluZywgdmFsdWU6IGFueSkgPT4gYW55XG5leHBvcnQgY29uc3QgYnVpbGRGaWVsZHM6IEJ1aWxkRmllbGRzID0gKGluc3RhbmNlLCBmaWVsZCwgdmFsdWUpID0+IHtcbiAgLy8gRG8gbm90aGluZyBpZiB2YWx1ZSBpcyBub3Qgc2V0LlxuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGluc3RhbmNlXG4gIGluc3RhbmNlID0gaW5zdGFuY2UgfHwgT2JqZWN0LmNyZWF0ZShudWxsKVxuXG4gIGlmICghaXNTYWZlRnJvbVBvbGx1dGlvbihpbnN0YW5jZSwgZmllbGQpKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlXG4gIH1cbiAgLy8gTm9uLWFycmF5IGZpZWxkc1xuICBpZiAoIWluc3RhbmNlW2ZpZWxkXSkge1xuICAgIGluc3RhbmNlW2ZpZWxkXSA9IHZhbHVlXG4gICAgcmV0dXJuIGluc3RhbmNlXG4gIH1cbiAgLy8gQXJyYXkgZmllbGRzXG4gIGlmIChpbnN0YW5jZVtmaWVsZF0gaW5zdGFuY2VvZiBBcnJheSkge1xuICAgIGluc3RhbmNlW2ZpZWxkXS5wdXNoKHZhbHVlKVxuICB9IGVsc2Uge1xuICAgIGluc3RhbmNlW2ZpZWxkXSA9IFtpbnN0YW5jZVtmaWVsZF0sIHZhbHVlXVxuICB9XG4gIHJldHVybiBpbnN0YW5jZVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBmb2xkZXIgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAqIGZvciBmaWxlIHNwZWNpZmllZCBpbiB0aGUgcGF0aCB2YXJpYWJsZVxuICovXG50eXBlIENoZWNrQW5kTWFrZURpciA9IChmaWxlVXBsb2FkT3B0aW9uczogTmV4dEZpbGVVcGxvYWRPcHRpb25zLCBmaWxlUGF0aDogc3RyaW5nKSA9PiBib29sZWFuXG5leHBvcnQgY29uc3QgY2hlY2tBbmRNYWtlRGlyOiBDaGVja0FuZE1ha2VEaXIgPSAoZmlsZVVwbG9hZE9wdGlvbnMsIGZpbGVQYXRoKSA9PiB7XG4gIGlmICghZmlsZVVwbG9hZE9wdGlvbnMuY3JlYXRlUGFyZW50UGF0aCkgcmV0dXJuIGZhbHNlXG4gIC8vIENoZWNrIHdoZXRoZXIgZm9sZGVyIGZvciB0aGUgZmlsZSBleGlzdHMuXG4gIGNvbnN0IHBhcmVudFBhdGggPSBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpXG4gIC8vIENyZWF0ZSBmb2xkZXIgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAgaWYgKCFmcy5leGlzdHNTeW5jKHBhcmVudFBhdGgpKSBmcy5ta2RpclN5bmMocGFyZW50UGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgLy8gQ2hlY2tzIGZvbGRlciBhZ2FpbiBhbmQgcmV0dXJuIGEgcmVzdWx0cy5cbiAgcmV0dXJuIGZzLmV4aXN0c1N5bmMocGFyZW50UGF0aClcbn1cblxuLyoqXG4gKiBEZWxldGUgYSBmaWxlLlxuICovXG50eXBlIERlbGV0ZUZpbGUgPSAoZmlsZVBhdGg6IHN0cmluZywgY2FsbGJhY2s6IChhcmdzOiBhbnkpID0+IHZvaWQpID0+IHZvaWRcbmV4cG9ydCBjb25zdCBkZWxldGVGaWxlOiBEZWxldGVGaWxlID0gKGZpbGVQYXRoLCBjYWxsYmFjazogKGFyZ3MpID0+IHZvaWQpID0+XG4gIGZzLnVubGluayhmaWxlUGF0aCwgY2FsbGJhY2spXG5cbi8qKlxuICogQ29weSBmaWxlIHZpYSBzdHJlYW1zXG4gKi9cbnR5cGUgQ29weUZpbGUgPSAoc3JjOiBzdHJpbmcsIGRzdDogc3RyaW5nLCBjYWxsYmFjazogKGVycjogRXJyb3IpID0+IHZvaWQpID0+IHZvaWRcbmNvbnN0IGNvcHlGaWxlOiBDb3B5RmlsZSA9IChzcmMsIGRzdCwgY2FsbGJhY2spID0+IHtcbiAgLy8gY2JDYWxsZWQgZmxhZyBhbmQgcnVuQ2IgaGVscHMgdG8gcnVuIGNiIG9ubHkgb25jZS5cbiAgbGV0IGNiQ2FsbGVkID0gZmFsc2VcbiAgY29uc3QgcnVuQ2IgPSAoZXJyPzogRXJyb3IpID0+IHtcbiAgICBpZiAoY2JDYWxsZWQpIHJldHVyblxuICAgIGNiQ2FsbGVkID0gdHJ1ZVxuICAgIGNhbGxiYWNrKGVycilcbiAgfVxuICAvLyBDcmVhdGUgcmVhZCBzdHJlYW1cbiAgY29uc3QgcmVhZGFibGUgPSBmcy5jcmVhdGVSZWFkU3RyZWFtKHNyYylcbiAgcmVhZGFibGUub24oJ2Vycm9yJywgcnVuQ2IpXG4gIC8vIENyZWF0ZSB3cml0ZSBzdHJlYW1cbiAgY29uc3Qgd3JpdGFibGUgPSBmcy5jcmVhdGVXcml0ZVN0cmVhbShkc3QpXG4gIHdyaXRhYmxlLm9uKCdlcnJvcicsIChlcnI6IEVycm9yKSA9PiB7XG4gICAgcmVhZGFibGUuZGVzdHJveSgpXG4gICAgcnVuQ2IoZXJyKVxuICB9KVxuICB3cml0YWJsZS5vbignY2xvc2UnLCAoKSA9PiBydW5DYigpKVxuICAvLyBDb3B5IGZpbGUgdmlhIHBpcGluZyBzdHJlYW1zLlxuICByZWFkYWJsZS5waXBlKHdyaXRhYmxlKVxufVxuXG4vKipcbiAqIG1vdmVGaWxlOiBtb3ZlcyB0aGUgZmlsZSBmcm9tIHNyYyB0byBkc3QuXG4gKiBGaXJzdGx5IHRyeWluZyB0byByZW5hbWUgdGhlIGZpbGUgaWYgbm8gbHVjayBjb3B5aW5nIGl0IHRvIGRzdCBhbmQgdGhlbiBkZWxldGluZyBzcmMuXG4gKi9cbnR5cGUgTW92ZUZpbGUgPSAoXG4gIHNyYzogc3RyaW5nLFxuICBkc3Q6IHN0cmluZyxcbiAgY2FsbGJhY2s6IChlcnI6IEVycm9yLCByZW5hbWVkPzogYm9vbGVhbikgPT4gdm9pZCxcbikgPT4gdm9pZFxuZXhwb3J0IGNvbnN0IG1vdmVGaWxlOiBNb3ZlRmlsZSA9IChzcmMsIGRzdCwgY2FsbGJhY2spID0+XG4gIGZzLnJlbmFtZShzcmMsIGRzdCwgKGVycikgPT4ge1xuICAgIGlmIChlcnIpIHtcbiAgICAgIC8vIFRyeSB0byBjb3B5IGZpbGUgaWYgcmVuYW1lIGRpZG4ndCB3b3JrLlxuICAgICAgY29weUZpbGUoc3JjLCBkc3QsIChjcEVycikgPT4gKGNwRXJyID8gY2FsbGJhY2soY3BFcnIpIDogZGVsZXRlRmlsZShzcmMsIGNhbGxiYWNrKSkpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgLy8gRmlsZSB3YXMgcmVuYW1lZCBzdWNjZXNzZnVsbHk6IEFkZCB0cnVlIHRvIHRoZSBjYWxsYmFjayB0byBpbmRpY2F0ZSB0aGF0LlxuICAgIGNhbGxiYWNrKG51bGwsIHRydWUpXG4gIH0pXG5cbi8qKlxuICogU2F2ZSBidWZmZXIgZGF0YSB0byBhIGZpbGUuXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyIC0gYnVmZmVyIHRvIHNhdmUgdG8gYSBmaWxlLlxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVQYXRoIC0gcGF0aCB0byBhIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCBzYXZlQnVmZmVyVG9GaWxlID0gKGJ1ZmZlciwgZmlsZVBhdGgsIGNhbGxiYWNrKSA9PiB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZmZlcikpIHtcbiAgICByZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCdidWZmZXIgdmFyaWFibGUgc2hvdWxkIGJlIHR5cGUgb2YgQnVmZmVyIScpKVxuICB9XG4gIC8vIFNldHVwIHJlYWRhYmxlIHN0cmVhbSBmcm9tIGJ1ZmZlci5cbiAgbGV0IHN0cmVhbURhdGEgPSBidWZmZXJcbiAgY29uc3QgcmVhZFN0cmVhbSA9IG5ldyBSZWFkYWJsZSgpXG4gIHJlYWRTdHJlYW0uX3JlYWQgPSAoKSA9PiB7XG4gICAgcmVhZFN0cmVhbS5wdXNoKHN0cmVhbURhdGEpXG4gICAgc3RyZWFtRGF0YSA9IG51bGxcbiAgfVxuICAvLyBTZXR1cCBmaWxlIHN5c3RlbSB3cml0YWJsZSBzdHJlYW0uXG4gIGNvbnN0IGZzdHJlYW0gPSBmcy5jcmVhdGVXcml0ZVN0cmVhbShmaWxlUGF0aClcbiAgLy8gY29uc29sZS5sb2coXCJDYWxsaW5nIHNhdmVCdWZmZXJcIik7XG4gIGZzdHJlYW0ub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgIC8vIGNvbnNvbGUubG9nKFwiZXJyIGNiXCIpXG4gICAgY2FsbGJhY2soZXJyKVxuICB9KVxuICBmc3RyZWFtLm9uKCdjbG9zZScsICgpID0+IHtcbiAgICAvLyBjb25zb2xlLmxvZyhcImNsb3NlIGNiXCIpO1xuICAgIGNhbGxiYWNrKClcbiAgfSlcbiAgLy8gQ29weSBmaWxlIHZpYSBwaXBpbmcgc3RyZWFtcy5cbiAgcmVhZFN0cmVhbS5waXBlKGZzdHJlYW0pXG59XG5cbi8qKlxuICogRGVjb2RlcyB1cmlFbmNvZGVkIGZpbGUgbmFtZXMuXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG1pZGRsZXdhcmUgb3B0aW9ucy5cbiAqIEBwYXJhbSBmaWxlTmFtZSB7U3RyaW5nfSAtIGZpbGUgbmFtZSB0byBkZWNvZGUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5jb25zdCB1cmlEZWNvZGVGaWxlTmFtZSA9IChvcHRzLCBmaWxlTmFtZSkgPT4ge1xuICBpZiAoIW9wdHMgfHwgIW9wdHMudXJpRGVjb2RlRmlsZU5hbWVzKSB7XG4gICAgcmV0dXJuIGZpbGVOYW1lXG4gIH1cbiAgLy8gRGVjb2RlIGZpbGUgbmFtZSBmcm9tIFVSSSB3aXRoIGNoZWNraW5nIFVSSSBtYWxmb3JtZWQgZXJyb3JzLlxuICAvLyBTZWUgSXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRnaXJnZXMvZXhwcmVzcy1maWxldXBsb2FkL2lzc3Vlcy8zNDIuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChmaWxlTmFtZSlcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc3QgbWF0Y2hlciA9IC8oJVthLWZcXGRdezJ9KS9naVxuICAgIHJldHVybiBmaWxlTmFtZVxuICAgICAgLnNwbGl0KG1hdGNoZXIpXG4gICAgICAubWFwKChzdHIpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHN0cilcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuICcnXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuam9pbignJylcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlcyBmaWxlbmFtZSBhbmQgZXh0ZW5zaW9uIGFuZCByZXR1cm5zIG9iamVjdCB7bmFtZSwgZXh0ZW5zaW9ufS5cbiAqL1xudHlwZSBQYXJzZUZpbGVOYW1lRXh0ZW5zaW9uID0gKFxuICBwcmVzZXJ2ZUV4dGVuc2lvbjogYm9vbGVhbiB8IG51bWJlcixcbiAgZmlsZU5hbWU6IHN0cmluZyxcbikgPT4ge1xuICBleHRlbnNpb246IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCBjb25zdCBwYXJzZUZpbGVOYW1lRXh0ZW5zaW9uOiBQYXJzZUZpbGVOYW1lRXh0ZW5zaW9uID0gKHByZXNlcnZlRXh0ZW5zaW9uLCBmaWxlTmFtZSkgPT4ge1xuICBjb25zdCBkZWZhdWx0UmVzdWx0ID0ge1xuICAgIG5hbWU6IGZpbGVOYW1lLFxuICAgIGV4dGVuc2lvbjogJycsXG4gIH1cbiAgaWYgKCFwcmVzZXJ2ZUV4dGVuc2lvbikgcmV0dXJuIGRlZmF1bHRSZXN1bHRcblxuICAvLyBEZWZpbmUgbWF4aW11bSBleHRlbnNpb24gbGVuZ3RoXG4gIGNvbnN0IG1heEV4dExlbmd0aCA9XG4gICAgdHlwZW9mIHByZXNlcnZlRXh0ZW5zaW9uID09PSAnYm9vbGVhbicgPyBNQVhfRVhURU5TSU9OX0xFTkdUSCA6IHByZXNlcnZlRXh0ZW5zaW9uXG5cbiAgY29uc3QgbmFtZVBhcnRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKVxuICBpZiAobmFtZVBhcnRzLmxlbmd0aCA8IDIpIHJldHVybiBkZWZhdWx0UmVzdWx0XG5cbiAgbGV0IGV4dGVuc2lvbiA9IG5hbWVQYXJ0cy5wb3AoKVxuICBpZiAoZXh0ZW5zaW9uLmxlbmd0aCA+IG1heEV4dExlbmd0aCAmJiBtYXhFeHRMZW5ndGggPiAwKSB7XG4gICAgbmFtZVBhcnRzW25hbWVQYXJ0cy5sZW5ndGggLSAxXSArPSAnLicgKyBleHRlbnNpb24uc3Vic3RyKDAsIGV4dGVuc2lvbi5sZW5ndGggLSBtYXhFeHRMZW5ndGgpXG4gICAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uLnN1YnN0cigtbWF4RXh0TGVuZ3RoKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lUGFydHMuam9pbignLicpLFxuICAgIGV4dGVuc2lvbjogbWF4RXh0TGVuZ3RoID8gZXh0ZW5zaW9uIDogJycsXG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZSBmaWxlIG5hbWUgYW5kIGV4dGVuc2lvbi5cbiAqL1xudHlwZSBQYXJzZUZpbGVOYW1lID0gKG9wdHM6IE5leHRGaWxlVXBsb2FkT3B0aW9ucywgZmlsZU5hbWU6IHN0cmluZykgPT4gc3RyaW5nXG5leHBvcnQgY29uc3QgcGFyc2VGaWxlTmFtZTogUGFyc2VGaWxlTmFtZSA9IChvcHRzLCBmaWxlTmFtZSkgPT4ge1xuICAvLyBDaGVjayBmaWxlTmFtZSBhcmd1bWVudFxuICBpZiAoIWZpbGVOYW1lIHx8IHR5cGVvZiBmaWxlTmFtZSAhPT0gJ3N0cmluZycpIHJldHVybiBnZXRUZW1wRmlsZW5hbWUoKVxuICAvLyBDdXQgb2ZmIGZpbGUgbmFtZSBpZiBpdCdzIGxlbmd0aCBtb3JlIHRoZW4gMjU1LlxuICBsZXQgcGFyc2VkTmFtZSA9IGZpbGVOYW1lLmxlbmd0aCA8PSAyNTUgPyBmaWxlTmFtZSA6IGZpbGVOYW1lLnN1YnN0cigwLCAyNTUpXG4gIC8vIERlY29kZSBmaWxlIG5hbWUgaWYgdXJpRGVjb2RlRmlsZU5hbWVzIG9wdGlvbiBzZXQgdHJ1ZS5cbiAgcGFyc2VkTmFtZSA9IHVyaURlY29kZUZpbGVOYW1lKG9wdHMsIHBhcnNlZE5hbWUpXG4gIC8vIFN0b3AgcGFyc2luZyBmaWxlIG5hbWUgaWYgc2FmZUZpbGVOYW1lcyBvcHRpb25zIGhhc24ndCBiZWVuIHNldC5cbiAgaWYgKCFvcHRzLnNhZmVGaWxlTmFtZXMpIHJldHVybiBwYXJzZWROYW1lXG4gIC8vIFNldCByZWd1bGFyIGV4cHJlc3Npb24gZm9yIHRoZSBmaWxlIG5hbWUuXG4gIGNvbnN0IG5hbWVSZWdleCA9XG4gICAgdHlwZW9mIG9wdHMuc2FmZUZpbGVOYW1lcyA9PT0gJ29iamVjdCcgJiYgb3B0cy5zYWZlRmlsZU5hbWVzIGluc3RhbmNlb2YgUmVnRXhwXG4gICAgICA/IG9wdHMuc2FmZUZpbGVOYW1lc1xuICAgICAgOiBTQUZFX0ZJTEVfTkFNRV9SRUdFWFxuICAvLyBQYXJzZSBmaWxlIG5hbWUgZXh0ZW5zaW9uLlxuICBsZXQgeyBuYW1lLCBleHRlbnNpb24gfSA9IHBhcnNlRmlsZU5hbWVFeHRlbnNpb24ob3B0cy5wcmVzZXJ2ZUV4dGVuc2lvbiwgcGFyc2VkTmFtZSlcbiAgaWYgKGV4dGVuc2lvbi5sZW5ndGgpIGV4dGVuc2lvbiA9ICcuJyArIGV4dGVuc2lvbi5yZXBsYWNlKG5hbWVSZWdleCwgJycpXG5cbiAgcmV0dXJuIG5hbWUucmVwbGFjZShuYW1lUmVnZXgsICcnKS5jb25jYXQoZXh0ZW5zaW9uKVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkRmllbGRzIiwiY2hlY2tBbmRNYWtlRGlyIiwiZGVidWdMb2ciLCJkZWxldGVGaWxlIiwiZ2V0VGVtcEZpbGVuYW1lIiwiaXNGdW5jIiwiaXNTYWZlRnJvbVBvbGx1dGlvbiIsIm1vdmVGaWxlIiwicGFyc2VGaWxlTmFtZSIsInBhcnNlRmlsZU5hbWVFeHRlbnNpb24iLCJwcm9taXNlQ2FsbGJhY2siLCJzYXZlQnVmZmVyVG9GaWxlIiwiU0FGRV9GSUxFX05BTUVfUkVHRVgiLCJNQVhfRVhURU5TSU9OX0xFTkdUSCIsIlRFTVBfQ09VTlRFUl9NQVgiLCJURU1QX1BSRUZJWCIsInRlbXBDb3VudGVyIiwib3B0aW9ucyIsIm1zZyIsIm9wdHMiLCJkZWJ1ZyIsImNvbnNvbGUiLCJsb2ciLCJwcmVmaXgiLCJEYXRlIiwibm93IiwidmFsdWUiLCJlcnJvckZ1bmMiLCJyZXNvbHZlIiwicmVqZWN0IiwiaGFzRmlyZWQiLCJlcnIiLCJPQkpFQ1RfUFJPVE9UWVBFX0tFWVMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvdG90eXBlIiwiQVJSQVlfUFJPVE9UWVBFX0tFWVMiLCJBcnJheSIsImJhc2UiLCJrZXkiLCJUT1VDSEVTX0FSUkFZX1BST1RPVFlQRSIsImluY2x1ZGVzIiwiVE9VQ0hFU19PQkpFQ1RfUFJPVE9UWVBFIiwiaW5zdGFuY2UiLCJmaWVsZCIsInVuZGVmaW5lZCIsImNyZWF0ZSIsInB1c2giLCJmaWxlVXBsb2FkT3B0aW9ucyIsImZpbGVQYXRoIiwiY3JlYXRlUGFyZW50UGF0aCIsInBhcmVudFBhdGgiLCJwYXRoIiwiZGlybmFtZSIsImZzIiwiZXhpc3RzU3luYyIsIm1rZGlyU3luYyIsInJlY3Vyc2l2ZSIsImNhbGxiYWNrIiwidW5saW5rIiwiY29weUZpbGUiLCJzcmMiLCJkc3QiLCJjYkNhbGxlZCIsInJ1bkNiIiwicmVhZGFibGUiLCJjcmVhdGVSZWFkU3RyZWFtIiwib24iLCJ3cml0YWJsZSIsImNyZWF0ZVdyaXRlU3RyZWFtIiwiZGVzdHJveSIsInBpcGUiLCJyZW5hbWUiLCJjcEVyciIsImJ1ZmZlciIsIkJ1ZmZlciIsImlzQnVmZmVyIiwiRXJyb3IiLCJzdHJlYW1EYXRhIiwicmVhZFN0cmVhbSIsIlJlYWRhYmxlIiwiX3JlYWQiLCJmc3RyZWFtIiwidXJpRGVjb2RlRmlsZU5hbWUiLCJmaWxlTmFtZSIsInVyaURlY29kZUZpbGVOYW1lcyIsImRlY29kZVVSSUNvbXBvbmVudCIsIm1hdGNoZXIiLCJzcGxpdCIsIm1hcCIsInN0ciIsImpvaW4iLCJwcmVzZXJ2ZUV4dGVuc2lvbiIsImRlZmF1bHRSZXN1bHQiLCJuYW1lIiwiZXh0ZW5zaW9uIiwibWF4RXh0TGVuZ3RoIiwibmFtZVBhcnRzIiwibGVuZ3RoIiwicG9wIiwic3Vic3RyIiwicGFyc2VkTmFtZSIsInNhZmVGaWxlTmFtZXMiLCJuYW1lUmVnZXgiLCJSZWdFeHAiLCJyZXBsYWNlIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQW9GYUEsV0FBVztlQUFYQTs7SUEyQkFDLGVBQWU7ZUFBZkE7O0lBN0ZBQyxRQUFRO2VBQVJBOztJQTJHQUMsVUFBVTtlQUFWQTs7SUFqR0FDLGVBQWU7ZUFBZkE7O0lBTUFDLE1BQU07ZUFBTkE7O0lBb0NBQyxtQkFBbUI7ZUFBbkJBOztJQTZGQUMsUUFBUTtlQUFSQTs7SUErR0FDLGFBQWE7ZUFBYkE7O0lBOUJBQyxzQkFBc0I7ZUFBdEJBOztJQW5NQUMsZUFBZTtlQUFmQTs7SUFrSUFDLGdCQUFnQjtlQUFoQkE7OzsyREFuTEU7NkRBQ0U7d0JBQ1E7Ozs7OztBQUl6Qix5Q0FBeUM7QUFDekMsTUFBTUMsdUJBQXVCO0FBQzdCLE1BQU1DLHVCQUF1QjtBQUU3QixzREFBc0Q7QUFDdEQsTUFBTUMsbUJBQW1CO0FBQ3pCLE1BQU1DLGNBQWM7QUFDcEIsSUFBSUMsY0FBYztBQUtYLE1BQU1kLFdBQVcsQ0FBQ2UsU0FBZ0NDO0lBQ3ZELE1BQU1DLE9BQU9GLFdBQVcsQ0FBQztJQUN6QixJQUFJLENBQUNFLEtBQUtDLEtBQUssRUFBRSxPQUFPO0lBQ3hCQyxRQUFRQyxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRUosSUFBSSxDQUFDLEVBQUUsc0JBQXNCOztJQUNqRSxPQUFPO0FBQ1Q7QUFLTyxNQUFNZCxrQkFBa0IsQ0FBQ21CLFNBQWlCUixXQUFXO0lBQzFEQyxjQUFjQSxlQUFlRixtQkFBbUIsSUFBSUUsY0FBYztJQUNsRSxPQUFPLENBQUMsRUFBRU8sT0FBTyxDQUFDLEVBQUVQLFlBQVksQ0FBQyxFQUFFUSxLQUFLQyxHQUFHLEdBQUcsQ0FBQztBQUNq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
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0LWZpbGV1cGxvYWQvdXRpbGl0aWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSdcblxuaW1wb3J0IHR5cGUgeyBOZXh0RmlsZVVwbG9hZE9wdGlvbnMgfSBmcm9tICcuL2luZGV4LmpzJ1xuXG4vLyBQYXJhbWV0ZXJzIGZvciBzYWZlIGZpbGUgbmFtZSBwYXJzaW5nLlxuY29uc3QgU0FGRV9GSUxFX05BTUVfUkVHRVggPSAvW15cXHctXS9nXG5jb25zdCBNQVhfRVhURU5TSU9OX0xFTkdUSCA9IDNcblxuLy8gUGFyYW1ldGVycyB0byBnZW5lcmF0ZSB1bmlxdWUgdGVtcG9yYXJ5IGZpbGUgbmFtZXM6XG5jb25zdCBURU1QX0NPVU5URVJfTUFYID0gNjU1MzZcbmNvbnN0IFRFTVBfUFJFRklYID0gJ3RtcCdcbmxldCB0ZW1wQ291bnRlciA9IDBcblxuLyoqXG4gKiBMb2dzIG1lc3NhZ2UgdG8gY29uc29sZSBpZiBvcHRpb25zLmRlYnVnIG9wdGlvbiBzZXQgdG8gdHJ1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGRlYnVnTG9nID0gKG9wdGlvbnM6IE5leHRGaWxlVXBsb2FkT3B0aW9ucywgbXNnOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgb3B0cyA9IG9wdGlvbnMgfHwge31cbiAgaWYgKCFvcHRzLmRlYnVnKSByZXR1cm4gZmFsc2VcbiAgY29uc29sZS5sb2coYEV4cHJlc3MtZmlsZS11cGxvYWQ6ICR7bXNnfWApIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgcmV0dXJuIHRydWVcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdW5pcXVlIHRlbXBvcmFyeSBmaWxlIG5hbWUuIGUuZy4gdG1wLTUwMDAtMTU2Nzg4Nzg5Nzg5LlxuICovXG5leHBvcnQgY29uc3QgZ2V0VGVtcEZpbGVuYW1lID0gKHByZWZpeDogc3RyaW5nID0gVEVNUF9QUkVGSVgpID0+IHtcbiAgdGVtcENvdW50ZXIgPSB0ZW1wQ291bnRlciA+PSBURU1QX0NPVU5URVJfTUFYID8gMSA6IHRlbXBDb3VudGVyICsgMVxuICByZXR1cm4gYCR7cHJlZml4fS0ke3RlbXBDb3VudGVyfS0ke0RhdGUubm93KCl9YFxufVxuXG50eXBlIEZ1bmNUeXBlID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnlcbmV4cG9ydCBjb25zdCBpc0Z1bmMgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmNUeXBlID0+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJ1xufVxuXG4vKipcbiAqIFNldCBlcnJvckZ1bmMgdG8gdGhlIHNhbWUgdmFsdWUgYXMgc3VjY2Vzc0Z1bmMgZm9yIGNhbGxiYWNrIG1vZGUuXG4gKi9cbnR5cGUgRXJyb3JGdW5jID0gKHJlc29sdmU6ICgpID0+IHZvaWQsIHJlamVjdDogKGVycjogRXJyb3IpID0+IHZvaWQpID0+IChlcnI6IEVycm9yKSA9PiB2b2lkXG5jb25zdCBlcnJvckZ1bmM6IEVycm9yRnVuYyA9IChyZXNvbHZlLCByZWplY3QpID0+IChpc0Z1bmMocmVqZWN0KSA/IHJlamVjdCA6IHJlc29sdmUpXG5cbi8qKlxuICogUmV0dXJuIGEgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIHByb21pc2UgcmVzb2xlL3JlamVjdCBhcmdzLlxuICogRW5zdXJlcyB0aGF0IGNhbGxiYWNrIGlzIGNhbGxlZCBvbmx5IG9uY2UuXG4gKi9cbnR5cGUgUHJvbWlzZUNhbGxiYWNrID0gKHJlc29sdmU6ICgpID0+IHZvaWQsIHJlamVjdDogKGVycjogRXJyb3IpID0+IHZvaWQpID0+IChlcnI6IEVycm9yKSA9PiB2b2lkXG5leHBvcnQgY29uc3QgcHJvbWlzZUNhbGxiYWNrOiBQcm9taXNlQ2FsbGJhY2sgPSAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gIGxldCBoYXNGaXJlZCA9IGZhbHNlXG4gIHJldHVybiAoZXJyOiBFcnJvcikgPT4ge1xuICAgIGlmIChoYXNGaXJlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaGFzRmlyZWQgPSB0cnVlXG4gICAgcmV0dXJuIGVyciA/IGVycm9yRnVuYyhyZXNvbHZlLCByZWplY3QpKGVycikgOiByZXNvbHZlKClcbiAgfVxufVxuXG4vLyBUaGUgZGVmYXVsdCBwcm90b3R5cGVzIGZvciBib3RoIG9iamVjdHMgYW5kIGFycmF5cy5cbi8vIFVzZWQgYnkgaXNTYWZlRnJvbVBvbGx1dGlvblxuY29uc3QgT0JKRUNUX1BST1RPVFlQRV9LRVlTID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0LnByb3RvdHlwZSlcbmNvbnN0IEFSUkFZX1BST1RPVFlQRV9LRVlTID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoQXJyYXkucHJvdG90eXBlKVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGtleSBpbnNlcnRpb24gaW50byBhbiBvYmplY3QgY291bGQgcmVzdWx0IGluIGEgcHJvdG90eXBlIHBvbGx1dGlvblxuICovXG50eXBlIElzU2FmZUZyb21Qb2xsdXRpb24gPSAoYmFzZTogYW55LCBrZXk6IHN0cmluZykgPT4gYm9vbGVhblxuZXhwb3J0IGNvbnN0IGlzU2FmZUZyb21Qb2xsdXRpb246IElzU2FmZUZyb21Qb2xsdXRpb24gPSAoYmFzZSwga2V5KSA9PiB7XG4gIC8vIFdlIHBlcmZvcm0gYW4gaW5zdGFuY2VvZiBjaGVjayBpbnN0ZWFkIG9mIEFycmF5LmlzQXJyYXkgYXMgdGhlIGZvcm1lciBpcyBtb3JlXG4gIC8vIHBlcm1pc3NpdmUgZm9yIGNhc2VzIGluIHdoaWNoIHRoZSBvYmplY3QgYXMgYW4gQXJyYXkgcHJvdG90eXBlIGJ1dCB3YXMgbm90IGNvbnN0cnVjdGVkXG4gIC8vIHZpYSBhbiBBcnJheSBjb25zdHJ1Y3RvciBvciBsaXRlcmFsLlxuICBjb25zdCBUT1VDSEVTX0FSUkFZX1BST1RPVFlQRSA9IGJhc2UgaW5zdGFuY2VvZiBBcnJheSAmJiBBUlJBWV9QUk9UT1RZUEVfS0VZUy5pbmNsdWRlcyhrZXkpXG4gIGNvbnN0IFRPVUNIRVNfT0JKRUNUX1BST1RPVFlQRSA9IE9CSkVDVF9QUk9UT1RZUEVfS0VZUy5pbmNsdWRlcyhrZXkpXG5cbiAgcmV0dXJuICFUT1VDSEVTX0FSUkFZX1BST1RPVFlQRSAmJiAhVE9VQ0hFU19PQkpFQ1RfUFJPVE9UWVBFXG59XG5cbi8qKlxuICogQnVpbGQgcmVxdWVzdCBmaWVsZC9maWxlIG9iamVjdHMgdG8gcmV0dXJuXG4gKi9cbnR5cGUgQnVpbGRGaWVsZHMgPSAoaW5zdGFuY2U6IGFueSwgZmllbGQ6IHN0cmluZywgdmFsdWU6IGFueSkgPT4gYW55XG5leHBvcnQgY29uc3QgYnVpbGRGaWVsZHM6IEJ1aWxkRmllbGRzID0gKGluc3RhbmNlLCBmaWVsZCwgdmFsdWUpID0+IHtcbiAgLy8gRG8gbm90aGluZyBpZiB2YWx1ZSBpcyBub3Qgc2V0LlxuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGluc3RhbmNlXG4gIGluc3RhbmNlID0gaW5zdGFuY2UgfHwgT2JqZWN0LmNyZWF0ZShudWxsKVxuXG4gIGlmICghaXNTYWZlRnJvbVBvbGx1dGlvbihpbnN0YW5jZSwgZmllbGQpKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlXG4gIH1cbiAgLy8gTm9uLWFycmF5IGZpZWxkc1xuICBpZiAoIWluc3RhbmNlW2ZpZWxkXSkge1xuICAgIGluc3RhbmNlW2ZpZWxkXSA9IHZhbHVlXG4gICAgcmV0dXJuIGluc3RhbmNlXG4gIH1cbiAgLy8gQXJyYXkgZmllbGRzXG4gIGlmIChpbnN0YW5jZVtmaWVsZF0gaW5zdGFuY2VvZiBBcnJheSkge1xuICAgIGluc3RhbmNlW2ZpZWxkXS5wdXNoKHZhbHVlKVxuICB9IGVsc2Uge1xuICAgIGluc3RhbmNlW2ZpZWxkXSA9IFtpbnN0YW5jZVtmaWVsZF0sIHZhbHVlXVxuICB9XG4gIHJldHVybiBpbnN0YW5jZVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBmb2xkZXIgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAqIGZvciBmaWxlIHNwZWNpZmllZCBpbiB0aGUgcGF0aCB2YXJpYWJsZVxuICovXG50eXBlIENoZWNrQW5kTWFrZURpciA9IChmaWxlVXBsb2FkT3B0aW9uczogTmV4dEZpbGVVcGxvYWRPcHRpb25zLCBmaWxlUGF0aDogc3RyaW5nKSA9PiBib29sZWFuXG5leHBvcnQgY29uc3QgY2hlY2tBbmRNYWtlRGlyOiBDaGVja0FuZE1ha2VEaXIgPSAoZmlsZVVwbG9hZE9wdGlvbnMsIGZpbGVQYXRoKSA9PiB7XG4gIGlmICghZmlsZVVwbG9hZE9wdGlvbnMuY3JlYXRlUGFyZW50UGF0aCkgcmV0dXJuIGZhbHNlXG4gIC8vIENoZWNrIHdoZXRoZXIgZm9sZGVyIGZvciB0aGUgZmlsZSBleGlzdHMuXG4gIGNvbnN0IHBhcmVudFBhdGggPSBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpXG4gIC8vIENyZWF0ZSBmb2xkZXIgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAgaWYgKCFmcy5leGlzdHNTeW5jKHBhcmVudFBhdGgpKSBmcy5ta2RpclN5bmMocGFyZW50UGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgLy8gQ2hlY2tzIGZvbGRlciBhZ2FpbiBhbmQgcmV0dXJuIGEgcmVzdWx0cy5cbiAgcmV0dXJuIGZzLmV4aXN0c1N5bmMocGFyZW50UGF0aClcbn1cblxuLyoqXG4gKiBEZWxldGUgYSBmaWxlLlxuICovXG50eXBlIERlbGV0ZUZpbGUgPSAoZmlsZVBhdGg6IHN0cmluZywgY2FsbGJhY2s6IChhcmdzOiBhbnkpID0+IHZvaWQpID0+IHZvaWRcbmV4cG9ydCBjb25zdCBkZWxldGVGaWxlOiBEZWxldGVGaWxlID0gKGZpbGVQYXRoLCBjYWxsYmFjazogKGFyZ3MpID0+IHZvaWQpID0+XG4gIGZzLnVubGluayhmaWxlUGF0aCwgY2FsbGJhY2spXG5cbi8qKlxuICogQ29weSBmaWxlIHZpYSBzdHJlYW1zXG4gKi9cbnR5cGUgQ29weUZpbGUgPSAoc3JjOiBzdHJpbmcsIGRzdDogc3RyaW5nLCBjYWxsYmFjazogKGVycjogRXJyb3IpID0+IHZvaWQpID0+IHZvaWRcbmNvbnN0IGNvcHlGaWxlOiBDb3B5RmlsZSA9IChzcmMsIGRzdCwgY2FsbGJhY2spID0+IHtcbiAgLy8gY2JDYWxsZWQgZmxhZyBhbmQgcnVuQ2IgaGVscHMgdG8gcnVuIGNiIG9ubHkgb25jZS5cbiAgbGV0IGNiQ2FsbGVkID0gZmFsc2VcbiAgY29uc3QgcnVuQ2IgPSAoZXJyPzogRXJyb3IpID0+IHtcbiAgICBpZiAoY2JDYWxsZWQpIHJldHVyblxuICAgIGNiQ2FsbGVkID0gdHJ1ZVxuICAgIGNhbGxiYWNrKGVycilcbiAgfVxuICAvLyBDcmVhdGUgcmVhZCBzdHJlYW1cbiAgY29uc3QgcmVhZGFibGUgPSBmcy5jcmVhdGVSZWFkU3RyZWFtKHNyYylcbiAgcmVhZGFibGUub24oJ2Vycm9yJywgcnVuQ2IpXG4gIC8vIENyZWF0ZSB3cml0ZSBzdHJlYW1cbiAgY29uc3Qgd3JpdGFibGUgPSBmcy5jcmVhdGVXcml0ZVN0cmVhbShkc3QpXG4gIHdyaXRhYmxlLm9uKCdlcnJvcicsIChlcnI6IEVycm9yKSA9PiB7XG4gICAgcmVhZGFibGUuZGVzdHJveSgpXG4gICAgcnVuQ2IoZXJyKVxuICB9KVxuICB3cml0YWJsZS5vbignY2xvc2UnLCAoKSA9PiBydW5DYigpKVxuICAvLyBDb3B5IGZpbGUgdmlhIHBpcGluZyBzdHJlYW1zLlxuICByZWFkYWJsZS5waXBlKHdyaXRhYmxlKVxufVxuXG4vKipcbiAqIG1vdmVGaWxlOiBtb3ZlcyB0aGUgZmlsZSBmcm9tIHNyYyB0byBkc3QuXG4gKiBGaXJzdGx5IHRyeWluZyB0byByZW5hbWUgdGhlIGZpbGUgaWYgbm8gbHVjayBjb3B5aW5nIGl0IHRvIGRzdCBhbmQgdGhlbiBkZWxldGluZyBzcmMuXG4gKi9cbnR5cGUgTW92ZUZpbGUgPSAoXG4gIHNyYzogc3RyaW5nLFxuICBkc3Q6IHN0cmluZyxcbiAgY2FsbGJhY2s6IChlcnI6IEVycm9yLCByZW5hbWVkPzogYm9vbGVhbikgPT4gdm9pZCxcbikgPT4gdm9pZFxuZXhwb3J0IGNvbnN0IG1vdmVGaWxlOiBNb3ZlRmlsZSA9IChzcmMsIGRzdCwgY2FsbGJhY2spID0+XG4gIGZzLnJlbmFtZShzcmMsIGRzdCwgKGVycikgPT4ge1xuICAgIGlmIChlcnIpIHtcbiAgICAgIC8vIFRyeSB0byBjb3B5IGZpbGUgaWYgcmVuYW1lIGRpZG4ndCB3b3JrLlxuICAgICAgY29weUZpbGUoc3JjLCBkc3QsIChjcEVycikgPT4gKGNwRXJyID8gY2FsbGJhY2soY3BFcnIpIDogZGVsZXRlRmlsZShzcmMsIGNhbGxiYWNrKSkpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgLy8gRmlsZSB3YXMgcmVuYW1lZCBzdWNjZXNzZnVsbHk6IEFkZCB0cnVlIHRvIHRoZSBjYWxsYmFjayB0byBpbmRpY2F0ZSB0aGF0LlxuICAgIGNhbGxiYWNrKG51bGwsIHRydWUpXG4gIH0pXG5cbi8qKlxuICogU2F2ZSBidWZmZXIgZGF0YSB0byBhIGZpbGUuXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyIC0gYnVmZmVyIHRvIHNhdmUgdG8gYSBmaWxlLlxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVQYXRoIC0gcGF0aCB0byBhIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCBzYXZlQnVmZmVyVG9GaWxlID0gKGJ1ZmZlciwgZmlsZVBhdGgsIGNhbGxiYWNrKSA9PiB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZmZlcikpIHtcbiAgICByZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCdidWZmZXIgdmFyaWFibGUgc2hvdWxkIGJlIHR5cGUgb2YgQnVmZmVyIScpKVxuICB9XG4gIC8vIFNldHVwIHJlYWRhYmxlIHN0cmVhbSBmcm9tIGJ1ZmZlci5cbiAgbGV0IHN0cmVhbURhdGEgPSBidWZmZXJcbiAgY29uc3QgcmVhZFN0cmVhbSA9IG5ldyBSZWFkYWJsZSgpXG4gIHJlYWRTdHJlYW0uX3JlYWQgPSAoKSA9PiB7XG4gICAgcmVhZFN0cmVhbS5wdXNoKHN0cmVhbURhdGEpXG4gICAgc3RyZWFtRGF0YSA9IG51bGxcbiAgfVxuICAvLyBTZXR1cCBmaWxlIHN5c3RlbSB3cml0YWJsZSBzdHJlYW0uXG4gIGNvbnN0IGZzdHJlYW0gPSBmcy5jcmVhdGVXcml0ZVN0cmVhbShmaWxlUGF0aClcbiAgLy8gY29uc29sZS5sb2coXCJDYWxsaW5nIHNhdmVCdWZmZXJcIik7XG4gIGZzdHJlYW0ub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgIC8vIGNvbnNvbGUubG9nKFwiZXJyIGNiXCIpXG4gICAgY2FsbGJhY2soZXJyKVxuICB9KVxuICBmc3RyZWFtLm9uKCdjbG9zZScsICgpID0+IHtcbiAgICAvLyBjb25zb2xlLmxvZyhcImNsb3NlIGNiXCIpO1xuICAgIGNhbGxiYWNrKClcbiAgfSlcbiAgLy8gQ29weSBmaWxlIHZpYSBwaXBpbmcgc3RyZWFtcy5cbiAgcmVhZFN0cmVhbS5waXBlKGZzdHJlYW0pXG59XG5cbi8qKlxuICogRGVjb2RlcyB1cmlFbmNvZGVkIGZpbGUgbmFtZXMuXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG1pZGRsZXdhcmUgb3B0aW9ucy5cbiAqIEBwYXJhbSBmaWxlTmFtZSB7U3RyaW5nfSAtIGZpbGUgbmFtZSB0byBkZWNvZGUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5jb25zdCB1cmlEZWNvZGVGaWxlTmFtZSA9IChvcHRzLCBmaWxlTmFtZSkgPT4ge1xuICBpZiAoIW9wdHMgfHwgIW9wdHMudXJpRGVjb2RlRmlsZU5hbWVzKSB7XG4gICAgcmV0dXJuIGZpbGVOYW1lXG4gIH1cbiAgLy8gRGVjb2RlIGZpbGUgbmFtZSBmcm9tIFVSSSB3aXRoIGNoZWNraW5nIFVSSSBtYWxmb3JtZWQgZXJyb3JzLlxuICAvLyBTZWUgSXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRnaXJnZXMvZXhwcmVzcy1maWxldXBsb2FkL2lzc3Vlcy8zNDIuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChmaWxlTmFtZSlcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc3QgbWF0Y2hlciA9IC8oJVthLWZcXGRdezJ9KS9naVxuICAgIHJldHVybiBmaWxlTmFtZVxuICAgICAgLnNwbGl0KG1hdGNoZXIpXG4gICAgICAubWFwKChzdHIpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHN0cilcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuICcnXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuam9pbignJylcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlcyBmaWxlbmFtZSBhbmQgZXh0ZW5zaW9uIGFuZCByZXR1cm5zIG9iamVjdCB7bmFtZSwgZXh0ZW5zaW9ufS5cbiAqL1xudHlwZSBQYXJzZUZpbGVOYW1lRXh0ZW5zaW9uID0gKFxuICBwcmVzZXJ2ZUV4dGVuc2lvbjogYm9vbGVhbiB8IG51bWJlcixcbiAgZmlsZU5hbWU6IHN0cmluZyxcbikgPT4ge1xuICBleHRlbnNpb246IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCBjb25zdCBwYXJzZUZpbGVOYW1lRXh0ZW5zaW9uOiBQYXJzZUZpbGVOYW1lRXh0ZW5zaW9uID0gKHByZXNlcnZlRXh0ZW5zaW9uLCBmaWxlTmFtZSkgPT4ge1xuICBjb25zdCBkZWZhdWx0UmVzdWx0ID0ge1xuICAgIG5hbWU6IGZpbGVOYW1lLFxuICAgIGV4dGVuc2lvbjogJycsXG4gIH1cbiAgaWYgKCFwcmVzZXJ2ZUV4dGVuc2lvbikgcmV0dXJuIGRlZmF1bHRSZXN1bHRcblxuICAvLyBEZWZpbmUgbWF4aW11bSBleHRlbnNpb24gbGVuZ3RoXG4gIGNvbnN0IG1heEV4dExlbmd0aCA9XG4gICAgdHlwZW9mIHByZXNlcnZlRXh0ZW5zaW9uID09PSAnYm9vbGVhbicgPyBNQVhfRVhURU5TSU9OX0xFTkdUSCA6IHByZXNlcnZlRXh0ZW5zaW9uXG5cbiAgY29uc3QgbmFtZVBhcnRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKVxuICBpZiAobmFtZVBhcnRzLmxlbmd0aCA8IDIpIHJldHVybiBkZWZhdWx0UmVzdWx0XG5cbiAgbGV0IGV4dGVuc2lvbiA9IG5hbWVQYXJ0cy5wb3AoKVxuICBpZiAoZXh0ZW5zaW9uLmxlbmd0aCA+IG1heEV4dExlbmd0aCAmJiBtYXhFeHRMZW5ndGggPiAwKSB7XG4gICAgbmFtZVBhcnRzW25hbWVQYXJ0cy5sZW5ndGggLSAxXSArPSAnLicgKyBleHRlbnNpb24uc3Vic3RyKDAsIGV4dGVuc2lvbi5sZW5ndGggLSBtYXhFeHRMZW5ndGgpXG4gICAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uLnN1YnN0cigtbWF4RXh0TGVuZ3RoKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lUGFydHMuam9pbignLicpLFxuICAgIGV4dGVuc2lvbjogbWF4RXh0TGVuZ3RoID8gZXh0ZW5zaW9uIDogJycsXG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZSBmaWxlIG5hbWUgYW5kIGV4dGVuc2lvbi5cbiAqL1xudHlwZSBQYXJzZUZpbGVOYW1lID0gKG9wdHM6IE5leHRGaWxlVXBsb2FkT3B0aW9ucywgZmlsZU5hbWU6IHN0cmluZykgPT4gc3RyaW5nXG5leHBvcnQgY29uc3QgcGFyc2VGaWxlTmFtZTogUGFyc2VGaWxlTmFtZSA9IChvcHRzLCBmaWxlTmFtZSkgPT4ge1xuICAvLyBDaGVjayBmaWxlTmFtZSBhcmd1bWVudFxuICBpZiAoIWZpbGVOYW1lIHx8IHR5cGVvZiBmaWxlTmFtZSAhPT0gJ3N0cmluZycpIHJldHVybiBnZXRUZW1wRmlsZW5hbWUoKVxuICAvLyBDdXQgb2ZmIGZpbGUgbmFtZSBpZiBpdCdzIGxlbmd0aCBtb3JlIHRoZW4gMjU1LlxuICBsZXQgcGFyc2VkTmFtZSA9IGZpbGVOYW1lLmxlbmd0aCA8PSAyNTUgPyBmaWxlTmFtZSA6IGZpbGVOYW1lLnN1YnN0cigwLCAyNTUpXG4gIC8vIERlY29kZSBmaWxlIG5hbWUgaWYgdXJpRGVjb2RlRmlsZU5hbWVzIG9wdGlvbiBzZXQgdHJ1ZS5cbiAgcGFyc2VkTmFtZSA9IHVyaURlY29kZUZpbGVOYW1lKG9wdHMsIHBhcnNlZE5hbWUpXG4gIC8vIFN0b3AgcGFyc2luZyBmaWxlIG5hbWUgaWYgc2FmZUZpbGVOYW1lcyBvcHRpb25zIGhhc24ndCBiZWVuIHNldC5cbiAgaWYgKCFvcHRzLnNhZmVGaWxlTmFtZXMpIHJldHVybiBwYXJzZWROYW1lXG4gIC8vIFNldCByZWd1bGFyIGV4cHJlc3Npb24gZm9yIHRoZSBmaWxlIG5hbWUuXG4gIGNvbnN0IG5hbWVSZWdleCA9XG4gICAgdHlwZW9mIG9wdHMuc2FmZUZpbGVOYW1lcyA9PT0gJ29iamVjdCcgJiYgb3B0cy5zYWZlRmlsZU5hbWVzIGluc3RhbmNlb2YgUmVnRXhwXG4gICAgICA/IG9wdHMuc2FmZUZpbGVOYW1lc1xuICAgICAgOiBTQUZFX0ZJTEVfTkFNRV9SRUdFWFxuICAvLyBQYXJzZSBmaWxlIG5hbWUgZXh0ZW5zaW9uLlxuICBsZXQgeyBuYW1lLCBleHRlbnNpb24gfSA9IHBhcnNlRmlsZU5hbWVFeHRlbnNpb24ob3B0cy5wcmVzZXJ2ZUV4dGVuc2lvbiwgcGFyc2VkTmFtZSlcbiAgaWYgKGV4dGVuc2lvbi5sZW5ndGgpIGV4dGVuc2lvbiA9ICcuJyArIGV4dGVuc2lvbi5yZXBsYWNlKG5hbWVSZWdleCwgJycpXG5cbiAgcmV0dXJuIG5hbWUucmVwbGFjZShuYW1lUmVnZXgsICcnKS5jb25jYXQoZXh0ZW5zaW9uKVxufVxuIl0sIm5hbWVzIjpbImZzIiwicGF0aCIsIlJlYWRhYmxlIiwiU0FGRV9GSUxFX05BTUVfUkVHRVgiLCJNQVhfRVhURU5TSU9OX0xFTkdUSCIsIlRFTVBfQ09VTlRFUl9NQVgiLCJURU1QX1BSRUZJWCIsInRlbXBDb3VudGVyIiwiZGVidWdMb2ciLCJvcHRpb25zIiwibXNnIiwib3B0cyIsImRlYnVnIiwiY29uc29sZSIsImxvZyIsImdldFRlbXBGaWxlbmFtZSIsInByZWZpeCIsIkRhdGUiLCJub3ciLCJpc0Z1bmMiLCJ2YWx1ZSIsImVycm9yRnVuYyIsInJlc29sdmUiLCJyZWplY3QiLCJwcm9taXNlQ2FsbGJhY2siLCJoYXNGaXJlZCIsImVyciIsIk9CSkVDVF9QUk9UT1RZUEVfS0VZUyIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm90b3R5cGUiLCJBUlJBWV9QUk9UT1RZUEVfS0VZUyIsIkFycmF5IiwiaXNTYWZlRnJvbVBvbGx1dGlvbiIsImJhc2UiLCJrZXkiLCJUT1VDSEVTX0FSUkFZX1BST1RPVFlQRSIsImluY2x1ZGVzIiwiVE9VQ0hFU19PQkpFQ1RfUFJPVE9UWVBFIiwiYnVpbGRGaWVsZHMiLCJpbnN0YW5jZSIsImZpZWxkIiwidW5kZWZpbmVkIiwiY3JlYXRlIiwicHVzaCIsImNoZWNrQW5kTWFrZURpciIsImZpbGVVcGxvYWRPcHRpb25zIiwiZmlsZVBhdGgiLCJjcmVhdGVQYXJlbnRQYXRoIiwicGFyZW50UGF0aCIsImRpcm5hbWUiLCJleGlzdHNTeW5jIiwibWtkaXJTeW5jIiwicmVjdXJzaXZlIiwiZGVsZXRlRmlsZSIsImNhbGxiYWNrIiwidW5saW5rIiwiY29weUZpbGUiLCJzcmMiLCJkc3QiLCJjYkNhbGxlZCIsInJ1bkNiIiwicmVhZGFibGUiLCJjcmVhdGVSZWFkU3RyZWFtIiwib24iLCJ3cml0YWJsZSIsImNyZWF0ZVdyaXRlU3RyZWFtIiwiZGVzdHJveSIsInBpcGUiLCJtb3ZlRmlsZSIsInJlbmFtZSIsImNwRXJyIiwic2F2ZUJ1ZmZlclRvRmlsZSIsImJ1ZmZlciIsIkJ1ZmZlciIsImlzQnVmZmVyIiwiRXJyb3IiLCJzdHJlYW1EYXRhIiwicmVhZFN0cmVhbSIsIl9yZWFkIiwiZnN0cmVhbSIsInVyaURlY29kZUZpbGVOYW1lIiwiZmlsZU5hbWUiLCJ1cmlEZWNvZGVGaWxlTmFtZXMiLCJkZWNvZGVVUklDb21wb25lbnQiLCJtYXRjaGVyIiwic3BsaXQiLCJtYXAiLCJzdHIiLCJqb2luIiwicGFyc2VGaWxlTmFtZUV4dGVuc2lvbiIsInByZXNlcnZlRXh0ZW5zaW9uIiwiZGVmYXVsdFJlc3VsdCIsIm5hbWUiLCJleHRlbnNpb24iLCJtYXhFeHRMZW5ndGgiLCJuYW1lUGFydHMiLCJsZW5ndGgiLCJwb3AiLCJzdWJzdHIiLCJwYXJzZUZpbGVOYW1lIiwicGFyc2VkTmFtZSIsInNhZmVGaWxlTmFtZXMiLCJuYW1lUmVnZXgiLCJSZWdFeHAiLCJyZXBsYWNlIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxRQUFRLEtBQUk7QUFDbkIsT0FBT0MsVUFBVSxPQUFNO0FBQ3ZCLFNBQVNDLFFBQVEsUUFBUSxTQUFRO0FBSWpDLHlDQUF5QztBQUN6QyxNQUFNQyx1QkFBdUI7QUFDN0IsTUFBTUMsdUJBQXVCO0FBRTdCLHNEQUFzRDtBQUN0RCxNQUFNQyxtQkFBbUI7QUFDekIsTUFBTUMsY0FBYztBQUNwQixJQUFJQyxjQUFjO0FBRWxCOztDQUVDLEdBQ0QsT0FBTyxNQUFNQyxXQUFXLENBQUNDLFNBQWdDQztJQUN2RCxNQUFNQyxPQUFPRixXQUFXLENBQUM7SUFDekIsSUFBSSxDQUFDRSxLQUFLQyxLQUFLLEVBQUUsT0FBTztJQUN4QkMsUUFBUUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUVKLElBQUksQ0FBQyxFQUFFLHNCQUFzQjs7SUFDakUsT0FBTztBQUNULEVBQUM7QUFFRDs7Q0FFQyxHQUNELE9BQU8sTUFBTUssa0JBQWtCLENBQUNDLFNBQWlCVixXQUFXO0lBQzFEQyxjQUFjQSxlQUFlRixtQkFBbUIsSUFBSUUsY0FBYztJQUNsRSxPQUFPLENBQUMsRUFBRVMsT0FBTyxDQUFDLEVBQUVULFlBQVksQ0FBQyxFQUFFVSxLQUFLQyxHQUFHLEdBQUcsQ0FBQztBQUNqRCxFQUFDO0FBR0QsT0FBTyxNQUFNQyxTQUFTLENBQUNDO0lBQ3JCLE9BQU8sT0FBT0EsVUFBVTtBQUMxQixFQUFDO0FBTUQsTUFBTUMsWUFBdUIsQ0FBQ0MsU0FBU0MsU0FBWUosT0FBT0ksVUFBVUEsU0FBU0Q7QUFPN0UsT0FBTyxNQUFNRSxrQkFBbUMsQ0FBQ0YsU0FBU0M7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
@@ -1,2 +1,6 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import fs from 'fs';
3
+ export declare function iteratorToStream(iterator: any): ReadableStream<any>;
4
+ export declare function nodeStreamToIterator(stream: fs.ReadStream): AsyncGenerator<Uint8Array, void, unknown>;
1
5
  export declare function streamFile(path: string): ReadableStream;
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next-stream-file/index.ts"],"names":[],"mappings":"AAqBA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAIvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next-stream-file/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,wBAAgB,gBAAgB,CAAC,QAAQ,KAAA,uBAWxC;AAED,wBAAuB,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,6CAIhE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAIvD"}