rubico 2.5.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/_internal/arrayMapPool.js +11 -19
  2. package/_internal/mapMapPool.js +80 -0
  3. package/_internal/objectMapPool.js +77 -0
  4. package/_internal/objectMapSeries.js +1 -0
  5. package/_internal/setMapPool.js +79 -0
  6. package/_internal/stringMapPool.js +22 -0
  7. package/all.js +11 -1
  8. package/and.js +9 -0
  9. package/assign.js +14 -1
  10. package/compose.js +8 -0
  11. package/dist/Transducer.es.js +1 -1
  12. package/dist/Transducer.es.min.js +1 -1
  13. package/dist/Transducer.js +1 -1
  14. package/dist/Transducer.min.js +1 -1
  15. package/dist/Transducer.mjs +1 -1
  16. package/dist/__.es.js +1 -1
  17. package/dist/__.es.min.js +1 -1
  18. package/dist/__.js +1 -1
  19. package/dist/__.min.js +1 -1
  20. package/dist/__.mjs +1 -1
  21. package/dist/all.es.js +1 -1
  22. package/dist/all.es.min.js +1 -1
  23. package/dist/all.js +1 -1
  24. package/dist/all.min.js +1 -1
  25. package/dist/all.mjs +1 -1
  26. package/dist/always.es.js +1 -1
  27. package/dist/always.es.min.js +1 -1
  28. package/dist/always.js +1 -1
  29. package/dist/always.min.js +1 -1
  30. package/dist/always.mjs +1 -1
  31. package/dist/and.es.js +1 -1
  32. package/dist/and.es.min.js +1 -1
  33. package/dist/and.js +1 -1
  34. package/dist/and.min.js +1 -1
  35. package/dist/and.mjs +1 -1
  36. package/dist/assign.es.js +1 -1
  37. package/dist/assign.es.min.js +1 -1
  38. package/dist/assign.js +1 -1
  39. package/dist/assign.min.js +1 -1
  40. package/dist/assign.mjs +1 -1
  41. package/dist/compose.es.js +1 -1
  42. package/dist/compose.es.min.js +1 -1
  43. package/dist/compose.js +1 -1
  44. package/dist/compose.min.js +1 -1
  45. package/dist/compose.mjs +1 -1
  46. package/dist/curry.es.js +1 -1
  47. package/dist/curry.es.min.js +1 -1
  48. package/dist/curry.js +1 -1
  49. package/dist/curry.min.js +1 -1
  50. package/dist/curry.mjs +1 -1
  51. package/dist/eq.es.js +1 -1
  52. package/dist/eq.es.min.js +1 -1
  53. package/dist/eq.js +1 -1
  54. package/dist/eq.min.js +1 -1
  55. package/dist/eq.mjs +1 -1
  56. package/dist/every.es.js +1 -1
  57. package/dist/every.es.min.js +1 -1
  58. package/dist/every.js +1 -1
  59. package/dist/every.min.js +1 -1
  60. package/dist/every.mjs +1 -1
  61. package/dist/filter.es.js +1 -1
  62. package/dist/filter.es.min.js +1 -1
  63. package/dist/filter.js +1 -1
  64. package/dist/filter.min.js +1 -1
  65. package/dist/filter.mjs +1 -1
  66. package/dist/flatMap.es.js +1 -1
  67. package/dist/flatMap.es.min.js +1 -1
  68. package/dist/flatMap.js +1 -1
  69. package/dist/flatMap.min.js +1 -1
  70. package/dist/flatMap.mjs +1 -1
  71. package/dist/forEach.es.js +3 -2
  72. package/dist/forEach.es.min.js +2 -2
  73. package/dist/forEach.js +3 -2
  74. package/dist/forEach.min.js +2 -2
  75. package/dist/forEach.mjs +3 -2
  76. package/dist/get.es.js +1 -1
  77. package/dist/get.es.min.js +1 -1
  78. package/dist/get.js +1 -1
  79. package/dist/get.min.js +1 -1
  80. package/dist/get.mjs +1 -1
  81. package/dist/gt.es.js +1 -1
  82. package/dist/gt.es.min.js +1 -1
  83. package/dist/gt.js +1 -1
  84. package/dist/gt.min.js +1 -1
  85. package/dist/gt.mjs +1 -1
  86. package/dist/gte.es.js +1 -1
  87. package/dist/gte.es.min.js +1 -1
  88. package/dist/gte.js +1 -1
  89. package/dist/gte.min.js +1 -1
  90. package/dist/gte.mjs +1 -1
  91. package/dist/lt.es.js +1 -1
  92. package/dist/lt.es.min.js +1 -1
  93. package/dist/lt.js +1 -1
  94. package/dist/lt.min.js +1 -1
  95. package/dist/lt.mjs +1 -1
  96. package/dist/lte.es.js +1 -1
  97. package/dist/lte.es.min.js +1 -1
  98. package/dist/lte.js +1 -1
  99. package/dist/lte.min.js +1 -1
  100. package/dist/lte.mjs +1 -1
  101. package/dist/map.es.js +221 -44
  102. package/dist/map.es.min.js +2 -2
  103. package/dist/map.js +221 -44
  104. package/dist/map.min.js +2 -2
  105. package/dist/map.mjs +221 -44
  106. package/dist/not.es.js +1 -1
  107. package/dist/not.es.min.js +1 -1
  108. package/dist/not.js +1 -1
  109. package/dist/not.min.js +1 -1
  110. package/dist/not.mjs +1 -1
  111. package/dist/omit.es.js +1 -1
  112. package/dist/omit.es.min.js +1 -1
  113. package/dist/omit.js +1 -1
  114. package/dist/omit.min.js +1 -1
  115. package/dist/omit.mjs +1 -1
  116. package/dist/or.es.js +1 -1
  117. package/dist/or.es.min.js +1 -1
  118. package/dist/or.js +1 -1
  119. package/dist/or.min.js +1 -1
  120. package/dist/or.mjs +1 -1
  121. package/dist/pick.es.js +1 -1
  122. package/dist/pick.es.min.js +1 -1
  123. package/dist/pick.js +1 -1
  124. package/dist/pick.min.js +1 -1
  125. package/dist/pick.mjs +1 -1
  126. package/dist/pipe.es.js +1 -1
  127. package/dist/pipe.es.min.js +1 -1
  128. package/dist/pipe.js +1 -1
  129. package/dist/pipe.min.js +1 -1
  130. package/dist/pipe.mjs +1 -1
  131. package/dist/reduce.es.js +1 -1
  132. package/dist/reduce.es.min.js +1 -1
  133. package/dist/reduce.js +1 -1
  134. package/dist/reduce.min.js +1 -1
  135. package/dist/reduce.mjs +1 -1
  136. package/dist/rubico.es.js +259 -60
  137. package/dist/rubico.es.min.js +2 -2
  138. package/dist/rubico.global.js +259 -60
  139. package/dist/rubico.global.min.js +2 -2
  140. package/dist/rubico.js +259 -60
  141. package/dist/rubico.min.js +2 -2
  142. package/dist/rubico.mjs +259 -60
  143. package/dist/set.es.js +1 -1
  144. package/dist/set.es.min.js +1 -1
  145. package/dist/set.js +1 -1
  146. package/dist/set.min.js +1 -1
  147. package/dist/set.mjs +1 -1
  148. package/dist/some.es.js +1 -1
  149. package/dist/some.es.min.js +1 -1
  150. package/dist/some.js +1 -1
  151. package/dist/some.min.js +1 -1
  152. package/dist/some.mjs +1 -1
  153. package/dist/switchCase.es.js +1 -1
  154. package/dist/switchCase.es.min.js +1 -1
  155. package/dist/switchCase.js +1 -1
  156. package/dist/switchCase.min.js +1 -1
  157. package/dist/switchCase.mjs +1 -1
  158. package/dist/tap.es.js +100 -14
  159. package/dist/tap.es.min.js +2 -2
  160. package/dist/tap.js +100 -14
  161. package/dist/tap.min.js +2 -2
  162. package/dist/tap.mjs +100 -14
  163. package/dist/thunkify.es.js +1 -1
  164. package/dist/thunkify.es.min.js +1 -1
  165. package/dist/thunkify.js +1 -1
  166. package/dist/thunkify.min.js +1 -1
  167. package/dist/thunkify.mjs +1 -1
  168. package/dist/transform.es.js +1 -1
  169. package/dist/transform.es.min.js +1 -1
  170. package/dist/transform.js +1 -1
  171. package/dist/transform.min.js +1 -1
  172. package/dist/transform.mjs +1 -1
  173. package/dist/tryCatch.es.js +1 -1
  174. package/dist/tryCatch.es.min.js +1 -1
  175. package/dist/tryCatch.js +1 -1
  176. package/dist/tryCatch.min.js +1 -1
  177. package/dist/tryCatch.mjs +1 -1
  178. package/dist/x/append.es.js +1 -1
  179. package/dist/x/append.es.min.js +1 -1
  180. package/dist/x/append.js +1 -1
  181. package/dist/x/append.min.js +1 -1
  182. package/dist/x/append.mjs +1 -1
  183. package/dist/x/callProp.es.js +1 -1
  184. package/dist/x/callProp.es.min.js +1 -1
  185. package/dist/x/callProp.js +1 -1
  186. package/dist/x/callProp.min.js +1 -1
  187. package/dist/x/callProp.mjs +1 -1
  188. package/dist/x/defaultsDeep.es.js +1 -1
  189. package/dist/x/defaultsDeep.es.min.js +1 -1
  190. package/dist/x/defaultsDeep.js +1 -1
  191. package/dist/x/defaultsDeep.min.js +1 -1
  192. package/dist/x/defaultsDeep.mjs +1 -1
  193. package/dist/x/differenceWith.es.js +1 -1
  194. package/dist/x/differenceWith.es.min.js +1 -1
  195. package/dist/x/differenceWith.js +1 -1
  196. package/dist/x/differenceWith.min.js +1 -1
  197. package/dist/x/differenceWith.mjs +1 -1
  198. package/dist/x/filterOut.es.js +1 -1
  199. package/dist/x/filterOut.es.min.js +1 -1
  200. package/dist/x/filterOut.js +1 -1
  201. package/dist/x/filterOut.min.js +1 -1
  202. package/dist/x/filterOut.mjs +1 -1
  203. package/dist/x/find.es.js +1 -1
  204. package/dist/x/find.es.min.js +1 -1
  205. package/dist/x/find.js +1 -1
  206. package/dist/x/find.min.js +1 -1
  207. package/dist/x/find.mjs +1 -1
  208. package/dist/x/findIndex.es.js +1 -1
  209. package/dist/x/findIndex.es.min.js +1 -1
  210. package/dist/x/findIndex.js +1 -1
  211. package/dist/x/findIndex.min.js +1 -1
  212. package/dist/x/findIndex.mjs +1 -1
  213. package/dist/x/first.es.js +1 -1
  214. package/dist/x/first.es.min.js +1 -1
  215. package/dist/x/first.js +1 -1
  216. package/dist/x/first.min.js +1 -1
  217. package/dist/x/first.mjs +1 -1
  218. package/dist/x/flatten.es.js +1 -1
  219. package/dist/x/flatten.es.min.js +1 -1
  220. package/dist/x/flatten.js +1 -1
  221. package/dist/x/flatten.min.js +1 -1
  222. package/dist/x/flatten.mjs +1 -1
  223. package/dist/x/groupBy.es.js +1 -1
  224. package/dist/x/groupBy.es.min.js +1 -1
  225. package/dist/x/groupBy.js +1 -1
  226. package/dist/x/groupBy.min.js +1 -1
  227. package/dist/x/groupBy.mjs +1 -1
  228. package/dist/x/has.es.js +1 -1
  229. package/dist/x/has.es.min.js +1 -1
  230. package/dist/x/has.js +1 -1
  231. package/dist/x/has.min.js +1 -1
  232. package/dist/x/has.mjs +1 -1
  233. package/dist/x/identity.es.js +1 -1
  234. package/dist/x/identity.es.min.js +1 -1
  235. package/dist/x/identity.js +1 -1
  236. package/dist/x/identity.min.js +1 -1
  237. package/dist/x/identity.mjs +1 -1
  238. package/dist/x/includes.es.js +1 -1
  239. package/dist/x/includes.es.min.js +1 -1
  240. package/dist/x/includes.js +1 -1
  241. package/dist/x/includes.min.js +1 -1
  242. package/dist/x/includes.mjs +1 -1
  243. package/dist/x/isDeepEqual.es.js +1 -1
  244. package/dist/x/isDeepEqual.es.min.js +1 -1
  245. package/dist/x/isDeepEqual.js +1 -1
  246. package/dist/x/isDeepEqual.min.js +1 -1
  247. package/dist/x/isDeepEqual.mjs +1 -1
  248. package/dist/x/isEmpty.es.js +1 -1
  249. package/dist/x/isEmpty.es.min.js +1 -1
  250. package/dist/x/isEmpty.js +1 -1
  251. package/dist/x/isEmpty.min.js +1 -1
  252. package/dist/x/isEmpty.mjs +1 -1
  253. package/dist/x/isEqual.es.js +1 -1
  254. package/dist/x/isEqual.es.min.js +1 -1
  255. package/dist/x/isEqual.js +1 -1
  256. package/dist/x/isEqual.min.js +1 -1
  257. package/dist/x/isEqual.mjs +1 -1
  258. package/dist/x/isFunction.es.js +1 -1
  259. package/dist/x/isFunction.es.min.js +1 -1
  260. package/dist/x/isFunction.js +1 -1
  261. package/dist/x/isFunction.min.js +1 -1
  262. package/dist/x/isFunction.mjs +1 -1
  263. package/dist/x/isIn.es.js +1 -1
  264. package/dist/x/isIn.es.min.js +1 -1
  265. package/dist/x/isIn.js +1 -1
  266. package/dist/x/isIn.min.js +1 -1
  267. package/dist/x/isIn.mjs +1 -1
  268. package/dist/x/isObject.es.js +1 -1
  269. package/dist/x/isObject.es.min.js +1 -1
  270. package/dist/x/isObject.js +1 -1
  271. package/dist/x/isObject.min.js +1 -1
  272. package/dist/x/isObject.mjs +1 -1
  273. package/dist/x/isString.es.js +1 -1
  274. package/dist/x/isString.es.min.js +1 -1
  275. package/dist/x/isString.js +1 -1
  276. package/dist/x/isString.min.js +1 -1
  277. package/dist/x/isString.mjs +1 -1
  278. package/dist/x/keys.es.js +1 -1
  279. package/dist/x/keys.es.min.js +1 -1
  280. package/dist/x/keys.js +1 -1
  281. package/dist/x/keys.min.js +1 -1
  282. package/dist/x/keys.mjs +1 -1
  283. package/dist/x/last.es.js +1 -1
  284. package/dist/x/last.es.min.js +1 -1
  285. package/dist/x/last.js +1 -1
  286. package/dist/x/last.min.js +1 -1
  287. package/dist/x/last.mjs +1 -1
  288. package/dist/x/maxBy.es.js +1 -1
  289. package/dist/x/maxBy.es.min.js +1 -1
  290. package/dist/x/maxBy.js +1 -1
  291. package/dist/x/maxBy.min.js +1 -1
  292. package/dist/x/maxBy.mjs +1 -1
  293. package/dist/x/noop.es.js +1 -1
  294. package/dist/x/noop.es.min.js +1 -1
  295. package/dist/x/noop.js +1 -1
  296. package/dist/x/noop.min.js +1 -1
  297. package/dist/x/noop.mjs +1 -1
  298. package/dist/x/pluck.es.js +221 -44
  299. package/dist/x/pluck.es.min.js +2 -2
  300. package/dist/x/pluck.js +221 -44
  301. package/dist/x/pluck.min.js +2 -2
  302. package/dist/x/pluck.mjs +221 -44
  303. package/dist/x/prepend.es.js +1 -1
  304. package/dist/x/prepend.es.min.js +1 -1
  305. package/dist/x/prepend.js +1 -1
  306. package/dist/x/prepend.min.js +1 -1
  307. package/dist/x/prepend.mjs +1 -1
  308. package/dist/x/size.es.js +1 -1
  309. package/dist/x/size.es.min.js +1 -1
  310. package/dist/x/size.js +1 -1
  311. package/dist/x/size.min.js +1 -1
  312. package/dist/x/size.mjs +1 -1
  313. package/dist/x/trace.es.js +100 -14
  314. package/dist/x/trace.es.min.js +2 -2
  315. package/dist/x/trace.js +100 -14
  316. package/dist/x/trace.min.js +2 -2
  317. package/dist/x/trace.mjs +100 -14
  318. package/dist/x/unionWith.es.js +1 -1
  319. package/dist/x/unionWith.es.min.js +1 -1
  320. package/dist/x/unionWith.js +1 -1
  321. package/dist/x/unionWith.min.js +1 -1
  322. package/dist/x/unionWith.mjs +1 -1
  323. package/dist/x/uniq.es.js +1 -1
  324. package/dist/x/uniq.es.min.js +1 -1
  325. package/dist/x/uniq.js +1 -1
  326. package/dist/x/uniq.min.js +1 -1
  327. package/dist/x/uniq.mjs +1 -1
  328. package/dist/x/unless.es.js +1 -1
  329. package/dist/x/unless.es.min.js +1 -1
  330. package/dist/x/unless.js +1 -1
  331. package/dist/x/unless.min.js +1 -1
  332. package/dist/x/unless.mjs +1 -1
  333. package/dist/x/values.es.js +1 -1
  334. package/dist/x/values.es.min.js +1 -1
  335. package/dist/x/values.js +1 -1
  336. package/dist/x/values.min.js +1 -1
  337. package/dist/x/values.mjs +1 -1
  338. package/dist/x/when.es.js +1 -1
  339. package/dist/x/when.es.min.js +1 -1
  340. package/dist/x/when.js +1 -1
  341. package/dist/x/when.min.js +1 -1
  342. package/dist/x/when.mjs +1 -1
  343. package/eq.js +6 -0
  344. package/es.js +259 -60
  345. package/every.js +6 -0
  346. package/filter.js +9 -0
  347. package/flatMap.js +7 -0
  348. package/forEach.js +20 -1
  349. package/get.js +6 -0
  350. package/gt.js +6 -0
  351. package/gte.js +6 -0
  352. package/index.js +259 -60
  353. package/lt.js +6 -0
  354. package/lte.js +6 -0
  355. package/map.js +118 -45
  356. package/not.js +8 -0
  357. package/omit.js +7 -0
  358. package/or.js +9 -0
  359. package/package.json +1 -1
  360. package/pick.js +7 -0
  361. package/pipe.js +8 -0
  362. package/reduce.js +8 -0
  363. package/set.js +6 -0
  364. package/some.js +6 -0
  365. package/switchCase.js +12 -0
  366. package/tap.js +75 -26
  367. package/transform.js +38 -10
  368. package/tryCatch.js +14 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.5.0
2
+ * rubico v2.6.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -152,29 +152,67 @@ const curryArgs2 = function (baseFunc, arg0, arg1) {
152
152
  return curryArgs2ResolveArgs1(baseFunc, arg0)
153
153
  }
154
154
 
155
- // _tap(args Array, func function) -> Promise|any
156
- const _tap = function (args, func) {
155
+ // argument resolver for curryArgs3
156
+ const curryArgs3ResolveArgs0 = (
157
+ baseFunc, arg1, arg2,
158
+ ) => function args0Resolver(...args) {
159
+ return baseFunc(args, arg1, arg2)
160
+ }
161
+
162
+ // argument resolver for curryArgs3
163
+ const curryArgs3ResolveArgs1 = (
164
+ baseFunc, arg0, arg2,
165
+ ) => function arg1Resolver(...args) {
166
+ return baseFunc(arg0, args, arg2)
167
+ }
168
+
169
+ // argument resolver for curryArgs3
170
+ const curryArgs3ResolveArgs2 = (
171
+ baseFunc, arg0, arg1,
172
+ ) => function arg2Resolver(...args) {
173
+ return baseFunc(arg0, arg1, args)
174
+ }
175
+
176
+ const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
177
+ if (arg0 == __) {
178
+ return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
179
+ }
180
+ if (arg1 == __) {
181
+ return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
182
+ }
183
+ return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
184
+ }
185
+
186
+ // _tap(args Array, f function) -> Promise|any
187
+ const _tap = function (args, f) {
157
188
  const result = args[0],
158
- call = func(...args)
189
+ call = f(...args)
159
190
  return isPromise(call) ? call.then(always(result)) : result
160
191
  }
161
192
 
162
193
  const tap = function (...args) {
163
- const func = args.pop()
194
+ const f = args.pop()
164
195
  if (args.length == 0) {
165
- return curryArgs2(_tap, __, func)
196
+ return curryArgs2(_tap, __, f)
197
+ }
198
+ if (areAnyValuesPromises(args)) {
199
+ return promiseAll(args).then(curry2(_tap, __, f))
166
200
  }
167
- return _tap(args, func)
201
+ return _tap(args, f)
168
202
  }
169
203
 
170
- tap.if = (predicate, func) => function tappingIf(...args) {
171
- const predication = predicate(...args)
172
- if (isPromise(predication)) {
173
- return predication.then(curry3(
174
- thunkConditional, __, thunkifyArgs(tap(func), args), always(args[0])))
204
+ const _tapIf = function (predicate, f, args) {
205
+ const b = predicate(...args)
206
+ if (isPromise(b)) {
207
+ return b.then(curry3(
208
+ thunkConditional,
209
+ __,
210
+ thunkifyArgs(tap(f), args),
211
+ always(args[0]),
212
+ ))
175
213
  }
176
- if (predication) {
177
- const execution = func(...args)
214
+ if (b) {
215
+ const execution = f(...args)
178
216
  if (isPromise(execution)) {
179
217
  return execution.then(always(args[0]))
180
218
  }
@@ -182,6 +220,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
182
220
  return args[0]
183
221
  }
184
222
 
223
+ tap.if = function (...args) {
224
+ if (args.length == 2) {
225
+ return curryArgs3(_tapIf, args[0], args[1], __)
226
+ }
227
+ const argsLength = args.length
228
+ const f = args[argsLength - 1]
229
+ const predicate = args[argsLength - 2]
230
+ const argValues = args.slice(0, -2)
231
+ if (areAnyValuesPromises(argValues)) {
232
+ return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
233
+ }
234
+ return _tapIf(predicate, f, args)
235
+ }
236
+
185
237
  const isArray = Array.isArray
186
238
 
187
239
  const functionArrayAll = function (funcs, args) {
@@ -448,37 +500,6 @@ const nonfunctionsConditional = function (array, index) {
448
500
  return array[index]
449
501
  }
450
502
 
451
- // argument resolver for curryArgs3
452
- const curryArgs3ResolveArgs0 = (
453
- baseFunc, arg1, arg2,
454
- ) => function args0Resolver(...args) {
455
- return baseFunc(args, arg1, arg2)
456
- }
457
-
458
- // argument resolver for curryArgs3
459
- const curryArgs3ResolveArgs1 = (
460
- baseFunc, arg0, arg2,
461
- ) => function arg1Resolver(...args) {
462
- return baseFunc(arg0, args, arg2)
463
- }
464
-
465
- // argument resolver for curryArgs3
466
- const curryArgs3ResolveArgs2 = (
467
- baseFunc, arg0, arg1,
468
- ) => function arg2Resolver(...args) {
469
- return baseFunc(arg0, arg1, args)
470
- }
471
-
472
- const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
473
- if (arg0 == __) {
474
- return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
475
- }
476
- if (arg1 == __) {
477
- return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
478
- }
479
- return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
480
- }
481
-
482
503
  const switchCase = (...args) => {
483
504
  const values = args.pop()
484
505
  if (areAllValuesNonfunctions(values)) {
@@ -707,6 +728,7 @@ const objectMapSeries = function (object, f) {
707
728
  thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
708
729
  ))
709
730
  }
731
+ result[key] = resultItem
710
732
  }
711
733
  return result
712
734
  }
@@ -801,15 +823,14 @@ const tapSync = func => function tapping(...args) {
801
823
  const promiseRace = Promise.race.bind(Promise)
802
824
 
803
825
  const arrayMapPoolAsync = async function (
804
- array, mapper, concurrencyLimit, result, index, promises,
826
+ array, f, concurrencyLimit, result, index, promises,
805
827
  ) {
806
828
  const arrayLength = array.length
807
829
  while (++index < arrayLength) {
808
830
  if (promises.size >= concurrencyLimit) {
809
831
  await promiseRace(promises)
810
832
  }
811
-
812
- const resultItem = mapper(array[index])
833
+ const resultItem = f(array[index])
813
834
  if (isPromise(resultItem)) {
814
835
  const selfDeletingPromise = resultItem.then(
815
836
  tapSync(() => promises.delete(selfDeletingPromise)))
@@ -822,13 +843,12 @@ const arrayMapPoolAsync = async function (
822
843
  return promiseAll(result)
823
844
  }
824
845
 
825
- const arrayMapPool = function (array, mapper, concurrentLimit) {
846
+ const arrayMapPool = function (array, concurrency, f) {
826
847
  const arrayLength = array.length,
827
848
  result = Array(arrayLength)
828
849
  let index = -1
829
850
  while (++index < arrayLength) {
830
-
831
- const resultItem = mapper(array[index])
851
+ const resultItem = f(array[index])
832
852
  if (isPromise(resultItem)) {
833
853
  const promises = new Set(),
834
854
  selfDeletingPromise = resultItem.then(
@@ -836,13 +856,167 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
836
856
  promises.add(selfDeletingPromise)
837
857
  result[index] = selfDeletingPromise
838
858
  return arrayMapPoolAsync(
839
- array, mapper, concurrentLimit, result, index, promises)
859
+ array, f, concurrency, result, index, promises)
840
860
  }
841
861
  result[index] = resultItem
842
862
  }
843
863
  return result
844
864
  }
845
865
 
866
+ const stringMapPool = function (s, concurrency, f) {
867
+ const result = arrayMapPool(s, concurrency, f)
868
+ return isPromise(result)
869
+ ? result.then(curry3(callPropUnary, __, 'join', ''))
870
+ : result.join('')
871
+ }
872
+
873
+ const _setMapPoolAsync = async function (
874
+ s, iterator, concurrency, f, result, promises,
875
+ ) {
876
+ let iteration = iterator.next()
877
+ while (!iteration.done) {
878
+ if (promises.size >= concurrency) {
879
+ await promiseRace(promises)
880
+ }
881
+ const resultItem = f(iteration.value, iteration.value, s)
882
+ if (isPromise(resultItem)) {
883
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
884
+ promises.delete(selfDeletingPromise)
885
+ result.add(resolvedValue)
886
+ })
887
+ promises.add(selfDeletingPromise)
888
+ } else {
889
+ result.add(resultItem)
890
+ }
891
+ iteration = iterator.next()
892
+ }
893
+ if (promises.size > 0) {
894
+ await promiseAll(promises)
895
+ }
896
+ return result
897
+ }
898
+
899
+ const setMapPool = function (s, concurrency, f) {
900
+ const result = new Set()
901
+ const iterator = s[symbolIterator]()
902
+ let iteration = iterator.next()
903
+ while (!iteration.done) {
904
+ const resultItem = f(iteration.value, iteration.value, s)
905
+ if (isPromise(resultItem)) {
906
+ const promises = new Set()
907
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
908
+ promises.delete(selfDeletingPromise)
909
+ result.add(resolvedValue)
910
+ })
911
+ promises.add(selfDeletingPromise)
912
+ return _setMapPoolAsync(s, iterator, concurrency, f, result, promises)
913
+ }
914
+ result.add(resultItem)
915
+ iteration = iterator.next()
916
+ }
917
+ return result
918
+ }
919
+
920
+ const _mapMapPoolAsync = async function (
921
+ m, iterator, concurrency, f, result, promises,
922
+ ) {
923
+ let iteration = iterator.next()
924
+ while (!iteration.done) {
925
+ if (promises.size >= concurrency) {
926
+ await promiseRace(promises)
927
+ }
928
+ const key = iteration.value[0]
929
+ const resultItem = f(iteration.value[1], key, m)
930
+ if (isPromise(resultItem)) {
931
+ result.set(key, resultItem)
932
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
933
+ promises.delete(selfDeletingPromise)
934
+ result.set(key, resolvedValue)
935
+ })
936
+ promises.add(selfDeletingPromise)
937
+ } else {
938
+ result.set(key, resultItem)
939
+ }
940
+ iteration = iterator.next()
941
+ }
942
+ if (promises.size > 0) {
943
+ await promiseAll(promises)
944
+ }
945
+ return result
946
+ }
947
+
948
+ const mapMapPool = function (m, concurrency, f) {
949
+ const result = new Map()
950
+ const iterator = m[symbolIterator]()
951
+ let iteration = iterator.next()
952
+ while (!iteration.done) {
953
+ const key = iteration.value[0]
954
+ const resultItem = f(iteration.value[1], key, m)
955
+ if (isPromise(resultItem)) {
956
+ const promises = new Set()
957
+ result.set(key, resultItem)
958
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
959
+ promises.delete(selfDeletingPromise)
960
+ result.set(key, resolvedValue)
961
+ })
962
+ promises.add(selfDeletingPromise)
963
+ return _mapMapPoolAsync(m, iterator, concurrency, f, result, promises)
964
+ }
965
+ result.set(key, resultItem)
966
+ iteration = iterator.next()
967
+ }
968
+ return result
969
+ }
970
+
971
+ const _objectMapPoolAsync = async function (
972
+ o, concurrency, f, result, doneKeys, promises,
973
+ ) {
974
+ for (const key in o) {
975
+ if (key in doneKeys) {
976
+ continue
977
+ }
978
+ if (promises.size >= concurrency) {
979
+ await promiseRace(promises)
980
+ }
981
+ const resultItem = f(o[key], key, o)
982
+ if (isPromise(resultItem)) {
983
+ result[key] = resultItem
984
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
985
+ promises.delete(selfDeletingPromise)
986
+ result[key] = resolvedValue
987
+ })
988
+ promises.add(selfDeletingPromise)
989
+ } else {
990
+ result[key] = resultItem
991
+ }
992
+ }
993
+ if (promises.size > 0) {
994
+ await promiseAll(promises)
995
+ }
996
+ return result
997
+ }
998
+
999
+ const objectMapPool = function (o, concurrency, f) {
1000
+ const result = {}
1001
+ const doneKeys = {}
1002
+ for (const key in o) {
1003
+ doneKeys[key] = true
1004
+ const resultItem = f(o[key], key, o)
1005
+ if (isPromise(resultItem)) {
1006
+ const promises = new Set()
1007
+ result[key] = resultItem
1008
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
1009
+ promises.delete(selfDeletingPromise)
1010
+ result[key] = resolvedValue
1011
+ })
1012
+ promises.add(selfDeletingPromise)
1013
+ return _objectMapPoolAsync(o, concurrency, f, result, doneKeys, promises)
1014
+ }
1015
+ result[key] = resultItem
1016
+ }
1017
+ return result
1018
+ }
1019
+
846
1020
  const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
847
1021
  const argsLength = args.length,
848
1022
  curriedArgsLength = curriedArgs.length,
@@ -978,7 +1152,7 @@ const _map = function (value, mapper) {
978
1152
  }
979
1153
 
980
1154
  const map = function (arg0, arg1) {
981
- if (typeof arg0 == 'function') {
1155
+ if (arg1 == null) {
982
1156
  return curry2(_map, __, arg0)
983
1157
  }
984
1158
  return isPromise(arg0)
@@ -1001,7 +1175,7 @@ const _mapEntries = (value, mapper) => {
1001
1175
  }
1002
1176
 
1003
1177
  map.entries = function mapEntries(arg0, arg1) {
1004
- if (typeof arg0 == 'function') {
1178
+ if (arg1 == null) {
1005
1179
  return curry2(_mapEntries, __, arg0)
1006
1180
  }
1007
1181
  return isPromise(arg0)
@@ -1033,7 +1207,7 @@ const _mapSeries = function (collection, f) {
1033
1207
  }
1034
1208
 
1035
1209
  map.series = function mapSeries(arg0, arg1) {
1036
- if (typeof arg0 == 'function') {
1210
+ if (arg1 == null) {
1037
1211
  return curry2(_mapSeries, __, arg0)
1038
1212
  }
1039
1213
  return isPromise(arg0)
@@ -1041,11 +1215,35 @@ map.series = function mapSeries(arg0, arg1) {
1041
1215
  : _mapSeries(arg0, arg1)
1042
1216
  }
1043
1217
 
1044
- map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
1045
- if (isArray(value)) {
1046
- return arrayMapPool(value, mapper, concurrencyLimit)
1218
+ const _mapPool = function (collection, concurrency, f) {
1219
+ if (isArray(collection)) {
1220
+ return arrayMapPool(collection, concurrency, f)
1221
+ }
1222
+ if (collection == null) {
1223
+ throw new TypeError(`invalid collection ${collection}`)
1224
+ }
1225
+ if (typeof collection == 'string' || collection.constructor == String) {
1226
+ return stringMapPool(collection, concurrency, f)
1227
+ }
1228
+ if (collection.constructor == Set) {
1229
+ return setMapPool(collection, concurrency, f)
1230
+ }
1231
+ if (collection.constructor == Map) {
1232
+ return mapMapPool(collection, concurrency, f)
1233
+ }
1234
+ if (collection.constructor == Object) {
1235
+ return objectMapPool(collection, concurrency, f)
1236
+ }
1237
+ throw new TypeError(`invalid collection ${collection}`)
1238
+ }
1239
+
1240
+ map.pool = function mapPool(arg0, arg1, arg2) {
1241
+ if (arg2 == null) {
1242
+ return curry3(_mapPool, __, arg0, arg1)
1047
1243
  }
1048
- throw new TypeError(`${value} is not an Array`)
1244
+ return isPromise(arg0)
1245
+ ? arg0.then(curry3(_mapPool, __, arg1, arg2))
1246
+ : _mapPool(arg0, arg1, arg2)
1049
1247
  }
1050
1248
 
1051
1249
  const FilteringIterator = (iterator, predicate) => ({
@@ -2152,7 +2350,8 @@ const _forEach = function (collection, callback) {
2152
2350
  return collection
2153
2351
  }
2154
2352
  if (typeof collection.forEach == 'function') {
2155
- return collection.forEach(callback)
2353
+ collection.forEach(callback)
2354
+ return collection
2156
2355
  }
2157
2356
  if (typeof collection[symbolIterator] == 'function') {
2158
2357
  return iteratorForEach(collection[symbolIterator](), callback)
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.5.0
2
+ * rubico v2.6.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
- !function(n,t){for(const e in t)n[e]=t[e]}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=function(t){const e=t.length;let o=-1;for(;++o<e;){const e=t[o];if(n(e))return!0}return!1},e=Promise.all.bind(Promise),o=(t,e)=>function(...o){const r=t(...o);return n(r)?r.then(e):e(r)},r=(n,t)=>n(...t),u=Symbol.for("placeholder"),c=function(n,t,e){return t==u?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},i=(n,t)=>function(){return n(...t)},s=(n,t,e)=>n?t():e(),l=function(n,t,e,o){return t==u?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==u?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},h=function(n,t,e){return t==u?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},a=function(t,e){const o=t[0],r=e(...t);return n(r)?r.then(f(o)):o},p=function(...n){const t=n.pop();return 0==n.length?h(a,u,t):a(n,t)};p.if=(t,e)=>function(...o){const r=t(...o);if(n(r))return r.then(l(s,u,i(p(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};const y=Array.isArray,d=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=t[c](...o);n(e)&&(f=!0),u[c]=e}return f?e(u):u},g=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},w=function(n,t,e){return n[t]=e,n},v=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=t[r](...e);o[r]=n(u)?await u:u}return o},x=function(t,e){const r=t.length,c=[];let f=-1;for(;++f<r;){const r=t[f](...e);if(n(r))return r.then(o(l(w,c,f,u),g(v,t,e,u,f)));c[f]=r}return c},b=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(w,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},j=function(...n){const o=n.pop();return 0==n.length?y(o)?h(d,o,u):h(b,o,u):t(n)?y(o)?e(n).then(c(d,o,u)):e(n).then(c(b,o,u)):y(o)?d(o,n):b(o,n)};j.series=function(...n){const o=n.pop();return 0==n.length?h(x,o,u):t(n)?e(n).then(c(x,o,u)):x(o,n)};const S=Object.assign,M=function(t,e){const o=b(e,[t]);return n(o)?o.then(l(S,{},t,u)):{...t,...o}},O=function(n,t,e){return n(t,...e)},m=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(O,e,u,o)):r}catch(n){return e(n,...o)}},A=(n,t,e,o)=>function(){return n(t,e,o)},E=function(t,e,o){const r=t.length-1;for(;(o+=2)<r;){const r=t[o],c=t[o+1],h="function"==typeof r?r(...e):r;if(n(h))return h.then(l(s,u,"function"==typeof c?i(c,e):f(c),A(E,t,e,o)));if(h)return"function"==typeof c?c(...e):c}if(o==t.length)return;const c=t[r];return"function"==typeof c?c(...e):c},z=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},I=(n,t,e)=>function(){return n(t,e)},T=function(t,e){const o=t.length,r=o-1;for(;(e+=2)<r;){const o=t[e],r=t[e+1];if(n(o))return o.then(l(s,u,f(r),I(T,t,e)));if(o)return r}if(e!=o)return t[e]},D=Symbol.iterator,P=(n,t)=>({toString:()=>"[object MappingIterator]",[D](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),B=n=>({value:n,done:!1}),$=Symbol.asyncIterator,k=(t,e)=>({[$](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(B):{value:r,done:!1}}}),C=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=o(t[c],c,t);n(e)&&(f=!0),u[c]=e}return f?e(u):u},_=(n,t,e)=>n[t](e),q=function(t,o){const r=new Set,c=[];for(const e of t){const f=o(e,e,t);n(f)?c.push(f.then(l(_,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},F=(n,t,e,o)=>n[t](e,o),R=t=>new Promise((t=>function(e){const o={};let r=0;for(const u in t){const c=t[u];n(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(t)),V=function(t,e){const o={};let r=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(r=!0),o[u]=c}return r?R(o):o},G=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=e(t[r],r);o[r]=n(u)?await u:u}return o},H=function(t,e){const r=t.length,c=Array(r);let f=-1;for(;++f<r;){const r=e(t[f],f);if(n(r))return r.then(o(l(w,c,f,u),g(G,t,e,u,f)));c[f]=r}return c},J=(n,t,e,o,r)=>function(){return n(t,e,o,r)},K=async function(t,e,o,r){for(const u in t){if(u in r)continue;let c=e(t[u]);n(c)&&(c=await c),o[u]=c}return o},L=function(n,t){return n.add(t),n},N=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value);n(u)&&(u=await u),o.add(u),r=t.next()}return o},Q=function(n,t,e){return n.set(t,e)},U=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value[1]);n(u)&&(u=await u),o.set(r.value[0],u),r=t.next()}return o},W=n=>function(...t){return n(...t),t[0]},X=Promise.race.bind(Promise),Y=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await X(f);const e=o(t[c]);if(n(e)){const n=e.then(W((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},Z=(n,t,e)=>function(...o){const r=e.length,c=o.length,f=[];let i=-1,s=-1,l=0;for(;++i<r;){const r=e[i];if(r==u&&(s+=1)<c){const n=o[s];n==u&&(l+=1),f.push(n)}else f.push(r);if(f.length==n)return 0==l?t(...f):nn(n,t,f)}for(;++s<c;){const e=o[s];if(e==u&&(l+=1),f.push(e),f.length==n)return 0==l?t(...f):nn(n,t,f)}return nn(n,t,f)},nn=function(n,t,e){const o=e.length;if(o<n)return Z(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return Z(n,t,e)}return t(...e)},tn=n=>function([t,e]){return n(t,e)},en=function(t,o){const r=new Map,u=[];return t.forEach(((t,e,o)=>function(r,u){const c=t([u,r]);n(c)?o.push(c.then(tn(nn(3,Q,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},on=function(t,o){return y(t)?C(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const o=C(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?q(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(g(F,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[D]?P(t[D](),o):"function"==typeof t[$]?k(t[$](),o):t.constructor==Object?V(t,o):o(t)},rn=function(t,e){return"function"==typeof t?c(on,u,t):n(t)?t.then(c(on,u,e)):on(t,e)},un=(t,o)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,o){const r={},u=[];for(const e in t){const c=o([e,t[e]]);n(c)?u.push(c.then(tn(nn(3,w,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(t,o);if(t.constructor==Map)return en(t,o);throw new TypeError("value is not an Object or Map")};rn.entries=function(t,e){return"function"==typeof t?c(un,u,t):n(t)?t.then(c(un,u,e)):un(t,e)};const cn=function(t,e){if(y(t))return H(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e){const o=H(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,e);if(t.constructor==Set)return function(t,e){const r=new Set,f=t[D]();let i=f.next();for(;!i.done;){const t=e(i.value);if(n(t))return t.then(o(c(L,r,u),A(N,f,e,r)));r.add(t),i=f.next()}return r}(t,e);if(t.constructor==Map)return function(t,e){const r=new Map,c=t[D]();let f=c.next();for(;!f.done;){const t=f.value[0],i=e(f.value[1]);if(n(i))return i.then(o(l(Q,r,t,u),A(U,c,e,r)));r.set(t,i),f=c.next()}return r}(t,e);if(t.constructor==Object)return function(t,e){const r={},c={};for(const f in t){c[f]=!0;const i=e(t[f],f,t);if(n(i))return i.then(o(l(w,r,f,u),J(K,t,e,r,c)))}return r}(t,e);throw new TypeError(`invalid collection ${t}`)};rn.series=function(t,e){return"function"==typeof t?c(cn,u,t):n(t)?t.then(c(cn,u,e)):cn(t,e)},rn.pool=(t,e)=>function(o){if(y(o))return function(t,e,o){const r=t.length,u=Array(r);let c=-1;for(;++c<r;){const r=e(t[c]);if(n(r)){const n=new Set,f=r.then(W((()=>n.delete(f))));return n.add(f),u[c]=f,Y(t,e,o,u,c,n)}u[c]=r}return u}(o,e,t);throw new TypeError(`${o} is not an Array`)};const fn=(n,t)=>({[D](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),sn=(t,e)=>({isAsyncIteratorDone:!1,[$](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await t.next();if(r)this.isAsyncIteratorDone=!0;else{const t=e(o);if(n(t)?await t:t)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),ln=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},hn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},an=function(t,o){const r=t.length,c=[];let f=-1,i=-1;for(;++f<r;){const r=t[f],s=o(r,f,t);if(n(s))return e(ln([s],t,o,f)).then(g(hn,t,c,f-1,u));s&&(c[++i]=r)}return c},pn=(n,t)=>function(){return n(t)},yn=function(){},dn=function(n,t,e,o){o&&(n[t]=e)},gn=function(t,o){return y(t)?an(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=an(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?function(t,o){const r=new Set,c=r.add.bind(r),i=[];for(const e of t){const f=o(e,e,t);n(f)?i.push(f.then(l(s,u,pn(c,e),yn))):f&&r.add(e)}return 0==i.length?r:e(i).then(f(r))}(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(l(s,u,J(F,r,"set",e,f),yn))):i&&r.set(e,f)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t.filter?t.filter(o):"function"==typeof t[D]?fn(t[D](),o):"function"==typeof t[$]?sn(t[$](),o):t.constructor==Object?function(t,o){const r={},c=[];for(const e in t){const f=t[e],i=o(f,e,t);n(i)?c.push(i.then(g(dn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},wn=Object.values,vn=(Object.prototype.toString,async function(t,e,o){let r=t.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),n(o)&&(o=await o),r=t.next();return o}),xn=async function(t,e,o,r){const u=t.length;for(;++r<u;)o=e(o,t[r],r,t),n(o)&&(o=await o);return o},bn=Object.keys,jn=async function(t,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,t[c],c,t),n(o)&&(o=await o)}return o},Sn=async function(t,e,o,r){for(const[u,c]of r)o=e(o,c,u,t),n(o)&&(o=await o);return o},Mn=function(t,e,o){return y(t)?function(t,e,o){const r=t.length;let c=-1;for(void 0===o&&(o=t[++c]);++c<r;)if(o=e(o,t[c],c,t),n(o))return o.then(g(xn,t,e,u,c));return o}(t,e,o):null==t?void 0===o?c(e,t,u):e(o,t):t.constructor==Map?function(t,e,o){const r=t.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[c,f]of r)if(o=e(o,f,c,t),n(o))return o.then(g(Sn,t,e,u,r));return o}(t,e,o):"function"==typeof t[D]?function(t,e,o){let r=t.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=t.next());!r.done;){if(o=e(o,r.value),n(o))return o.then(l(vn,t,e,u));r=t.next()}return o}(t[D](),e,o):"function"==typeof t[$]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(t[$](),e,o):"function"==typeof t.reduce?t.reduce(e,o):"function"==typeof t.chain?t.chain(c(e,o,u)):"function"==typeof t.flatMap?t.flatMap(c(e,o,u)):t.constructor==Object?function(t,e,o){const r=bn(t),c=r.length;let f=-1;for(void 0===o&&(o=t[r[++f]]);++f<c;){const c=r[f];if(o=e(o,t[c],c,t),n(o))return o.then((i=jn,l=e,h=u,a=r,p=f,(s=t)==u?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==u?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==u?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==u?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(t,e,o):void 0===o?c(e,t,u):e(o,t)},On=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Mn,t,e,u)):Mn(t,e,r)}return n(o)?o.then(l(Mn,t,e,u)):Mn(t,e,o)},mn=ArrayBuffer.isView,An=function(n,t){return y(t)||mn(t)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(n,t):(n.push(t),n)},En="function"==typeof Buffer,zn=En?Buffer.alloc:yn,In=function(n,t){const e=n.length,o=En&&n.constructor==Buffer?zn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},Tn=function(n,t){return y(t)||mn(t)?In(n,t):In(n,[t])},Dn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",pn(e,n)),t.on("error",o)})(n,t)),Pn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Dn(n,t):(n.write(t),n);var e},Bn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},$n=function(n,t){return n.concat(t)},kn=function(t,e,o){const r=Mn(t,e(yn),null);return n(r)?r.then(f(o)):o},Cn=function(t,e,o){if(y(o))return Mn(t,e(An),o);if(mn(o)){const r=Mn(t,e(An),[]);return n(r)?r.then(c(Tn,o,u)):Tn(o,r)}if(null==o)return kn(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=Mn(t,e(An),[o]);return n(r)?r.then(l(_,u,"join","")):r.join("")}return"function"==typeof o.concat?Mn(t,e($n),o):"function"==typeof o.write?Mn(t,e(Pn),o):r==Set?Mn(t,e(Bn),o):r==Object?Mn(t,e(S),o):kn(t,e,o)},_n=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Cn,t,e,u)):Cn(t,e,r)}return n(o)?o.then(l(Cn,t,e,u)):Cn(t,e,o)},qn=function(n,t){return n.push(t),n},Fn=n=>new Promise((t=>{setTimeout(t,n)})),Rn=(n,t)=>t,Vn=n=>n,Gn=(n,t)=>function(...e){return t(n(...e))},Hn=async function(t,o){const r=[];for await(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))},Jn=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(y(e)){const n=e.length;let t=-1;for(;++t<n;)i.push(e[t])}else if(null==e)i.push(e);else if("function"==typeof e.then)r.push(e.then(c(qn,i,u)));else if("function"==typeof e[D])for(const n of e)i.push(n);else if("function"==typeof e[$])r.push(Hn(e[$](),c(qn,i,u)));else if("function"==typeof e.chain){const t=e.chain(Vn);n(t)?r.push(t.then(c(qn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Vn);n(t)?r.push(t.then(c(qn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Gn(Rn,c(qn,i,u)),null);n(t)&&r.push(t)}else if(e.constructor==Object)for(const n in e)i.push(e[n]);else i.push(e)}return 0==r.length?i:e(r).then(f(i))},Kn=function(t){const o=[],r={},f=c(S,r,u),i=Gn(Rn,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[D])for(const n of u)S(r,n);else if("function"==typeof u[$])o.push(Hn(u[$](),f));else if("function"==typeof u.chain){const t=u.chain(Vn);n(t)?o.push(t.then(f)):S(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(Vn);n(t)?o.push(t.then(f)):f(t)}else if("function"==typeof u.reduce){const t=u.reduce(i,null);n(t)&&o.push(t)}else S(r,u)}return 0==o.length?r:e(o).then((()=>r))},Ln=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(_,r,"add",u);for(const e of t)if(y(e)){const n=e.length;let t=-1;for(;++t<n;)r.add(e[t])}else if(null==e)r.add(e);else if("function"==typeof e[D])for(const n of e)r.add(n);else if("function"==typeof e[$])o.push(Hn(e[$](),f));else if("function"==typeof e.chain){const t=e.chain(Vn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Vn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.reduce){const t=e.reduce(c,null);n(t)&&o.push(t)}else if(e.constructor==Object)for(const n in e)r.add(e[n]);else r.add(e);return 0==o.length?r:e(o).then((()=>r))},Nn=o(Jn,c(((n,t)=>n.join(t)),u,"")),Qn=function(t,e){if(y(t))return function(t,e){const o=C(t,e);return n(o)?o.then(Jn):Jn(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return D in t?function(n,t){let e=[],o=0;return{[D](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=Mn(t(r.value),qn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(t,e):function(t,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[$](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:c,done:f}=await t.next();if(f)this.isAsyncIteratorDone=f;else{const t=e(c);if(n(t)){const n=t.then(l(Mn,u,qn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=Mn(t,qn,o);if(n(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await X([Fn(1e3),...r])}return{value:void 0,done:!0}}}}(t,e);if("function"==typeof t.chain)return t.chain(e);if("function"==typeof t.flatMap)return t.flatMap(e);const o=t.constructor;return o==Object?function(t,e){const o=V(t,e);return n(o)?o.then(Kn):Kn(o)}(t,e):o==Set?function(t,e){const o=q(t,e);return n(o)?o.then(Ln):Ln(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=C(t,e);return n(o)?o.then(Nn):Nn(o)}(t,e):e(t)},Un=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},Wn=async function(t,e,o){for(const r in t){if(r in o)continue;const u=e(t[r]);n(u)&&await u}return t},Xn=async function(t,e){let o=t.next();for(;!o.done;){const r=e(o.value);n(r)&&await r,o=t.next()}return t},Yn=function(t,o){return y(t)?function(t,o){const r=t.length,u=[];let c=-1;for(;++c<r;){const e=o(t[c]);n(e)&&u.push(e)}return 0==u.length?t:e(u).then(f(t))}(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))}(t[D](),o):"function"==typeof t[$]?Hn(t[$](),o):t.constructor==Object?function(t,o){const r=[];for(const e in t){const u=o(t[e]);n(u)&&r.push(u)}return 0==r.length?t:e(r).then(f(t))}(t,o):t},Zn=function(t,e){return"function"==typeof t?c(Yn,u,t):n(t)?t.then(c(Yn,u,e)):Yn(t,e)},nt=function(t,e){if(y(t))return function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return o.then(A(Un,t,e,r))}return t}(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("function"==typeof t[D])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(I(Xn,t,e));o=t.next()}return t}(t[D](),e);if("function"==typeof t[$])return async function(t,e){for await(const o of t){const t=e(o);n(t)&&await t}return t}(t[$](),e);if(t.constructor==Object)return function(t,e){const o={};for(const r in t){o[r]=!0;const u=e(t[r]);if(n(u))return u.then(A(Wn,t,e,o))}return t}(t,e);throw new TypeError(`invalid collection ${t}`)};Zn.series=function(t,e){return"function"==typeof t?c(nt,u,t):n(t)?t.then(c(nt,u,e)):nt(t,e)};const tt=function(n){const t=n.then((n=>[n,t]));return t},et=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(tt(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await X(r);if(r.delete(t),n)return!0}return!1},ot=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return et(t,e,r,new Set([tt(o)]));if(o)return!0}return!1},rt=async function(t,e,o,r=20){let u=t.next();for(n(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await X(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(tt(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),n)return!0}return!1},ut=function(t,e){return y(t)?ot(t,e):null==t?e(t):"function"==typeof t[D]?function(t,e){for(const o of t){const r=e(o);if(n(r))return rt(t,e,new Set([tt(r)]));if(r)return!0}return!1}(t[D](),e):"function"==typeof t[$]?rt(t[$](),e,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!0===e?e:n(e)?e.then(c((n=>function(t,e){return!!t||n(e)})(t),u,o)):!!e||t(o)})(e),!1):t.constructor==Object?ot(wn(t),e):e(t)},ct=function(t,o){const r=t.length,c=[];let f=-1;for(;++f<r;){const e=o(t[f]);if(n(e))c.push(e);else if(!e)return!1}return 0==c.length||e(c).then(l(_,u,"every",Boolean))},ft=(n,t,e)=>!!t&&n(e),it=function(t,o){return y(t)?ct(t,o):null==t?o(t):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);if(n(t))r.push(t);else if(!t)return!1}return 0==r.length||e(r).then(l(_,u,"every",Boolean))}(t[D](),o):"function"==typeof t[$]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await X(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(tt(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),!n)return!1}return!0}(t[$](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(ft,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?ct(wn(t),o):o(t)},st=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,I(st,t,e),f(!1)));if(!o)return!1}return!0},lt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),!r)return!1}return!0},ht=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,A(lt,t,e,r),f(!1)));if(!o)return!1}return!0},at=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,f(!0),I(at,t,e)));if(o)return!0}return!1},pt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),r)return!0}return!1},yt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,f(!0),A(pt,t,e,r)));if(o)return!0}return!1},dt=n=>!n,gt=function(t,e){const o=e(...t);return n(o)?o.then(dt):!o},wt=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},vt=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(tn(o)):o(c,f)},xt=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(tn(o)):o(c,u)},bt=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(tn(o)):o(r,c)},jt=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?wt(vt,u,o,f,c):t(r)?e(r).then(g(vt,u,o,f,c)):vt(r,o,f,c):i?0==r.length?wt(xt,u,o,f,c):t(r)?e(r).then(g(xt,u,o,f,c)):xt(r,o,f,c):s?0==r.length?wt(bt,u,o,f,c):t(r)?e(r).then(g(bt,u,o,f,c)):bt(r,o,f,c):n(f)||n(c)?e([f,c]).then(tn(o)):o(f,c)},St=jt((function(n,t){return n==t})),Mt=jt(((n,t)=>n>t)),Ot=jt(((n,t)=>n<t)),mt=jt(((n,t)=>n>=t)),At=jt(((n,t)=>n<=t)),Et=/[.|[|\]]+/,zt=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split(Et):e?n.slice(1).split(Et):o?n.slice(0,t).split(Et):n.split(Et)}),500),It=n=>y(n)?n:"string"==typeof n?zt(n):[n],Tt=function(n,t){const e=It(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Dt=function(n,t,e){const o=null==n?void 0:Tt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Pt=function(n,t,e){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(n))return n;const o=It(e),r=o.length,u=r-1,c={...n};let f=c,i=-1;for(;++i<r;){const n=o[i];if(i==u)f[n]=t;else{const t=f[n],e=y(t)?t.slice():{...t};f[n]=e,f=e}}return c},Bt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Pt,t,u,e)):Pt(t,r,e)}return n(o)?o.then(l(Pt,t,u,e)):Pt(t,o,e)},$t=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=Tt(n,e);null!=u&&(o=Pt(o,u,e))}return o},kt=function(n,t){if(null==n)return;const e=It(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Ct=function(n){const t={};for(const e in n){const o=n[e];y(o)?t[e]=_t(o):null!=o&&o.constructor==Object?t[e]=Ct(o):t[e]=o}return t},_t=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];y(t)?e[o]=_t(t):null!=t&&t.constructor==Object?e[o]=Ct(t):e[o]=t}return e},qt=function(n,t){const e=t.length,o=y(r=n)?_t(r):null==r?r:r.constructor==Object?Ct(r):r;var r;let u=-1;for(;++u<e;)kt(o,t[u]);return o},Ft=(n,...t)=>nn(n.length,n,t);Ft.arity=function(n,t,...e){return nn(n,t,e)};return{pipe:function(...n){const f=n.pop().reduce(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},compose:function(...n){const f=n.pop().reduceRight(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},tap:p,forEach:Zn,switchCase:(...n)=>{const o=n.pop();return z(o)?T(o,-2):0==n.length?(r=E,f=u,i=-2,(c=o)==u?((n,t,e)=>function(...o){return n(o,t,e)})(r,f,i):f==u?((n,t,e)=>function(...o){return n(t,o,e)})(r,c,i):((n,t,e)=>function(...o){return n(t,e,o)})(r,c,f)):t(n)?e(n).then(l(E,o,u,-2)):E(o,n,-2);var r,c,f,i},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(m,r,o,u)):m(r,o,n)}const o=n[0],r=n[1];return function(...n){return m(o,r,n)}},all:j,assign:function(t,e){return null==e?c(M,u,t):n(t)?t.then(c(M,u,e)):M(t,e)},get:function(t,e,o){return"string"==typeof t||"number"==typeof t||y(t)?l(Dt,u,t,e):n(t)?t.then(l(Dt,u,e,o)):Dt(t,e,o)},set:function(t,e,o){return null==o?l(Bt,u,t,e):n(t)?t.then(l(Bt,u,e,o)):Bt(t,e,o)},pick:function(t,e){return null==e?c($t,u,t):n(t)?t.then(c($t,u,e)):$t(t,e)},omit:function(t,e){return null==e?c(qt,u,t):n(t)?t.then(c(qt,u,e)):qt(t,e)},map:rn,filter:function(n,t){return"function"==typeof n?c(gn,u,n):gn(n,t)},flatMap:(t,e)=>"function"==typeof t?c(Qn,u,t):n(t)?t.then(c(Qn,u,e)):Qn(t,e),reduce:function(...t){return"function"==typeof t[0]?l(On,u,t[0],t[1]):n(t[0])?t[0].then(l(On,u,t[1],t[2])):On(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(_n,u,t[0],t[1]):n(t[0])?t[0].then(l(_n,u,t[1],t[2])):_n(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return z(o)?st(o,-1):0==n.length?h(ht,u,o):t(n)?e(n).then(c(ht,u,o)):ht(n,o)},or:function(...n){const o=n.pop();return z(o)?at(o,-1):0==n.length?h(yt,u,o):t(n)?e(n).then(c(yt,u,o)):yt(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(gt,u,o):t(n)?e(n).then(c(gt,u,o)):gt(n,o):!o},some:function(t,e){return"function"==typeof t?c(ut,u,t):n(t)?t.then(c(ut,u,e)):ut(t,e)},every:function(t,e){return"function"==typeof t?c(it,u,t):n(t)?t.then(c(it,u,e)):it(t,e)},eq:St,gt:Mt,lt:Ot,gte:mt,lte:At,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Ft,__:u}}());
8
+ !function(n,t){for(const e in t)n[e]=t[e]}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=function(t){const e=t.length;let o=-1;for(;++o<e;){const e=t[o];if(n(e))return!0}return!1},e=Promise.all.bind(Promise),o=(t,e)=>function(...o){const r=t(...o);return n(r)?r.then(e):e(r)},r=(n,t)=>n(...t),u=Symbol.for("placeholder"),c=function(n,t,e){return t==u?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},i=(n,t)=>function(){return n(...t)},s=(n,t,e)=>n?t():e(),l=function(n,t,e,o){return t==u?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==u?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},h=function(n,t,e){return t==u?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},a=function(n,t,e,o){return t==u?((n,t,e)=>function(...o){return n(o,t,e)})(n,e,o):e==u?((n,t,e)=>function(...o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(...o){return n(t,e,o)})(n,t,e)},p=function(t,e){const o=t[0],r=e(...t);return n(r)?r.then(f(o)):o},d=function(...n){const o=n.pop();return 0==n.length?h(p,u,o):t(n)?e(n).then(c(p,u,o)):p(n,o)},y=function(t,e,o){const r=t(...o);if(n(r))return r.then(l(s,u,i(d(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};d.if=function(...n){if(2==n.length)return a(y,n[0],n[1],u);const o=n.length,r=n[o-1],c=n[o-2],f=n.slice(0,-2);return t(f)?e(f).then(l(y,c,r,u)):y(c,r,n)};const g=Array.isArray,w=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=t[c](...o);n(e)&&(f=!0),u[c]=e}return f?e(u):u},v=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},x=function(n,t,e){return n[t]=e,n},j=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=t[r](...e);o[r]=n(u)?await u:u}return o},b=function(t,e){const r=t.length,c=[];let f=-1;for(;++f<r;){const r=t[f](...e);if(n(r))return r.then(o(l(x,c,f,u),v(j,t,e,u,f)));c[f]=r}return c},S=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(x,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},M=function(...n){const o=n.pop();return 0==n.length?g(o)?h(w,o,u):h(S,o,u):t(n)?g(o)?e(n).then(c(w,o,u)):e(n).then(c(S,o,u)):g(o)?w(o,n):S(o,n)};M.series=function(...n){const o=n.pop();return 0==n.length?h(b,o,u):t(n)?e(n).then(c(b,o,u)):b(o,n)};const O=Object.assign,m=function(t,e){const o=S(e,[t]);return n(o)?o.then(l(O,{},t,u)):{...t,...o}},z=function(n,t,e){return n(t,...e)},A=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(z,e,u,o)):r}catch(n){return e(n,...o)}},E=(n,t,e,o)=>function(){return n(t,e,o)},T=function(t,e,o){const r=t.length-1;for(;(o+=2)<r;){const r=t[o],c=t[o+1],h="function"==typeof r?r(...e):r;if(n(h))return h.then(l(s,u,"function"==typeof c?i(c,e):f(c),E(T,t,e,o)));if(h)return"function"==typeof c?c(...e):c}if(o==t.length)return;const c=t[r];return"function"==typeof c?c(...e):c},I=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},D=(n,t,e)=>function(){return n(t,e)},P=function(t,e){const o=t.length,r=o-1;for(;(e+=2)<r;){const o=t[e],r=t[e+1];if(n(o))return o.then(l(s,u,f(r),D(P,t,e)));if(o)return r}if(e!=o)return t[e]},B=Symbol.iterator,$=(n,t)=>({toString:()=>"[object MappingIterator]",[B](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),k=n=>({value:n,done:!1}),C=Symbol.asyncIterator,_=(t,e)=>({[C](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(k):{value:r,done:!1}}}),q=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=o(t[c],c,t);n(e)&&(f=!0),u[c]=e}return f?e(u):u},F=(n,t,e)=>n[t](e),R=function(t,o){const r=new Set,c=[];for(const e of t){const f=o(e,e,t);n(f)?c.push(f.then(l(F,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},V=(n,t,e,o)=>n[t](e,o),G=t=>new Promise((t=>function(e){const o={};let r=0;for(const u in t){const c=t[u];n(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(t)),H=function(t,e){const o={};let r=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(r=!0),o[u]=c}return r?G(o):o},J=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=e(t[r],r);o[r]=n(u)?await u:u}return o},K=function(t,e){const r=t.length,c=Array(r);let f=-1;for(;++f<r;){const r=e(t[f],f);if(n(r))return r.then(o(l(x,c,f,u),v(J,t,e,u,f)));c[f]=r}return c},L=(n,t,e,o,r)=>function(){return n(t,e,o,r)},N=async function(t,e,o,r){for(const u in t){if(u in r)continue;let c=e(t[u]);n(c)&&(c=await c),o[u]=c}return o},Q=function(n,t){return n.add(t),n},U=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value);n(u)&&(u=await u),o.add(u),r=t.next()}return o},W=function(n,t,e){return n.set(t,e)},X=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value[1]);n(u)&&(u=await u),o.set(r.value[0],u),r=t.next()}return o},Y=n=>function(...t){return n(...t),t[0]},Z=Promise.race.bind(Promise),nn=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await Z(f);const e=o(t[c]);if(n(e)){const n=e.then(Y((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},tn=function(t,e,o){const r=t.length,u=Array(r);let c=-1;for(;++c<r;){const r=o(t[c]);if(n(r)){const n=new Set,f=r.then(Y((()=>n.delete(f))));return n.add(f),u[c]=f,nn(t,o,e,u,c,n)}u[c]=r}return u},en=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await Z(f);const e=u(i.value,i.value,t);if(n(e)){const n=e.then((t=>{f.delete(n),c.add(t)}));f.add(n)}else c.add(e);i=o.next()}return f.size>0&&await e(f),c},on=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await Z(f);const e=i.value[0],s=u(i.value[1],e,t);if(n(s)){c.set(e,s);const n=s.then((t=>{f.delete(n),c.set(e,t)}));f.add(n)}else c.set(e,s);i=o.next()}return f.size>0&&await e(f),c},rn=async function(t,o,r,u,c,f){for(const e in t){if(e in c)continue;f.size>=o&&await Z(f);const i=r(t[e],e,t);if(n(i)){u[e]=i;const n=i.then((t=>{f.delete(n),u[e]=t}));f.add(n)}else u[e]=i}return f.size>0&&await e(f),u},un=(n,t,e)=>function(...o){const r=e.length,c=o.length,f=[];let i=-1,s=-1,l=0;for(;++i<r;){const r=e[i];if(r==u&&(s+=1)<c){const n=o[s];n==u&&(l+=1),f.push(n)}else f.push(r);if(f.length==n)return 0==l?t(...f):cn(n,t,f)}for(;++s<c;){const e=o[s];if(e==u&&(l+=1),f.push(e),f.length==n)return 0==l?t(...f):cn(n,t,f)}return cn(n,t,f)},cn=function(n,t,e){const o=e.length;if(o<n)return un(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return un(n,t,e)}return t(...e)},fn=n=>function([t,e]){return n(t,e)},sn=function(t,o){const r=new Map,u=[];return t.forEach(((t,e,o)=>function(r,u){const c=t([u,r]);n(c)?o.push(c.then(fn(cn(3,W,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},ln=function(t,o){return g(t)?q(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const o=q(t,e);return n(o)?o.then(l(F,u,"join","")):o.join("")}(t,o):t.constructor==Set?R(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(v(V,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[B]?$(t[B](),o):"function"==typeof t[C]?_(t[C](),o):t.constructor==Object?H(t,o):o(t)},hn=function(t,e){return null==e?c(ln,u,t):n(t)?t.then(c(ln,u,e)):ln(t,e)},an=(t,o)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,o){const r={},u=[];for(const e in t){const c=o([e,t[e]]);n(c)?u.push(c.then(fn(cn(3,x,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(t,o);if(t.constructor==Map)return sn(t,o);throw new TypeError("value is not an Object or Map")};hn.entries=function(t,e){return null==e?c(an,u,t):n(t)?t.then(c(an,u,e)):an(t,e)};const pn=function(t,e){if(g(t))return K(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e){const o=K(t,e);return n(o)?o.then(l(F,u,"join","")):o.join("")}(t,e);if(t.constructor==Set)return function(t,e){const r=new Set,f=t[B]();let i=f.next();for(;!i.done;){const t=e(i.value);if(n(t))return t.then(o(c(Q,r,u),E(U,f,e,r)));r.add(t),i=f.next()}return r}(t,e);if(t.constructor==Map)return function(t,e){const r=new Map,c=t[B]();let f=c.next();for(;!f.done;){const t=f.value[0],i=e(f.value[1]);if(n(i))return i.then(o(l(W,r,t,u),E(X,c,e,r)));r.set(t,i),f=c.next()}return r}(t,e);if(t.constructor==Object)return function(t,e){const r={},c={};for(const f in t){c[f]=!0;const i=e(t[f],f,t);if(n(i))return i.then(o(l(x,r,f,u),L(N,t,e,r,c)));r[f]=i}return r}(t,e);throw new TypeError(`invalid collection ${t}`)};hn.series=function(t,e){return null==e?c(pn,u,t):n(t)?t.then(c(pn,u,e)):pn(t,e)};const dn=function(t,e,o){if(g(t))return tn(t,e,o);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e,o){const r=tn(t,e,o);return n(r)?r.then(l(F,u,"join","")):r.join("")}(t,e,o);if(t.constructor==Set)return function(t,e,o){const r=new Set,u=t[B]();let c=u.next();for(;!c.done;){const f=o(c.value,c.value,t);if(n(f)){const n=new Set,c=f.then((t=>{n.delete(c),r.add(t)}));return n.add(c),en(t,u,e,o,r,n)}r.add(f),c=u.next()}return r}(t,e,o);if(t.constructor==Map)return function(t,e,o){const r=new Map,u=t[B]();let c=u.next();for(;!c.done;){const f=c.value[0],i=o(c.value[1],f,t);if(n(i)){const n=new Set;r.set(f,i);const c=i.then((t=>{n.delete(c),r.set(f,t)}));return n.add(c),on(t,u,e,o,r,n)}r.set(f,i),c=u.next()}return r}(t,e,o);if(t.constructor==Object)return function(t,e,o){const r={},u={};for(const c in t){u[c]=!0;const f=o(t[c],c,t);if(n(f)){const n=new Set;r[c]=f;const i=f.then((t=>{n.delete(i),r[c]=t}));return n.add(i),rn(t,e,o,r,u,n)}r[c]=f}return r}(t,e,o);throw new TypeError(`invalid collection ${t}`)};hn.pool=function(t,e,o){return null==o?l(dn,u,t,e):n(t)?t.then(l(dn,u,e,o)):dn(t,e,o)};const yn=(n,t)=>({[B](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),gn=(t,e)=>({isAsyncIteratorDone:!1,[C](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await t.next();if(r)this.isAsyncIteratorDone=!0;else{const t=e(o);if(n(t)?await t:t)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),wn=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},vn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},xn=function(t,o){const r=t.length,c=[];let f=-1,i=-1;for(;++f<r;){const r=t[f],s=o(r,f,t);if(n(s))return e(wn([s],t,o,f)).then(v(vn,t,c,f-1,u));s&&(c[++i]=r)}return c},jn=(n,t)=>function(){return n(t)},bn=function(){},Sn=function(n,t,e,o){o&&(n[t]=e)},Mn=function(t,o){return g(t)?xn(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=xn(t,e);return n(o)?o.then(l(F,u,"join","")):o.join("")}(t,o):t.constructor==Set?function(t,o){const r=new Set,c=r.add.bind(r),i=[];for(const e of t){const f=o(e,e,t);n(f)?i.push(f.then(l(s,u,jn(c,e),bn))):f&&r.add(e)}return 0==i.length?r:e(i).then(f(r))}(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(l(s,u,L(V,r,"set",e,f),bn))):i&&r.set(e,f)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t.filter?t.filter(o):"function"==typeof t[B]?yn(t[B](),o):"function"==typeof t[C]?gn(t[C](),o):t.constructor==Object?function(t,o){const r={},c=[];for(const e in t){const f=t[e],i=o(f,e,t);n(i)?c.push(i.then(v(Sn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},On=Object.values,mn=(Object.prototype.toString,async function(t,e,o){let r=t.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),n(o)&&(o=await o),r=t.next();return o}),zn=async function(t,e,o,r){const u=t.length;for(;++r<u;)o=e(o,t[r],r,t),n(o)&&(o=await o);return o},An=Object.keys,En=async function(t,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,t[c],c,t),n(o)&&(o=await o)}return o},Tn=async function(t,e,o,r){for(const[u,c]of r)o=e(o,c,u,t),n(o)&&(o=await o);return o},In=function(t,e,o){return g(t)?function(t,e,o){const r=t.length;let c=-1;for(void 0===o&&(o=t[++c]);++c<r;)if(o=e(o,t[c],c,t),n(o))return o.then(v(zn,t,e,u,c));return o}(t,e,o):null==t?void 0===o?c(e,t,u):e(o,t):t.constructor==Map?function(t,e,o){const r=t.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[c,f]of r)if(o=e(o,f,c,t),n(o))return o.then(v(Tn,t,e,u,r));return o}(t,e,o):"function"==typeof t[B]?function(t,e,o){let r=t.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=t.next());!r.done;){if(o=e(o,r.value),n(o))return o.then(l(mn,t,e,u));r=t.next()}return o}(t[B](),e,o):"function"==typeof t[C]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(t[C](),e,o):"function"==typeof t.reduce?t.reduce(e,o):"function"==typeof t.chain?t.chain(c(e,o,u)):"function"==typeof t.flatMap?t.flatMap(c(e,o,u)):t.constructor==Object?function(t,e,o){const r=An(t),c=r.length;let f=-1;for(void 0===o&&(o=t[r[++f]]);++f<c;){const c=r[f];if(o=e(o,t[c],c,t),n(o))return o.then((i=En,l=e,h=u,a=r,p=f,(s=t)==u?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==u?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==u?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==u?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(t,e,o):void 0===o?c(e,t,u):e(o,t)},Dn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(In,t,e,u)):In(t,e,r)}return n(o)?o.then(l(In,t,e,u)):In(t,e,o)},Pn=ArrayBuffer.isView,Bn=function(n,t){return g(t)||Pn(t)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(n,t):(n.push(t),n)},$n="function"==typeof Buffer,kn=$n?Buffer.alloc:bn,Cn=function(n,t){const e=n.length,o=$n&&n.constructor==Buffer?kn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},_n=function(n,t){return g(t)||Pn(t)?Cn(n,t):Cn(n,[t])},qn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",jn(e,n)),t.on("error",o)})(n,t)),Fn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?qn(n,t):(n.write(t),n);var e},Rn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Vn=function(n,t){return n.concat(t)},Gn=function(t,e,o){const r=In(t,e(bn),null);return n(r)?r.then(f(o)):o},Hn=function(t,e,o){if(g(o))return In(t,e(Bn),o);if(Pn(o)){const r=In(t,e(Bn),[]);return n(r)?r.then(c(_n,o,u)):_n(o,r)}if(null==o)return Gn(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=In(t,e(Bn),[o]);return n(r)?r.then(l(F,u,"join","")):r.join("")}return"function"==typeof o.concat?In(t,e(Vn),o):"function"==typeof o.write?In(t,e(Fn),o):r==Set?In(t,e(Rn),o):r==Object?In(t,e(O),o):Gn(t,e,o)},Jn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Hn,t,e,u)):Hn(t,e,r)}return n(o)?o.then(l(Hn,t,e,u)):Hn(t,e,o)},Kn=function(n,t){return n.push(t),n},Ln=n=>new Promise((t=>{setTimeout(t,n)})),Nn=(n,t)=>t,Qn=n=>n,Un=(n,t)=>function(...e){return t(n(...e))},Wn=async function(t,o){const r=[];for await(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))},Xn=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(g(e)){const n=e.length;let t=-1;for(;++t<n;)i.push(e[t])}else if(null==e)i.push(e);else if("function"==typeof e.then)r.push(e.then(c(Kn,i,u)));else if("function"==typeof e[B])for(const n of e)i.push(n);else if("function"==typeof e[C])r.push(Wn(e[C](),c(Kn,i,u)));else if("function"==typeof e.chain){const t=e.chain(Qn);n(t)?r.push(t.then(c(Kn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Qn);n(t)?r.push(t.then(c(Kn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Un(Nn,c(Kn,i,u)),null);n(t)&&r.push(t)}else if(e.constructor==Object)for(const n in e)i.push(e[n]);else i.push(e)}return 0==r.length?i:e(r).then(f(i))},Yn=function(t){const o=[],r={},f=c(O,r,u),i=Un(Nn,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[B])for(const n of u)O(r,n);else if("function"==typeof u[C])o.push(Wn(u[C](),f));else if("function"==typeof u.chain){const t=u.chain(Qn);n(t)?o.push(t.then(f)):O(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(Qn);n(t)?o.push(t.then(f)):f(t)}else if("function"==typeof u.reduce){const t=u.reduce(i,null);n(t)&&o.push(t)}else O(r,u)}return 0==o.length?r:e(o).then((()=>r))},Zn=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(F,r,"add",u);for(const e of t)if(g(e)){const n=e.length;let t=-1;for(;++t<n;)r.add(e[t])}else if(null==e)r.add(e);else if("function"==typeof e[B])for(const n of e)r.add(n);else if("function"==typeof e[C])o.push(Wn(e[C](),f));else if("function"==typeof e.chain){const t=e.chain(Qn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Qn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.reduce){const t=e.reduce(c,null);n(t)&&o.push(t)}else if(e.constructor==Object)for(const n in e)r.add(e[n]);else r.add(e);return 0==o.length?r:e(o).then((()=>r))},nt=o(Xn,c(((n,t)=>n.join(t)),u,"")),tt=function(t,e){if(g(t))return function(t,e){const o=q(t,e);return n(o)?o.then(Xn):Xn(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return B in t?function(n,t){let e=[],o=0;return{[B](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=In(t(r.value),Kn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(t,e):function(t,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[C](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:c,done:f}=await t.next();if(f)this.isAsyncIteratorDone=f;else{const t=e(c);if(n(t)){const n=t.then(l(In,u,Kn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=In(t,Kn,o);if(n(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await Z([Ln(1e3),...r])}return{value:void 0,done:!0}}}}(t,e);if("function"==typeof t.chain)return t.chain(e);if("function"==typeof t.flatMap)return t.flatMap(e);const o=t.constructor;return o==Object?function(t,e){const o=H(t,e);return n(o)?o.then(Yn):Yn(o)}(t,e):o==Set?function(t,e){const o=R(t,e);return n(o)?o.then(Zn):Zn(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=q(t,e);return n(o)?o.then(nt):nt(o)}(t,e):e(t)},et=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},ot=async function(t,e,o){for(const r in t){if(r in o)continue;const u=e(t[r]);n(u)&&await u}return t},rt=async function(t,e){let o=t.next();for(;!o.done;){const r=e(o.value);n(r)&&await r,o=t.next()}return t},ut=function(t,o){return g(t)?function(t,o){const r=t.length,u=[];let c=-1;for(;++c<r;){const e=o(t[c]);n(e)&&u.push(e)}return 0==u.length?t:e(u).then(f(t))}(t,o):null==t?t:"function"==typeof t.forEach?(t.forEach(o),t):"function"==typeof t[B]?function(t,o){const r=[];for(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))}(t[B](),o):"function"==typeof t[C]?Wn(t[C](),o):t.constructor==Object?function(t,o){const r=[];for(const e in t){const u=o(t[e]);n(u)&&r.push(u)}return 0==r.length?t:e(r).then(f(t))}(t,o):t},ct=function(t,e){return"function"==typeof t?c(ut,u,t):n(t)?t.then(c(ut,u,e)):ut(t,e)},ft=function(t,e){if(g(t))return function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return o.then(E(et,t,e,r))}return t}(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("function"==typeof t[B])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(D(rt,t,e));o=t.next()}return t}(t[B](),e);if("function"==typeof t[C])return async function(t,e){for await(const o of t){const t=e(o);n(t)&&await t}return t}(t[C](),e);if(t.constructor==Object)return function(t,e){const o={};for(const r in t){o[r]=!0;const u=e(t[r]);if(n(u))return u.then(E(ot,t,e,o))}return t}(t,e);throw new TypeError(`invalid collection ${t}`)};ct.series=function(t,e){return"function"==typeof t?c(ft,u,t):n(t)?t.then(c(ft,u,e)):ft(t,e)};const it=function(n){const t=n.then((n=>[n,t]));return t},st=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(it(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await Z(r);if(r.delete(t),n)return!0}return!1},lt=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return st(t,e,r,new Set([it(o)]));if(o)return!0}return!1},ht=async function(t,e,o,r=20){let u=t.next();for(n(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await Z(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(it(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await Z(o);if(o.delete(t),n)return!0}return!1},at=function(t,e){return g(t)?lt(t,e):null==t?e(t):"function"==typeof t[B]?function(t,e){for(const o of t){const r=e(o);if(n(r))return ht(t,e,new Set([it(r)]));if(r)return!0}return!1}(t[B](),e):"function"==typeof t[C]?ht(t[C](),e,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!0===e?e:n(e)?e.then(c((n=>function(t,e){return!!t||n(e)})(t),u,o)):!!e||t(o)})(e),!1):t.constructor==Object?lt(On(t),e):e(t)},pt=function(t,o){const r=t.length,c=[];let f=-1;for(;++f<r;){const e=o(t[f]);if(n(e))c.push(e);else if(!e)return!1}return 0==c.length||e(c).then(l(F,u,"every",Boolean))},dt=(n,t,e)=>!!t&&n(e),yt=function(t,o){return g(t)?pt(t,o):null==t?o(t):"function"==typeof t[B]?function(t,o){const r=[];for(const e of t){const t=o(e);if(n(t))r.push(t);else if(!t)return!1}return 0==r.length||e(r).then(l(F,u,"every",Boolean))}(t[B](),o):"function"==typeof t[C]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await Z(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(it(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await Z(o);if(o.delete(t),!n)return!1}return!0}(t[C](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(dt,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?pt(On(t),o):o(t)},gt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,D(gt,t,e),f(!1)));if(!o)return!1}return!0},wt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),!r)return!1}return!0},vt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,E(wt,t,e,r),f(!1)));if(!o)return!1}return!0},xt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,f(!0),D(xt,t,e)));if(o)return!0}return!1},jt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),r)return!0}return!1},bt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,f(!0),E(jt,t,e,r)));if(o)return!0}return!1},St=n=>!n,Mt=function(t,e){const o=e(...t);return n(o)?o.then(St):!o},Ot=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},mt=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(fn(o)):o(c,f)},zt=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(fn(o)):o(c,u)},At=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(fn(o)):o(r,c)},Et=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?Ot(mt,u,o,f,c):t(r)?e(r).then(v(mt,u,o,f,c)):mt(r,o,f,c):i?0==r.length?Ot(zt,u,o,f,c):t(r)?e(r).then(v(zt,u,o,f,c)):zt(r,o,f,c):s?0==r.length?Ot(At,u,o,f,c):t(r)?e(r).then(v(At,u,o,f,c)):At(r,o,f,c):n(f)||n(c)?e([f,c]).then(fn(o)):o(f,c)},Tt=Et((function(n,t){return n==t})),It=Et(((n,t)=>n>t)),Dt=Et(((n,t)=>n<t)),Pt=Et(((n,t)=>n>=t)),Bt=Et(((n,t)=>n<=t)),$t=/[.|[|\]]+/,kt=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split($t):e?n.slice(1).split($t):o?n.slice(0,t).split($t):n.split($t)}),500),Ct=n=>g(n)?n:"string"==typeof n?kt(n):[n],_t=function(n,t){const e=Ct(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},qt=function(n,t,e){const o=null==n?void 0:_t(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Ft=function(n,t,e){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(n))return n;const o=Ct(e),r=o.length,u=r-1,c={...n};let f=c,i=-1;for(;++i<r;){const n=o[i];if(i==u)f[n]=t;else{const t=f[n],e=g(t)?t.slice():{...t};f[n]=e,f=e}}return c},Rt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Ft,t,u,e)):Ft(t,r,e)}return n(o)?o.then(l(Ft,t,u,e)):Ft(t,o,e)},Vt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=_t(n,e);null!=u&&(o=Ft(o,u,e))}return o},Gt=function(n,t){if(null==n)return;const e=Ct(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Ht=function(n){const t={};for(const e in n){const o=n[e];g(o)?t[e]=Jt(o):null!=o&&o.constructor==Object?t[e]=Ht(o):t[e]=o}return t},Jt=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];g(t)?e[o]=Jt(t):null!=t&&t.constructor==Object?e[o]=Ht(t):e[o]=t}return e},Kt=function(n,t){const e=t.length,o=g(r=n)?Jt(r):null==r?r:r.constructor==Object?Ht(r):r;var r;let u=-1;for(;++u<e;)Gt(o,t[u]);return o},Lt=(n,...t)=>cn(n.length,n,t);Lt.arity=function(n,t,...e){return cn(n,t,e)};return{pipe:function(...n){const f=n.pop().reduce(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},compose:function(...n){const f=n.pop().reduceRight(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},tap:d,forEach:ct,switchCase:(...n)=>{const o=n.pop();return I(o)?P(o,-2):0==n.length?a(T,o,u,-2):t(n)?e(n).then(l(T,o,u,-2)):T(o,n,-2)},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(A,r,o,u)):A(r,o,n)}const o=n[0],r=n[1];return function(...n){return A(o,r,n)}},all:M,assign:function(t,e){return null==e?c(m,u,t):n(t)?t.then(c(m,u,e)):m(t,e)},get:function(t,e,o){return"string"==typeof t||"number"==typeof t||g(t)?l(qt,u,t,e):n(t)?t.then(l(qt,u,e,o)):qt(t,e,o)},set:function(t,e,o){return null==o?l(Rt,u,t,e):n(t)?t.then(l(Rt,u,e,o)):Rt(t,e,o)},pick:function(t,e){return null==e?c(Vt,u,t):n(t)?t.then(c(Vt,u,e)):Vt(t,e)},omit:function(t,e){return null==e?c(Kt,u,t):n(t)?t.then(c(Kt,u,e)):Kt(t,e)},map:hn,filter:function(n,t){return"function"==typeof n?c(Mn,u,n):Mn(n,t)},flatMap:(t,e)=>"function"==typeof t?c(tt,u,t):n(t)?t.then(c(tt,u,e)):tt(t,e),reduce:function(...t){return"function"==typeof t[0]?l(Dn,u,t[0],t[1]):n(t[0])?t[0].then(l(Dn,u,t[1],t[2])):Dn(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(Jn,u,t[0],t[1]):n(t[0])?t[0].then(l(Jn,u,t[1],t[2])):Jn(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return I(o)?gt(o,-1):0==n.length?h(vt,u,o):t(n)?e(n).then(c(vt,u,o)):vt(n,o)},or:function(...n){const o=n.pop();return I(o)?xt(o,-1):0==n.length?h(bt,u,o):t(n)?e(n).then(c(bt,u,o)):bt(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(Mt,u,o):t(n)?e(n).then(c(Mt,u,o)):Mt(n,o):!o},some:function(t,e){return"function"==typeof t?c(at,u,t):n(t)?t.then(c(at,u,e)):at(t,e)},every:function(t,e){return"function"==typeof t?c(yt,u,t):n(t)?t.then(c(yt,u,e)):yt(t,e)},eq:Tt,gt:It,lt:Dt,gte:Pt,lte:Bt,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Lt,__:u}}());