Compare commits

...

313 Commits

Author SHA1 Message Date
John-David Dalton
fc22665dd8 Bump to v4.16.5. 2016-10-30 22:56:07 -07:00
John-David Dalton
7862e5ce2d Rebuild lodash and docs. 2016-10-30 22:56:04 -07:00
John-David Dalton
7cbffd5ebf Update deps. 2016-10-30 22:55:59 -07:00
John-David Dalton
5028267c72 Fix broken builds. 2016-10-29 18:32:24 -07:00
John-David Dalton
6f03ef955c Drop Node 4 testing in travis. 2016-10-29 18:32:24 -07:00
John-David Dalton
f75bf13ad1 Use ~ instead of $HOME. 2016-10-29 18:32:23 -07:00
John-David Dalton
d7dbf0951d Add another _.xor test for multiple arrays. 2016-10-29 18:32:23 -07:00
John-David Dalton
daf6de6a46 Add uncloneable Proxy constructor test. 2016-10-29 18:32:23 -07:00
John-David Dalton
7d4c3ed404 Add async function detection to _.isFunction. 2016-10-29 18:32:23 -07:00
John-David Dalton
a9fd17950a Add clear to the Map interface note of _.memoize. [ci skip] 2016-10-29 18:32:23 -07:00
John-David Dalton
b91a515258 Cleanup test labels. 2016-10-27 00:06:59 -07:00
John-David Dalton
bc5729a9de Use consistent nullish checks. 2016-10-27 00:06:59 -07:00
John-David Dalton
729d1a57aa Ensure _.xor works with more than two arrays. [closes #2758] 2016-10-27 00:06:59 -07:00
John-David Dalton
73e2562cd1 Add Node 7 testing to travis. 2016-10-26 00:51:34 -07:00
John-David Dalton
849423c9d8 Param doc format nits. [ci skip] 2016-10-25 23:13:40 -07:00
Richard Gibson
1c9a9f364d Avoid object mutation in getRawTag. [closes #2755] 2016-10-25 23:13:34 -07:00
John-David Dalton
e485e16d28 Update deps. 2016-10-25 14:30:33 -07:00
John-David Dalton
bc49e7fe18 Bump Chrome testing in Sauce. 2016-10-24 16:15:31 -07:00
John-David Dalton
6a9337434f Use travis jwt addon. 2016-10-24 16:15:31 -07:00
John-David Dalton
0c89b9aeb5 Update uglify-js to 2.7.4. 2016-10-24 10:17:49 -07:00
Josh Soref
6f7a8501cb Spelling. (#2745) 2016-10-20 12:15:15 -07:00
John-David Dalton
7a03898ffe Bump HOT_COUNT limit to improve fp debugging. 2016-10-19 16:22:32 -07:00
John-David Dalton
609ae34b4e Rename jQuery Foundation to JS Foundation. [ci skip] 2016-10-19 08:41:40 -07:00
John-David Dalton
2d21faf68a Update async to 2.1.2. 2016-10-19 08:41:36 -07:00
John-David Dalton
26ee0c5c2a Cleanup PhantomJS upgrade. 2016-10-15 23:32:13 -07:00
John-David Dalton
cafb5e1331 Avoid leaked var in _.before test. 2016-10-15 18:10:55 -07:00
John-David Dalton
7717b8aa64 Remove more quotes. 2016-10-15 18:10:55 -07:00
John-David Dalton
c82322c490 Fix amd test fails. 2016-10-15 18:10:50 -07:00
John-David Dalton
4af0c066ec Update async to 2.1.1. 2016-10-15 12:17:20 -07:00
John-David Dalton
d2b10de40b Bump Edge testing in Sauce. 2016-10-13 12:30:51 -07:00
John-David Dalton
26bfb74a60 Continue to configure npm. 2016-10-13 00:59:02 -07:00
John-David Dalton
ef129e4c8c Use semicolons in place of &&. 2016-10-13 00:48:07 -07:00
John-David Dalton
0b04309ea5 Use yarn. 2016-10-12 22:42:58 -07:00
John-David Dalton
fb4852f6db More travis cleanup. 2016-10-12 22:21:35 -07:00
John-David Dalton
5046943020 Remove extraneous quotes from travis.yml. 2016-10-12 19:50:55 -07:00
John-David Dalton
14d7f89f75 Remove mapping shortcut references. 2016-10-12 07:03:02 -07:00
John-David Dalton
d431e97030 fp.convert should handle aliased and remapped methods. [closes #2728] 2016-10-11 22:40:20 -07:00
John-David Dalton
8f06ea259a Tweak exit early in _.isFunction. 2016-10-10 10:34:38 -07:00
John-David Dalton
0a0fa58e2d Use isObjectLike instead of isObject. 2016-10-10 10:28:16 -07:00
John-David Dalton
286f1abb87 Use empty string instead of undefined. 2016-10-10 10:27:57 -07:00
John-David Dalton
a621ba236a Remove try-catches in tests where possible. 2016-10-10 08:13:15 -07:00
John-David Dalton
a041a3782d Remove unneeded IE conditional comments test. 2016-10-10 08:12:35 -07:00
John-David Dalton
9f8064a8b5 Add read-only Symbol.toStringTag test. 2016-10-09 23:35:46 -07:00
John-David Dalton
729f424622 Minor formatting nit. [ci skip] 2016-10-09 22:40:40 -07:00
John-David Dalton
6a8e978fd7 Remove unneeded _.isPlainObject test. 2016-10-09 22:32:20 -07:00
John-David Dalton
aea509c230 Add Symbol.toStringTag test for _.isPlainObject. 2016-10-09 22:25:33 -07:00
John-David Dalton
21113b8c87 Minor hyphen nit. [ci skip] 2016-10-09 22:25:01 -07:00
John-David Dalton
dcf6d382c4 Add missing realm.element. 2016-10-09 21:27:25 -07:00
John-David Dalton
c541598f40 Cleanup testing arguments objects. 2016-10-09 21:09:50 -07:00
John-David Dalton
bd8e38518f Add more _.isElement tests. 2016-10-09 20:24:48 -07:00
John-David Dalton
067036a359 Simplify isElement. 2016-10-09 20:24:36 -07:00
John-David Dalton
22b51ed232 Refine _.isError checks to avoid false positives on plain objects. 2016-10-09 20:06:03 -07:00
John-David Dalton
054e78572b Add support for ordinals to _.words. 2016-10-09 16:43:44 -07:00
John-David Dalton
31cb06a643 Move Symbol.toStringTag workaround to getRawTag. 2016-10-09 16:43:36 -07:00
John-David Dalton
ee4a5a2604 Make objectToString its own helper function. 2016-10-09 12:59:28 -07:00
John-David Dalton
05b60871c5 Minor toSource param description nit. [ci skip] 2016-10-09 12:37:22 -07:00
John-David Dalton
03a194fcb9 Make toStringTag checks resistant to spoofing. 2016-10-08 10:59:01 -07:00
John-David Dalton
52e96c38dc Exit early from _.isEmpty for nullish values. 2016-10-08 10:42:21 -07:00
John-David Dalton
f5dd98cac4 Clarify lodash build. 2016-10-08 10:41:35 -07:00
John-David Dalton
b890d40b54 Remove unneeded capture phase param from addEventListener. 2016-10-08 10:41:21 -07:00
John-David Dalton
457a0dc703 Update glob to 7.1.1. 2016-10-07 15:31:47 -07:00
John-David Dalton
e4837cd75d Increment package version to enable ci tests. 2016-10-07 08:15:21 -07:00
John-David Dalton
67b2c6f900 Bump to v4.16.4. 2016-10-05 23:20:11 -07:00
John-David Dalton
260a84c4d8 Rebuild lodash and docs. 2016-10-05 23:19:24 -07:00
John-David Dalton
4b0db6ec6c Update qunit-extras to 3.0.0. 2016-10-05 23:19:24 -07:00
John-David Dalton
9c4c194bb5 Replace Object.create mock with undefined to hit more bizarro code paths. 2016-10-05 23:19:24 -07:00
John-David Dalton
ac74a1ea15 Remove unneeded shim juggle. 2016-10-05 23:19:24 -07:00
John-David Dalton
e4ddf3e155 Add nested check to _.merge test for non-plain object source values. 2016-10-05 23:19:23 -07:00
John-David Dalton
896b27ef73 Remove unneeded bizarro tests. 2016-10-05 23:19:23 -07:00
John-David Dalton
bdf0b9f288 Cleanup Babel workaround. 2016-10-05 23:19:10 -07:00
John-David Dalton
1665e5cbff Add bizarro _.create test. 2016-10-05 17:22:31 -07:00
John-David Dalton
6e8c0de1ff Add buffer test for _.merge. 2016-10-05 15:36:36 -07:00
John-David Dalton
4fb41ac6a9 Update removed snippets for the coverage run. 2016-10-05 12:13:25 -07:00
John-David Dalton
af983b2dd3 Ensure _.negate test for multiple arguments hits the 4 arguments case. 2016-10-05 11:09:37 -07:00
John-David Dalton
405d5875b8 Add _.isEmpty test for prototype objects. 2016-10-05 11:09:37 -07:00
John-David Dalton
b30f979ec7 Wrap arguments in case IIFE is removed. 2016-10-05 10:34:20 -07:00
John-David Dalton
836bd258a0 Ensure _.toString works on an array of symbols. 2016-10-05 09:07:51 -07:00
John-David Dalton
d2f74ee245 Minor _.toString doc typo fix. [ci skip] 2016-10-05 08:16:03 -07:00
John-David Dalton
45f668b416 Add baseIsArguments. 2016-10-04 22:28:17 -07:00
John-David Dalton
d29d74f687 Move baseClamp use to arraySampleSize and baseSampleSize. 2016-10-04 22:28:16 -07:00
John-David Dalton
9fba7be296 Add comments to arrayLikeKeys. [ci skip] 2016-10-04 08:41:32 -07:00
John-David Dalton
f30851bac1 Simplify _.isArguments more. 2016-10-04 01:08:05 -07:00
John-David Dalton
d308bce09f Add isTypedArray check to _.isEmpty. 2016-10-04 00:32:15 -07:00
John-David Dalton
3d7dbd140c Remove unused variable. 2016-10-04 00:23:34 -07:00
John-David Dalton
15bd64a1b4 Normalize keys of buffers and typed arrays. 2016-10-04 00:23:00 -07:00
John-David Dalton
3c30100837 Use baseFor in baseMerge. 2016-10-03 22:32:30 -07:00
John-David Dalton
81bdb9da43 Cleanup array type juggling. 2016-10-03 20:34:37 -07:00
John-David Dalton
60e3a93a30 Simplify _.isArguments. 2016-10-03 20:33:39 -07:00
John-David Dalton
158f2839fd Remove Safari 8.1 note. [ci skip] 2016-10-03 20:30:46 -07:00
John-David Dalton
c7b9df4286 Cleanup branching for array-likes in baseMergeDeep. 2016-10-03 18:06:07 -07:00
John-David Dalton
0eca941e22 Add isBuffer checks to baseMerge and _.transform. 2016-10-03 18:05:32 -07:00
John-David Dalton
8592f4163f Fix _.merge regression with buffers. [closes #2699] 2016-10-03 17:07:45 -07:00
John-David Dalton
29e2598a39 Remove duplicate operator. [ci skip] 2016-10-03 14:57:06 -07:00
John-David Dalton
32e75acb9f Indentation nit. [ci skip] 2016-10-03 14:56:32 -07:00
John-David Dalton
b54501a771 Increment package version to enable ci tests. 2016-10-03 10:34:46 -07:00
John-David Dalton
6062860628 Bump to v4.16.3. 2016-10-02 20:22:53 -07:00
John-David Dalton
a12c3797fb Rebuild lodash and docs. 2016-10-02 20:22:06 -07:00
John-David Dalton
48bc8b4f1a Update Firefox in sauce. 2016-10-02 19:19:10 -07:00
John-David Dalton
e861681963 Cleanup buffer tests. 2016-10-02 13:57:42 -07:00
John-David Dalton
9985e81808 Add _.isEqual test for buffers. 2016-10-02 13:37:47 -07:00
John-David Dalton
ffde99b216 Minor test formatting nit. [ci skip] 2016-10-01 23:35:30 -07:00
John-David Dalton
492caa4fd2 Add _.isFunction test for the Proxy constructor. 2016-10-01 23:34:45 -07:00
John-David Dalton
01c0950ae8 Add existence check for runInContext. [closes #2694] 2016-09-30 15:33:12 -07:00
John-David Dalton
20fa52309c Add proxyTag check to _.isFunction for Safari 10 support of the Proxy constructor. [closes #2689] 2016-09-29 14:54:09 -07:00
John-David Dalton
7a345b5606 Clarify fp spread methods description. [closes #2687] [ci skip] 2016-09-29 13:06:04 -07:00
John-David Dalton
b6d8116882 Indentation nit in readme. [ci skip] 2016-09-28 14:03:24 -07:00
John-David Dalton
4495e74f77 Treat buffers separately from typed arrays. 2016-09-28 12:54:11 -07:00
John-David Dalton
c009349d99 Use only one defineProperty reference. 2016-09-27 14:36:41 -07:00
John-David Dalton
26d5ba992c Fix prototype typo. 2016-09-27 14:04:06 -07:00
John-David Dalton
320ef6f933 Cleanup assignment test. 2016-09-26 21:43:49 -07:00
John-David Dalton
b678bb4a74 Make _.defaultsDeep and _.merge consistent with _.defaults in assigning undefined values. [closes #2676] 2016-09-26 21:43:49 -07:00
John-David Dalton
c1c394ac60 Increment package version to enable ci tests. 2016-09-26 21:43:49 -07:00
John-David Dalton
70d3057e17 Bump to v4.16.2. 2016-09-25 13:24:51 -07:00
John-David Dalton
3d27920226 Rebuild lodash and docs. 2016-09-25 13:24:51 -07:00
John-David Dalton
33a43a5f93 Update Node usage example. [ci skip] 2016-09-25 13:24:51 -07:00
John-David Dalton
fac9501840 Refine ext detection. 2016-09-25 13:19:48 -07:00
John-David Dalton
4d6aade733 Rename param to size. 2016-09-25 13:19:48 -07:00
John-David Dalton
d9e2c1cc34 Remove MAX_ARRAY_LENGTH use in arrayShuffle and baseShuffle. 2016-09-25 13:19:48 -07:00
John-David Dalton
c8c6a7e7b1 Fix arraySample description. [ci skip] 2016-09-25 13:19:48 -07:00
John-David Dalton
69addb855e Add baseSample, baseSampleSize, and baseShuffle. 2016-09-25 13:19:48 -07:00
John-David Dalton
55fb0172c0 Move thrower from v4 to move to v3. 2016-09-25 13:19:43 -07:00
John-David Dalton
2026cbeebd Add thrower helper. 2016-09-24 10:57:38 -07:00
John-David Dalton
d6d01cdfa0 Remove the need for es-sham. 2016-09-23 19:25:46 -07:00
John-David Dalton
cb07604dc6 Fix local failing PhantomJS 2 test. 2016-09-23 16:51:21 -07:00
John-David Dalton
549def0e48 Use Buffer.allocUnsafe when available. 2016-09-23 16:48:36 -07:00
John-David Dalton
a3c215919d Create more error text constants. 2016-09-23 16:48:02 -07:00
John-David Dalton
ab904a1047 Add error to encourage users to shim when needed. 2016-09-23 14:39:03 -07:00
John-David Dalton
60381f4d6c Update deps. 2016-09-22 16:02:49 -07:00
John-David Dalton
8f607295ae Increment package version to enable ci tests. 2016-09-20 15:13:43 -07:00
John-David Dalton
27218a95af Bump to v4.16.1. 2016-09-20 09:40:52 -07:00
John-David Dalton
8e150ad6bc Rebuild lodash and docs. 2016-09-20 09:40:52 -07:00
John-David Dalton
c8914a890c Excuse more Underscore _.escape tests. 2016-09-20 09:40:52 -07:00
John-David Dalton
b25a86f352 Use lodashStable.escape in more places. 2016-09-20 07:49:59 -07:00
John-David Dalton
ec8e279235 Add _.escape and _.unescape tests for backticks. 2016-09-20 07:49:40 -07:00
John-David Dalton
1cc16029db Avoid attempting to (un)escape backticks. [closes #2660] 2016-09-20 07:31:21 -07:00
John-David Dalton
5c912bcc62 Wrap runInContext in parentheses as a hint to avoid deferred parsing. 2016-09-19 17:13:18 -07:00
John-David Dalton
b3742c8d3c Update coveralls to 2.11.14. 2016-09-19 17:13:18 -07:00
John-David Dalton
c3a7516712 Increment package version to enable ci tests. 2016-09-19 17:13:18 -07:00
John-David Dalton
12319d5775 Bump to v4.16.0. 2016-09-17 22:13:04 -07:00
John-David Dalton
45e1965936 Rebuild lodash and docs. 2016-09-17 22:10:52 -07:00
John-David Dalton
6091c8ec49 Remove outdated _.runInContext example. [ci skip] 2016-09-17 19:12:45 -07:00
John-David Dalton
cfb7dab0f3 Update deps. 2016-09-17 18:42:43 -07:00
John-David Dalton
2d9f3cde0f Add greenkeeper ignore field to packagre.json. [ci skip] 2016-09-17 16:28:15 -07:00
John-David Dalton
e5f4770247 Break out _.sampleSize and _.shuffle into array helpers. 2016-09-16 08:27:46 -07:00
Greenkeeper
dc7c321514 Update coveralls to 2.11.13. 2016-09-15 10:55:21 -07:00
John-David Dalton
40164659b1 Simplify changelog reference. [ci skip] 2016-09-15 10:16:59 -07:00
Mark Stosberg
7829f3d224 Add CHANGELOG in the expected place and link it to where it's actually maintained. (#2648)
Ref: https://github.com/lodash/lodash/issues/875
2016-09-15 10:10:09 -07:00
John-David Dalton
92359257c1 Update tested Chrome version in sauce. 2016-09-14 11:15:34 -07:00
John-David Dalton
d2a2b3a8c4 Reduce n_ note. [ci skip] 2016-09-10 21:05:32 -07:00
John-David Dalton
4019eb65f2 Use jsdelivr combo src for fp example. [ci skip] 2016-09-10 14:22:38 -07:00
John-David Dalton
4c5bead5c6 Update Node usage comments. [ci skip] 2016-09-10 13:34:07 -07:00
John-David Dalton
0163aae357 Trim code snippet comments. 2016-09-10 13:08:45 -07:00
John-David Dalton
8fa23a94a0 Use nullish checks instead of coercing to booleans. 2016-09-10 10:48:36 -07:00
John-David Dalton
8176d56c72 Move arraySample definition to fix builds. 2016-09-06 14:24:53 -07:00
John-David Dalton
5add168743 Update requirejs. 2016-09-06 13:00:59 -07:00
John-David Dalton
27e59404d3 Add engines field to package.json. 2016-09-06 12:43:28 -07:00
John-David Dalton
54f5ac7b8d Simplify nested highlights selector. 2016-09-06 08:04:38 -07:00
John-David Dalton
5c688cc0b7 Remove rogue html-minifier reference. 2016-09-05 23:20:37 -07:00
John-David Dalton
86efb0ea09 Use an arrow function. 2016-09-05 23:18:39 -07:00
John-David Dalton
bc13666222 Reduce highlights further. 2016-09-05 22:49:26 -07:00
John-David Dalton
d1abde7d1a Remove broken HTML escaping. 2016-09-05 02:08:07 -07:00
John-David Dalton
691db4d406 Refine the auto-link selector. 2016-09-05 01:54:33 -07:00
John-David Dalton
fb833b0c19 Cleanup build-site.js. 2016-09-04 22:32:21 -07:00
John-David Dalton
4d2181ad83 Use template string literals in build-doc.js. 2016-09-04 22:26:48 -07:00
John-David Dalton
9dd291a96e Move html-minifier use to lodash.github.io. 2016-09-04 01:23:16 -07:00
John-David Dalton
1344803e7e Minify highlights snippets. 2016-09-03 09:22:57 -07:00
John-David Dalton
4a5f8fa974 Split _.sample out to arraySample. 2016-09-01 20:03:40 -07:00
John-David Dalton
212e4a6407 Add more doc notes on the order of results. [ci skip] [closes #2622] 2016-09-01 11:41:38 -07:00
John-David Dalton
d47123779e Avoid inserting empty details. 2016-09-01 01:30:29 -07:00
John-David Dalton
fc734a6371 Increase the HOT_COUNT to avoid shorting out setting fp toString methods. 2016-09-01 01:12:12 -07:00
John-David Dalton
02be5b808e Rename “_” id references to “lodash”. 2016-08-30 22:32:32 -07:00
John-David Dalton
0d757fdc40 Ensure _.has returns the correct result for nested sparse arrays. [closes #2614] 2016-08-30 19:20:52 -07:00
John-David Dalton
0263a879c4 Add _.template note for disabling the ES template literal delimiter. [ci skip] 2016-08-29 16:19:23 -07:00
John-David Dalton
c309ed1c49 Add collapse_vars to the Uglify options. 2016-08-29 08:23:37 -07:00
John-David Dalton
e58de14437 Add memoizeCapped. 2016-08-29 08:07:34 -07:00
John-David Dalton
78a7fa1d14 Add Node.js test note. [ci skip] 2016-08-29 08:07:34 -07:00
John-David Dalton
77178a9583 Replace chaining _.forEach doc example with regular usage. [ci skip] 2016-08-29 07:37:47 -07:00
Georgii Dolzhykov
d2ab33eb52 Minor doc fix for mergeWith. [closes #2610] [ci skip] 2016-08-29 07:23:14 -07:00
John-David Dalton
7b3194660c Fix failing _.memoize test in IE 11. 2016-08-28 18:46:19 -07:00
John-David Dalton
f627b25e9d Remove cache.clear existance check. 2016-08-28 18:46:19 -07:00
John-David Dalton
1bbb7c9d3b Add _.memoize tests for max cache size and immutable maps. 2016-08-28 18:46:19 -07:00
John-David Dalton
08a4ae1f56 Add _.memoize tests for max cache size. 2016-08-28 18:46:19 -07:00
John-David Dalton
7c398f8019 Add Stack#size. 2016-08-28 18:46:03 -07:00
John-David Dalton
6651023f7f Unescape delete properties. 2016-08-27 19:58:03 -07:00
John-David Dalton
021df666a3 Cleanup test method flags. 2016-08-27 19:43:44 -07:00
John-David Dalton
d7e60cb6d0 Add more object assignments tests. 2016-08-27 19:29:41 -07:00
John-David Dalton
4cd26e6860 Add more “__proto__” assignment tests. 2016-08-27 19:17:11 -07:00
John-David Dalton
946a3bf5c8 Remove unneeded value guards in tests. 2016-08-27 18:36:40 -07:00
John-David Dalton
b10e6a01b2 Add _.memoize cache limit. 2016-08-27 18:21:42 -07:00
John-David Dalton
e23341a118 Fix deburred long S value. [closes #2606] 2016-08-27 16:52:46 -07:00
John-David Dalton
4446fb13a3 Change postfix increment operators to prefix. 2016-08-27 15:46:40 -07:00
John-David Dalton
4dfbde7716 Add shortOut helper. 2016-08-27 15:35:36 -07:00
John-David Dalton
3c03d4a1f3 Add castRest, flatRest, and overRest helpers. 2016-08-27 11:26:42 -07:00
John-David Dalton
a0ecdfff0b Minor _.defer doc example nit. [ci skip] 2016-08-27 11:26:41 -07:00
John-David Dalton
60023a23df Exit concat early if no arguments are provided. 2016-08-27 10:44:18 -07:00
John-David Dalton
e96442631c Scope markdown-doctest to the doc folder. 2016-08-27 09:17:45 -07:00
John-David Dalton
94750bfa3c Use ES6 in lib files. 2016-08-27 08:54:37 -07:00
John-David Dalton
5cc02555d0 Update Chrome and Firefox in sauce. 2016-08-25 15:44:26 -07:00
John-David Dalton
6e2f7e2f38 Update glob to 7.0.6. 2016-08-25 07:29:29 -07:00
John-David Dalton
de92cc32e6 Add __proto__ guards to more methods. 2016-08-25 07:00:40 -07:00
John-David Dalton
e97205409d Make the readme mimic the homepage more. [ci skip] 2016-08-24 08:22:27 -07:00
Zakaria Ridouh
091d8e3dbf add npm install guide (#2592) 2016-08-23 17:04:03 -07:00
John-David Dalton
171ca53c29 Split defineProperty to nativeDefineProperty. 2016-08-23 12:26:44 -07:00
John-David Dalton
5be61796d9 Use quotes instead of backticks. 2016-08-22 23:24:10 -07:00
John-David Dalton
1aee1c6cb8 Fix IE11 test fail. 2016-08-22 23:09:41 -07:00
John-David Dalton
343f48b08c Ensure __proto__ is treated as a regular key in assignments. [closes #2591] 2016-08-22 11:06:02 -07:00
John-David Dalton
358ecfd2eb Add writable descriptor to setToString. 2016-08-22 10:56:07 -07:00
John-David Dalton
8066ad7e65 Rename bash to shell. [ci skip] 2016-08-22 00:09:05 -07:00
John-David Dalton
7ae0d0099d Reduce highlights class names. 2016-08-21 23:58:28 -07:00
John-David Dalton
2e4fc41c9b Update marky-markdown to 8.1.0. 2016-08-21 21:04:37 -07:00
Greenkeeper
71247ff556 Update deps. 2016-08-21 19:07:06 -07:00
John-David Dalton
5ef163f143 Drop lesser used or soon to be unsupported Node.js versions from travis. 2016-08-21 19:06:24 -07:00
John-David Dalton
510cbfaa3f Cleanup fp test labels. 2016-08-18 10:45:08 -07:00
John-David Dalton
bd3fcab9c0 Add fp.rangeStep and fp.rangeStepRight. [closes #2584] 2016-08-18 10:45:08 -07:00
John-David Dalton
9841e6aa4c Use cacheHas in equalArrays. 2016-08-17 12:04:07 -07:00
John-David Dalton
1bf125eebd Add strictIndexOf and strictLastIndexOf helpers. 2016-08-17 12:04:06 -07:00
John-David Dalton
f9936b8b54 Add setToString helper. 2016-08-17 12:04:06 -07:00
John-David Dalton
d11aa6de06 Update _.sortBy doc example with preferred usage. [ci skip] 2016-08-17 12:04:06 -07:00
John-David Dalton
1c4fccc0fd Remove Edge note since it’s covered by the IE 11 note. [ci skip] 2016-08-17 12:04:06 -07:00
John-David Dalton
aa0323f04d Update Node.js compat comment. [ci skip] 2016-08-17 12:04:06 -07:00
John-David Dalton
2916e9dd11 Remove nonEnumShadows. 2016-08-13 14:17:41 -07:00
John-David Dalton
6958d7abd4 Newline nits. [ci skip] 2016-08-13 14:13:46 -07:00
John-David Dalton
9e661cb858 Excuse more Underscore tests. 2016-08-13 14:13:34 -07:00
John-David Dalton
a972026c67 Drop Node 0.10 testing in travis. 2016-08-13 13:52:20 -07:00
John-David Dalton
2b1bda7418 Remove old Chrome and Firefox fixes. 2016-08-13 13:50:21 -07:00
John-David Dalton
a6a3f3ed80 Remove isHostObject helper. 2016-08-13 13:29:41 -07:00
John-David Dalton
5cca51e978 Remove escaping backticks. 2016-08-13 13:29:41 -07:00
John-David Dalton
7c971587dc Increment package version to enable ci tests. 2016-08-13 13:29:41 -07:00
John-David Dalton
40a13d4b86 Bump to v4.15.0. 2016-08-12 07:20:51 -07:00
John-David Dalton
a0971d016d Rebuild lodash and docs. 2016-08-11 23:09:09 -07:00
John-David Dalton
410e9e3eb8 Update _.deburr tests. 2016-08-11 23:05:31 -07:00
John-David Dalton
37813c3826 Add _.negate test for accepting multiple arguments. 2016-08-11 23:05:28 -07:00
John-David Dalton
e00c243662 Update bug comments. [ci skip] 2016-08-11 23:05:27 -07:00
John-David Dalton
f504f5aac5 Minor comment nit. [ci skip] 2016-08-10 23:51:13 -07:00
John-David Dalton
0b63f2c259 Implement reAsciiWord by a negated character class to match more when unicode is dropped. 2016-08-10 23:18:15 -07:00
John-David Dalton
14fb27ce77 Update _.debounce test to hit code branch. 2016-08-10 18:44:46 -07:00
John-David Dalton
7da7d7b7e0 Update ecstatic to 2.1.0. 2016-08-10 18:44:21 -07:00
John-David Dalton
907add6acc Have travis cache the npm cache instead of node_modules. 2016-08-10 12:51:04 -07:00
John-David Dalton
f110e3ddcd Add Latin Extended-A support to comments/docs. [ci skip] 2016-08-10 12:51:04 -07:00
John-David Dalton
ed206e5611 Added latin extended-a block support to _.deburr. [closes #2511] 2016-08-10 12:50:57 -07:00
John-David Dalton
e4d8af175b Remove String reference. 2016-08-09 20:15:51 -07:00
John-David Dalton
ba7ddc8cdc Minor format nit. [ci skip] 2016-08-09 18:18:45 -07:00
John-David Dalton
389f5790a7 Remove npm update —dev from travis. 2016-08-09 18:17:59 -07:00
John-David Dalton
6071982dd9 Rework ascii and unicode helpers. 2016-08-09 18:08:20 -07:00
Greenkeeper
f71c0bd4c3 Update ecstatic to 2.0.0. 2016-08-09 12:22:47 -07:00
John-David Dalton
50b45d013a Fix typo in FP doc template. [ci skip] 2016-08-09 07:49:17 -07:00
John-David Dalton
93a047e77c Remove chatty npm update from lodash-cli in travis. 2016-08-09 00:01:22 -07:00
John-David Dalton
a3bf0e8888 Simplify _.size. 2016-08-08 23:39:02 -07:00
John-David Dalton
d8fa2f3e89 Fix safari test. 2016-08-08 20:47:21 -07:00
John-David Dalton
e361c5a5b3 Preserve lodash-cli node_modules in travis. 2016-08-08 18:58:46 -07:00
John-David Dalton
3ef032cbaf Add npm prune and update to travis. 2016-08-08 17:14:12 -07:00
John-David Dalton
36cf5a7ff3 Remove _.isFunction use from _.toNumber. 2016-08-08 16:38:56 -07:00
John-David Dalton
6d930d6920 Simplify _.isEmpty. 2016-08-08 16:38:51 -07:00
John-David Dalton
f676a8c9c1 Increment package version to enable ci tests. 2016-08-08 15:52:44 -07:00
John-David Dalton
941ffee2d3 Bump to v4.14.2. 2016-08-07 21:46:32 -07:00
John-David Dalton
0a71f3372f Rebuild lodash and docs. 2016-08-07 20:56:55 -07:00
John-David Dalton
f817f68487 Update docdown to 0.7.1. 2016-08-07 16:07:06 -07:00
John-David Dalton
826975f392 Add trailing newline to generated docs. 2016-08-07 14:40:28 -07:00
John-David Dalton
5f244d3c31 Remove em elements from code blocks. 2016-08-07 14:14:23 -07:00
John-David Dalton
71be34859f Wrap doc site in raw tags. 2016-08-07 13:55:38 -07:00
John-David Dalton
f9a4705c9c Add node_modules to travis cache. 2016-08-06 23:01:52 -07:00
John-David Dalton
a546842792 Upgrade travis to phantom.js v2. 2016-08-06 20:38:08 -07:00
John-David Dalton
ba86e20179 Fix IE 9 test fails. 2016-08-06 20:08:43 -07:00
John-David Dalton
b32fc6f6e6 Minor function/method nit. [ci skip] 2016-08-06 17:15:54 -07:00
John-David Dalton
1f13a34687 Add nativeKeysIn and cleanup object coercion. 2016-08-06 17:07:45 -07:00
John-David Dalton
f212b4850d Update links to ecma-262/7.0. [ci skip] 2016-08-04 21:54:03 -07:00
John-David Dalton
1b4555afb6 Restructure keys methods. 2016-08-04 21:53:55 -07:00
John-David Dalton
358013c67e Cleanup overArg description. [ci skip] 2016-08-04 09:40:01 -07:00
John-David Dalton
a98667ca05 Remove old JIT and engine bug guards. 2016-08-03 22:06:03 -07:00
John-David Dalton
02e9f4c333 Simplify _.isEmpty. 2016-08-03 21:42:52 -07:00
John-David Dalton
d7951db01b Fix test fail in es builds. 2016-08-03 17:22:20 -07:00
John-David Dalton
21fba2df9f Reduce deps of _.initial and _.tail. 2016-08-03 13:04:10 -07:00
John-David Dalton
a4947139a6 Overwrite primitives in paths of set methods. [closes #2558] 2016-08-03 10:48:22 -07:00
John-David Dalton
c01e7580cd Avoid error in Edge accessing localStorage when loading tests via the file: protocol. 2016-08-03 08:34:40 -07:00
John-David Dalton
8b4f22ed75 Update marky-markdown wrapping fix. 2016-08-02 12:07:06 -07:00
John-David Dalton
669b76bf99 Update marky-markdown. 2016-08-02 00:16:07 -07:00
Greenkeeper
efee02ace7 Update docdown to 0.7.0. 2016-08-01 20:20:31 -07:00
John-David Dalton
cd8adf5611 Minor doc formatting nits. [ci skip] 2016-08-01 17:28:22 -07:00
John-David Dalton
d216106b88 Add private tag to unexposed functions. [ci skip] 2016-08-01 17:25:16 -07:00
John-David Dalton
6dd8fb12ad Ensure fp.nthArg returns a curried function. 2016-08-01 16:55:12 -07:00
John-David Dalton
a4999575d0 Cleanup npm link creation. 2016-08-01 14:39:37 -07:00
John-David Dalton
fcaff8ff28 Update timeout related doc type tags. [closes #2553] [ci skip] 2016-08-01 08:53:30 -07:00
John-David Dalton
cf0b3e3212 Update docdown options. 2016-07-31 22:16:11 -07:00
John-David Dalton
bccb4150fd Add _.every doc note on matching empty collections. [ci skip] 2016-07-31 16:32:55 -07:00
John-David Dalton
9a297b0eb5 Cleanup partial comparison notes. [ci skip] 2016-07-31 16:32:08 -07:00
Dan J Miller
9c4baf7645 Clarify how comparison with empty sources is handled by _.matches, _.isMatch and _.matchesProperty. (#2548) 2016-07-31 00:54:48 -07:00
John-David Dalton
73b2f20509 Use lodash-doc-globals. 2016-07-30 23:48:17 -07:00
John-David Dalton
642690e692 Fix failing amd test. 2016-07-30 12:10:46 -07:00
John-David Dalton
1468c74c36 Make doubley sure Date.now, clearTimeout, and setTimeout are mockable. 2016-07-30 12:10:46 -07:00
Greenkeeper
0bfa1ec2d0 Update lodash to 4.14.1. 2016-07-30 12:10:46 -07:00
John-David Dalton
7c74464d7a Remove prepublish hook because we don’ publish this branch. [ci skip] 2016-07-30 12:10:46 -07:00
John-David Dalton
de051ac1ac Increment package version to enable ci tests. 2016-07-30 12:10:46 -07:00
John-David Dalton
ba0c4c413d Bump to v4.14.1. 2016-07-29 00:40:38 -07:00
John-David Dalton
7e6f5ef4f5 Rebuild lodash and docs. 2016-07-29 00:40:38 -07:00
John-David Dalton
712eeb009f Add missing semicolon. [ci skip] 2016-07-29 00:40:38 -07:00
Johannes Scharlach
b54e28deb7 Prevent failing circular reference detection. (#2543) 2016-07-28 23:12:53 -07:00
John-David Dalton
1f44cebac3 Update coveralls to 2.11.12. 2016-07-28 23:12:53 -07:00
John-David Dalton
9c05e8392b Add stack.delete for other in equalArrays and equalObjects. 2016-07-28 23:12:53 -07:00
John-David Dalton
9a67fec48a Remove stack.delete from baseMergeDeep. 2016-07-28 23:12:53 -07:00
John-David Dalton
1966ac7979 Prevent failed circular reference detection in _.defaultsDeep. [closes #2537] 2016-07-28 23:12:53 -07:00
John-David Dalton
8b624217c5 Cleanup _.debounce and _.throttle docs. [ci skip] 2016-07-28 23:12:53 -07:00
John-David Dalton
40499af9b9 Fix freeModule typo. 2016-07-28 23:12:53 -07:00
John-David Dalton
b3bd359a0d Use stubArray for easier readability. 2016-07-28 23:12:52 -07:00
John-David Dalton
de07e3f874 Add keys methods tests for array-like values. 2016-07-28 23:12:52 -07:00
John-David Dalton
c7e8953b68 Cleanup array-like tests. 2016-07-28 23:12:52 -07:00
John-David Dalton
80e7fe4bf9 Remove freeGlobal prerequisite for freeExports. [closes #2527] 2016-07-28 23:12:52 -07:00
John-David Dalton
2bc199d7fc Move method equivalence notes. [ci skip] 2016-07-28 23:12:52 -07:00
John-David Dalton
9b710d8e81 Use _.toFinite in random and range methods. 2016-07-28 23:12:52 -07:00
John-David Dalton
cc6a0ee98d Minor .gitignore cleanup. 2016-07-28 23:12:52 -07:00
Brad Buchanan
c9492d79a1 Document behavior of _.debounce when wait is 0 (#2530)
Clarify that when `leading` is false a debounced method with `wait=0` will not invoke immediately, but on the next tick (like `setTimeout`), but when `leading` is true the invocation will be immediate.
2016-07-28 23:12:52 -07:00
Brad Buchanan
94c4719c0d Fix missing semicolon (#2529)
I started on a documentation change but `npm run validate` after my initial pull revealed this linting error:

```
> jscs lodash.js

requireSemicolons: Missing semicolon after statement at lodash.js :
  5864 |    function isFlattenable(value) {
  5865 |      return isArray(value) || isArguments(value) ||
  5866 |        !!(spreadableSymbol && value && value[spreadableSymbol])
-----------------------------------------------------------------------^
  5867 |    }
  5868 |
```
2016-07-28 23:12:51 -07:00
John-David Dalton
c253e8d7b8 Ensure paths with consecutive empty brackets or dots are parsed correctly. 2016-07-28 23:12:51 -07:00
John-David Dalton
98f12fb8e1 Update qunitjs to 2.0.1. 2016-07-28 23:12:51 -07:00
44 changed files with 8533 additions and 3970 deletions

View File

@@ -1,7 +1,7 @@
# Contributing to Lodash # Contributing to Lodash
Contributions are always welcome. Before contributing please read the Contributions are always welcome. Before contributing please read the
[code of conduct](https://jquery.org/conduct/) & [code of conduct](https://js.foundation/conduct/) &
[search the issue tracker](https://github.com/lodash/lodash/issues); your issue [search the issue tracker](https://github.com/lodash/lodash/issues); your issue
may have already been discussed or fixed in `master`. To contribute, may have already been discussed or fixed in `master`. To contribute,
[fork](https://help.github.com/articles/fork-a-repo/) Lodash, commit your changes, [fork](https://help.github.com/articles/fork-a-repo/) Lodash, commit your changes,
@@ -31,9 +31,9 @@ Run unit tests from the command-line via `npm test`, or open `test/index.html` &
## Contributor License Agreement ## Contributor License Agreement
Lodash is a member of the [jQuery Foundation](https://jquery.org/). Lodash is a member of the [JS Foundation](https://js.foundation/).
As such, we request that all contributors sign the jQuery Foundation As such, we request that all contributors sign the JS Foundation
[contributor license agreement (CLA)](https://contribute.jquery.org/CLA/). [contributor license agreement (CLA)](https://js.foundation/CLA/).
For more information about CLAs, please check out Alex Russells excellent post, For more information about CLAs, please check out Alex Russells excellent post,
[“Why Do I Need to Sign This?”](https://infrequently.org/2008/06/why-do-i-need-to-sign-this/). [“Why Do I Need to Sign This?”](https://infrequently.org/2008/06/why-do-i-need-to-sign-this/).

3
.gitignore vendored
View File

@@ -1,5 +1,4 @@
.DS_Store .DS_Store
*.log *.log
coverage
node_modules
doc/*.html doc/*.html
node_modules

182
.jscsrc
View File

@@ -1,97 +1,97 @@
{ {
"maxErrors": "2000", "maxErrors": "2000",
"maximumLineLength": { "maximumLineLength": {
"value": 180, "value": 180,
"allExcept": ["comments", "functionSignature", "regex"] "allExcept": ["comments", "functionSignature", "regex"]
}, },
"requireCurlyBraces": [ "requireCurlyBraces": [
"if", "if",
"else", "else",
"for", "for",
"while", "while",
"do", "do",
"try", "try",
"catch" "catch"
], ],
"requireOperatorBeforeLineBreak": [ "requireOperatorBeforeLineBreak": [
"=", "=",
"+", "+",
"-", "-",
"/", "/",
"*", "*",
"==", "==",
"===", "===",
"!=", "!=",
"!==", "!==",
">", ">",
">=", ">=",
"<", "<",
"<=" "<="
], ],
"requireSpaceAfterKeywords": [ "requireSpaceAfterKeywords": [
"if", "if",
"else", "else",
"for", "for",
"while", "while",
"do", "do",
"switch", "switch",
"return", "return",
"try", "try",
"catch" "catch"
], ],
"requireSpaceBeforeBinaryOperators": [ "requireSpaceBeforeBinaryOperators": [
"=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
"&=", "|=", "^=", "+=", "&=", "|=", "^=",
"+", "-", "*", "/", "%", "<<", ">>", ">>>", "&", "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
"|", "^", "&&", "||", "===", "==", ">=", "|", "^", "&&", "||", "===", "==", ">=",
"<=", "<", ">", "!=", "!==" "<=", "<", ">", "!=", "!=="
], ],
"requireSpacesInFunctionExpression": { "requireSpacesInFunctionExpression": {
"beforeOpeningCurlyBrace": true "beforeOpeningCurlyBrace": true
}, },
"requireCamelCaseOrUpperCaseIdentifiers": true, "requireCamelCaseOrUpperCaseIdentifiers": true,
"requireDotNotation": { "allExcept": ["keywords"] }, "requireDotNotation": { "allExcept": ["keywords"] },
"requireEarlyReturn": true, "requireEarlyReturn": true,
"requireLineFeedAtFileEnd": true, "requireLineFeedAtFileEnd": true,
"requireSemicolons": true, "requireSemicolons": true,
"requireSpaceAfterBinaryOperators": true, "requireSpaceAfterBinaryOperators": true,
"requireSpacesInConditionalExpression": true, "requireSpacesInConditionalExpression": true,
"requireSpaceBeforeObjectValues": true, "requireSpaceBeforeObjectValues": true,
"requireSpaceBeforeBlockStatements": true, "requireSpaceBeforeBlockStatements": true,
"requireSpacesInForStatement": true, "requireSpacesInForStatement": true,
"validateIndentation": 2, "validateIndentation": 2,
"validateParameterSeparator": ", ", "validateParameterSeparator": ", ",
"validateQuoteMarks": { "mark": "'", "escape": true }, "validateQuoteMarks": { "mark": "'", "escape": true },
"disallowSpacesInAnonymousFunctionExpression": { "disallowSpacesInAnonymousFunctionExpression": {
"beforeOpeningRoundBrace": true "beforeOpeningRoundBrace": true
}, },
"disallowSpacesInFunctionDeclaration": { "disallowSpacesInFunctionDeclaration": {
"beforeOpeningRoundBrace": true "beforeOpeningRoundBrace": true
}, },
"disallowSpacesInFunctionExpression": { "disallowSpacesInFunctionExpression": {
"beforeOpeningRoundBrace": true "beforeOpeningRoundBrace": true
}, },
"disallowKeywords": ["with"], "disallowKeywords": ["with"],
"disallowMixedSpacesAndTabs": true, "disallowMixedSpacesAndTabs": true,
"disallowMultipleLineBreaks": true, "disallowMultipleLineBreaks": true,
"disallowNewlineBeforeBlockStatements": true, "disallowNewlineBeforeBlockStatements": true,
"disallowSpaceAfterObjectKeys": true, "disallowSpaceAfterObjectKeys": true,
"disallowSpaceAfterPrefixUnaryOperators": true, "disallowSpaceAfterPrefixUnaryOperators": true,
"disallowSpacesInCallExpression": true, "disallowSpacesInCallExpression": true,
"disallowSpacesInsideArrayBrackets": true, "disallowSpacesInsideArrayBrackets": true,
"disallowSpacesInsideParentheses": true, "disallowSpacesInsideParentheses": true,
"disallowTrailingWhitespace": true, "disallowTrailingWhitespace": true,
"disallowUnusedVariables": true, "disallowUnusedVariables": true,
"jsDoc": { "jsDoc": {
"checkRedundantAccess": true, "checkRedundantAccess": true,
"checkTypes": true, "checkTypes": true,
"requireNewlineAfterDescription": true, "requireNewlineAfterDescription": true,
"requireParamDescription": true, "requireParamDescription": true,
"requireParamTypes": true, "requireParamTypes": true,
"requireReturnTypes": true "requireReturnTypes": true
} }
} }

View File

@@ -2,47 +2,10 @@
delete global['__core-js_shared__']; delete global['__core-js_shared__'];
var _ = require('./lodash.js'); const _ = require('./lodash.js');
const globals = require('lodash-doc-globals');
function mockQuery() {
return {
'on': function(eventName, callback) {
callback();
}
};
}
mockQuery.each = _.each;
module.exports = { module.exports = {
'babel': false, 'babel': false,
'globals': { 'globals': _.assign({ '_': _ }, globals)
'_': _,
// Example mocks.
'asyncSave': _.noop,
'addContactToList': _.noop,
'batchLog': _.noop,
'calculateLayout': _.noop,
'createApplication': _.noop,
'data': { 'user': 'mock' },
'mainText': '',
'renewToken': _.noop,
'sendMail': _.noop,
'updatePosition': _.noop,
// DOM mocks.
'document': { 'body': { 'childNodes': [], 'nodeName': 'BODY' } },
'element': {},
'EventSource': _.noop,
'jQuery': mockQuery,
'window': {},
// Node.js mocks.
'Buffer': Buffer,
'fs': { 'writeFileSync': _.noop },
'path': require('path'),
'process': process,
'setImmediate': setImmediate
}
}; };

View File

@@ -1,86 +1,135 @@
language: node_js language: node_js
sudo: false sudo: false
node_js: node_js:
- "6" - 7
addons:
jwt:
secure: OYhRpW+8A0Iik+9GmHwa45ZwXeBXw/6zh6I+1w2H9g/LqPRp+Nhq3f4FSpvrrfno8lO8W4h+7s6+JOzF8C8NxNda5UUygKjF9pUphgiQdqls3YZMJlC9zXVl7gQXAHi3nG1s8vWSpwpzYD9fqczE1FX9n0+R63qX3eB6C/LbPeI=
cache:
directories:
- ~/.npm
- ~/.yarn-cache
- travis_phantomjs
env: env:
global: global:
- BIN="node" ISTANBUL=false OPTION="" - BIN=node ISTANBUL=false OPTION=""
- SAUCE_LABS=false SAUCE_USERNAME="lodash" - SAUCE_LABS=false SAUCE_USERNAME=lodash
- secure: "tg1JFsIFnxzLaTboFPOnm+aJCuMm5+JdhLlESlqg9x3fwro++7KCnwHKLNovhchaPe4otC43ZMB/nfWhDnDm11dKbm/V6HlTkED+dadTsaLxVDg6J+7yK41QhokBPJOxLV78iDaNaAQVYEirAgZ0yn8kFubxmNKV+bpCGQNc9yU="
matrix: matrix:
- -
- BIN="phantomjs" - BIN=phantomjs
- ISTANBUL=true - ISTANBUL=true
- SAUCE_LABS=true - SAUCE_LABS=true
matrix: matrix:
include: include:
- node_js: "0.10" - node_js: 6
env:
- node_js: "0.12"
env:
- node_js: "4"
env:
- node_js: "5"
env: env:
git: git:
depth: 10 depth: 10
branches: branches:
only: only:
- master - master
notifications: notifications:
webhooks: webhooks:
urls: urls:
- https://webhooks.gitter.im/e/4aab6358b0e9aed0b628 - https://webhooks.gitter.im/e/4aab6358b0e9aed0b628
on_success: change on_success: change
on_failure: always on_failure: always
before_install:
- "nvm use $TRAVIS_NODE_VERSION"
- "npm set loglevel error"
- "npm set progress false"
- "npm i -g npm@\"^2.0.0\""
- |
PATTERN[0]="|\s*if\s*\(isHostObject\b[\s\S]+?\}(?=\n)|"
PATTERN[1]="|\s*if\s*\(enumerate\b[\s\S]+?\};\s*\}|"
PATTERN[2]="|\s*while\s*\([^)]+\)\s*\{\s*iteratee\(index\);\s*\}|"
PATTERN[3]="|\s*else\s*\{\s*assocSet\(data\b[\s\S]+?\}|"
PATTERN[4]="|\bcase\s+(?:dataView|promise|set|map|weakMap)CtorString:.+|g"
PATTERN[5]="|\bindex,\s*iterable\)\s*===\s*false\)[^}]+?(break;)|"
PATTERN[6]="|\s*if\s*\(\!lodashFunc\)\s*\{\s*return;\s*\}|"
PATTERN[7]="|\s*define\([\s\S]+?\);|"
PATTERN[8]="|\s*root\._\s*=\s*_;|"
if [ $ISTANBUL == true ]; then before_install:
# Upgrade PhantomJS.
- |
export PHANTOMJS_VERSION=2.1.1
export PATH=$PWD/travis_phantomjs/phantomjs-$PHANTOMJS_VERSION-linux-x86_64/bin:$PATH
if [ $(phantomjs --version) != $PHANTOMJS_VERSION ]; then
rm -rf $PWD/travis_phantomjs
mkdir -p $PWD/travis_phantomjs
wget https://github.com/Medium/phantomjs/releases/download/v$PHANTOMJS_VERSION/phantomjs-$PHANTOMJS_VERSION-linux-x86_64.tar.bz2
tar -xvf phantomjs-$PHANTOMJS_VERSION-linux-x86_64.tar.bz2 -C $PWD/travis_phantomjs
fi
phantomjs -v
# Use exact Node version.
- nvm use $TRAVIS_NODE_VERSION
# Setup package managers.
- npm set loglevel error
- npm set progress false
- npm i -g yarn
- yarn -V
# Remove code skipped on the coverage run.
- |
PATTERN[0]="|\s*while\s*\([^)]+\)\s*\{\s*iteratee\(index\);\s*\}|"
PATTERN[1]="|\s*else\s*\{\s*assocSet\(data\b[\s\S]+?\}|"
PATTERN[2]="|\bindex,\s*iterable\)\s*===\s*false\)[^}]+?(break;)|"
PATTERN[3]="|\bcase\s+(?:dataView|promise|set|map|weakMap)CtorString:.+|g"
PATTERN[4]="|\s*if\s*\(cache\.size\b[\s\S]+?\}|"
PATTERN[5]="|\s*if\s*\(\!lodashFunc\)\s*\{\s*return;\s*\}|"
PATTERN[6]="|\s*define\([\s\S]+?\);|"
PATTERN[7]="|\s*root\._\s*=\s*_;|"
if [ $ISTANBUL = true ]; then
set -e set -e
for PTRN in ${PATTERN[@]}; do for PTRN in ${PATTERN[@]}; do
node ./test/remove.js "$PTRN" ./lodash.js node ./test/remove.js $PTRN ./lodash.js
done done
fi fi
- "git clone --depth=10 --branch=master git://github.com/lodash/lodash-cli ./node_modules/lodash-cli"
- "mkdir -p ./node_modules/lodash-cli/node_modules/lodash && cd $_ && cp ../../../../lodash.js ./lodash.js && cp ../../../../package.json ./package.json" install:
- "cd ../../ && npm i && cd ../../" # Install packages.
- yarn
# Use lodash-cli from GitHub.
- git clone --depth=10 --branch=master git://github.com/lodash/lodash-cli ./node_modules/lodash-cli
- mkdir -p ./node_modules/lodash-cli/node_modules/lodash; cd $_; cp ../../../../lodash.js ./lodash.js; cp ../../../../package.json ./package.json
- cd ../../; npm i --production; cd ../../
script: script:
# Detect code coverage.
- |
if [ $ISTANBUL = true ]; then
istanbul cover -x "**/vendor/**" --report lcovonly ./test/test.js -- ./lodash.js
if [ $TRAVIS_SECURE_ENV_VARS = true ]; then
cat ./coverage/lcov.info | coveralls
cat ./coverage/coverage.json | codecov
fi
fi
# Detect code coverage. # Test in Node.js and PhantomJS.
- "[ $ISTANBUL == false ] || istanbul cover -x \"**/vendor/**\" --report lcovonly ./test/test.js -- ./lodash.js" - |
- "[ $ISTANBUL == false ] || [ $TRAVIS_SECURE_ENV_VARS == false ] || (cat ./coverage/lcov.info | coveralls) || true" if [ $ISTANBUL = false ]; then
- "[ $ISTANBUL == false ] || [ $TRAVIS_SECURE_ENV_VARS == false ] || (cat ./coverage/coverage.json | codecov) || true" node ./node_modules/lodash-cli/bin/lodash -o ./dist/lodash.js
node ./node_modules/lodash-cli/bin/lodash modularize exports=node -o ./
node ./node_modules/lodash-cli/bin/lodash -d -o ./lodash.js
if [ $SAUCE_LABS = false ]; then
cd ./test
$BIN $OPTION ./test.js ../lodash.js
if [ $TRAVIS_SECURE_ENV_VARS = true ]; then
$BIN $OPTION ./test.js ../dist/lodash.min.js
fi
fi
fi
# Test in Node.js and PhantomJS. # Test in Sauce Labs.
- "[ $ISTANBUL == true ] || node ./node_modules/lodash-cli/bin/lodash -o ./dist/lodash.js" - |
- "[ $ISTANBUL == true ] || (node ./node_modules/lodash-cli/bin/lodash modularize exports=node -o ./ && node ./node_modules/lodash-cli/bin/lodash -d -o ./lodash.js)" if [ $SAUCE_LABS = true ]; then
- "[ $ISTANBUL == true ] || [ $SAUCE_LABS == true ] || cd ./test" node ./node_modules/lodash-cli/bin/lodash core -o ./dist/lodash.core.js
- "[ $ISTANBUL == true ] || [ $SAUCE_LABS == true ] || $BIN $OPTION ./test.js ../lodash.js" npm run build
- "[ $ISTANBUL == true ] || [ $SAUCE_LABS == true ] || [ $TRAVIS_SECURE_ENV_VARS == false ] || $BIN $OPTION ./test.js ../dist/lodash.min.js" $BIN ./test/saucelabs.js name="lodash tests" runner="test/index.html?build=../dist/lodash.js&noglobals=true" tags=development
$BIN ./test/saucelabs.js name="lodash tests" runner="test/index.html?build=../dist/lodash.min.js&noglobals=true" tags=production
# Test in Sauce Labs. $BIN ./test/saucelabs.js name="lodash-fp tests" runner="test/fp.html?noglobals=true" tags=development
- "[ $SAUCE_LABS == false ] || node ./node_modules/lodash-cli/bin/lodash core -o ./dist/lodash.core.js" $BIN ./test/saucelabs.js name="underscore tests" runner="test/underscore.html?build=../dist/lodash.js" tags=development,underscore
- "[ $SAUCE_LABS == false ] || npm run build" $BIN ./test/saucelabs.js name="underscore tests" runner="test/underscore.html?build=../dist/lodash.min.js" tags=production,underscore
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"lodash tests\" runner=\"test/index.html?build=../dist/lodash.js&noglobals=true\" tags=\"development\"" $BIN ./test/saucelabs.js name="backbone tests" runner="test/backbone.html?build=../dist/lodash.js" tags=development,backbone
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"lodash tests\" runner=\"test/index.html?build=../dist/lodash.min.js&noglobals=true\" tags=\"production\"" $BIN ./test/saucelabs.js name="backbone tests" runner="test/backbone.html?build=../dist/lodash.min.js" tags=production,backbone
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"lodash-fp tests\" runner=\"test/fp.html?noglobals=true\" tags=\"development\"" $BIN ./test/saucelabs.js name="backbone tests" runner="test/backbone.html?build=../dist/lodash.core.js" tags=development,backbone
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"underscore tests\" runner=\"test/underscore.html?build=../dist/lodash.js\" tags=\"development,underscore\"" $BIN ./test/saucelabs.js name="backbone tests" runner="test/backbone.html?build=../dist/lodash.core.min.js" tags=production,backbone
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"underscore tests\" runner=\"test/underscore.html?build=../dist/lodash.min.js\" tags=\"production,underscore\"" fi
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"backbone tests\" runner=\"test/backbone.html?build=../dist/lodash.js\" tags=\"development,backbone\""
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"backbone tests\" runner=\"test/backbone.html?build=../dist/lodash.min.js\" tags=\"production,backbone\""
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"backbone tests\" runner=\"test/backbone.html?build=../dist/lodash.core.js\" tags=\"development,backbone\""
- "[ $SAUCE_LABS == false ] || $BIN ./test/saucelabs.js name=\"backbone tests\" runner=\"test/backbone.html?build=../dist/lodash.core.min.js\" tags=\"production,backbone\""

1
CHANGELOG Normal file
View File

@@ -0,0 +1 @@
https://github.com/lodash/lodash/wiki/Changelog

View File

@@ -1,4 +1,4 @@
Copyright jQuery Foundation and other contributors <https://jquery.org/> Copyright JS Foundation and other contributors <https://js.foundation/>
Based on Underscore.js, copyright Jeremy Ashkenas, Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/> DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

View File

@@ -1,18 +1,18 @@
# lodash v4.14.0 # lodash v4.16.5
[Site](https://lodash.com/) | [Site](https://lodash.com/) |
[Docs](https://lodash.com/docs) | [Docs](https://lodash.com/docs) |
[FP Guide](https://github.com/lodash/lodash/wiki/FP-Guide) | [FP Guide](https://github.com/lodash/lodash/wiki/FP-Guide) |
[Contributing](https://github.com/lodash/lodash/blob/master/.github/CONTRIBUTING.md) | [Contributing](https://github.com/lodash/lodash/blob/master/.github/CONTRIBUTING.md) |
[Wiki](https://github.com/lodash/lodash/wiki "Changelog, Roadmap, etc.") | [Wiki](https://github.com/lodash/lodash/wiki "Changelog, Roadmap, etc.") |
[Code of Conduct](https://jquery.org/conduct/) | [Code of Conduct](https://js.foundation/conduct/) |
[Twitter](https://twitter.com/bestiejs) | [Twitter](https://twitter.com/bestiejs) |
[Chat](https://gitter.im/lodash/lodash) [Chat](https://gitter.im/lodash/lodash)
The [Lodash](https://lodash.com/) library exported as a [UMD](https://github.com/umdjs/umd) module. The [Lodash](https://lodash.com/) library exported as a [UMD](https://github.com/umdjs/umd) module.
Generated using [lodash-cli](https://www.npmjs.com/package/lodash-cli): Generated using [lodash-cli](https://www.npmjs.com/package/lodash-cli):
```bash ```shell
$ npm run build $ npm run build
$ lodash -o ./dist/lodash.js $ lodash -o ./dist/lodash.js
$ lodash core -o ./dist/lodash.core.js $ lodash core -o ./dist/lodash.core.js
@@ -20,21 +20,55 @@ $ lodash core -o ./dist/lodash.core.js
## Download ## Download
Lodash is released under the [MIT license](https://raw.githubusercontent.com/lodash/lodash/4.14.0/LICENSE) & supports [modern environments](#support).<br> * [Core build](https://raw.githubusercontent.com/lodash/lodash/4.16.5/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.5/dist/lodash.core.min.js))
* [Full build](https://raw.githubusercontent.com/lodash/lodash/4.16.5/dist/lodash.js) ([~23 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.5/dist/lodash.min.js))
* [CDN copies](https://www.jsdelivr.com/projects/lodash)
Lodash is released under the [MIT license](https://raw.githubusercontent.com/lodash/lodash/4.16.5/LICENSE) & supports [modern environments](#support).<br>
Review the [build differences](https://github.com/lodash/lodash/wiki/build-differences) & pick one thats right for you. Review the [build differences](https://github.com/lodash/lodash/wiki/build-differences) & pick one thats right for you.
* [Core build](https://raw.githubusercontent.com/lodash/lodash/4.14.0/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.14.0/dist/lodash.core.min.js)) ## Installation
* [Full build](https://raw.githubusercontent.com/lodash/lodash/4.14.0/dist/lodash.js) ([~22 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.14.0/dist/lodash.min.js))
* [CDN copies](https://www.jsdelivr.com/projects/lodash) In a browser:
```html
<script src="lodash.js"></script>
```
Using npm:
```shell
$ npm i -g npm
$ npm i --save lodash
```
In Node.js:
```js
// Load the full build.
var _ = require('lodash');
// Load the core build.
var _ = require('lodash/core');
// Load the FP build for immutable auto-curried iteratee-first data-last methods.
var fp = require('lodash/fp');
// Load method categories.
var array = require('lodash/array');
var object = require('lodash/fp/object');
// Cherry-pick methods for smaller browserify/rollup/webpack bundles.
var at = require('lodash/at');
var curryN = require('lodash/fp/curryN');
```
**Note:**<br>
Install [n_](https://www.npmjs.com/package/n_) for Lodash use in the Node.js < 6 REPL.
## Why Lodash? ## Why Lodash?
Lodash makes JavaScript easier by taking the hassle out of working with arrays,<br> Lodash makes JavaScript easier by taking the hassle out of working with arrays,<br>
numbers, objects, strings, etc. Lodashs modular methods are great for: numbers, objects, strings, etc. Lodashs modular methods are great for:
* Iterating arrays, objects, & strings * Iterating arrays, objects, & strings
* Manipulating & testing values * Manipulating & testing values
* Creating composite functions * Creating composite functions
## Module Formats ## Module Formats

448
dist/lodash.core.js vendored
View File

@@ -2,7 +2,7 @@
* @license * @license
* lodash (Custom Build) <https://lodash.com/> * lodash (Custom Build) <https://lodash.com/>
* Build: `lodash core -o ./dist/lodash.core.js` * Build: `lodash core -o ./dist/lodash.core.js`
* Copyright jQuery Foundation and other contributors <https://jquery.org/> * Copyright JS Foundation and other contributors <https://js.foundation/>
* Released under MIT license <https://lodash.com/license> * Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
@@ -13,9 +13,9 @@
var undefined; var undefined;
/** Used as the semantic version number. */ /** Used as the semantic version number. */
var VERSION = '4.14.0'; var VERSION = '4.16.5';
/** Used as the `TypeError` message for "Functions" methods. */ /** Error message constants. */
var FUNC_ERROR_TEXT = 'Expected a function'; var FUNC_ERROR_TEXT = 'Expected a function';
/** Used to compose bitmasks for function metadata. */ /** Used to compose bitmasks for function metadata. */
@@ -33,6 +33,7 @@
/** `Object#toString` result references. */ /** `Object#toString` result references. */
var argsTag = '[object Arguments]', var argsTag = '[object Arguments]',
arrayTag = '[object Array]', arrayTag = '[object Array]',
asyncTag = '[object AsyncFunction]',
boolTag = '[object Boolean]', boolTag = '[object Boolean]',
dateTag = '[object Date]', dateTag = '[object Date]',
errorTag = '[object Error]', errorTag = '[object Error]',
@@ -40,11 +41,12 @@
genTag = '[object GeneratorFunction]', genTag = '[object GeneratorFunction]',
numberTag = '[object Number]', numberTag = '[object Number]',
objectTag = '[object Object]', objectTag = '[object Object]',
proxyTag = '[object Proxy]',
regexpTag = '[object RegExp]', regexpTag = '[object RegExp]',
stringTag = '[object String]'; stringTag = '[object String]';
/** Used to match HTML entities and HTML characters. */ /** Used to match HTML entities and HTML characters. */
var reUnescapedHtml = /[&<>"'`]/g, var reUnescapedHtml = /[&<>"']/g,
reHasUnescapedHtml = RegExp(reUnescapedHtml.source); reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
/** Used to map characters to HTML entities. */ /** Used to map characters to HTML entities. */
@@ -53,8 +55,7 @@
'<': '&lt;', '<': '&lt;',
'>': '&gt;', '>': '&gt;',
'"': '&quot;', '"': '&quot;',
"'": '&#39;', "'": '&#39;'
'`': '&#96;'
}; };
/** Detect free variable `global` from Node.js. */ /** Detect free variable `global` from Node.js. */
@@ -67,10 +68,10 @@
var root = freeGlobal || freeSelf || Function('return this')(); var root = freeGlobal || freeSelf || Function('return this')();
/** Detect free variable `exports`. */ /** Detect free variable `exports`. */
var freeExports = freeGlobal && typeof exports == 'object' && exports; var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
/** Detect free variable `module`. */ /** Detect free variable `module`. */
var freeModule = freeExports && typeof module == 'object' && module; var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
@@ -92,7 +93,7 @@
* support for iteratee shorthands. * support for iteratee shorthands.
* *
* @private * @private
* @param {Array} array The array to search. * @param {Array} array The array to inspect.
* @param {Function} predicate The function invoked per iteration. * @param {Function} predicate The function invoked per iteration.
* @param {number} fromIndex The index to search from. * @param {number} fromIndex The index to search from.
* @param {boolean} [fromRight] Specify iterating from right to left. * @param {boolean} [fromRight] Specify iterating from right to left.
@@ -184,18 +185,7 @@
var escapeHtmlChar = basePropertyOf(htmlEscapes); var escapeHtmlChar = basePropertyOf(htmlEscapes);
/** /**
* Checks if `value` is a host object in IE < 9. * Creates a unary function that invokes `func` with its argument transformed.
*
* @private
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a host object, else `false`.
*/
function isHostObject() {
return false;
}
/**
* Creates a function that invokes `func` with its first argument transformed.
* *
* @private * @private
* @param {Function} func The function to wrap. * @param {Function} func The function to wrap.
@@ -222,10 +212,10 @@
/** /**
* Used to resolve the * Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
* of values. * of values.
*/ */
var objectToString = objectProto.toString; var nativeObjectToString = objectProto.toString;
/** Used to restore the original `_` reference in `_.noConflict`. */ /** Used to restore the original `_` reference in `_.noConflict`. */
var oldDash = root._; var oldDash = root._;
@@ -236,7 +226,7 @@
/* Built-in method references for those with the same name as other `lodash` methods. */ /* Built-in method references for those with the same name as other `lodash` methods. */
var nativeIsFinite = root.isFinite, var nativeIsFinite = root.isFinite,
nativeKeys = Object.keys, nativeKeys = overArg(Object.keys, Object),
nativeMax = Math.max; nativeMax = Math.max;
/*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/
@@ -364,6 +354,30 @@
: new LodashWrapper(value); : new LodashWrapper(value);
} }
/**
* The base implementation of `_.create` without support for assigning
* properties to the created object.
*
* @private
* @param {Object} proto The object to inherit from.
* @returns {Object} Returns the new object.
*/
var baseCreate = (function() {
function object() {}
return function(proto) {
if (!isObject(proto)) {
return {};
}
if (objectCreate) {
return objectCreate(proto);
}
object.prototype = proto;
var result = new object;
object.prototype = undefined;
return result;
};
}());
/** /**
* The base constructor for creating `lodash` wrapper objects. * The base constructor for creating `lodash` wrapper objects.
* *
@@ -402,7 +416,7 @@
/** /**
* Assigns `value` to `key` of `object` if the existing value is not equivalent * Assigns `value` to `key` of `object` if the existing value is not equivalent
* using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
* for equality comparisons. * for equality comparisons.
* *
* @private * @private
@@ -414,20 +428,21 @@
var objValue = object[key]; var objValue = object[key];
if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
(value === undefined && !(key in object))) { (value === undefined && !(key in object))) {
object[key] = value; baseAssignValue(object, key, value);
} }
} }
/** /**
* The base implementation of `_.create` without support for assigning * The base implementation of `assignValue` and `assignMergeValue` without
* properties to the created object. * value checks.
* *
* @private * @private
* @param {Object} prototype The object to inherit from. * @param {Object} object The object to modify.
* @returns {Object} Returns the new object. * @param {string} key The key of the property to assign.
* @param {*} value The value to assign.
*/ */
function baseCreate(proto) { function baseAssignValue(object, key, value) {
return isObject(proto) ? objectCreate(proto) : {}; object[key] = value;
} }
/** /**
@@ -438,7 +453,7 @@
* @param {Function} func The function to delay. * @param {Function} func The function to delay.
* @param {number} wait The number of milliseconds to delay invocation. * @param {number} wait The number of milliseconds to delay invocation.
* @param {Array} args The arguments to provide to `func`. * @param {Array} args The arguments to provide to `func`.
* @returns {number} Returns the timer id. * @returns {number|Object} Returns the timer id or timeout object.
*/ */
function baseDelay(func, wait, args) { function baseDelay(func, wait, args) {
if (typeof func != 'function') { if (typeof func != 'function') {
@@ -596,6 +611,17 @@
}); });
} }
/**
* The base implementation of `getTag` without fallbacks for buggy environments.
*
* @private
* @param {*} value The value to query.
* @returns {string} Returns the `toStringTag`.
*/
function baseGetTag(value) {
return objectToString(value);
}
/** /**
* The base implementation of `_.gt` which doesn't coerce arguments. * The base implementation of `_.gt` which doesn't coerce arguments.
* *
@@ -609,6 +635,15 @@
return value > other; return value > other;
} }
/**
* The base implementation of `_.isArguments`.
*
* @private
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
*/
var baseIsArguments = noop;
/** /**
* The base implementation of `_.isDate` without Node.js optimizations. * The base implementation of `_.isDate` without Node.js optimizations.
* *
@@ -617,7 +652,7 @@
* @returns {boolean} Returns `true` if `value` is a date object, else `false`. * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
*/ */
function baseIsDate(value) { function baseIsDate(value) {
return isObjectLike(value) && objectToString.call(value) == dateTag; return isObjectLike(value) && baseGetTag(value) == dateTag;
} }
/** /**
@@ -667,15 +702,15 @@
othTag = arrayTag; othTag = arrayTag;
if (!objIsArr) { if (!objIsArr) {
objTag = objectToString.call(object); objTag = baseGetTag(object);
objTag = objTag == argsTag ? objectTag : objTag; objTag = objTag == argsTag ? objectTag : objTag;
} }
if (!othIsArr) { if (!othIsArr) {
othTag = objectToString.call(other); othTag = baseGetTag(other);
othTag = othTag == argsTag ? objectTag : othTag; othTag = othTag == argsTag ? objectTag : othTag;
} }
var objIsObj = objTag == objectTag && !isHostObject(object), var objIsObj = objTag == objectTag,
othIsObj = othTag == objectTag && !isHostObject(other), othIsObj = othTag == objectTag,
isSameTag = objTag == othTag; isSameTag = objTag == othTag;
stack || (stack = []); stack || (stack = []);
@@ -726,7 +761,7 @@
* @returns {boolean} Returns `true` if `value` is a regexp, else `false`. * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
*/ */
function baseIsRegExp(value) { function baseIsRegExp(value) {
return isObject(value) && objectToString.call(value) == regexpTag; return isObjectLike(value) && baseGetTag(value) == regexpTag;
} }
/** /**
@@ -746,34 +781,6 @@
return (typeof func == 'object' ? baseMatches : baseProperty)(func); return (typeof func == 'object' ? baseMatches : baseProperty)(func);
} }
/**
* The base implementation of `_.keys` which doesn't skip the constructor
* property of prototypes or treat sparse arrays as dense.
*
* @private
* @param {Object} object The object to query.
* @returns {Array} Returns the array of property names.
*/
var baseKeys = overArg(nativeKeys, Object);
/**
* The base implementation of `_.keysIn` which doesn't skip the constructor
* property of prototypes or treat sparse arrays as dense.
*
* @private
* @param {Object} object The object to query.
* @returns {Array} Returns the array of property names.
*/
function baseKeysIn(object) {
object = object == null ? object : Object(object);
var result = [];
for (var key in object) {
result.push(key);
}
return result;
}
/** /**
* The base implementation of `_.lt` which doesn't coerce arguments. * The base implementation of `_.lt` which doesn't coerce arguments.
* *
@@ -813,7 +820,7 @@
* @returns {Function} Returns the new spec function. * @returns {Function} Returns the new spec function.
*/ */
function baseMatches(source) { function baseMatches(source) {
var props = keys(source); var props = nativeKeys(source);
return function(object) { return function(object) {
var length = props.length; var length = props.length;
if (object == null) { if (object == null) {
@@ -860,24 +867,7 @@
* @returns {Function} Returns the new function. * @returns {Function} Returns the new function.
*/ */
function baseRest(func, start) { function baseRest(func, start) {
start = nativeMax(start === undefined ? (func.length - 1) : start, 0); return setToString(overRest(func, start, identity), func + '');
return function() {
var args = arguments,
index = -1,
length = nativeMax(args.length - start, 0),
array = Array(length);
while (++index < length) {
array[index] = args[start + index];
}
index = -1;
var otherArgs = Array(start + 1);
while (++index < start) {
otherArgs[index] = args[index];
}
otherArgs[start] = array;
return func.apply(this, otherArgs);
};
} }
/** /**
@@ -1007,6 +997,7 @@
* @returns {Object} Returns `object`. * @returns {Object} Returns `object`.
*/ */
function copyObject(source, props, object, customizer) { function copyObject(source, props, object, customizer) {
var isNew = !object;
object || (object = {}); object || (object = {});
var index = -1, var index = -1,
@@ -1019,7 +1010,14 @@
? customizer(object[key], source[key], key, object, source) ? customizer(object[key], source[key], key, object, source)
: undefined; : undefined;
assignValue(object, key, newValue === undefined ? source[key] : newValue); if (newValue === undefined) {
newValue = source[key];
}
if (isNew) {
baseAssignValue(object, key, newValue);
} else {
assignValue(object, key, newValue);
}
} }
return object; return object;
} }
@@ -1116,7 +1114,7 @@
function createCtor(Ctor) { function createCtor(Ctor) {
return function() { return function() {
// Use a `switch` statement to work with class constructors. See // Use a `switch` statement to work with class constructors. See
// http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
// for more details. // for more details.
var args = arguments; var args = arguments;
var thisBinding = baseCreate(Ctor.prototype), var thisBinding = baseCreate(Ctor.prototype),
@@ -1281,7 +1279,7 @@
case regexpTag: case regexpTag:
case stringTag: case stringTag:
// Coerce regexes to strings and treat strings, primitives and objects, // Coerce regexes to strings and treat strings, primitives and objects,
// as equal. See http://www.ecma-international.org/ecma-262/6.0/#sec-regexp.prototype.tostring // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
// for more details. // for more details.
return object == (other + ''); return object == (other + '');
@@ -1355,17 +1353,15 @@
} }
/** /**
* Gets the "length" property value of `object`. * A specialized version of `baseRest` which flattens the rest array.
*
* **Note:** This function is used to avoid a
* [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects
* Safari on at least iOS 8.1-8.3 ARM64.
* *
* @private * @private
* @param {Object} object The object to query. * @param {Function} func The function to apply a rest parameter to.
* @returns {*} Returns the "length" value. * @returns {Function} Returns the new function.
*/ */
var getLength = baseProperty('length'); function flatRest(func) {
return setToString(overRest(func, undefined, flatten), func + '');
}
/** /**
* Checks if `value` is a flattenable `arguments` object or array. * Checks if `value` is a flattenable `arguments` object or array.
@@ -1378,6 +1374,76 @@
return isArray(value) || isArguments(value); return isArray(value) || isArguments(value);
} }
/**
* This function is like
* [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
* except that it includes inherited enumerable properties.
*
* @private
* @param {Object} object The object to query.
* @returns {Array} Returns the array of property names.
*/
function nativeKeysIn(object) {
var result = [];
if (object != null) {
for (var key in Object(object)) {
result.push(key);
}
}
return result;
}
/**
* Converts `value` to a string using `Object.prototype.toString`.
*
* @private
* @param {*} value The value to convert.
* @returns {string} Returns the converted string.
*/
function objectToString(value) {
return nativeObjectToString.call(value);
}
/**
* A specialized version of `baseRest` which transforms the rest array.
*
* @private
* @param {Function} func The function to apply a rest parameter to.
* @param {number} [start=func.length-1] The start position of the rest parameter.
* @param {Function} transform The rest array transform.
* @returns {Function} Returns the new function.
*/
function overRest(func, start, transform) {
start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
return function() {
var args = arguments,
index = -1,
length = nativeMax(args.length - start, 0),
array = Array(length);
while (++index < length) {
array[index] = args[start + index];
}
index = -1;
var otherArgs = Array(start + 1);
while (++index < start) {
otherArgs[index] = args[index];
}
otherArgs[start] = transform(array);
return func.apply(this, otherArgs);
};
}
/**
* Sets the `toString` method of `func` to return `string`.
*
* @private
* @param {Function} func The function to modify.
* @param {Function} string The `toString` result.
* @returns {Function} Returns `func`.
*/
var setToString = identity;
/** /**
* Converts `value` to a string key if it's not a string or symbol. * Converts `value` to a string key if it's not a string or symbol.
* *
@@ -1431,17 +1497,18 @@
* // => [1] * // => [1]
*/ */
function concat() { function concat() {
var length = arguments.length, var length = arguments.length;
args = Array(length ? length - 1 : 0), if (!length) {
return [];
}
var args = Array(length - 1),
array = arguments[0], array = arguments[0],
index = length; index = length;
while (index--) { while (index--) {
args[index - 1] = arguments[index]; args[index - 1] = arguments[index];
} }
return length return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
? arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1))
: [];
} }
/** /**
@@ -1452,9 +1519,8 @@
* @memberOf _ * @memberOf _
* @since 1.1.0 * @since 1.1.0
* @category Array * @category Array
* @param {Array} array The array to search. * @param {Array} array The array to inspect.
* @param {Function} [predicate=_.identity] * @param {Function} [predicate=_.identity] The function invoked per iteration.
* The function invoked per iteration.
* @param {number} [fromIndex=0] The index to search from. * @param {number} [fromIndex=0] The index to search from.
* @returns {number} Returns the index of the found element, else `-1`. * @returns {number} Returns the index of the found element, else `-1`.
* @example * @example
@@ -1481,7 +1547,7 @@
* // => 2 * // => 2
*/ */
function findIndex(array, predicate, fromIndex) { function findIndex(array, predicate, fromIndex) {
var length = array ? array.length : 0; var length = array == null ? 0 : array.length;
if (!length) { if (!length) {
return -1; return -1;
} }
@@ -1507,7 +1573,7 @@
* // => [1, 2, [3, [4]], 5] * // => [1, 2, [3, [4]], 5]
*/ */
function flatten(array) { function flatten(array) {
var length = array ? array.length : 0; var length = array == null ? 0 : array.length;
return length ? baseFlatten(array, 1) : []; return length ? baseFlatten(array, 1) : [];
} }
@@ -1526,7 +1592,7 @@
* // => [1, 2, 3, 4, 5] * // => [1, 2, 3, 4, 5]
*/ */
function flattenDeep(array) { function flattenDeep(array) {
var length = array ? array.length : 0; var length = array == null ? 0 : array.length;
return length ? baseFlatten(array, INFINITY) : []; return length ? baseFlatten(array, INFINITY) : [];
} }
@@ -1554,7 +1620,7 @@
/** /**
* Gets the index at which the first occurrence of `value` is found in `array` * Gets the index at which the first occurrence of `value` is found in `array`
* using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
* for equality comparisons. If `fromIndex` is negative, it's used as the * for equality comparisons. If `fromIndex` is negative, it's used as the
* offset from the end of `array`. * offset from the end of `array`.
* *
@@ -1562,7 +1628,7 @@
* @memberOf _ * @memberOf _
* @since 0.1.0 * @since 0.1.0
* @category Array * @category Array
* @param {Array} array The array to search. * @param {Array} array The array to inspect.
* @param {*} value The value to search for. * @param {*} value The value to search for.
* @param {number} [fromIndex=0] The index to search from. * @param {number} [fromIndex=0] The index to search from.
* @returns {number} Returns the index of the matched value, else `-1`. * @returns {number} Returns the index of the matched value, else `-1`.
@@ -1576,7 +1642,7 @@
* // => 3 * // => 3
*/ */
function indexOf(array, value, fromIndex) { function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0; var length = array == null ? 0 : array.length;
if (typeof fromIndex == 'number') { if (typeof fromIndex == 'number') {
fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex; fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
} else { } else {
@@ -1609,7 +1675,7 @@
* // => 3 * // => 3
*/ */
function last(array) { function last(array) {
var length = array ? array.length : 0; var length = array == null ? 0 : array.length;
return length ? array[length - 1] : undefined; return length ? array[length - 1] : undefined;
} }
@@ -1630,7 +1696,7 @@
* @returns {Array} Returns the slice of `array`. * @returns {Array} Returns the slice of `array`.
*/ */
function slice(array, start, end) { function slice(array, start, end) {
var length = array ? array.length : 0; var length = array == null ? 0 : array.length;
start = start == null ? 0 : +start; start = start == null ? 0 : +start;
end = end === undefined ? length : +end; end = end === undefined ? length : +end;
return length ? baseSlice(array, start, end) : []; return length ? baseSlice(array, start, end) : [];
@@ -1784,13 +1850,17 @@
* Iteration is stopped once `predicate` returns falsey. The predicate is * Iteration is stopped once `predicate` returns falsey. The predicate is
* invoked with three arguments: (value, index|key, collection). * invoked with three arguments: (value, index|key, collection).
* *
* **Note:** This method returns `true` for
* [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
* [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
* elements of empty collections.
*
* @static * @static
* @memberOf _ * @memberOf _
* @since 0.1.0 * @since 0.1.0
* @category Collection * @category Collection
* @param {Array|Object} collection The collection to iterate over. * @param {Array|Object} collection The collection to iterate over.
* @param {Function} [predicate=_.identity] * @param {Function} [predicate=_.identity] The function invoked per iteration.
* The function invoked per iteration.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {boolean} Returns `true` if all elements pass the predicate check, * @returns {boolean} Returns `true` if all elements pass the predicate check,
* else `false`. * else `false`.
@@ -1833,8 +1903,7 @@
* @since 0.1.0 * @since 0.1.0
* @category Collection * @category Collection
* @param {Array|Object} collection The collection to iterate over. * @param {Array|Object} collection The collection to iterate over.
* @param {Function} [predicate=_.identity] * @param {Function} [predicate=_.identity] The function invoked per iteration.
* The function invoked per iteration.
* @returns {Array} Returns the new filtered array. * @returns {Array} Returns the new filtered array.
* @see _.reject * @see _.reject
* @example * @example
@@ -1872,9 +1941,8 @@
* @memberOf _ * @memberOf _
* @since 0.1.0 * @since 0.1.0
* @category Collection * @category Collection
* @param {Array|Object} collection The collection to search. * @param {Array|Object} collection The collection to inspect.
* @param {Function} [predicate=_.identity] * @param {Function} [predicate=_.identity] The function invoked per iteration.
* The function invoked per iteration.
* @param {number} [fromIndex=0] The index to search from. * @param {number} [fromIndex=0] The index to search from.
* @returns {*} Returns the matched element, else `undefined`. * @returns {*} Returns the matched element, else `undefined`.
* @example * @example
@@ -1922,7 +1990,7 @@
* @see _.forEachRight * @see _.forEachRight
* @example * @example
* *
* _([1, 2]).forEach(function(value) { * _.forEach([1, 2], function(value) {
* console.log(value); * console.log(value);
* }); * });
* // => Logs `1` then `2`. * // => Logs `1` then `2`.
@@ -2031,7 +2099,7 @@
* @memberOf _ * @memberOf _
* @since 0.1.0 * @since 0.1.0
* @category Collection * @category Collection
* @param {Array|Object} collection The collection to inspect. * @param {Array|Object|string} collection The collection to inspect.
* @returns {number} Returns the collection size. * @returns {number} Returns the collection size.
* @example * @example
* *
@@ -2048,7 +2116,7 @@
if (collection == null) { if (collection == null) {
return 0; return 0;
} }
collection = isArrayLike(collection) ? collection : keys(collection); collection = isArrayLike(collection) ? collection : nativeKeys(collection);
return collection.length; return collection.length;
} }
@@ -2116,16 +2184,11 @@
* { 'user': 'barney', 'age': 34 } * { 'user': 'barney', 'age': 34 }
* ]; * ];
* *
* _.sortBy(users, function(o) { return o.user; }); * _.sortBy(users, [function(o) { return o.user; }]);
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
* *
* _.sortBy(users, ['user', 'age']); * _.sortBy(users, ['user', 'age']);
* // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
*
* _.sortBy(users, 'user', function(o) {
* return Math.floor(o.age / 10);
* });
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
*/ */
function sortBy(collection, iteratee) { function sortBy(collection, iteratee) {
var index = 0; var index = 0;
@@ -2229,7 +2292,7 @@
* _.defer(function(text) { * _.defer(function(text) {
* console.log(text); * console.log(text);
* }, 'deferred'); * }, 'deferred');
* // => Logs 'deferred' after one or more milliseconds. * // => Logs 'deferred' after one millisecond.
*/ */
var defer = baseRest(function(func, args) { var defer = baseRest(function(func, args) {
return baseDelay(func, 1, args); return baseDelay(func, 1, args);
@@ -2342,12 +2405,12 @@
if (!isObject(value)) { if (!isObject(value)) {
return value; return value;
} }
return isArray(value) ? copyArray(value) : copyObject(value, keys(value)); return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value));
} }
/** /**
* Performs a * Performs a
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
* comparison between two values to determine if they are equivalent. * comparison between two values to determine if they are equivalent.
* *
* @static * @static
@@ -2399,11 +2462,10 @@
* _.isArguments([1, 2, 3]); * _.isArguments([1, 2, 3]);
* // => false * // => false
*/ */
function isArguments(value) { var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
// Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode. return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
(!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); };
}
/** /**
* Checks if `value` is classified as an `Array` object. * Checks if `value` is classified as an `Array` object.
@@ -2456,36 +2518,7 @@
* // => false * // => false
*/ */
function isArrayLike(value) { function isArrayLike(value) {
return value != null && isLength(getLength(value)) && !isFunction(value); return value != null && isLength(value.length) && !isFunction(value);
}
/**
* This method is like `_.isArrayLike` except that it also checks if `value`
* is an object.
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an array-like object,
* else `false`.
* @example
*
* _.isArrayLikeObject([1, 2, 3]);
* // => true
*
* _.isArrayLikeObject(document.body.children);
* // => true
*
* _.isArrayLikeObject('abc');
* // => false
*
* _.isArrayLikeObject(_.noop);
* // => false
*/
function isArrayLikeObject(value) {
return isObjectLike(value) && isArrayLike(value);
} }
/** /**
@@ -2507,7 +2540,7 @@
*/ */
function isBoolean(value) { function isBoolean(value) {
return value === true || value === false || return value === true || value === false ||
(isObjectLike(value) && objectToString.call(value) == boolTag); (isObjectLike(value) && baseGetTag(value) == boolTag);
} }
/** /**
@@ -2568,7 +2601,7 @@
isFunction(value.splice) || isArguments(value))) { isFunction(value.splice) || isArguments(value))) {
return !value.length; return !value.length;
} }
return !keys(value).length; return !nativeKeys(value).length;
} }
/** /**
@@ -2587,8 +2620,7 @@
* @category Lang * @category Lang
* @param {*} value The value to compare. * @param {*} value The value to compare.
* @param {*} other The other value to compare. * @param {*} other The other value to compare.
* @returns {boolean} Returns `true` if the values are equivalent, * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
* else `false`.
* @example * @example
* *
* var object = { 'a': 1 }; * var object = { 'a': 1 };
@@ -2615,8 +2647,7 @@
* @since 0.1.0 * @since 0.1.0
* @category Lang * @category Lang
* @param {*} value The value to check. * @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a finite number, * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
* else `false`.
* @example * @example
* *
* _.isFinite(3); * _.isFinite(3);
@@ -2653,26 +2684,27 @@
* // => false * // => false
*/ */
function isFunction(value) { function isFunction(value) {
if (!isObject(value)) {
return false;
}
// The use of `Object#toString` avoids issues with the `typeof` operator // The use of `Object#toString` avoids issues with the `typeof` operator
// in Safari 8 which returns 'object' for typed array and weak map constructors, // in Safari 9 which returns 'object' for typed arrays and other constructors.
// and PhantomJS 1.9 which returns 'function' for `NodeList` instances. var tag = baseGetTag(value);
var tag = isObject(value) ? objectToString.call(value) : ''; return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
return tag == funcTag || tag == genTag;
} }
/** /**
* Checks if `value` is a valid array-like length. * Checks if `value` is a valid array-like length.
* *
* **Note:** This function is loosely based on * **Note:** This method is loosely based on
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
* *
* @static * @static
* @memberOf _ * @memberOf _
* @since 4.0.0 * @since 4.0.0
* @category Lang * @category Lang
* @param {*} value The value to check. * @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a valid length, * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
* else `false`.
* @example * @example
* *
* _.isLength(3); * _.isLength(3);
@@ -2694,7 +2726,7 @@
/** /**
* Checks if `value` is the * Checks if `value` is the
* [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types) * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
* *
* @static * @static
@@ -2719,7 +2751,7 @@
*/ */
function isObject(value) { function isObject(value) {
var type = typeof value; var type = typeof value;
return !!value && (type == 'object' || type == 'function'); return value != null && (type == 'object' || type == 'function');
} }
/** /**
@@ -2747,7 +2779,7 @@
* // => false * // => false
*/ */
function isObjectLike(value) { function isObjectLike(value) {
return !!value && typeof value == 'object'; return value != null && typeof value == 'object';
} }
/** /**
@@ -2834,7 +2866,7 @@
*/ */
function isNumber(value) { function isNumber(value) {
return typeof value == 'number' || return typeof value == 'number' ||
(isObjectLike(value) && objectToString.call(value) == numberTag); (isObjectLike(value) && baseGetTag(value) == numberTag);
} }
/** /**
@@ -2875,7 +2907,7 @@
*/ */
function isString(value) { function isString(value) {
return typeof value == 'string' || return typeof value == 'string' ||
(!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag); (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
} }
/** /**
@@ -2933,7 +2965,7 @@
* Converts `value` to an integer. * Converts `value` to an integer.
* *
* **Note:** This method is loosely based on * **Note:** This method is loosely based on
* [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger). * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
* *
* @static * @static
* @memberOf _ * @memberOf _
@@ -2990,8 +3022,8 @@
* @memberOf _ * @memberOf _
* @since 4.0.0 * @since 4.0.0
* @category Lang * @category Lang
* @param {*} value The value to process. * @param {*} value The value to convert.
* @returns {string} Returns the string. * @returns {string} Returns the converted string.
* @example * @example
* *
* _.toString(null); * _.toString(null);
@@ -3045,7 +3077,7 @@
* // => { 'a': 1, 'c': 3 } * // => { 'a': 1, 'c': 3 }
*/ */
var assign = createAssigner(function(object, source) { var assign = createAssigner(function(object, source) {
copyObject(source, keys(source), object); copyObject(source, nativeKeys(source), object);
}); });
/** /**
@@ -3080,7 +3112,7 @@
* // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
*/ */
var assignIn = createAssigner(function(object, source) { var assignIn = createAssigner(function(object, source) {
copyObject(source, keysIn(source), object); copyObject(source, nativeKeysIn(source), object);
}); });
/** /**
@@ -3152,7 +3184,7 @@
*/ */
function create(prototype, properties) { function create(prototype, properties) {
var result = baseCreate(prototype); var result = baseCreate(prototype);
return properties ? assign(result, properties) : result; return properties == null ? result : assign(result, properties);
} }
/** /**
@@ -3216,7 +3248,7 @@
* Creates an array of the own enumerable property names of `object`. * Creates an array of the own enumerable property names of `object`.
* *
* **Note:** Non-object values are coerced to objects. See the * **Note:** Non-object values are coerced to objects. See the
* [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys) * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
* for more details. * for more details.
* *
* @static * @static
@@ -3240,7 +3272,7 @@
* _.keys('hi'); * _.keys('hi');
* // => ['0', '1'] * // => ['0', '1']
*/ */
var keys = baseKeys; var keys = nativeKeys;
/** /**
* Creates an array of the own and inherited enumerable property names of `object`. * Creates an array of the own and inherited enumerable property names of `object`.
@@ -3265,7 +3297,7 @@
* _.keysIn(new Foo); * _.keysIn(new Foo);
* // => ['a', 'b', 'c'] (iteration order is not guaranteed) * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
*/ */
var keysIn = baseKeysIn; var keysIn = nativeKeysIn;
/** /**
* Creates an object composed of the picked `object` properties. * Creates an object composed of the picked `object` properties.
@@ -3284,8 +3316,8 @@
* _.pick(object, ['a', 'c']); * _.pick(object, ['a', 'c']);
* // => { 'a': 1, 'c': 3 } * // => { 'a': 1, 'c': 3 }
*/ */
var pick = baseRest(function(object, props) { var pick = flatRest(function(object, props) {
return object == null ? {} : basePick(object, baseMap(baseFlatten(props, 1), toKey)); return object == null ? {} : basePick(object, baseMap(props, toKey));
}); });
/** /**
@@ -3352,14 +3384,14 @@
* // => ['h', 'i'] * // => ['h', 'i']
*/ */
function values(object) { function values(object) {
return object ? baseValues(object, keys(object)) : []; return object == null ? [] : baseValues(object, keys(object));
} }
/*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/
/** /**
* Converts the characters "&", "<", ">", '"', "'", and "\`" in `string` to * Converts the characters "&", "<", ">", '"', and "'" in `string` to their
* their corresponding HTML entities. * corresponding HTML entities.
* *
* **Note:** No other characters are escaped. To escape additional * **Note:** No other characters are escaped. To escape additional
* characters use a third-party library like [_he_](https://mths.be/he). * characters use a third-party library like [_he_](https://mths.be/he).
@@ -3370,12 +3402,6 @@
* [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
* (under "semi-related fun fact") for more details. * (under "semi-related fun fact") for more details.
* *
* Backticks are escaped because in IE < 9, they can break out of
* attribute values or HTML comments. See [#59](https://html5sec.org/#59),
* [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and
* [#133](https://html5sec.org/#133) of the
* [HTML5 Security Cheatsheet](https://html5sec.org/) for more details.
*
* When working with HTML you should always * When working with HTML you should always
* [quote attribute values](http://wonko.com/post/html-escaping) to reduce * [quote attribute values](http://wonko.com/post/html-escaping) to reduce
* XSS vectors. * XSS vectors.
@@ -3467,10 +3493,14 @@
/** /**
* Creates a function that performs a partial deep comparison between a given * Creates a function that performs a partial deep comparison between a given
* object and `source`, returning `true` if the given object has equivalent * object and `source`, returning `true` if the given object has equivalent
* property values, else `false`. The created function is equivalent to * property values, else `false`.
* `_.isMatch` with a `source` partially applied.
* *
* **Note:** This method supports comparing the same values as `_.isEqual`. * **Note:** The created function is equivalent to `_.isMatch` with `source`
* partially applied.
*
* Partial comparisons will match empty array and empty object `source`
* values against any array or object value, respectively. See `_.isEqual`
* for a list of supported value comparisons.
* *
* @static * @static
* @memberOf _ * @memberOf _

View File

@@ -1,28 +1,29 @@
/** /**
* @license * @license
* lodash (Custom Build) /license | Underscore.js 1.8.3 underscorejs.org/LICENSE * lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* Build: `lodash core -o ./dist/lodash.core.js` * Build: `lodash core -o ./dist/lodash.core.js`
*/ */
;(function(){function n(n){n=null==n?n:Object(n);var t,r=[];for(t in n)r.push(t);return r}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?Z:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return m(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r,e){return n===Z||J(n,an[r])&&!ln.call(e,r)?t:n; ;(function(){function n(n){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return d(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r,e){return n===nn||M(n,ln[r])&&!pn.call(e,r)?t:n}function f(n,t,r){
}function f(n){return V(n)?vn(n):{}}function a(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");return setTimeout(function(){n.apply(Z,r)},t)}function l(n,t){var r=true;return jn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function p(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===Z?i===i:r(i,c)))var c=i,f=o}return f}function s(n,t){var r=[];return jn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function h(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=I),o||(o=[]);++i<c;){ if(typeof n!="function")throw new TypeError("Expected a function");return setTimeout(function(){n.apply(nn,r)},t)}function a(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function l(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===nn?i===i:r(i,c)))var c=i,f=o}return f}function p(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function s(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=D),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?s(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f);
var f=n[i];0<r&&e(f)?1<r?h(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f)}return o}function v(n,t){return n&&dn(n,t,Dn)}function b(n,t){return s(t,function(t){return U(n[t])})}function y(n,t){return n>t}function g(n,t,r,e,u){return n===t||(null==n||null==t||!V(n)&&!H(t)?n!==n&&t!==t:_(n,t,g,r,e,u))}function _(n,t,r,e,u,o){var i=kn(n),c=kn(t),f="[object Array]",a="[object Array]";i||(f=sn.call(n),f="[object Arguments]"==f?"[object Object]":f),c||(a=sn.call(t),a="[object Arguments]"==a?"[object Object]":a); }return o}function h(n,t){return n&&On(n,t,qn)}function v(n,t){return p(t,function(t){return V(n[t])})}function y(n,t){return n>t}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!K(t)?n!==n&&t!==t:g(n,t,b,r,e,u))}function g(n,t,r,e,u,o){var i=Sn(n),c=Sn(t),f="[object Array]",a="[object Array]";i||(f=hn.call(n),f="[object Arguments]"==f?"[object Object]":f),c||(a=hn.call(t),a="[object Arguments]"==a?"[object Object]":a);var l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);
var l="[object Object]"==f&&true,c="[object Object]"==a&&true,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=T(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 2&u||(i=l&&ln.call(n,"__wrapped__"), var p=En(o,function(t){return t[0]==n}),s=En(o,function(n){return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 2&u||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),
f=c&&ln.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=D(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t,r=r(i,f,e,u,o),o.pop(),r)}function j(n){return typeof n=="function"?n:null==n?X:(typeof n=="object"?O:r)(n)}function d(n,t){return n<t}function m(n,t){var r=-1,e=P(n)?Array(n.length):[];return jn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function O(n){var t=Dn(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&g(n[u],r[u],Z,3)))return false}return true}} o.pop(),r):(i=i?n.value():n,f=f?t.value():t,r=r(i,f,e,u,o),o.pop(),r)}function _(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?m:r)(n)}function j(n,t){return n<t}function d(n,t){var r=-1,e=U(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function m(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&b(n[u],r[u],nn,3)))return false}return true}}function O(n,t){return n=Object(n),G(t,function(t,r){return r in n&&(t[r]=n[r]),
function x(n,t){return n=Object(n),C(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function A(n){var t;return t=_n(t===Z?n.length-1:t,0),function(){for(var r=arguments,e=-1,u=_n(r.length-t,0),o=Array(u);++e<u;)o[e]=r[t+e];for(e=-1,u=Array(t+1);++e<t;)u[e]=r[e];return u[t]=o,n.apply(this,u)}}function E(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function w(n){return E(n,0,n.length)}function k(n,t){var r;return jn(n,function(n,e,u){ t},{})}function x(n){return xn(q(n,void 0,Y),n+"")}function A(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function E(n){return A(n,0,n.length)}function w(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function k(n,r){return G(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function N(n,t,r,e){var u=!r;r||(r={});for(var o=-1,i=t.length;++o<i;){var c=t[o],f=e?e(r[c],n[c],c,r,n):nn;
return r=t(n,e,u),!r}),!!r}function N(n,r){return C(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function S(n,t,r,e){r||(r={});for(var u=-1,o=t.length;++u<o;){var i=t[u],c=e?e(r[i],n[i],i,r,n):Z,f=r,a=i,i=c===Z?n[i]:c,c=f[a];ln.call(f,a)&&J(c,i)&&(i!==Z||a in f)||(f[a]=i)}return r}function F(n){return A(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:Z,o=3<n.length&&typeof o=="function"?(u--,o):Z;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function B(n){return function(){ if(f===nn&&(f=n[c]),u)r[c]=f;else{var a=r,l=a[c];pn.call(a,c)&&M(l,f)&&(f!==nn||c in a)||(a[c]=f)}}return r}function S(n){return x(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:nn,o=3<n.length&&typeof o=="function"?(u--,o):nn;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function F(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return H(t)?t:r}}function T(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];
var t=arguments,r=f(n.prototype),t=n.apply(r,t);return V(t)?t:r}}function R(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=B(n);return e}function T(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(2&u&&c>i))return false;for(var c=-1,f=true,a=1&u?[]:Z;++c<i;){var l=n[c],p=t[c];if(void 0!==Z){ for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=F(n);return e}function B(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(2&u&&c>i))return false;for(var c=-1,f=true,a=1&u?[]:nn;++c<i;){var l=n[c],p=t[c];if(void 0!==nn){f=false;break}if(a){if(!w(t,function(n,t){if(!z(a,t)&&(l===n||r(l,n,e,u,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!r(l,p,e,u,o)){f=false;break}}return f}function R(n,t,r,e,u,o){var i=2&u,c=qn(n),f=c.length,a=qn(t).length;
f=false;break}if(a){if(!k(t,function(n,t){if(!$(a,t)&&(l===n||r(l,n,e,u,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!r(l,p,e,u,o)){f=false;break}}return f}function D(n,t,r,e,u,o){var i=2&u,c=Dn(n),f=c.length,a=Dn(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:ln.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==Z||s!==h&&!r(s,h,e,u,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)), if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==nn||s!==h&&!r(s,h,e,u,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function D(t){return Sn(t)||n(t)}function I(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);return t}function q(n,t,r){
a}function I(n){return kn(n)||M(n)}function q(n){return n&&n.length?n[0]:Z}function $(n,t,r){var e=n?n.length:0;r=typeof r=="number"?0>r?_n(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function z(n,t){return jn(n,j(t))}function C(n,t,r){return e(n,j(t),r,3>arguments.length,jn)}function G(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Nn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function J(n,t){ return t=jn(t===nn?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?s(n,1):[]}function P(n){return n&&n.length?n[0]:nn}function z(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function C(n,t){return mn(n,_(t))}function G(n,t,r){return e(n,_(t),r,3>arguments.length,mn);
return n===t||n!==n&&t!==t}function M(n){return H(n)&&P(n)&&ln.call(n,"callee")&&(!bn.call(n,"callee")||"[object Arguments]"==sn.call(n))}function P(n){var t;return(t=null!=n)&&(t=On(n),t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!U(n)}function U(n){return n=V(n)?sn.call(n):"","[object Function]"==n||"[object GeneratorFunction]"==n}function V(n){var t=typeof n;return!!n&&("object"==t||"function"==t)}function H(n){return!!n&&typeof n=="object"}function K(n){return typeof n=="number"||H(n)&&"[object Number]"==sn.call(n); }function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function H(n){var t=typeof n;
}function L(n){return typeof n=="string"||!kn(n)&&H(n)&&"[object String]"==sn.call(n)}function Q(n){return typeof n=="string"?n:null==n?"":n+""}function W(n){return n?u(n,Dn(n)):[]}function X(n){return n}function Y(n,r,e){var u=Dn(r),o=b(r,u);null!=e||V(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=b(r,Dn(r)));var i=!(V(e)&&"chain"in e&&!e.chain),c=U(n);return jn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=w(this.__actions__)).push({ return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Sn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,qn(n))}function Y(n){return n}function Z(n,r,e){var u=qn(r),o=v(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=v(r,qn(r)));var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);
func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var Z,nn=1/0,tn=/[&<>"'`]/g,rn=RegExp(tn.source),en=typeof global=="object"&&global&&global.Object===Object&&global,un=typeof self=="object"&&self&&self.Object===Object&&self,on=en||un||Function("return this")(),un=(en=en&&typeof exports=="object"&&exports)&&typeof module=="object"&&module,cn=function(n){return function(t){return null==n?Z:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;", return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=E(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
"`":"&#96;"}),fn=Array.prototype,an=Object.prototype,ln=an.hasOwnProperty,pn=0,sn=an.toString,hn=on._,vn=Object.create,bn=an.propertyIsEnumerable,yn=on.isFinite,gn=Object.keys,_n=Math.max;i.prototype=f(o.prototype),i.prototype.constructor=i;var jn=function(n,t){return function(r,e){if(null==r)return r;if(!P(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(v),dn=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){ return function(t){return null==n?nn:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),mn=function(n,t){return function(r){return n(t(r))}}(gn,Object),On=r("length"),xn=String,An=function(n){return function(t,r,e){var u=Object(t);if(!P(t)){var o=j(r);t=Dn(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:Z}}(function(n,t,r){var e=n?n.length:0;if(!e)return-1;r=null==r?0:Nn(r),0>r&&(r=_n(e+r,0));n:{for(t=j(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),gn=A(function(n,t,r){return R(n,t,r); var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(h),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=Y,An=String,En=function(n){return function(t,r,e){var u=Object(t);if(!U(t)){var o=_(r);t=qn(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:nn}}(function(n,t,r){
}),En=A(function(n,t){return a(n,1,t)}),wn=A(function(n,t,r){return a(n,Sn(t)||0,r)}),kn=Array.isArray,Nn=Number,Sn=Number,Fn=F(function(n,t){S(t,Dn(t),n)}),Bn=F(function(t,r){S(r,n(r),t)}),Rn=F(function(t,r,e,u){S(r,n(r),t,u)}),Tn=A(function(n){return n.push(Z,c),Rn.apply(Z,n)}),Dn=mn,mn=A(function(n,t){return null==n?{}:x(n,m(h(t,1),xn))});o.assignIn=Bn,o.before=G,o.bind=gn,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return s(n,Boolean)},o.concat=function(){for(var n=arguments.length,r=Array(n?n-1:0),e=arguments[0],u=n;u--;)r[u-1]=arguments[u]; var e=null==n?0:n.length;if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=_(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),wn=x(function(n,t,r){return T(n,t,r)}),kn=x(function(n,t){return f(n,1,t)}),Nn=x(function(n,t,r){return f(n,Tn(t)||0,r)}),Sn=Array.isArray,Fn=Number,Tn=Number,Bn=S(function(n,t){N(t,_n(t),n)}),Rn=S(function(n,t){N(t,I(t),n)}),Dn=S(function(n,t,r,e){N(t,$n(t),n,e)}),In=x(function(n){return n.push(nn,c),Dn.apply(nn,n)}),qn=_n,$n=I,Pn=function(n){
return n?t(kn(e)?w(e):[e],h(r,1)):[]},o.create=function(n,t){var r=f(n);return t?Fn(r,t):r},o.defaults=Tn,o.defer=En,o.delay=wn,o.filter=function(n,t){return s(n,j(t))},o.flatten=function(n){return n&&n.length?h(n,1):[]},o.flattenDeep=function(n){return n&&n.length?h(n,nn):[]},o.iteratee=j,o.keys=Dn,o.map=function(n,t){return m(n,j(t))},o.matches=function(n){return O(Fn({},n))},o.mixin=Y,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments); return xn(q(n,nn,$),n+"")}(function(n,t){return null==n?{}:O(n,d(t,An))});o.assignIn=Rn,o.before=J,o.bind=wn,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return p(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];return t(Sn(e)?E(e):[e],s(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Bn(r,t)},o.defaults=In,o.defer=kn,o.delay=Nn,o.filter=function(n,t){return p(n,_(t))},o.flatten=$,
}},o.once=function(n){return G(2,n)},o.pick=mn,o.slice=function(n,t,r){var e=n?n.length:0;return r=r===Z?e:+r,e?E(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=j(t),m(m(n,function(n,r,u){return{value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==Z,o=null===r,i=r===r,c=e!==Z,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value")); o.flattenDeep=function(n){return(null==n?0:n.length)?s(n,tn):[]},o.iteratee=_,o.keys=qn,o.map=function(n,t){return d(n,_(t))},o.matches=function(n){return m(Bn({},n))},o.mixin=Z,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){return J(2,n)},o.pick=Pn,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===nn?e:+r,e?A(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=_(t),
},o.tap=function(n,t){return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return P(n)?n.length?w(n):[]:W(n)},o.values=W,o.extend=Bn,Y(o,o),o.clone=function(n){return V(n)?kn(n)?w(n):S(n,Dn(n)):n},o.escape=function(n){return(n=Q(n))&&rn.test(n)?n.replace(tn,cn):n},o.every=function(n,t,r){return t=r?Z:t,l(n,j(t))},o.find=An,o.forEach=z,o.has=function(n,t){return null!=n&&ln.call(n,t)},o.head=q,o.identity=X,o.indexOf=$,o.isArguments=M,o.isArray=kn,o.isBoolean=function(n){return true===n||false===n||H(n)&&"[object Boolean]"==sn.call(n); d(d(n,function(n,r,u){return{value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==nn,o=null===r,i=r===r,c=e!==nn,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return U(n)?n.length?E(n):[]:X(n)},o.values=X,o.extend=Rn,Z(o,o),o.clone=function(n){
},o.isDate=function(n){return H(n)&&"[object Date]"==sn.call(n)},o.isEmpty=function(n){return P(n)&&(kn(n)||L(n)||U(n.splice)||M(n))?!n.length:!Dn(n).length},o.isEqual=function(n,t){return g(n,t)},o.isFinite=function(n){return typeof n=="number"&&yn(n)},o.isFunction=U,o.isNaN=function(n){return K(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=K,o.isObject=V,o.isRegExp=function(n){return V(n)&&"[object RegExp]"==sn.call(n)},o.isString=L,o.isUndefined=function(n){return n===Z},o.last=function(n){ return H(n)?Sn(n)?E(n):N(n,_n(n)):n},o.escape=function(n){return(n=W(n))&&en.test(n)?n.replace(rn,fn):n},o.every=function(n,t,r){return t=r?nn:t,a(n,_(t))},o.find=En,o.forEach=C,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=P,o.identity=Y,o.indexOf=z,o.isArguments=n,o.isArray=Sn,o.isBoolean=function(n){return true===n||false===n||K(n)&&"[object Boolean]"==hn.call(n)},o.isDate=function(n){return K(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return U(t)&&(Sn(t)||Q(t)||V(t.splice)||n(t))?!t.length:!_n(t).length;
var t=n?n.length:0;return t?n[t-1]:Z},o.max=function(n){return n&&n.length?p(n,X,y):Z},o.min=function(n){return n&&n.length?p(n,X,d):Z},o.noConflict=function(){return on._===this&&(on._=hn),this},o.noop=function(){},o.reduce=C,o.result=function(n,t,r){return t=null==n?Z:n[t],t===Z&&(t=r),U(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=P(n)?n:Dn(n),n.length)},o.some=function(n,t,r){return t=r?Z:t,k(n,j(t))},o.uniqueId=function(n){var t=++pn;return Q(n)+t},o.each=z,o.first=q,Y(o,function(){ },o.isEqual=function(n,t){return b(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=V,o.isNaN=function(n){return L(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=L,o.isObject=H,o.isRegExp=function(n){return K(n)&&"[object RegExp]"==hn.call(n)},o.isString=Q,o.isUndefined=function(n){return n===nn},o.last=function(n){var t=null==n?0:n.length;return t?n[t-1]:nn},o.max=function(n){return n&&n.length?l(n,Y,y):nn},o.min=function(n){return n&&n.length?l(n,Y,j):nn},
var n={};return v(o,function(t,r){ln.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.14.0",jn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){var t=(/^(?:replace|split)$/.test(n)?String.prototype:fn)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(kn(u)?u:[],n)}return this[r](function(r){return t.apply(kn(r)?r:[],n); o.noConflict=function(){return on._===this&&(on._=vn),this},o.noop=function(){},o.reduce=G,o.result=function(n,t,r){return t=null==n?nn:n[t],t===nn&&(t=r),V(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=U(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?nn:t,w(n,_(t))},o.uniqueId=function(n){var t=++sn;return W(n)+t},o.each=C,o.first=P,Z(o,function(){var n={};return h(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.16.5",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
})}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return N(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o, define(function(){return o})):un?((un.exports=o)._=o,en._=o):on._=o}).call(this); var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Sn(u)?u:[],n)}return this[r](function(r){return t.apply(Sn(r)?r:[],n)})}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return k(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o,
define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this);

70
dist/lodash.fp.js vendored
View File

@@ -68,7 +68,7 @@ return /******/ (function(modules) { // webpackBootstrap
return baseConvert(lodash, lodash, options); return baseConvert(lodash, lodash, options);
} }
if (typeof _ == 'function') { if (typeof _ == 'function' && typeof _.runInContext == 'function') {
_ = browserConvert(_.runInContext()); _ = browserConvert(_.runInContext());
} }
module.exports = browserConvert; module.exports = browserConvert;
@@ -79,7 +79,6 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ function(module, exports, __webpack_require__) { /***/ function(module, exports, __webpack_require__) {
var mapping = __webpack_require__(2), var mapping = __webpack_require__(2),
mutateMap = mapping.mutate,
fallbackHolder = __webpack_require__(3); fallbackHolder = __webpack_require__(3);
/** /**
@@ -223,6 +222,7 @@ return /******/ (function(modules) { // webpackBootstrap
'keys': util.keys, 'keys': util.keys,
'rearg': util.rearg, 'rearg': util.rearg,
'spread': util.spread, 'spread': util.spread,
'toInteger': util.toInteger,
'toPath': util.toPath 'toPath': util.toPath
}; };
@@ -236,6 +236,7 @@ return /******/ (function(modules) { // webpackBootstrap
keys = helpers.keys, keys = helpers.keys,
rearg = helpers.rearg, rearg = helpers.rearg,
spread = helpers.spread, spread = helpers.spread,
toInteger = helpers.toInteger,
toPath = helpers.toPath; toPath = helpers.toPath;
var aryMethodKeys = keys(mapping.aryMethod); var aryMethodKeys = keys(mapping.aryMethod);
@@ -289,10 +290,16 @@ return /******/ (function(modules) { // webpackBootstrap
return func; return func;
}; };
}, },
'nthArg': function(nthArg) {
return function(n) {
var arity = n < 0 ? 1 : (toInteger(n) + 1);
return curry(nthArg(n), arity);
};
},
'rearg': function(rearg) { 'rearg': function(rearg) {
return function(func, indexes) { return function(func, indexes) {
var n = indexes ? indexes.length : 0; var arity = indexes ? indexes.length : 0;
return curry(rearg(func, indexes), n); return curry(rearg(func, indexes), arity);
}; };
}, },
'runInContext': function(runInContext) { 'runInContext': function(runInContext) {
@@ -423,13 +430,16 @@ return /******/ (function(modules) { // webpackBootstrap
* @returns {Function} Returns the new converter function. * @returns {Function} Returns the new converter function.
*/ */
function createConverter(name, func) { function createConverter(name, func) {
var oldOptions = options; var realName = mapping.aliasToReal[name] || name,
methodName = mapping.remap[realName] || realName,
oldOptions = options;
return function(options) { return function(options) {
var newUtil = isLib ? pristine : helpers, var newUtil = isLib ? pristine : helpers,
newFunc = isLib ? pristine[name] : func, newFunc = isLib ? pristine[methodName] : func,
newOptions = assign(assign({}, oldOptions), options); newOptions = assign(assign({}, oldOptions), options);
return baseConvert(newUtil, name, newFunc, newOptions); return baseConvert(newUtil, realName, newFunc, newOptions);
}; };
} }
@@ -500,38 +510,37 @@ return /******/ (function(modules) { // webpackBootstrap
* @returns {Function} Returns the converted function. * @returns {Function} Returns the converted function.
*/ */
function wrap(name, func) { function wrap(name, func) {
name = mapping.aliasToReal[name] || name;
var result, var result,
realName = mapping.aliasToReal[name] || name,
wrapped = func, wrapped = func,
wrapper = wrappers[name]; wrapper = wrappers[realName];
if (wrapper) { if (wrapper) {
wrapped = wrapper(func); wrapped = wrapper(func);
} }
else if (config.immutable) { else if (config.immutable) {
if (mutateMap.array[name]) { if (mapping.mutate.array[realName]) {
wrapped = wrapImmutable(func, cloneArray); wrapped = wrapImmutable(func, cloneArray);
} }
else if (mutateMap.object[name]) { else if (mapping.mutate.object[realName]) {
wrapped = wrapImmutable(func, createCloner(func)); wrapped = wrapImmutable(func, createCloner(func));
} }
else if (mutateMap.set[name]) { else if (mapping.mutate.set[realName]) {
wrapped = wrapImmutable(func, cloneByPath); wrapped = wrapImmutable(func, cloneByPath);
} }
} }
each(aryMethodKeys, function(aryKey) { each(aryMethodKeys, function(aryKey) {
each(mapping.aryMethod[aryKey], function(otherName) { each(mapping.aryMethod[aryKey], function(otherName) {
if (name == otherName) { if (realName == otherName) {
var spreadData = mapping.methodSpread[name], var spreadData = mapping.methodSpread[realName],
afterRearg = spreadData && spreadData.afterRearg; afterRearg = spreadData && spreadData.afterRearg;
result = afterRearg result = afterRearg
? castFixed(name, castRearg(name, wrapped, aryKey), aryKey) ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)
: castRearg(name, castFixed(name, wrapped, aryKey), aryKey); : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);
result = castCap(name, result); result = castCap(realName, result);
result = castCurry(name, result, aryKey); result = castCurry(realName, result, aryKey);
return false; return false;
} }
}); });
@@ -544,8 +553,8 @@ return /******/ (function(modules) { // webpackBootstrap
return func.apply(this, arguments); return func.apply(this, arguments);
}; };
} }
result.convert = createConverter(name, func); result.convert = createConverter(realName, func);
if (mapping.placeholder[name]) { if (mapping.placeholder[realName]) {
setPlaceholder = true; setPlaceholder = true;
result.placeholder = func.placeholder = placeholder; result.placeholder = func.placeholder = placeholder;
} }
@@ -686,10 +695,10 @@ return /******/ (function(modules) { // webpackBootstrap
'1': [ '1': [
'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',
'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',
'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',
'mergeAll', 'methodOf', 'mixin', 'over', 'overEvery', 'overSome', 'rest', 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',
'reverse', 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',
'trimStart', 'uniqueId', 'words', 'zipAll' 'uniqueId', 'words', 'zipAll'
], ],
'2': [ '2': [
'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',
@@ -721,9 +730,10 @@ return /******/ (function(modules) { // webpackBootstrap
'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',
'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',
'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',
'padCharsStart', 'pullAllBy', 'pullAllWith', 'reduce', 'reduceRight', 'replace', 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',
'set', 'slice', 'sortedIndexBy', 'sortedLastIndexBy', 'transform', 'unionBy', 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',
'unionWith', 'update', 'xorBy', 'xorWith', 'zipWith' 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',
'xorWith', 'zipWith'
], ],
'4': [ '4': [
'fill', 'setWith', 'updateWith' 'fill', 'setWith', 'updateWith'
@@ -802,6 +812,8 @@ return /******/ (function(modules) { // webpackBootstrap
'padCharsStart': [2, 1, 0], 'padCharsStart': [2, 1, 0],
'pullAllBy': [2, 1, 0], 'pullAllBy': [2, 1, 0],
'pullAllWith': [2, 1, 0], 'pullAllWith': [2, 1, 0],
'rangeStep': [1, 2, 0],
'rangeStepRight': [1, 2, 0],
'setWith': [3, 1, 2, 0], 'setWith': [3, 1, 2, 0],
'sortedIndexBy': [2, 1, 0], 'sortedIndexBy': [2, 1, 0],
'sortedLastIndexBy': [2, 1, 0], 'sortedLastIndexBy': [2, 1, 0],
@@ -923,6 +935,8 @@ return /******/ (function(modules) { // webpackBootstrap
'padCharsEnd': 'padEnd', 'padCharsEnd': 'padEnd',
'padCharsStart': 'padStart', 'padCharsStart': 'padStart',
'propertyOf': 'get', 'propertyOf': 'get',
'rangeStep': 'range',
'rangeStepRight': 'rangeRight',
'restFrom': 'rest', 'restFrom': 'rest',
'spreadFrom': 'spread', 'spreadFrom': 'spread',
'trimChars': 'trim', 'trimChars': 'trim',

34
dist/lodash.fp.min.js vendored
View File

@@ -1,20 +1,20 @@
(function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.fp=e():t.fp=e()})(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return t[n].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){function n(t,e){return i(t,t,e)}var i=r(1);"function"==typeof _&&(_=n(_.runInContext())), (function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.fp=e():t.fp=e()})(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return t[n].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){function n(t,e){return i(t,t,e)}var i=r(1);"function"==typeof _&&"function"==typeof _.runInContext&&(_=n(_.runInContext())),
t.exports=n},function(t,e,r){function n(t,e){return 2==e?function(e,r){return t.apply(void 0,arguments)}:function(e){return t.apply(void 0,arguments)}}function i(t,e){return 2==e?function(e,r){return t(e,r)}:function(e){return t(e)}}function a(t){for(var e=t?t.length:0,r=Array(e);e--;)r[e]=t[e];return r}function o(t){return function(e){return t({},e)}}function s(t,e){return function(){var r=arguments.length;if(r){for(var n=Array(r);r--;)n[r]=arguments[r];var i=n[0]=e.apply(void 0,n);return t.apply(void 0,n), t.exports=n},function(t,e,r){function n(t,e){return 2==e?function(e,r){return t.apply(void 0,arguments)}:function(e){return t.apply(void 0,arguments)}}function i(t,e){return 2==e?function(e,r){return t(e,r)}:function(e){return t(e)}}function a(t){for(var e=t?t.length:0,r=Array(e);e--;)r[e]=t[e];return r}function o(t){return function(e){return t({},e)}}function s(t,e){return function(){var r=arguments.length;if(r){for(var n=Array(r);r--;)n[r]=arguments[r];var i=n[0]=e.apply(void 0,n);return t.apply(void 0,n),
i}}}function l(t,e,r,d){function c(t,e){if(B.cap){var r=u.iterateeRearg[t];if(r)return x(e,r);var n=!b&&u.iterateeAry[t];if(n)return W(e,n)}return e}function h(t,e,r){return E||B.curry&&r>1?q(e,r):e}function g(t,e,r){if(B.fixed&&(F||!u.skipFixed[t])){var n=u.methodSpread[t],i=n&&n.start;return void 0===i?M(e,r):N(e,i)}return e}function y(t,e,r){return B.rearg&&r>1&&(j||!u.skipRearg[t])?_(e,u.methodRearg[t]||u.aryRearg[r]):e}function m(t,e){e=V(e);for(var r=-1,n=e.length,i=n-1,a=z(Object(t)),o=a;null!=o&&++r<n;){ i}}}function l(t,e,r,f){function d(t,e){if(k.cap){var r=u.iterateeRearg[t];if(r)return W(e,r);var n=!O&&u.iterateeAry[t];if(n)return A(e,n)}return e}function c(t,e,r){return B||k.curry&&r>1?D(e,r):e}function h(t,e,r){if(k.fixed&&(E||!u.skipFixed[t])){var n=u.methodSpread[t],i=n&&n.start;return void 0===i?S(e,r):_(e,i)}return e}function g(t,e,r){return k.rearg&&r>1&&(F||!u.skipRearg[t])?K(e,u.methodRearg[t]||u.aryRearg[r]):e}function y(t,e){e=V(e);for(var r=-1,n=e.length,i=n-1,a=M(Object(t)),o=a;null!=o&&++r<n;){
var s=e[r],l=o[s];null!=l&&(o[e[r]]=z(r==i?l:Object(l))),o=o[s]}return a}function v(t){return H.runInContext.convert(t)(void 0)}function A(t,e){var r=d;return function(n){var i=b?C:w,a=b?C[t]:e,o=D(D({},r),n);return l(i,t,a,o)}}function W(t,e){return I(t,function(t){return"function"==typeof t?i(t,e):t})}function x(t,e){return I(t,function(t){var r=e.length;return n(_(i(t,r),e),r)})}function I(t,e){return function(){var r=arguments.length;if(!r)return t();for(var n=Array(r);r--;)n[r]=arguments[r];var i=B.rearg?0:r-1; var s=e[r],l=o[s];null!=l&&(o[e[r]]=M(r==i?l:Object(l))),o=o[s]}return a}function m(t){return H.runInContext.convert(t)(void 0)}function v(t,e){var r=u.aliasToReal[t]||t,n=u.remap[r]||r,i=f;return function(t){return l(O?C:L,r,O?C[n]:e,w(w({},i),t))}}function A(t,e){return x(t,function(t){return"function"==typeof t?i(t,e):t})}function W(t,e){return x(t,function(t){var r=e.length;return n(K(i(t,r),e),r)})}function x(t,e){return function(){var r=arguments.length;if(!r)return t();for(var n=Array(r);r--;)n[r]=arguments[r];
return n[i]=e(n[i]),t.apply(void 0,n)}}function R(t,e){t=u.aliasToReal[t]||t;var r,n=e,i=G[t];return i?n=i(e):B.immutable&&(p.array[t]?n=s(e,a):p.object[t]?n=s(e,o(e)):p.set[t]&&(n=s(e,m))),P(U,function(e){return P(u.aryMethod[e],function(i){if(t==i){var a=u.methodSpread[t],o=a&&a.afterRearg;return r=o?g(t,y(t,n,e),e):y(t,g(t,n,e),e),r=c(t,r),r=h(t,r,e),!1}}),!r}),r||(r=n),r==e&&(r=E?q(r,1):function(){return e.apply(this,arguments)}),r.convert=A(t,e),u.placeholder[t]&&(O=!0,r.placeholder=e.placeholder=L), var i=k.rearg?0:r-1;return n[i]=e(n[i]),t.apply(void 0,n)}}function I(t,e){var r,n=u.aliasToReal[t]||t,i=e,l=G[n];return l?i=l(e):k.immutable&&(u.mutate.array[n]?i=s(e,a):u.mutate.object[n]?i=s(e,o(e)):u.mutate.set[n]&&(i=s(e,y))),z(U,function(t){return z(u.aryMethod[t],function(e){if(n==e){var a=u.methodSpread[n];return r=a&&a.afterRearg?h(n,g(n,i,t),t):g(n,h(n,i,t),t),r=d(n,r),r=c(n,r,t),!1}}),!r}),r||(r=i),r==e&&(r=B?D(r,1):function(){return e.apply(this,arguments)}),r.convert=v(n,e),u.placeholder[n]&&(R=!0,
r}var O,b="function"==typeof e,k=e===Object(e);if(k&&(d=r,r=e,e=void 0),null==r)throw new TypeError;d||(d={});var B={cap:!("cap"in d)||d.cap,curry:!("curry"in d)||d.curry,fixed:!("fixed"in d)||d.fixed,immutable:!("immutable"in d)||d.immutable,rearg:!("rearg"in d)||d.rearg},E="curry"in d&&d.curry,F="fixed"in d&&d.fixed,j="rearg"in d&&d.rearg,L=b?r:f,C=b?r.runInContext():void 0,w=b?r:{ary:t.ary,assign:t.assign,clone:t.clone,curry:t.curry,forEach:t.forEach,isArray:t.isArray,isFunction:t.isFunction,iteratee:t.iteratee, r.placeholder=e.placeholder=j),r}var R,O="function"==typeof e,b=e===Object(e);if(b&&(f=r,r=e,e=void 0),null==r)throw new TypeError;f||(f={});var k={cap:!("cap"in f)||f.cap,curry:!("curry"in f)||f.curry,fixed:!("fixed"in f)||f.fixed,immutable:!("immutable"in f)||f.immutable,rearg:!("rearg"in f)||f.rearg},B="curry"in f&&f.curry,E="fixed"in f&&f.fixed,F="rearg"in f&&f.rearg,j=O?r:p,C=O?r.runInContext():void 0,L=O?r:{ary:t.ary,assign:t.assign,clone:t.clone,curry:t.curry,forEach:t.forEach,isArray:t.isArray,
keys:t.keys,rearg:t.rearg,spread:t.spread,toPath:t.toPath},M=w.ary,D=w.assign,z=w.clone,q=w.curry,P=w.forEach,S=w.isArray,T=w.isFunction,K=w.keys,_=w.rearg,N=w.spread,V=w.toPath,U=K(u.aryMethod),G={castArray:function(t){return function(){var e=arguments[0];return S(e)?t(a(e)):t.apply(void 0,arguments)}},iteratee:function(t){return function(){var e=arguments[0],r=arguments[1],n=t(e,r),a=n.length;return B.cap&&"number"==typeof r?(r=r>2?r-2:1,a&&a<=r?n:i(n,r)):n}},mixin:function(t){return function(e){ isFunction:t.isFunction,iteratee:t.iteratee,keys:t.keys,rearg:t.rearg,spread:t.spread,toInteger:t.toInteger,toPath:t.toPath},S=L.ary,w=L.assign,M=L.clone,D=L.curry,z=L.forEach,q=L.isArray,P=L.isFunction,T=L.keys,K=L.rearg,_=L.spread,N=L.toInteger,V=L.toPath,U=T(u.aryMethod),G={castArray:function(t){return function(){var e=arguments[0];return q(e)?t(a(e)):t.apply(void 0,arguments)}},iteratee:function(t){return function(){var e=arguments[0],r=arguments[1],n=t(e,r),a=n.length;return k.cap&&"number"==typeof r?(r=r>2?r-2:1,
var r=this;if(!T(r))return t(r,Object(e));var n=[];return P(K(e),function(t){T(e[t])&&n.push([t,r.prototype[t]])}),t(r,Object(e)),P(n,function(t){var e=t[1];T(e)?r.prototype[t[0]]=e:delete r.prototype[t[0]]}),r}},rearg:function(t){return function(e,r){var n=r?r.length:0;return q(t(e,r),n)}},runInContext:function(e){return function(r){return l(t,e(r),d)}}};if(!k)return R(e,r);var H=r,J=[];return P(U,function(t){P(u.aryMethod[t],function(t){var e=H[u.remap[t]||t];e&&J.push([t,R(t,e)])})}),P(K(H),function(t){ a&&a<=r?n:i(n,r)):n}},mixin:function(t){return function(e){var r=this;if(!P(r))return t(r,Object(e));var n=[];return z(T(e),function(t){P(e[t])&&n.push([t,r.prototype[t]])}),t(r,Object(e)),z(n,function(t){var e=t[1];P(e)?r.prototype[t[0]]=e:delete r.prototype[t[0]]}),r}},nthArg:function(t){return function(e){var r=e<0?1:N(e)+1;return D(t(e),r)}},rearg:function(t){return function(e,r){var n=r?r.length:0;return D(t(e,r),n)}},runInContext:function(e){return function(r){return l(t,e(r),f)}}};if(!b)return I(e,r);
var e=H[t];if("function"==typeof e){for(var r=J.length;r--;)if(J[r][0]==t)return;e.convert=A(t,e),J.push([t,e])}}),P(J,function(t){H[t[0]]=t[1]}),H.convert=v,O&&(H.placeholder=L),P(K(H),function(t){P(u.realToAlias[t]||[],function(e){H[e]=H[t]})}),H}var u=r(2),p=u.mutate,f=r(3);t.exports=l},function(t,e){e.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head", var H=r,J=[];return z(U,function(t){z(u.aryMethod[t],function(t){var e=H[u.remap[t]||t];e&&J.push([t,I(t,e)])})}),z(T(H),function(t){var e=H[t];if("function"==typeof e){for(var r=J.length;r--;)if(J[r][0]==t)return;e.convert=v(t,e),J.push([t,e])}}),z(J,function(t){H[t[0]]=t[1]}),H.convert=m,R&&(H.placeholder=j),z(T(H),function(t){z(u.realToAlias[t]||[],function(e){H[e]=H[t]})}),H}var u=r(2),p=r(3);t.exports=l},function(t,e){e.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",
conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty", extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",
pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},e.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"], indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},
2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"], e.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],
3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"], 3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],
4:["fill","setWith","updateWith"]},e.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},e.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1, 4:["fill","setWith","updateWith"]},e.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},e.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,
transform:2},e.iterateeRearg={mapKeys:[1]},e.methodRearg={assignInAllWith:[1,2,0],assignInWith:[1,2,0],assignAllWith:[1,2,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,2,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0], transform:2},e.iterateeRearg={mapKeys:[1]},e.methodRearg={assignInAllWith:[1,2,0],assignInWith:[1,2,0],assignAllWith:[1,2,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,2,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],
unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},e.methodSpread={assignAll:{start:0},assignAllWith:{afterRearg:!0,start:1},assignInAll:{start:0},assignInAllWith:{afterRearg:!0,start:1},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{afterRearg:!0,start:1},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},e.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0, sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},e.methodSpread={assignAll:{start:0},assignAllWith:{afterRearg:!0,start:1},assignInAll:{start:0},assignInAllWith:{afterRearg:!0,start:1},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{afterRearg:!0,start:1},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},e.mutate={array:{
pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},e.placeholder={bind:!0,bindKey:!0,curry:!0,curryRight:!0,partial:!0,partialRight:!0},e.realToAlias=function(){var t=Object.prototype.hasOwnProperty,r=e.aliasToReal,n={}; fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},e.placeholder={bind:!0,bindKey:!0,curry:!0,curryRight:!0,partial:!0,partialRight:!0},e.realToAlias=function(){var t=Object.prototype.hasOwnProperty,r=e.aliasToReal,n={};
for(var i in r){var a=r[i];t.call(n,a)?n[a].push(i):n[a]=[i]}return n}(),e.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf", for(var i in r){var a=r[i];t.call(n,a)?n[a].push(i):n[a]=[i]}return n}(),e.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",
mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},e.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},e.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0, mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},e.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},e.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,
overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},function(t,e){t.exports={}}])}); lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},function(t,e){t.exports={}}])});

1964
dist/lodash.js vendored

File diff suppressed because it is too large Load Diff

258
dist/lodash.min.js vendored
View File

@@ -2,129 +2,135 @@
* @license * @license
* lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE * lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
*/ */
;(function(){function t(t,n){return t.set(n[0],n[1]),t}function n(t,n){return t.add(n),t}function r(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}function e(t,n,r,e){for(var u=-1,o=t?t.length:0;++u<o;){var i=t[u];n(e,i,r(i),t)}return e}function u(t,n){for(var r=-1,e=t?t.length:0;++r<e&&false!==n(t[r],r,t););return t}function o(t,n){for(var r=t?t.length:0;r--&&false!==n(t[r],r,t);); ;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&false!==t(n[r],r,n););return n}function i(n,t){for(var r=null==n?0:n.length;r--&&false!==t(n[r],r,n););
return t}function i(t,n){for(var r=-1,e=t?t.length:0;++r<e;)if(!n(t[r],r,t))return false;return true}function f(t,n){for(var r=-1,e=t?t.length:0,u=0,o=[];++r<e;){var i=t[r];n(i,r,t)&&(o[u++]=i)}return o}function c(t,n){return!(!t||!t.length)&&-1<d(t,n,0)}function a(t,n,r){for(var e=-1,u=t?t.length:0;++e<u;)if(r(n,t[e]))return true;return false}function l(t,n){for(var r=-1,e=t?t.length:0,u=Array(e);++r<e;)u[r]=n(t[r],r,t);return u}function s(t,n){for(var r=-1,e=n.length,u=t.length;++r<e;)t[u+r]=n[r];return t}function h(t,n,r,e){ return n}function o(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function f(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function c(n,t){return!(null==n||!n.length)&&-1<d(n,t,0)}function a(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return true;return false}function l(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function s(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];
var u=-1,o=t?t.length:0;for(e&&o&&(r=t[++u]);++u<o;)r=n(r,t[u],u,t);return r}function p(t,n,r,e){var u=t?t.length:0;for(e&&u&&(r=t[--u]);u--;)r=n(r,t[u],u,t);return r}function _(t,n){for(var r=-1,e=t?t.length:0;++r<e;)if(n(t[r],r,t))return true;return false}function v(t,n,r){var e;return r(t,function(t,r,u){if(n(t,r,u))return e=r,false}),e}function g(t,n,r,e){var u=t.length;for(r+=e?1:-1;e?r--:++r<u;)if(n(t[r],r,t))return r;return-1}function d(t,n,r){if(n!==n)return g(t,b,r);--r;for(var e=t.length;++r<e;)if(t[r]===n)return r; return n}function h(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function p(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function _(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return true;return false}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,false}),e}function g(n,t,r,e){var u=n.length;for(r+=e?1:-1;e?r--:++r<u;)if(t(n[r],r,n))return r;return-1}function d(n,t,r){if(t===t)n:{
return-1}function y(t,n,r,e){--r;for(var u=t.length;++r<u;)if(e(t[r],n))return r;return-1}function b(t){return t!==t}function x(t,n){var r=t?t.length:0;return r?O(t,n)/r:q}function j(t){return function(n){return null==n?P:n[t]}}function w(t){return function(n){return null==t?P:t[n]}}function m(t,n,r,e,u){return u(t,function(t,u,o){r=e?(e=false,t):n(r,t,u,o)}),r}function A(t,n){var r=t.length;for(t.sort(n);r--;)t[r]=t[r].c;return t}function O(t,n){for(var r,e=-1,u=t.length;++e<u;){var o=n(t[e]);o!==P&&(r=r===P?o:r+o); --r;for(var e=n.length;++r<e;)if(n[r]===t){n=r;break n}n=-1}else n=g(n,b,r);return n}function y(n,t,r,e){--r;for(var u=n.length;++r<u;)if(e(n[r],t))return r;return-1}function b(n){return n!==n}function x(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:P}function j(n){return function(t){return null==t?F:t[n]}}function w(n){return function(t){return null==n?F:n[t]}}function m(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=false,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;
}return r}function k(t,n){for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);return e}function E(t,n){return l(n,function(n){return[n,t[n]]})}function S(t){return function(n){return t(n)}}function R(t,n){return l(n,function(n){return t[n]})}function I(t,n){return t.has(n)}function W(t,n){for(var r=-1,e=t.length;++r<e&&-1<d(n,t[r],0););return r}function B(t,n){for(var r=t.length;r--&&-1<d(n,t[r],0););return r}function M(t){return"\\"+Ft[t]}function C(t){var n=false;if(null!=t&&typeof t.toString!="function")try{ return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==F&&(r=r===F?i:r+i)}return r}function E(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function O(n,t){return l(t,function(t){return[t,n[t]]})}function S(n){return function(t){return n(t)}}function I(n,t){return l(t,function(t){return n[t]})}function R(n,t){return n.has(t)}function z(n,t){for(var r=-1,e=n.length;++r<e&&-1<d(t,n[r],0););return r}function W(n,t){for(var r=n.length;r--&&-1<d(t,n[r],0););return r}function B(n){
n=!!(t+"")}catch(t){}return n}function L(t){for(var n,r=[];!(n=t.next()).done;)r.push(n.value);return r}function z(t){var n=-1,r=Array(t.size);return t.forEach(function(t,e){r[++n]=[e,t]}),r}function U(t){var n=Object;return function(r){return t(n(r))}}function D(t,n){for(var r=-1,e=t.length,u=0,o=[];++r<e;){var i=t[r];i!==n&&"__lodash_placeholder__"!==i||(t[r]="__lodash_placeholder__",o[u++]=r)}return o}function $(t){var n=-1,r=Array(t.size);return t.forEach(function(t){r[++n]=t}),r}function F(t){ return"\\"+Tn[n]}function L(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function U(n,t){return function(r){return n(t(r))}}function C(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&"__lodash_placeholder__"!==o||(n[r]="__lodash_placeholder__",i[u++]=r)}return i}function D(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function T(n){if(Bn.test(n)){
var n=-1,r=Array(t.size);return t.forEach(function(t){r[++n]=[t,t]}),r}function T(t){if(!t||!Ct.test(t))return t.length;for(var n=Bt.lastIndex=0;Bt.test(t);)n++;return n}function N(w){function Et(t){return Qu.call(t)}function St(t,n){return w.setTimeout.call(qt,t,n)}function Rt(t){if(cu(t)&&!Pi(t)&&!(t instanceof Pt)){if(t instanceof Ft)return t;if(Ju.call(t,"__wrapped__"))return Ee(t)}return new Ft(t)}function $t(){}function Ft(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0, for(var t=zn.lastIndex=0;zn.test(n);)++t;n=t}else n=tt(n);return n}function $(n){return Bn.test(n)?n.match(zn)||[]:n.split("")}var F,N=1/0,P=NaN,Z=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],q=/\b__p\+='';/g,V=/\b(__p\+=)''\+/g,K=/(__e\(.*?\)|\b__t\))\+'';/g,G=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,J=RegExp(G.source),Y=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,nn=/<%=([\s\S]+?)%>/g,tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rn=/^\w*$/,en=/^\./,un=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,on=/[\\^$.*+?()[\]{}|]/g,fn=RegExp(on.source),cn=/^\s+|\s+$/g,an=/^\s+/,ln=/\s+$/,sn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hn=/\{\n\/\* \[wrapped with (.+)\] \*/,pn=/,? & /,_n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,vn=/\\(\\)?/g,gn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dn=/\w*$/,yn=/^[-+]0x[0-9a-f]+$/i,bn=/^0b[01]+$/i,xn=/^\[object .+?Constructor\]$/,jn=/^0o[0-7]+$/i,wn=/^(?:0|[1-9]\d*)$/,mn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,An=/($^)/,kn=/['\n\r\u2028\u2029\\]/g,En="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",On="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+En,Sn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",In=RegExp("['\u2019]","g"),Rn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),zn=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Sn+En,"g"),Wn=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)|\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)|\\d+",On].join("|"),"g"),Bn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),Ln=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Un="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Cn={};
this.__values__=P}function Pt(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Zt(t){var n=-1,r=t?t.length:0;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function Vt(t){var n=-1,r=t?t.length:0;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function Kt(t){var n=-1,r=t?t.length:0;for(this.clear();++n<r;){var e=t[n];this.set(e[0],e[1])}}function Jt(t){var n=-1,r=t?t.length:0; Cn["[object Float32Array]"]=Cn["[object Float64Array]"]=Cn["[object Int8Array]"]=Cn["[object Int16Array]"]=Cn["[object Int32Array]"]=Cn["[object Uint8Array]"]=Cn["[object Uint8ClampedArray]"]=Cn["[object Uint16Array]"]=Cn["[object Uint32Array]"]=true,Cn["[object Arguments]"]=Cn["[object Array]"]=Cn["[object ArrayBuffer]"]=Cn["[object Boolean]"]=Cn["[object DataView]"]=Cn["[object Date]"]=Cn["[object Error]"]=Cn["[object Function]"]=Cn["[object Map]"]=Cn["[object Number]"]=Cn["[object Object]"]=Cn["[object RegExp]"]=Cn["[object Set]"]=Cn["[object String]"]=Cn["[object WeakMap]"]=false;
for(this.__data__=new Kt;++n<r;)this.add(t[n])}function fn(t){this.__data__=new Vt(t)}function cn(t,n,r,e){return t===P||Xe(t,Zu[r])&&!Ju.call(e,r)?n:t}function an(t,n,r){(r===P||Xe(t[n],r))&&(typeof n!="number"||r!==P||n in t)||(t[n]=r)}function ln(t,n,r){var e=t[n];Ju.call(t,n)&&Xe(e,r)&&(r!==P||n in t)||(t[n]=r)}function sn(t,n){for(var r=t.length;r--;)if(Xe(t[r][0],n))return r;return-1}function hn(t,n,r,e){return qo(t,function(t,u,o){n(e,t,r(t),o)}),e}function pn(t,n){return t&&Wr(n,wu(n),t)} var Dn={};Dn["[object Arguments]"]=Dn["[object Array]"]=Dn["[object ArrayBuffer]"]=Dn["[object DataView]"]=Dn["[object Boolean]"]=Dn["[object Date]"]=Dn["[object Float32Array]"]=Dn["[object Float64Array]"]=Dn["[object Int8Array]"]=Dn["[object Int16Array]"]=Dn["[object Int32Array]"]=Dn["[object Map]"]=Dn["[object Number]"]=Dn["[object Object]"]=Dn["[object RegExp]"]=Dn["[object Set]"]=Dn["[object String]"]=Dn["[object Symbol]"]=Dn["[object Uint8Array]"]=Dn["[object Uint8ClampedArray]"]=Dn["[object Uint16Array]"]=Dn["[object Uint32Array]"]=true,
function _n(t,n){for(var r=-1,e=null==t,u=n.length,o=Uu(u);++r<u;)o[r]=e?P:xu(t,n[r]);return o}function vn(t,n,r){return t===t&&(r!==P&&(t=t<=r?t:r),n!==P&&(t=t>=n?t:n)),t}function gn(t,n,r,e,o,i,f){var c;if(e&&(c=i?e(t,o,i,f):e(t)),c!==P)return c;if(!fu(t))return t;if(o=Pi(t)){if(c=se(t),!n)return Ir(t,c)}else{var a=Et(t),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(qi(t))return Or(t,n);if("[object Object]"==a||"[object Arguments]"==a||l&&!i){if(C(t))return i?t:{};if(c=he(l?{}:t), Dn["[object Error]"]=Dn["[object Function]"]=Dn["[object WeakMap]"]=false;var Mn,Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,Fn=parseInt,Nn=typeof global=="object"&&global&&global.Object===Object&&global,Pn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=Nn||Pn||Function("return this")(),qn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vn=qn&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=Vn&&Vn.exports===qn,Gn=Kn&&Nn.h;
!n)return Br(t,pn(c,t))}else{if(!Dt[a])return i?t:{};c=pe(t,a,gn,n)}}if(f||(f=new fn),i=f.get(t))return i;if(f.set(t,c),!o)var s=r?In(t,wu,ni):wu(t);return u(s||t,function(u,o){s&&(o=u,u=t[o]),ln(c,o,gn(u,n,r,e,o,t,f))}),r||f.delete(t),c}function dn(t){var n=wu(t);return function(r){return yn(r,t,n)}}function yn(t,n,r){var e=r.length;if(null==t)return!e;for(;e--;){var u=r[e],o=n[u],i=t[u];if(i===P&&!(u in Object(t))||!o(i))return false}return true}function bn(t){return fu(t)?fo(t):{}}function xn(t,n,r){ n:{try{Mn=Gn&&Gn.g("util");break n}catch(n){}Mn=void 0}var Hn=Mn&&Mn.isArrayBuffer,Jn=Mn&&Mn.isDate,Yn=Mn&&Mn.isMap,Qn=Mn&&Mn.isRegExp,Xn=Mn&&Mn.isSet,nt=Mn&&Mn.isTypedArray,tt=j("length"),rt=w({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I",
if(typeof t!="function")throw new Nu("Expected a function");return St(function(){t.apply(P,r)},n)}function jn(t,n,r,e){var u=-1,o=c,i=true,f=t.length,s=[],h=n.length;if(!f)return s;r&&(n=l(n,S(r))),e?(o=a,i=false):200<=n.length&&(o=I,i=false,n=new Jt(n));t:for(;++u<f;){var p=t[u],_=r?r(p):p,p=e||0!==p?p:0;if(i&&_===_){for(var v=h;v--;)if(n[v]===_)continue t;s.push(p)}else o(n,_,e)||s.push(p)}return s}function wn(t,n){var r=true;return qo(t,function(t,e,u){return r=!!n(t,e,u)}),r}function mn(t,n,r){for(var e=-1,u=t.length;++e<u;){ "\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C",
var o=t[e],i=n(o);if(null!=i&&(f===P?i===i&&!hu(i):r(i,f)))var f=i,c=o}return c}function An(t,n){var r=[];return qo(t,function(t,e,u){n(t,e,u)&&r.push(t)}),r}function On(t,n,r,e,u){var o=-1,i=t.length;for(r||(r=ve),u||(u=[]);++o<i;){var f=t[o];0<n&&r(f)?1<n?On(f,n-1,r,e,u):s(u,f):e||(u[u.length]=f)}return u}function kn(t,n){return t&&Ko(t,n,wu)}function En(t,n){return t&&Go(t,n,wu)}function Sn(t,n){return f(n,function(n){return uu(t[n])})}function Rn(t,n){n=ye(n,t)?[n]:mr(n);for(var r=0,e=n.length;null!=t&&r<e;)t=t[Ae(n[r++])]; "\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i",
return r&&r==e?t:P}function In(t,n,r){return n=n(t),Pi(t)?n:s(n,r(t))}function Wn(t,n){return t>n}function Bn(t,n){return null!=t&&(Ju.call(t,n)||typeof t=="object"&&n in t&&null===ti(t))}function Mn(t,n){return null!=t&&n in Object(t)}function Cn(t,n,r){for(var e=r?a:c,u=t[0].length,o=t.length,i=o,f=Uu(o),s=1/0,h=[];i--;){var p=t[i];i&&n&&(p=l(p,S(n))),s=jo(p.length,s),f[i]=!r&&(n||120<=u&&120<=p.length)?new Jt(i&&p):P}var p=t[0],_=-1,v=f[0];t:for(;++_<u&&h.length<s;){var g=p[_],d=n?n(g):g,g=r||0!==g?g:0; "\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S",
if(v?!I(v,d):!e(h,d,r)){for(i=o;--i;){var y=f[i];if(y?!I(y,d):!e(t[i],d,r))continue t}v&&v.push(d),h.push(g)}}return h}function Ln(t,n,r){var e={};return kn(t,function(t,u,o){n(e,r(t),u,o)}),e}function zn(t,n,e){return ye(n,t)||(n=mr(n),t=me(t,n),n=Me(n)),n=null==t?t:t[Ae(n)],null==n?P:r(n,t,e)}function Un(t){return cu(t)&&"[object ArrayBuffer]"==Qu.call(t)}function Dn(t){return cu(t)&&"[object Date]"==Qu.call(t)}function $n(t,n,r,e,u){if(t===n)n=true;else if(null==t||null==n||!fu(t)&&!cu(n))n=t!==t&&n!==n;else t:{ "\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n",
var o=Pi(t),i=Pi(n),f="[object Array]",c="[object Array]";o||(f=Et(t),f="[object Arguments]"==f?"[object Object]":f),i||(c=Et(n),c="[object Arguments]"==c?"[object Object]":c);var a="[object Object]"==f&&!C(t),i="[object Object]"==c&&!C(n);if((c=f==c)&&!a)u||(u=new fn),n=o||Yi(t)?re(t,n,$n,r,e,u):ee(t,n,f,$n,r,e,u);else{if(!(2&e)&&(o=a&&Ju.call(t,"__wrapped__"),f=i&&Ju.call(n,"__wrapped__"),o||f)){t=o?t.value():t,n=f?n.value():n,u||(u=new fn),n=$n(t,n,r,e,u);break t}if(c)n:if(u||(u=new fn),o=2&e, "\u017f":"s"}),et=w({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),ut=w({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),it=function w(En){function On(n){if(gu(n)&&!uf(n)&&!(n instanceof Mn)){if(n instanceof zn)return n;if(ui.call(n,"__wrapped__"))return Te(n)}return new zn(n)}function Sn(){}function zn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=F}function Mn(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=false,
f=wu(t),i=f.length,c=wu(n).length,i==c||o){for(a=i;a--;){var l=f[a];if(!(o?l in n:Bn(n,l))){n=false;break n}}if((c=u.get(t))&&u.get(n))n=c==n;else{c=true,u.set(t,n),u.set(n,t);for(var s=o;++a<i;){var l=f[a],h=t[l],p=n[l];if(r)var _=o?r(p,h,l,n,t,u):r(h,p,l,t,n,u);if(_===P?h!==p&&!$n(h,p,r,e,u):!_){c=false;break}s||(s="constructor"==l)}c&&!s&&(r=t.constructor,e=n.constructor,r!=e&&"constructor"in t&&"constructor"in n&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(c=false)),u.delete(t), this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Tn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Nn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Pn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function qn(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new Pn;++t<r;)this.add(n[t])}function Vn(n){this.size=(this.__data__=new Nn(n)).size;
n=c}}else n=false;else n=false}}return n}function Fn(t){return cu(t)&&"[object Map]"==Et(t)}function Tn(t,n,r,e){var u=r.length,o=u,i=!e;if(null==t)return!o;for(t=Object(t);u--;){var f=r[u];if(i&&f[2]?f[1]!==t[f[0]]:!(f[0]in t))return false}for(;++u<o;){var f=r[u],c=f[0],a=t[c],l=f[1];if(i&&f[2]){if(a===P&&!(c in t))return false}else{if(f=new fn,e)var s=e(a,l,c,t,n,f);if(s===P?!$n(l,a,e,3,f):!s)return false}}return true}function Nn(t){return!(!fu(t)||Ku&&Ku in t)&&(uu(t)||C(t)?to:jt).test(Oe(t))}function Pn(t){return fu(t)&&"[object RegExp]"==Qu.call(t); }function Gn(n,t){var r,e=uf(n),u=!e&&ef(n),i=!e&&!u&&ff(n),o=!e&&!u&&!i&&hf(n),u=(e=e||u||i||o)?E(n.length,Qu):[],f=u.length;for(r in n)!t&&!ui.call(n,r)||e&&("length"==r||i&&("offset"==r||"parent"==r)||o&&("buffer"==r||"byteLength"==r||"byteOffset"==r)||Ae(r,f))||u.push(r);return u}function tt(n){var t=n.length;return t?n[cr(0,t-1)]:F}function ot(n,t){return Ue(Dr(n),gt(t,0,n.length))}function ft(n){return Ue(Dr(n))}function ct(n,t,r,e){return n===F||cu(n,ti[r])&&!ui.call(e,r)?t:n}function at(n,t,r){
}function Zn(t){return cu(t)&&"[object Set]"==Et(t)}function qn(t){return cu(t)&&iu(t.length)&&!!Ut[Qu.call(t)]}function Vn(t){return typeof t=="function"?t:null==t?Iu:typeof t=="object"?Pi(t)?Hn(t[0],t[1]):Yn(t):Cu(t)}function Kn(t){t=null==t?t:Object(t);var n,r=[];for(n in t)r.push(n);return r}function Gn(t,n){return t<n}function Jn(t,n){var r=-1,e=nu(t)?Uu(t.length):[];return qo(t,function(t,u,o){e[++r]=n(t,u,o)}),e}function Yn(t){var n=ce(t);return 1==n.length&&n[0][2]?je(n[0][0],n[0][1]):function(r){ (r===F||cu(n[t],r))&&(r!==F||t in n)||_t(n,t,r)}function lt(n,t,r){var e=n[t];ui.call(n,t)&&cu(e,r)&&(r!==F||t in n)||_t(n,t,r)}function st(n,t){for(var r=n.length;r--;)if(cu(n[r][0],t))return r;return-1}function ht(n,t,r,e){return ro(n,function(n,u,i){t(e,n,r(n),i)}),e}function pt(n,t){return n&&Mr(t,Ru(t),n)}function _t(n,t,r){"__proto__"==t&&wi?wi(n,t,{configurable:true,enumerable:true,value:r,writable:true}):n[t]=r}function vt(n,t){for(var r=-1,e=t.length,u=qu(e),i=null==n;++r<e;)u[r]=i?F:Su(n,t[r]);
return r===t||Tn(r,t,n)}}function Hn(t,n){return ye(t)&&n===n&&!fu(n)?je(Ae(t),n):function(r){var e=xu(r,t);return e===P&&e===n?ju(r,t):$n(n,e,P,3)}}function Qn(t,n,r,e,o){if(t!==n){if(!Pi(n)&&!Yi(n))var i=mu(n);u(i||n,function(u,f){if(i&&(f=u,u=n[f]),fu(u)){o||(o=new fn);var c=f,a=o,l=t[c],s=n[c],h=a.get(s);if(h)an(t,c,h);else{var h=e?e(l,s,c+"",t,n,a):P,p=h===P;p&&(h=s,Pi(s)||Yi(s)?Pi(l)?h=l:ru(l)?h=Ir(l):(p=false,h=gn(s,true)):lu(s)||tu(s)?tu(l)?h=yu(l):!fu(l)||r&&uu(l)?(p=false,h=gn(s,true)):h=l:p=false), return u}function gt(n,t,r){return n===n&&(r!==F&&(n=n<=r?n:r),t!==F&&(n=n>=t?n:t)),n}function dt(n,t,r,e,i,o,f){var c;if(e&&(c=o?e(n,i,o,f):e(n)),c!==F)return c;if(!vu(n))return n;if(i=uf(n)){if(c=xe(n),!t)return Dr(n,c)}else{var a=po(n),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(ff(n))return zr(n,t);if("[object Object]"==a||"[object Arguments]"==a||l&&!o){if(c=je(l?{}:n),!t)return Tr(n,pt(c,n))}else{if(!Dn[a])return o?n:{};c=we(n,a,dt,t)}}if(f||(f=new Vn),o=f.get(n))return o;f.set(n,c);
p&&(a.set(s,h),Qn(h,s,r,e,a),a.delete(s)),an(t,c,h)}}else c=e?e(t[f],u,f+"",t,n,o):P,c===P&&(c=u),an(t,f,c)})}}function Xn(t,n){var r=t.length;if(r)return n+=0>n?r:0,ge(n,r)?t[n]:P}function tr(t,n,r){var e=-1;return n=l(n.length?n:[Iu],S(ie())),t=Jn(t,function(t){return{a:l(n,function(n){return n(t)}),b:++e,c:t}}),A(t,function(t,n){var e;t:{e=-1;for(var u=t.a,o=n.a,i=u.length,f=r.length;++e<i;){var c=Er(u[e],o[e]);if(c){e=e>=f?c:c*("desc"==r[e]?-1:1);break t}}e=t.b-n.b}return e})}function nr(t,n){ var s=i?F:(r?he:Ru)(n);return u(s||n,function(u,i){s&&(i=u,u=n[i]),lt(c,i,dt(u,t,r,e,i,n,f))}),c}function yt(n){var t=Ru(n);return function(r){return bt(r,n,t)}}function bt(n,t,r){var e=r.length;if(null==n)return!e;for(n=Ju(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===F&&!(u in n)||!i(o))return false}return true}function xt(n,t,r){if(typeof n!="function")throw new Xu("Expected a function");return go(function(){n.apply(F,r)},t)}function jt(n,t,r,e){var u=-1,i=c,o=true,f=n.length,s=[],h=t.length;if(!f)return s;r&&(t=l(t,S(r))),
return t=Object(t),rr(t,n,function(n,r){return r in t})}function rr(t,n,r){for(var e=-1,u=n.length,o={};++e<u;){var i=n[e],f=t[i];r(f,i)&&(o[i]=f)}return o}function er(t){return function(n){return Rn(n,t)}}function ur(t,n,r,e){var u=e?y:d,o=-1,i=n.length,f=t;for(t===n&&(n=Ir(n)),r&&(f=l(t,S(r)));++o<i;)for(var c=0,a=n[o],a=r?r(a):a;-1<(c=u(f,a,c,e));)f!==t&&ao.call(f,c,1),ao.call(t,c,1);return t}function or(t,n){for(var r=t?n.length:0,e=r-1;r--;){var u=n[r];if(r==e||u!==o){var o=u;if(ge(u))ao.call(t,u,1);else if(ye(u,t))delete t[Ae(u)];else{ e?(i=a,o=false):200<=t.length&&(i=R,o=false,t=new qn(t));n:for(;++u<f;){var p=n[u],_=null==r?p:r(p),p=e||0!==p?p:0;if(o&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function wt(n,t){var r=true;return ro(n,function(n,e,u){return r=!!t(n,e,u)}),r}function mt(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===F?o===o&&!xu(o):r(o,f)))var f=o,c=i}return c}function At(n,t){var r=[];return ro(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function kt(n,t,r,e,u){
var u=mr(u),i=me(t,u);null!=i&&delete i[Ae(Me(u))]}}}}function ir(t,n){return t+ho(mo()*(n-t+1))}function fr(t,n){var r="";if(!t||1>n||9007199254740991<n)return r;do n%2&&(r+=t),(n=ho(n/2))&&(t+=t);while(n);return r}function cr(t,n){return n=xo(n===P?t.length-1:n,0),function(){for(var e=arguments,u=-1,o=xo(e.length-n,0),i=Uu(o);++u<o;)i[u]=e[n+u];for(u=-1,o=Uu(n+1);++u<n;)o[u]=e[u];return o[n]=i,r(t,this,o)}}function ar(t,n,r,e){n=ye(n,t)?[n]:mr(n);for(var u=-1,o=n.length,i=o-1,f=t;null!=f&&++u<o;){ var i=-1,o=n.length;for(r||(r=me),u||(u=[]);++i<o;){var f=n[i];0<t&&r(f)?1<t?kt(f,t-1,r,e,u):s(u,f):e||(u[u.length]=f)}return u}function Et(n,t){return n&&uo(n,t,Ru)}function Ot(n,t){return n&&io(n,t,Ru)}function St(n,t){return f(t,function(t){return hu(n[t])})}function It(n,t){t=Ee(t,n)?[t]:Ir(t);for(var r=0,e=t.length;null!=n&&r<e;)n=n[Ce(t[r++])];return r&&r==e?n:F}function Rt(n,t,r){return t=t(n),uf(n)?t:s(t,r(n))}function zt(n){if(null==n)return n===F?"[object Undefined]":"[object Null]";n=Ju(n);
var c=Ae(n[u]);if(fu(f)){var a=r;if(u!=i){var l=f[c],a=e?e(l,c,f):P;a===P&&(a=null==l?ge(n[u+1])?[]:{}:l)}ln(f,c,a)}f=f[c]}return t}function lr(t,n,r){var e=-1,u=t.length;for(0>n&&(n=-n>u?0:u+n),r=r>u?u:r,0>r&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0,r=Uu(u);++e<u;)r[e]=t[e+n];return r}function sr(t,n){var r;return qo(t,function(t,e,u){return r=n(t,e,u),!r}),!!r}function hr(t,n,r){var e=0,u=t?t.length:e;if(typeof n=="number"&&n===n&&2147483647>=u){for(;e<u;){var o=e+u>>>1,i=t[o];null!==i&&!hu(i)&&(r?i<=n:i<n)?e=o+1:u=o; var t;if(ji&&ji in n){var r=ui.call(n,ji),e=n[ji];try{n[ji]=F,t=true}catch(n){}var u=fi.call(n);t&&(r?n[ji]=e:delete n[ji]),t=u}else t=fi.call(n);return t}function Wt(n,t){return n>t}function Bt(n,t){return null!=n&&ui.call(n,t)}function Lt(n,t){return null!=n&&t in Ju(n)}function Ut(n,t,r){for(var e=r?a:c,u=n[0].length,i=n.length,o=i,f=qu(i),s=1/0,h=[];o--;){var p=n[o];o&&t&&(p=l(p,S(t))),s=Li(p.length,s),f[o]=!r&&(t||120<=u&&120<=p.length)?new qn(o&&p):F}var p=n[0],_=-1,v=f[0];n:for(;++_<u&&h.length<s;){
}return u}return pr(t,n,Iu,r)}function pr(t,n,r,e){n=r(n);for(var u=0,o=t?t.length:0,i=n!==n,f=null===n,c=hu(n),a=n===P;u<o;){var l=ho((u+o)/2),s=r(t[l]),h=s!==P,p=null===s,_=s===s,v=hu(s);(i?e||_:a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):p||v?0:e?s<=n:s<n)?u=l+1:o=l}return jo(o,4294967294)}function _r(t,n){for(var r=-1,e=t.length,u=0,o=[];++r<e;){var i=t[r],f=n?n(i):i;if(!r||!Xe(f,c)){var c=f;o[u++]=0===i?0:i}}return o}function vr(t){return typeof t=="number"?t:hu(t)?q:+t}function gr(t){if(typeof t=="string")return t; var g=p[_],d=t?t(g):g,g=r||0!==g?g:0;if(v?!R(v,d):!e(h,d,r)){for(o=i;--o;){var y=f[o];if(y?!R(y,d):!e(n[o],d,r))continue n}v&&v.push(d),h.push(g)}}return h}function Ct(n,t,r){var e={};return Et(n,function(n,u,i){t(e,r(n),u,i)}),e}function Dt(n,t,e){return Ee(t,n)||(t=Ir(t),n=We(n,t),t=Ze(t)),t=null==n?n:n[Ce(t)],null==t?F:r(t,n,e)}function Mt(n){return gu(n)&&"[object Arguments]"==zt(n)}function Tt(n){return gu(n)&&"[object ArrayBuffer]"==zt(n)}function $t(n){return gu(n)&&"[object Date]"==zt(n)}
if(hu(t))return Zo?Zo.call(t):"";var n=t+"";return"0"==n&&1/t==-Z?"-0":n}function dr(t,n,r){var e=-1,u=c,o=t.length,i=true,f=[],l=f;if(r)i=false,u=a;else if(200<=o){if(u=n?null:Ho(t))return $(u);i=false,u=I,l=new Jt}else l=n?[]:f;t:for(;++e<o;){var s=t[e],h=n?n(s):s,s=r||0!==s?s:0;if(i&&h===h){for(var p=l.length;p--;)if(l[p]===h)continue t;n&&l.push(h),f.push(s)}else u(l,h,r)||(l!==f&&l.push(h),f.push(s))}return f}function yr(t,n,r,e){for(var u=t.length,o=e?u:-1;(e?o--:++o<u)&&n(t[o],o,t););return r?lr(t,e?0:o,e?o+1:u):lr(t,e?o+1:0,e?u:o); function Ft(n,t,r,e,u){if(n===t)t=true;else if(null==n||null==t||!vu(n)&&!gu(t))t=n!==n&&t!==t;else n:{var i=uf(n),o=uf(t),f="[object Array]",c="[object Array]";i||(f=po(n),f="[object Arguments]"==f?"[object Object]":f),o||(c=po(t),c="[object Arguments]"==c?"[object Object]":c);var a="[object Object]"==f,o="[object Object]"==c;if((c=f==c)&&ff(n)){if(!ff(t)){t=false;break n}i=true,a=false}if(c&&!a)u||(u=new Vn),t=i||hf(n)?ae(n,t,Ft,r,e,u):le(n,t,f,Ft,r,e,u);else{if(!(2&e)&&(i=a&&ui.call(n,"__wrapped__"),f=o&&ui.call(t,"__wrapped__"),
}function br(t,n){var r=t;return r instanceof Pt&&(r=r.value()),h(n,function(t,n){return n.func.apply(n.thisArg,s([t],n.args))},r)}function xr(t,n,r){for(var e=-1,u=t.length;++e<u;)var o=o?s(jn(o,t[e],n,r),jn(t[e],o,n,r)):t[e];return o&&o.length?dr(o,n,r):[]}function jr(t,n,r){for(var e=-1,u=t.length,o=n.length,i={};++e<u;)r(i,t[e],e<o?n[e]:P);return i}function wr(t){return ru(t)?t:[]}function mr(t){return Pi(t)?t:ii(t)}function Ar(t,n,r){var e=t.length;return r=r===P?e:r,!n&&r>=e?t:lr(t,n,r)}function Or(t,n){ i||f)){n=i?n.value():n,t=f?t.value():t,u||(u=new Vn),t=Ft(n,t,r,e,u);break n}if(c)t:if(u||(u=new Vn),i=2&e,f=Ru(n),o=f.length,c=Ru(t).length,o==c||i){for(a=o;a--;){var l=f[a];if(!(i?l in t:ui.call(t,l))){t=false;break t}}if((c=u.get(n))&&u.get(t))t=c==t;else{c=true,u.set(n,t),u.set(t,n);for(var s=i;++a<o;){var l=f[a],h=n[l],p=t[l];if(r)var _=i?r(p,h,l,t,n,u):r(h,p,l,n,t,u);if(_===F?h!==p&&!Ft(h,p,r,e,u):!_){c=false;break}s||(s="constructor"==l)}c&&!s&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(c=false)),
if(n)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}function kr(t){var n=new t.constructor(t.byteLength);return new uo(n).set(new uo(t)),n}function Er(t,n){if(t!==n){var r=t!==P,e=null===t,u=t===t,o=hu(t),i=n!==P,f=null===n,c=n===n,a=hu(n);if(!f&&!a&&!o&&t>n||o&&i&&c&&!f&&!a||e&&i&&c||!r&&c||!u)return 1;if(!e&&!o&&!a&&t<n||a&&r&&u&&!e&&!o||f&&r&&u||!i&&u||!c)return-1}return 0}function Sr(t,n,r,e){var u=-1,o=t.length,i=r.length,f=-1,c=n.length,a=xo(o-i,0),l=Uu(c+a);for(e=!e;++f<c;)l[f]=n[f]; u.delete(n),u.delete(t),t=c}}else t=false;else t=false}}return t}function Nt(n){return gu(n)&&"[object Map]"==po(n)}function Pt(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=Ju(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return false}for(;++u<i;){var f=r[u],c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===F&&!(c in n))return false}else{if(f=new Vn,e)var s=e(a,l,c,n,t,f);if(s===F?!Ft(l,a,e,3,f):!s)return false}}return true}function Zt(n){return!(!vu(n)||oi&&oi in n)&&(hu(n)?li:xn).test(De(n))}function qt(n){
for(;++u<i;)(e||u<o)&&(l[r[u]]=t[u]);for(;a--;)l[f++]=t[u++];return l}function Rr(t,n,r,e){var u=-1,o=t.length,i=-1,f=r.length,c=-1,a=n.length,l=xo(o-f,0),s=Uu(l+a);for(e=!e;++u<l;)s[u]=t[u];for(l=u;++c<a;)s[l+c]=n[c];for(;++i<f;)(e||u<o)&&(s[l+r[i]]=t[u++]);return s}function Ir(t,n){var r=-1,e=t.length;for(n||(n=Uu(e));++r<e;)n[r]=t[r];return n}function Wr(t,n,r,e){r||(r={});for(var u=-1,o=n.length;++u<o;){var i=n[u],f=e?e(r[i],t[i],i,r,t):P;ln(r,i,f===P?t[i]:f)}return r}function Br(t,n){return Wr(t,ni(t),n); return gu(n)&&"[object RegExp]"==zt(n)}function Vt(n){return gu(n)&&"[object Set]"==po(n)}function Kt(n){return gu(n)&&_u(n.length)&&!!Cn[zt(n)]}function Gt(n){return typeof n=="function"?n:null==n?Mu:typeof n=="object"?uf(n)?Xt(n[0],n[1]):Qt(n):Nu(n)}function Ht(n){if(!Se(n))return Wi(n);var t,r=[];for(t in Ju(n))ui.call(n,t)&&"constructor"!=t&&r.push(t);return r}function Jt(n,t){return n<t}function Yt(n,t){var r=-1,e=au(n)?qu(n.length):[];return ro(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function Qt(n){
}function Mr(t,n){return function(r,u){var o=Pi(r)?e:hn,i=n?n():{};return o(r,t,ie(u,2),i)}}function Cr(t){return cr(function(n,r){var e=-1,u=r.length,o=1<u?r[u-1]:P,i=2<u?r[2]:P,o=3<t.length&&typeof o=="function"?(u--,o):P;for(i&&de(r[0],r[1],i)&&(o=3>u?P:o,u=1),n=Object(n);++e<u;)(i=r[e])&&t(n,i,e,o);return n})}function Lr(t,n){return function(r,e){if(null==r)return r;if(!nu(r))return t(r,e);for(var u=r.length,o=n?u:-1,i=Object(r);(n?o--:++o<u)&&false!==e(i[o],o,i););return r}}function zr(t){return function(n,r,e){ var t=de(n);return 1==t.length&&t[0][2]?Ie(t[0][0],t[0][1]):function(r){return r===n||Pt(r,n,t)}}function Xt(n,t){return Ee(n)&&t===t&&!vu(t)?Ie(Ce(n),t):function(r){var e=Su(r,n);return e===F&&e===t?Iu(r,n):Ft(t,e,F,3)}}function nr(n,t,r,e,u){n!==t&&uo(t,function(i,o){if(vu(i)){u||(u=new Vn);var f=u,c=n[o],a=t[o],l=f.get(a);if(l)at(n,o,l);else{var l=e?e(c,a,o+"",n,t,f):F,s=l===F;if(s){var h=uf(a),p=!h&&ff(a),_=!h&&!p&&hf(a),l=a;h||p||_?uf(c)?l=c:lu(c)?l=Dr(c):p?(s=false,l=zr(a,true)):_?(s=false,l=Br(a,true)):l=[]:yu(a)||ef(a)?(l=c,
var u=-1,o=Object(n);e=e(n);for(var i=e.length;i--;){var f=e[t?i:++u];if(false===r(o[f],f,o))break}return n}}function Ur(t,n,r){function e(){return(this&&this!==qt&&this instanceof e?o:t).apply(u?r:this,arguments)}var u=1&n,o=Fr(t);return e}function Dr(t){return function(n){n=bu(n);var r=Ct.test(n)?n.match(Bt):P,e=r?r[0]:n.charAt(0);return n=r?Ar(r,1).join(""):n.slice(1),e[t]()+n}}function $r(t){return function(n){return h(Su(Eu(n).replace(It,"")),t,"")}}function Fr(t){return function(){var n=arguments; ef(c)?l=Eu(c):(!vu(c)||r&&hu(c))&&(l=je(a))):s=false}s&&(f.set(a,l),nr(l,a,r,e,f),f.delete(a)),at(n,o,l)}}else f=e?e(n[o],i,o+"",n,t,u):F,f===F&&(f=i),at(n,o,f)},zu)}function tr(n,t){var r=n.length;if(r)return t+=0>t?r:0,Ae(t,r)?n[t]:F}function rr(n,t,r){var e=-1;return t=l(t.length?t:[Mu],S(ve())),n=Yt(n,function(n){return{a:l(t,function(t){return t(n)}),b:++e,c:n}}),A(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e<o;){var c=Lr(u[e],i[e]);if(c){e=e>=f?c:c*("desc"==r[e]?-1:1);
switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var r=bn(t.prototype),n=t.apply(r,n);return fu(n)?n:r}}function Tr(t,n,e){function u(){for(var i=arguments.length,f=Uu(i),c=i,a=oe(u);c--;)f[c]=arguments[c];return c=3>i&&f[0]!==a&&f[i-1]!==a?[]:D(f,a), break n}}e=n.b-t.b}return e})}function er(n,t){return n=Ju(n),ur(n,t,function(t,r){return r in n})}function ur(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=n[o];r(f,o)&&_t(i,o,f)}return i}function ir(n){return function(t){return It(t,n)}}function or(n,t,r,e){var u=e?y:d,i=-1,o=t.length,f=n;for(n===t&&(t=Dr(t)),r&&(f=l(n,S(r)));++i<o;)for(var c=0,a=t[i],a=r?r(a):a;-1<(c=u(f,a,c,e));)f!==n&&yi.call(f,c,1),yi.call(n,c,1);return n}function fr(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];
i-=c.length,i<e?Qr(t,n,Zr,u.placeholder,P,f,c,P,P,e-i):r(this&&this!==qt&&this instanceof u?o:t,this,f)}var o=Fr(t);return u}function Nr(t){return function(n,r,e){var u=Object(n);if(!nu(n)){var o=ie(r,3);n=wu(n),r=function(t){return o(u[t],t,u)}}return r=t(n,r,e),-1<r?u[o?n[r]:r]:P}}function Pr(t){return cr(function(n){n=On(n,1);var r=n.length,e=r,u=Ft.prototype.thru;for(t&&n.reverse();e--;){var o=n[e];if(typeof o!="function")throw new Nu("Expected a function");if(u&&!i&&"wrapper"==ue(o))var i=new Ft([],(true)); if(r==e||u!==i){var i=u;if(Ae(u))yi.call(n,u,1);else if(Ee(u,n))delete n[Ce(u)];else{var u=Ir(u),o=We(n,u);null!=o&&delete o[Ce(Ze(u))]}}}}function cr(n,t){return n+Oi(Di()*(t-n+1))}function ar(n,t){var r="";if(!n||1>t||9007199254740991<t)return r;do t%2&&(r+=n),(t=Oi(t/2))&&(n+=n);while(t);return r}function lr(n,t){return yo(ze(n,t,Mu),n+"")}function sr(n){return tt(Bu(n))}function hr(n,t){var r=Bu(n);return Ue(r,gt(t,0,r.length))}function pr(n,t,r,e){if(!vu(n))return n;t=Ee(t,n)?[t]:Ir(t);for(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){
}for(e=i?e:r;++e<r;)var o=n[e],u=ue(o),f="wrapper"==u?Qo(o):P,i=f&&be(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?i[ue(f[0])].apply(i,f[3]):1==o.length&&be(o)?i[u]():i.thru(o);return function(){var t=arguments,e=t[0];if(i&&1==t.length&&Pi(e)&&200<=e.length)return i.plant(e).value();for(var u=0,t=r?n[u].apply(this,t):e;++u<r;)t=n[u].call(this,t);return t}})}function Zr(t,n,r,e,u,o,i,f,c,a){function l(){for(var d=arguments.length,y=Uu(d),b=d;b--;)y[b]=arguments[b];if(_){var x,j=oe(l),b=y.length;for(x=0;b--;)y[b]===j&&x++; var c=Ce(t[u]),a=r;if(u!=o){var l=f[c],a=e?e(l,c,f):F;a===F&&(a=vu(l)?l:Ae(t[u+1])?[]:{})}lt(f,c,a),f=f[c]}return n}function _r(n){return Ue(Bu(n))}function vr(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=qu(u);++e<u;)r[e]=n[e+t];return r}function gr(n,t){var r;return ro(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function dr(n,t,r){var e=0,u=null==n?e:n.length;if(typeof t=="number"&&t===t&&2147483647>=u){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!xu(o)&&(r?o<=t:o<t)?e=i+1:u=i;
}if(e&&(y=Sr(y,e,u,_)),o&&(y=Rr(y,o,i,_)),d-=x,_&&d<a)return j=D(y,j),Qr(t,n,Zr,l.placeholder,r,y,j,f,c,a-d);if(j=h?r:this,b=p?j[t]:t,d=y.length,f){x=y.length;for(var w=jo(f.length,x),m=Ir(y);w--;){var A=f[w];y[w]=ge(A,x)?m[A]:P}}else v&&1<d&&y.reverse();return s&&c<d&&(y.length=c),this&&this!==qt&&this instanceof l&&(b=g||Fr(b)),b.apply(j,y)}var s=128&n,h=1&n,p=2&n,_=24&n,v=512&n,g=p?P:Fr(t);return l}function qr(t,n){return function(r,e){return Ln(r,t,n(e))}}function Vr(t,n){return function(r,e){ }return u}return yr(n,t,Mu,r)}function yr(n,t,r,e){t=r(t);for(var u=0,i=null==n?0:n.length,o=t!==t,f=null===t,c=xu(t),a=t===F;u<i;){var l=Oi((u+i)/2),s=r(n[l]),h=s!==F,p=null===s,_=s===s,v=xu(s);(o?e||_:a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):p||v?0:e?s<=t:s<t)?u=l+1:i=l}return Li(i,4294967294)}function br(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!cu(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function xr(n){return typeof n=="number"?n:xu(n)?P:+n}function jr(n){
var u;if(r===P&&e===P)return n;if(r!==P&&(u=r),e!==P){if(u===P)return e;typeof r=="string"||typeof e=="string"?(r=gr(r),e=gr(e)):(r=vr(r),e=vr(e)),u=t(r,e)}return u}}function Kr(t){return cr(function(n){return n=1==n.length&&Pi(n[0])?l(n[0],S(ie())):l(On(n,1),S(ie())),cr(function(e){var u=this;return t(n,function(t){return r(t,u,e)})})})}function Gr(t,n){n=n===P?" ":gr(n);var r=n.length;return 2>r?r?fr(n,t):n:(r=fr(n,so(t/T(n))),Ct.test(n)?Ar(r.match(Bt),0,t).join(""):r.slice(0,t))}function Jr(t,n,e,u){ if(typeof n=="string")return n;if(uf(n))return l(n,jr)+"";if(xu(n))return no?no.call(n):"";var t=n+"";return"0"==t&&1/n==-N?"-0":t}function wr(n,t,r){var e=-1,u=c,i=n.length,o=true,f=[],l=f;if(r)o=false,u=a;else if(200<=i){if(u=t?null:ao(n))return D(u);o=false,u=R,l=new qn}else l=t?[]:f;n:for(;++e<i;){var s=n[e],h=t?t(s):s,s=r||0!==s?s:0;if(o&&h===h){for(var p=l.length;p--;)if(l[p]===h)continue n;t&&l.push(h),f.push(s)}else u(l,h,r)||(l!==f&&l.push(h),f.push(s))}return f}function mr(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););
function o(){for(var n=-1,c=arguments.length,a=-1,l=u.length,s=Uu(l+c),h=this&&this!==qt&&this instanceof o?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++n];return r(h,i?e:this,s)}var i=1&n,f=Fr(t);return o}function Yr(t){return function(n,r,e){e&&typeof e!="number"&&de(n,r,e)&&(r=e=P),n=du(n),n=n===n?n:0,r===P?(r=n,n=0):r=du(r)||0,e=e===P?n<r?1:-1:du(e)||0;var u=-1;r=xo(so((r-n)/(e||1)),0);for(var o=Uu(r);r--;)o[t?r:++u]=n,n+=e;return o}}function Hr(t){return function(n,r){return typeof n=="string"&&typeof r=="string"||(n=du(n), return r?vr(n,e?0:i,e?i+1:u):vr(n,e?i+1:0,e?u:i)}function Ar(n,t){var r=n;return r instanceof Mn&&(r=r.value()),h(t,function(n,t){return t.func.apply(t.thisArg,s([n],t.args))},r)}function kr(n,t,r){var e=n.length;if(2>e)return e?wr(n[0]):[];for(var u=-1,i=qu(e);++u<e;)for(var o=n[u],f=-1;++f<e;){var c=n[f];c!==o&&(i[u]=jt(i[u]||o,c,t,r))}return wr(kt(i,1),t,r)}function Er(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;)r(o,n[e],e<i?t[e]:F);return o}function Or(n){return lu(n)?n:[]}function Sr(n){
r=du(r)),t(n,r)}}function Qr(t,n,r,e,u,o,i,f,c,a){var l=8&n,s=l?i:P;i=l?P:i;var h=l?o:P;return o=l?P:o,n=(n|(l?32:64))&~(l?64:32),4&n||(n&=-4),u=[t,n,u,h,s,o,i,f,c,a],r=r.apply(P,u),be(t)&&ui(r,u),r.placeholder=e,oi(r,t,n)}function Xr(t){var n=Fu[t];return function(t,r){if(t=du(t),r=jo(vu(r),292)){var e=(bu(t)+"e").split("e"),e=n(e[0]+"e"+(+e[1]+r)),e=(bu(e)+"e").split("e");return+(e[0]+"e"+(+e[1]-r))}return n(t)}}function te(t){return function(n){var r=Et(n);return"[object Map]"==r?z(n):"[object Set]"==r?F(n):E(n,t(n)); return typeof n=="function"?n:Mu}function Ir(n){return uf(n)?n:bo(n)}function Rr(n,t,r){var e=n.length;return r=r===F?e:r,!t&&r>=e?n:vr(n,t,r)}function zr(n,t){if(t)return n.slice();var r=n.length,r=_i?_i(r):new n.constructor(r);return n.copy(r),r}function Wr(n){var t=new n.constructor(n.byteLength);return new pi(t).set(new pi(n)),t}function Br(n,t){return new n.constructor(t?Wr(n.buffer):n.buffer,n.byteOffset,n.length)}function Lr(n,t){if(n!==t){var r=n!==F,e=null===n,u=n===n,i=xu(n),o=t!==F,f=null===t,c=t===t,a=xu(t);
}}function ne(t,n,r,e,u,o,i,f){var c=2&n;if(!c&&typeof t!="function")throw new Nu("Expected a function");var a=e?e.length:0;if(a||(n&=-97,e=u=P),i=i===P?i:xo(vu(i),0),f=f===P?f:vu(f),a-=u?u.length:0,64&n){var l=e,s=u;e=u=P}var h=c?P:Qo(t);return o=[t,n,r,e,u,l,s,o,i,f],h&&(r=o[1],t=h[1],n=r|t,e=128==t&&8==r||128==t&&256==r&&o[7].length<=h[8]||384==t&&h[7].length<=h[8]&&8==r,131>n||e)&&(1&t&&(o[2]=h[2],n|=1&r?0:4),(r=h[3])&&(e=o[3],o[3]=e?Sr(e,r,h[4]):r,o[4]=e?D(o[3],"__lodash_placeholder__"):h[4]), if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Ur(n,t,r,e){var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Bi(i-o,0),l=qu(c+a);for(e=!e;++f<c;)l[f]=t[f];for(;++u<o;)(e||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l}function Cr(n,t,r,e){var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Bi(i-f,0),s=qu(l+a);for(e=!e;++u<l;)s[u]=n[u];for(l=u;++c<a;)s[l+c]=t[c];for(;++o<f;)(e||u<i)&&(s[l+r[o]]=n[u++]);
(r=h[5])&&(e=o[5],o[5]=e?Rr(e,r,h[6]):r,o[6]=e?D(o[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(o[7]=r),128&t&&(o[8]=null==o[8]?h[8]:jo(o[8],h[8])),null==o[9]&&(o[9]=h[9]),o[0]=h[0],o[1]=n),t=o[0],n=o[1],r=o[2],e=o[3],u=o[4],f=o[9]=null==o[9]?c?0:t.length:xo(o[9]-a,0),!f&&24&n&&(n&=-25),oi((h?Yo:ui)(n&&1!=n?8==n||16==n?Tr(t,n,f):32!=n&&33!=n||u.length?Zr.apply(P,o):Jr(t,n,r,e):Ur(t,n,r),o),t,n)}function re(t,n,r,e,u,o){var i=2&u,f=t.length,c=n.length;if(f!=c&&!(i&&c>f))return false;if((c=o.get(t))&&o.get(n))return c==n; return s}function Dr(n,t){var r=-1,e=n.length;for(t||(t=qu(e));++r<e;)t[r]=n[r];return t}function Mr(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):F;c===F&&(c=n[f]),u?_t(r,f,c):lt(r,f,c)}return r}function Tr(n,t){return Mr(n,so(n),t)}function $r(n,t){return function(r,u){var i=uf(r)?e:ht,o=t?t():{};return i(r,n,ve(u,2),o)}}function Fr(n){return lr(function(t,r){var e=-1,u=r.length,i=1<u?r[u-1]:F,o=2<u?r[2]:F,i=3<n.length&&typeof i=="function"?(u--,i):F;
var c=-1,a=true,l=1&u?new Jt:P;for(o.set(t,n),o.set(n,t);++c<f;){var s=t[c],h=n[c];if(e)var p=i?e(h,s,c,n,t,o):e(s,h,c,t,n,o);if(p!==P){if(p)continue;a=false;break}if(l){if(!_(n,function(t,n){if(!l.has(n)&&(s===t||r(s,t,e,u,o)))return l.add(n)})){a=false;break}}else if(s!==h&&!r(s,h,e,u,o)){a=false;break}}return o.delete(t),a}function ee(t,n,r,e,u,o,i){switch(r){case"[object DataView]":if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)break;t=t.buffer,n=n.buffer;case"[object ArrayBuffer]":if(t.byteLength!=n.byteLength||!e(new uo(t),new uo(n)))break; for(o&&ke(r[0],r[1],o)&&(i=3>u?F:i,u=1),t=Ju(t);++e<u;)(o=r[e])&&n(t,o,e,i);return t})}function Nr(n,t){return function(r,e){if(null==r)return r;if(!au(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=Ju(r);(t?i--:++i<u)&&false!==e(o[i],i,o););return r}}function Pr(n){return function(t,r,e){var u=-1,i=Ju(t);e=e(t);for(var o=e.length;o--;){var f=e[n?o:++u];if(false===r(i[f],f,i))break}return t}}function Zr(n,t,r){function e(){return(this&&this!==Zn&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=1&t,i=Kr(n);
return true;case"[object Boolean]":case"[object Date]":case"[object Number]":return Xe(+t,+n);case"[object Error]":return t.name==n.name&&t.message==n.message;case"[object RegExp]":case"[object String]":return t==n+"";case"[object Map]":var f=z;case"[object Set]":if(f||(f=$),t.size!=n.size&&!(2&o))break;return(r=i.get(t))?r==n:(o|=1,i.set(t,n),n=re(f(t),f(n),e,u,o,i),i.delete(t),n);case"[object Symbol]":if(Po)return Po.call(t)==Po.call(n)}return false}function ue(t){for(var n=t.name+"",r=zo[n],e=Ju.call(zo,n)?r.length:0;e--;){ return e}function qr(n){return function(t){t=Ou(t);var r=Bn.test(t)?$(t):F,e=r?r[0]:t.charAt(0);return t=r?Rr(r,1).join(""):t.slice(1),e[n]()+t}}function Vr(n){return function(t){return h(Cu(Uu(t).replace(In,"")),n,"")}}function Kr(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);
var u=r[e],o=u.func;if(null==o||o==t)return u.name}return n}function oe(t){return(Ju.call(Rt,"placeholder")?Rt:t).placeholder}function ie(){var t=Rt.iteratee||Wu,t=t===Wu?Vn:t;return arguments.length?t(arguments[0],arguments[1]):t}function fe(t,n){var r=t.__data__,e=typeof n;return("string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==n:null===n)?r[typeof n=="string"?"string":"hash"]:r.map}function ce(t){for(var n=wu(t),r=n.length;r--;){var e=n[r],u=t[e];n[r]=[e,u,u===u&&!fu(u)]}return n; case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=to(n.prototype),t=n.apply(r,t);return vu(t)?t:r}}function Gr(n,t,e){function u(){for(var o=arguments.length,f=qu(o),c=o,a=_e(u);c--;)f[c]=arguments[c];return c=3>o&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,o<e?ie(n,t,Yr,u.placeholder,F,f,c,F,F,e-o):r(this&&this!==Zn&&this instanceof u?i:n,this,f)}var i=Kr(n);return u}function Hr(n){return function(t,r,e){var u=Ju(t);if(!au(t)){var i=ve(r,3);t=Ru(t),r=function(n){return i(u[n],n,u)}}return r=n(t,r,e),
}function ae(t,n){var r=null==t?P:t[n];return Nn(r)?r:P}function le(t,n,r){n=ye(n,t)?[n]:mr(n);for(var e,u=-1,o=n.length;++u<o;){var i=Ae(n[u]);if(!(e=null!=t&&r(t,i)))break;t=t[i]}return e?e:(o=t?t.length:0,!!o&&iu(o)&&ge(i,o)&&(Pi(t)||su(t)||tu(t)))}function se(t){var n=t.length,r=t.constructor(n);return n&&"string"==typeof t[0]&&Ju.call(t,"index")&&(r.index=t.index,r.input=t.input),r}function he(t){return typeof t.constructor!="function"||xe(t)?{}:bn(ti(t))}function pe(r,e,u,o){var i=r.constructor; -1<r?u[i?t[r]:r]:F}}function Jr(n){return se(function(t){var r=t.length,e=r,u=zn.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(typeof i!="function")throw new Xu("Expected a function");if(u&&!o&&"wrapper"==pe(i))var o=new zn([],true)}for(e=o?e:r;++e<r;)var i=t[e],u=pe(i),f="wrapper"==u?lo(i):F,o=f&&Oe(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?o[pe(f[0])].apply(o,f[3]):1==i.length&&Oe(i)?o[u]():o.thru(i);return function(){var n=arguments,e=n[0];if(o&&1==n.length&&uf(e)&&200<=e.length)return o.plant(e).value();
switch(e){case"[object ArrayBuffer]":return kr(r);case"[object Boolean]":case"[object Date]":return new i((+r));case"[object DataView]":return e=o?kr(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return e=o?kr(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.length); for(var u=0,n=r?t[u].apply(this,n):e;++u<r;)n=t[u].call(this,n);return n}})}function Yr(n,t,r,e,u,i,o,f,c,a){function l(){for(var d=arguments.length,y=qu(d),b=d;b--;)y[b]=arguments[b];if(_){var x,j=_e(l),b=y.length;for(x=0;b--;)y[b]===j&&++x}if(e&&(y=Ur(y,e,u,_)),i&&(y=Cr(y,i,o,_)),d-=x,_&&d<a)return j=C(y,j),ie(n,t,Yr,l.placeholder,r,y,j,f,c,a-d);if(j=h?r:this,b=p?j[n]:n,d=y.length,f){x=y.length;for(var w=Li(f.length,x),m=Dr(y);w--;){var A=f[w];y[w]=Ae(A,x)?m[A]:F}}else v&&1<d&&y.reverse();return s&&c<d&&(y.length=c),
case"[object Map]":return e=o?u(z(r),true):z(r),h(e,t,new r.constructor);case"[object Number]":case"[object String]":return new i(r);case"[object RegExp]":return e=new r.constructor(r.source,dt.exec(r)),e.lastIndex=r.lastIndex,e;case"[object Set]":return e=o?u($(r),true):$(r),h(e,n,new r.constructor);case"[object Symbol]":return Po?Object(Po.call(r)):{}}}function _e(t){var n=t?t.length:P;return iu(n)&&(Pi(t)||su(t)||tu(t))?k(n,String):null}function ve(t){return Pi(t)||tu(t)||!!(lo&&t&&t[lo])}function ge(t,n){ this&&this!==Zn&&this instanceof l&&(b=g||Kr(b)),b.apply(j,y)}var s=128&t,h=1&t,p=2&t,_=24&t,v=512&t,g=p?F:Kr(n);return l}function Qr(n,t){return function(r,e){return Ct(r,n,t(e))}}function Xr(n,t){return function(r,e){var u;if(r===F&&e===F)return t;if(r!==F&&(u=r),e!==F){if(u===F)return e;typeof r=="string"||typeof e=="string"?(r=jr(r),e=jr(e)):(r=xr(r),e=xr(e)),u=n(r,e)}return u}}function ne(n){return se(function(t){return t=l(t,S(ve())),lr(function(e){var u=this;return n(t,function(n){return r(n,u,e);
return n=null==n?9007199254740991:n,!!n&&(typeof t=="number"||mt.test(t))&&-1<t&&0==t%1&&t<n}function de(t,n,r){if(!fu(r))return false;var e=typeof n;return!!("number"==e?nu(r)&&ge(n,r.length):"string"==e&&n in r)&&Xe(r[n],t)}function ye(t,n){if(Pi(t))return false;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!hu(t))||(ut.test(t)||!et.test(t)||null!=n&&t in Object(n))}function be(t){var n=ue(t),r=Rt[n];return typeof r=="function"&&n in Pt.prototype&&(t===r||(n=Qo(r),!!n&&t===n[0])); })})})}function te(n,t){t=t===F?" ":jr(t);var r=t.length;return 2>r?r?ar(t,n):t:(r=ar(t,Ei(n/T(t))),Bn.test(t)?Rr($(r),0,n).join(""):r.slice(0,n))}function re(n,t,e,u){function i(){for(var t=-1,c=arguments.length,a=-1,l=u.length,s=qu(l+c),h=this&&this!==Zn&&this instanceof i?f:n;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++t];return r(h,o?e:this,s)}var o=1&t,f=Kr(n);return i}function ee(n){return function(t,r,e){e&&typeof e!="number"&&ke(t,r,e)&&(r=e=F),t=wu(t),r===F?(r=t,t=0):r=wu(r),e=e===F?t<r?1:-1:wu(e);
}function xe(t){var n=t&&t.constructor;return t===(typeof n=="function"&&n.prototype||Zu)}function je(t,n){return function(r){return null!=r&&(r[t]===n&&(n!==P||t in Object(r)))}}function we(t,n,r,e,u,o){return fu(t)&&fu(n)&&(o.set(n,t),Qn(t,n,P,we,o),o.delete(n)),t}function me(t,n){return 1==n.length?t:Rn(t,lr(n,0,-1))}function Ae(t){if(typeof t=="string"||hu(t))return t;var n=t+"";return"0"==n&&1/t==-Z?"-0":n}function Oe(t){if(null!=t){try{return Gu.call(t)}catch(t){}return t+""}return""}function ke(t,n){ var u=-1;r=Bi(Ei((r-t)/(e||1)),0);for(var i=qu(r);r--;)i[n?r:++u]=t,t+=e;return i}}function ue(n){return function(t,r){return typeof t=="string"&&typeof r=="string"||(t=ku(t),r=ku(r)),n(t,r)}}function ie(n,t,r,e,u,i,o,f,c,a){var l=8&t,s=l?o:F;o=l?F:o;var h=l?i:F;return i=l?F:i,t=(t|(l?32:64))&~(l?64:32),4&t||(t&=-4),u=[n,t,u,h,s,i,o,f,c,a],r=r.apply(F,u),Oe(n)&&vo(r,u),r.placeholder=e,Be(r,n,t)}function oe(n){var t=Hu[n];return function(n,r){if(n=ku(n),r=Li(mu(r),292)){var e=(Ou(n)+"e").split("e"),e=t(e[0]+"e"+(+e[1]+r)),e=(Ou(e)+"e").split("e");
return u(V,function(r){var e="_."+r[0];n&r[1]&&!c(t,e)&&t.push(e)}),t.sort()}function Ee(t){if(t instanceof Pt)return t.clone();var n=new Ft(t.__wrapped__,t.__chain__);return n.__actions__=Ir(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Se(t,n,r){var e=t?t.length:0;return e?(n=r||n===P?1:vu(n),lr(t,0>n?0:n,e)):[]}function Re(t,n,r){var e=t?t.length:0;return e?(n=r||n===P?1:vu(n),n=e-n,lr(t,0,0>n?0:n)):[]}function Ie(t,n,r){var e=t?t.length:0;return e?(r=null==r?0:vu(r), return+(e[0]+"e"+(+e[1]-r))}return t(n)}}function fe(n){return function(t){var r=po(t);return"[object Map]"==r?L(t):"[object Set]"==r?M(t):O(t,n(t))}}function ce(n,t,r,e,u,i,o,f){var c=2&t;if(!c&&typeof n!="function")throw new Xu("Expected a function");var a=e?e.length:0;if(a||(t&=-97,e=u=F),o=o===F?o:Bi(mu(o),0),f=f===F?f:mu(f),a-=u?u.length:0,64&t){var l=e,s=u;e=u=F}var h=c?F:lo(n);return i=[n,t,r,e,u,l,s,i,o,f],h&&(r=i[1],n=h[1],t=r|n,e=128==n&&8==r||128==n&&256==r&&i[7].length<=h[8]||384==n&&h[7].length<=h[8]&&8==r,
0>r&&(r=xo(e+r,0)),g(t,ie(n,3),r)):-1}function We(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e-1;return r!==P&&(u=vu(r),u=0>r?xo(e+u,0):jo(u,e-1)),g(t,ie(n,3),u,true)}function Be(t){return t&&t.length?t[0]:P}function Me(t){var n=t?t.length:0;return n?t[n-1]:P}function Ce(t,n){return t&&t.length&&n&&n.length?ur(t,n):t}function Le(t){return t?Oo.call(t):t}function ze(t){if(!t||!t.length)return[];var n=0;return t=f(t,function(t){if(ru(t))return n=xo(t.length,n),true}),k(n,function(n){return l(t,j(n)); 131>t||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Ur(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Cr(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Li(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1],r=i[2],e=i[3],u=i[4],f=i[9]=null==i[9]?c?0:n.length:Bi(i[9]-a,0),!f&&24&t&&(t&=-25),Be((h?oo:vo)(t&&1!=t?8==t||16==t?Gr(n,t,f):32!=t&&33!=t||u.length?Yr.apply(F,i):re(n,t,r,e):Zr(n,t,r),i),n,t);
})}function Ue(t,n){if(!t||!t.length)return[];var e=ze(t);return null==n?e:l(e,function(t){return r(n,P,t)})}function De(t){return t=Rt(t),t.__chain__=true,t}function $e(t,n){return n(t)}function Fe(){return this}function Te(t,n){return(Pi(t)?u:qo)(t,ie(n,3))}function Ne(t,n){return(Pi(t)?o:Vo)(t,ie(n,3))}function Pe(t,n){return(Pi(t)?l:Jn)(t,ie(n,3))}function Ze(t,n,r){var e=-1,u=pu(t),o=u.length,i=o-1;for(n=(r?de(t,n,r):n===P)?1:vn(vu(n),0,o);++e<n;)t=ir(e,i),r=u[t],u[t]=u[e],u[e]=r;return u.length=n, }function ae(n,t,r,e,u,i){var o=2&u,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t;var c=-1,a=true,l=1&u?new qn:F;for(i.set(n,t),i.set(t,n);++c<f;){var s=n[c],h=t[c];if(e)var p=o?e(h,s,c,t,n,i):e(s,h,c,n,t,i);if(p!==F){if(p)continue;a=false;break}if(l){if(!_(t,function(n,t){if(!R(l,t)&&(s===n||r(s,n,e,u,i)))return l.push(t)})){a=false;break}}else if(s!==h&&!r(s,h,e,u,i)){a=false;break}}return i.delete(n),i.delete(t),a}function le(n,t,r,e,u,i,o){switch(r){case"[object DataView]":
u}function qe(){return Du.now()}function Ve(t,n,r){return n=r?P:n,n=t&&null==n?t.length:n,ne(t,128,P,P,P,P,n)}function Ke(t,n){var r;if(typeof n!="function")throw new Nu("Expected a function");return t=vu(t),function(){return 0<--t&&(r=n.apply(this,arguments)),1>=t&&(n=P),r}}function Ge(t,n,r){return n=r?P:n,t=ne(t,8,P,P,P,P,P,n),t.placeholder=Ge.placeholder,t}function Je(t,n,r){return n=r?P:n,t=ne(t,16,P,P,P,P,P,n),t.placeholder=Je.placeholder,t}function Ye(t,n,r){function e(n){var r=c,e=a;return c=a=P, if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)break;n=n.buffer,t=t.buffer;case"[object ArrayBuffer]":if(n.byteLength!=t.byteLength||!e(new pi(n),new pi(t)))break;return true;case"[object Boolean]":case"[object Date]":case"[object Number]":return cu(+n,+t);case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object RegExp]":case"[object String]":return n==t+"";case"[object Map]":var f=L;case"[object Set]":if(f||(f=D),n.size!=t.size&&!(2&i))break;return(r=o.get(n))?r==t:(i|=1,
_=n,s=t.apply(e,r)}function u(t){var r=t-p;return t-=_,p===P||r>=n||0>r||g&&t>=l}function o(){var t=qe();if(u(t))return i(t);var r;r=t-_,t=n-(t-p),r=g?jo(t,l-r):t,h=St(o,r)}function i(t){return h=P,d&&c?e(t):(c=a=P,s)}function f(){var t=qe(),r=u(t);if(c=arguments,a=this,p=t,r){if(h===P)return _=t=p,h=St(o,n),v?e(t):s;if(g)return h=St(o,n),e(p)}return h===P&&(h=St(o,n)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof t!="function")throw new Nu("Expected a function");return n=du(n)||0,fu(r)&&(v=!!r.leading, o.set(n,t),t=ae(f(n),f(t),e,u,i,o),o.delete(n),t);case"[object Symbol]":if(Xi)return Xi.call(n)==Xi.call(t)}return false}function se(n){return yo(ze(n,F,Ne),n+"")}function he(n){return Rt(n,Ru,so)}function pe(n){for(var t=n.name+"",r=Vi[t],e=ui.call(Vi,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function _e(n){return(ui.call(On,"placeholder")?On:n).placeholder}function ve(){var n=On.iteratee||Tu,n=n===Tu?Gt:n;return arguments.length?n(arguments[0],arguments[1]):n}function ge(n,t){
l=(g="maxWait"in r)?xo(du(r.maxWait)||0,n):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==P&&w.clearTimeout.call(qt,h),_=0,c=p=a=h=P},f.flush=function(){return h===P?s:i(qe())},f}function He(t,n){function r(){var e=arguments,u=n?n.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=t.apply(this,e),r.cache=o.set(u,e),e)}if(typeof t!="function"||n&&typeof n!="function")throw new Nu("Expected a function");return r.cache=new(He.Cache||Kt),r}function Qe(t){if(typeof t!="function")throw new Nu("Expected a function"); var r=n.__data__,e=typeof t;return("string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t)?r[typeof t=="string"?"string":"hash"]:r.map}function de(n){for(var t=Ru(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,u===u&&!vu(u)]}return t}function ye(n,t){var r=null==n?F:n[t];return Zt(r)?r:F}function be(n,t,r){t=Ee(t,n)?[t]:Ir(t);for(var e=-1,u=t.length,i=false;++e<u;){var o=Ce(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&_u(u)&&Ae(o,u)&&(uf(n)||ef(n)));
return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Xe(t,n){return t===n||t!==t&&n!==n}function tu(t){return ru(t)&&Ju.call(t,"callee")&&(!co.call(t,"callee")||"[object Arguments]"==Qu.call(t))}function nu(t){return null!=t&&iu(Xo(t))&&!uu(t)}function ru(t){return cu(t)&&nu(t)}function eu(t){return!!cu(t)&&("[object Error]"==Qu.call(t)||typeof t.message=="string"&&typeof t.name=="string"); }function xe(n){var t=n.length,r=n.constructor(t);return t&&"string"==typeof n[0]&&ui.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function je(n){return typeof n.constructor!="function"||Se(n)?{}:to(vi(n))}function we(r,e,u,i){var o=r.constructor;switch(e){case"[object ArrayBuffer]":return Wr(r);case"[object Boolean]":case"[object Date]":return new o(+r);case"[object DataView]":return e=i?Wr(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.byteLength);case"[object Float32Array]":case"[object Float64Array]":
}function uu(t){return t=fu(t)?Qu.call(t):"","[object Function]"==t||"[object GeneratorFunction]"==t}function ou(t){return typeof t=="number"&&t==vu(t)}function iu(t){return typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t}function fu(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function cu(t){return!!t&&typeof t=="object"}function au(t){return typeof t=="number"||cu(t)&&"[object Number]"==Qu.call(t)}function lu(t){return!(!cu(t)||"[object Object]"!=Qu.call(t)||C(t))&&(t=ti(t),null===t||(t=Ju.call(t,"constructor")&&t.constructor, case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Br(r,i);case"[object Map]":return e=i?u(L(r),true):L(r),h(e,n,new r.constructor);case"[object Number]":case"[object String]":return new o(r);case"[object RegExp]":return e=new r.constructor(r.source,dn.exec(r)),e.lastIndex=r.lastIndex,e;case"[object Set]":return e=i?u(D(r),true):D(r),h(e,t,new r.constructor);
typeof t=="function"&&t instanceof t&&Gu.call(t)==Hu))}function su(t){return typeof t=="string"||!Pi(t)&&cu(t)&&"[object String]"==Qu.call(t)}function hu(t){return typeof t=="symbol"||cu(t)&&"[object Symbol]"==Qu.call(t)}function pu(t){if(!t)return[];if(nu(t))return su(t)?t.match(Bt):Ir(t);if(io&&t[io])return L(t[io]());var n=Et(t);return("[object Map]"==n?z:"[object Set]"==n?$:Ou)(t)}function _u(t){return t?(t=du(t),t===Z||t===-Z?1.7976931348623157e308*(0>t?-1:1):t===t?t:0):0===t?t:0}function vu(t){ case"[object Symbol]":return Xi?Ju(Xi.call(r)):{}}}function me(n){return uf(n)||ef(n)||!!(bi&&n&&n[bi])}function Ae(n,t){return t=null==t?9007199254740991:t,!!t&&(typeof n=="number"||wn.test(n))&&-1<n&&0==n%1&&n<t}function ke(n,t,r){if(!vu(r))return false;var e=typeof t;return!!("number"==e?au(r)&&Ae(t,r.length):"string"==e&&t in r)&&cu(r[t],n)}function Ee(n,t){if(uf(n))return false;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!xu(n))||(rn.test(n)||!tn.test(n)||null!=t&&n in Ju(t));
t=_u(t);var n=t%1;return t===t?n?t-n:t:0}function gu(t){return t?vn(vu(t),0,4294967295):0}function du(t){if(typeof t=="number")return t;if(hu(t))return q;if(fu(t)&&(t=uu(t.valueOf)?t.valueOf():t,t=fu(t)?t+"":t),typeof t!="string")return 0===t?t:+t;t=t.replace(ct,"");var n=xt.test(t);return n||wt.test(t)?Nt(t.slice(2),n?2:8):bt.test(t)?q:+t}function yu(t){return Wr(t,mu(t))}function bu(t){return null==t?"":gr(t)}function xu(t,n,r){return t=null==t?P:Rn(t,n),t===P?r:t}function ju(t,n){return null!=t&&le(t,n,Mn); }function Oe(n){var t=pe(n),r=On[t];return typeof r=="function"&&t in Mn.prototype&&(n===r||(t=lo(r),!!t&&n===t[0]))}function Se(n){var t=n&&n.constructor;return n===(typeof t=="function"&&t.prototype||ti)}function Ie(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==F||n in Ju(r)))}}function Re(n,t,r,e,u,i){return vu(n)&&vu(t)&&(i.set(t,n),nr(n,t,F,Re,i),i.delete(t)),n}function ze(n,t,e){return t=Bi(t===F?n.length-1:t,0),function(){for(var u=arguments,i=-1,o=Bi(u.length-t,0),f=qu(o);++i<o;)f[i]=u[t+i];
}function wu(t){var n=xe(t);if(!n&&!nu(t))return Jo(t);var r,e=_e(t),u=!!e,e=e||[],o=e.length;for(r in t)!Bn(t,r)||u&&("length"==r||ge(r,o))||n&&"constructor"==r||e.push(r);return e}function mu(t){for(var n=-1,r=xe(t),e=Kn(t),u=e.length,o=_e(t),i=!!o,o=o||[],f=o.length;++n<u;){var c=e[n];i&&("length"==c||ge(c,f))||"constructor"==c&&(r||!Ju.call(t,c))||o.push(c)}return o}function Au(t,n){return null==t?{}:rr(t,In(t,mu,ri),ie(n))}function Ou(t){return t?R(t,wu(t)):[]}function ku(t){return mf(bu(t).toLowerCase()); for(i=-1,o=qu(t+1);++i<t;)o[i]=u[i];return o[t]=e(f),r(n,this,o)}}function We(n,t){return 1==t.length?n:It(n,vr(t,0,-1))}function Be(n,t,r){var e=t+"";t=yo;var u,i=Me;return u=(u=e.match(hn))?u[1].split(pn):[],r=i(u,r),(i=r.length)&&(u=i-1,r[u]=(1<i?"& ":"")+r[u],r=r.join(2<i?", ":" "),e=e.replace(sn,"{\n/* [wrapped with "+r+"] */\n")),t(n,e)}function Le(n){var t=0,r=0;return function(){var e=Ui(),u=16-(e-r);if(r=e,0<u){if(800<=++t)return arguments[0]}else t=0;return n.apply(F,arguments)}}function Ue(n,t){
}function Eu(t){return(t=bu(t))&&t.replace(At,rn).replace(Wt,"")}function Su(t,n,r){return t=bu(t),n=r?P:n,n===P&&(n=Lt.test(t)?Mt:_t),t.match(n)||[]}function Ru(t){return function(){return t}}function Iu(t){return t}function Wu(t){return Vn(typeof t=="function"?t:gn(t,true))}function Bu(t,n,r){var e=wu(n),o=Sn(n,e);null!=r||fu(n)&&(o.length||!e.length)||(r=n,n=t,t=this,o=Sn(n,wu(n)));var i=!(fu(r)&&"chain"in r&&!r.chain),f=uu(t);return u(o,function(r){var e=n[r];t[r]=e,f&&(t.prototype[r]=function(){ var r=-1,e=n.length,u=e-1;for(t=t===F?e:t;++r<t;){var e=cr(r,u),i=n[e];n[e]=n[r],n[r]=i}return n.length=t,n}function Ce(n){if(typeof n=="string"||xu(n))return n;var t=n+"";return"0"==t&&1/n==-N?"-0":t}function De(n){if(null!=n){try{return ei.call(n)}catch(n){}return n+""}return""}function Me(n,t){return u(Z,function(r){var e="_."+r[0];t&r[1]&&!c(n,e)&&n.push(e)}),n.sort()}function Te(n){if(n instanceof Mn)return n.clone();var t=new zn(n.__wrapped__,n.__chain__);return t.__actions__=Dr(n.__actions__),
var n=this.__chain__;if(i||n){var r=t(this.__wrapped__);return(r.__actions__=Ir(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,s([this.value()],arguments))})}),t}function Mu(){}function Cu(t){return ye(t)?j(Ae(t)):er(t)}function Lu(){return[]}function zu(){return false}w=w?on.defaults({},w,on.pick(qt,zt)):qt;var Uu=w.Array,Du=w.Date,$u=w.Error,Fu=w.Math,Tu=w.RegExp,Nu=w.TypeError,Pu=w.Array.prototype,Zu=w.Object.prototype,qu=w.String.prototype,Vu=w["__core-js_shared__"],Ku=function(){ t.__index__=n.__index__,t.__values__=n.__values__,t}function $e(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:mu(r),0>r&&(r=Bi(e+r,0)),g(n,ve(t,3),r)):-1}function Fe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==F&&(u=mu(r),u=0>r?Bi(e+u,0):Li(u,e-1)),g(n,ve(t,3),u,true)}function Ne(n){return(null==n?0:n.length)?kt(n,1):[]}function Pe(n){return n&&n.length?n[0]:F}function Ze(n){var t=null==n?0:n.length;return t?n[t-1]:F}function qe(n,t){return n&&n.length&&t&&t.length?or(n,t):n;
var t=/[^.]+$/.exec(Vu&&Vu.keys&&Vu.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Gu=w.Function.prototype.toString,Ju=Zu.hasOwnProperty,Yu=0,Hu=Gu.call(Object),Qu=Zu.toString,Xu=qt._,to=Tu("^"+Gu.call(Ju).replace(it,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),no=Gt?w.Buffer:P,ro=w.Reflect,eo=w.Symbol,uo=w.Uint8Array,oo=ro?ro.g:P,io=eo?eo.iterator:P,fo=w.Object.create,co=Zu.propertyIsEnumerable,ao=Pu.splice,lo=eo?eo.isConcatSpreadable:P,so=Fu.ceil,ho=Fu.floor,po=Object.getPrototypeOf,_o=Object.getOwnPropertySymbols,vo=no?no.isBuffer:P,go=w.isFinite,yo=Pu.join,bo=Object.keys,xo=Fu.max,jo=Fu.min,wo=w.parseInt,mo=Fu.random,Ao=qu.replace,Oo=Pu.reverse,ko=qu.split,Eo=ae(w,"DataView"),So=ae(w,"Map"),Ro=ae(w,"Promise"),Io=ae(w,"Set"),Wo=ae(w,"WeakMap"),Bo=ae(w.Object,"create"),Mo=function(){ }function Ve(n){return null==n?n:Mi.call(n)}function Ke(n){if(!n||!n.length)return[];var t=0;return n=f(n,function(n){if(lu(n))return t=Bi(n.length,t),true}),E(t,function(t){return l(n,j(t))})}function Ge(n,t){if(!n||!n.length)return[];var e=Ke(n);return null==t?e:l(e,function(n){return r(t,F,n)})}function He(n){return n=On(n),n.__chain__=true,n}function Je(n,t){return t(n)}function Ye(){return this}function Qe(n,t){return(uf(n)?u:ro)(n,ve(t,3))}function Xe(n,t){return(uf(n)?i:eo)(n,ve(t,3))}function nu(n,t){
var t=ae(w.Object,"defineProperty"),n=ae.name;return n&&2<n.length?t:P}(),Co=Wo&&new Wo,Lo=!co.call({valueOf:1},"valueOf"),zo={},Uo=Oe(Eo),Do=Oe(So),$o=Oe(Ro),Fo=Oe(Io),To=Oe(Wo),No=eo?eo.prototype:P,Po=No?No.valueOf:P,Zo=No?No.toString:P;Rt.templateSettings={escape:tt,evaluate:nt,interpolate:rt,variable:"",imports:{_:Rt}},Rt.prototype=$t.prototype,Rt.prototype.constructor=Rt,Ft.prototype=bn($t.prototype),Ft.prototype.constructor=Ft,Pt.prototype=bn($t.prototype),Pt.prototype.constructor=Pt,Zt.prototype.clear=function(){ return(uf(n)?l:Yt)(n,ve(t,3))}function tu(n,t,r){return t=r?F:t,t=n&&null==t?n.length:t,ce(n,128,F,F,F,F,t)}function ru(n,t){var r;if(typeof t!="function")throw new Xu("Expected a function");return n=mu(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=F),r}}function eu(n,t,r){return t=r?F:t,n=ce(n,8,F,F,F,F,F,t),n.placeholder=eu.placeholder,n}function uu(n,t,r){return t=r?F:t,n=ce(n,16,F,F,F,F,F,t),n.placeholder=uu.placeholder,n}function iu(n,t,r){function e(t){var r=c,e=a;return c=a=F,
this.__data__=Bo?Bo(null):{}},Zt.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},Zt.prototype.get=function(t){var n=this.__data__;return Bo?(t=n[t],"__lodash_hash_undefined__"===t?P:t):Ju.call(n,t)?n[t]:P},Zt.prototype.has=function(t){var n=this.__data__;return Bo?n[t]!==P:Ju.call(n,t)},Zt.prototype.set=function(t,n){return this.__data__[t]=Bo&&n===P?"__lodash_hash_undefined__":n,this},Vt.prototype.clear=function(){this.__data__=[]},Vt.prototype.delete=function(t){var n=this.__data__; _=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===F||r>=t||0>r||g&&n>=l}function i(){var n=Vo();if(u(n))return o(n);var r,e=go;r=n-_,n=t-(n-p),r=g?Li(n,l-r):n,h=e(i,r)}function o(n){return h=F,d&&c?e(n):(c=a=F,s)}function f(){var n=Vo(),r=u(n);if(c=arguments,a=this,p=n,r){if(h===F)return _=n=p,h=go(i,t),v?e(n):s;if(g)return h=go(i,t),e(p)}return h===F&&(h=go(i,t)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new Xu("Expected a function");return t=ku(t)||0,vu(r)&&(v=!!r.leading,
return t=sn(n,t),!(0>t)&&(t==n.length-1?n.pop():ao.call(n,t,1),true)},Vt.prototype.get=function(t){var n=this.__data__;return t=sn(n,t),0>t?P:n[t][1]},Vt.prototype.has=function(t){return-1<sn(this.__data__,t)},Vt.prototype.set=function(t,n){var r=this.__data__,e=sn(r,t);return 0>e?r.push([t,n]):r[e][1]=n,this},Kt.prototype.clear=function(){this.__data__={hash:new Zt,map:new(So||Vt),string:new Zt}},Kt.prototype.delete=function(t){return fe(this,t).delete(t)},Kt.prototype.get=function(t){return fe(this,t).get(t); l=(g="maxWait"in r)?Bi(ku(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&co(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Vo())},f}function ou(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e),r.cache=i.set(u,e)||i,e)}if(typeof n!="function"||null!=t&&typeof t!="function")throw new Xu("Expected a function");return r.cache=new(ou.Cache||Pn),r}function fu(n){if(typeof n!="function")throw new Xu("Expected a function");
},Kt.prototype.has=function(t){return fe(this,t).has(t)},Kt.prototype.set=function(t,n){return fe(this,t).set(t,n),this},Jt.prototype.add=Jt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Jt.prototype.has=function(t){return this.__data__.has(t)},fn.prototype.clear=function(){this.__data__=new Vt},fn.prototype.delete=function(t){return this.__data__.delete(t)},fn.prototype.get=function(t){return this.__data__.get(t)},fn.prototype.has=function(t){return this.__data__.has(t); return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function cu(n,t){return n===t||n!==n&&t!==t}function au(n){return null!=n&&_u(n.length)&&!hu(n)}function lu(n){return gu(n)&&au(n)}function su(n){if(!gu(n))return false;var t=zt(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!yu(n);
},fn.prototype.set=function(t,n){var r=this.__data__;if(r instanceof Vt){if(r=r.__data__,!So||199>r.length)return r.push([t,n]),this;r=this.__data__=new Kt(r)}return r.set(t,n),this};var qo=Lr(kn),Vo=Lr(En,true),Ko=zr(),Go=zr(true),Jo=U(bo);oo&&!co.call({valueOf:1},"valueOf")&&(Kn=function(t){return L(oo(t))});var Yo=Co?function(t,n){return Co.set(t,n),t}:Iu,Ho=Io&&1/$(new Io([,-0]))[1]==Z?function(t){return new Io(t)}:Mu,Qo=Co?function(t){return Co.get(t)}:Mu,Xo=j("length"),ti=U(po),ni=_o?U(_o):Lu,ri=_o?function(t){ }function hu(n){return!!vu(n)&&(n=zt(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function pu(n){return typeof n=="number"&&n==mu(n)}function _u(n){return typeof n=="number"&&-1<n&&0==n%1&&9007199254740991>=n}function vu(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function gu(n){return null!=n&&typeof n=="object"}function du(n){return typeof n=="number"||gu(n)&&"[object Number]"==zt(n)}function yu(n){return!(!gu(n)||"[object Object]"!=zt(n))&&(n=vi(n),
for(var n=[];t;)s(n,ni(t)),t=ti(t);return n}:ni;(Eo&&"[object DataView]"!=Et(new Eo(new ArrayBuffer(1)))||So&&"[object Map]"!=Et(new So)||Ro&&"[object Promise]"!=Et(Ro.resolve())||Io&&"[object Set]"!=Et(new Io)||Wo&&"[object WeakMap]"!=Et(new Wo))&&(Et=function(t){var n=Qu.call(t);if(t=(t="[object Object]"==n?t.constructor:P)?Oe(t):P)switch(t){case Uo:return"[object DataView]";case Do:return"[object Map]";case $o:return"[object Promise]";case Fo:return"[object Set]";case To:return"[object WeakMap]"; null===n||(n=ui.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&ei.call(n)==ci))}function bu(n){return typeof n=="string"||!uf(n)&&gu(n)&&"[object String]"==zt(n)}function xu(n){return typeof n=="symbol"||gu(n)&&"[object Symbol]"==zt(n)}function ju(n){if(!n)return[];if(au(n))return bu(n)?$(n):Dr(n);if(xi&&n[xi]){n=n[xi]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}return t=po(n),("[object Map]"==t?L:"[object Set]"==t?D:Bu)(n)}function wu(n){return n?(n=ku(n),
}return n});var ei=Vu?uu:zu,ui=function(){var t=0,n=0;return function(r,e){var u=qe(),o=16-(u-n);if(n=u,0<o){if(150<=++t)return r}else t=0;return Yo(r,e)}}(),oi=Mo?function(t,n,r){n+="";var e;e=(e=n.match(ht))?e[1].split(pt):[],r=ke(e,r),e=r.length;var u=e-1;return r[u]=(1<e?"& ":"")+r[u],r=r.join(2<e?", ":" "),n=n.replace(st,"{\n/* [wrapped with "+r+"] */\n"),Mo(t,"toString",{configurable:true,enumerable:false,value:Ru(n)})}:Iu,ii=He(function(t){var n=[];return bu(t).replace(ot,function(t,r,e,u){n.push(e?u.replace(vt,"$1"):r||t); n===N||n===-N?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function mu(n){n=wu(n);var t=n%1;return n===n?t?n-t:n:0}function Au(n){return n?gt(mu(n),0,4294967295):0}function ku(n){if(typeof n=="number")return n;if(xu(n))return P;if(vu(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=vu(n)?n+"":n),typeof n!="string")return 0===n?n:+n;n=n.replace(cn,"");var t=bn.test(n);return t||jn.test(n)?Fn(n.slice(2),t?2:8):yn.test(n)?P:+n}function Eu(n){return Mr(n,zu(n))}function Ou(n){return null==n?"":jr(n);
}),n}),fi=cr(function(t,n){return ru(t)?jn(t,On(n,1,ru,true)):[]}),ci=cr(function(t,n){var r=Me(n);return ru(r)&&(r=P),ru(t)?jn(t,On(n,1,ru,true),ie(r,2)):[]}),ai=cr(function(t,n){var r=Me(n);return ru(r)&&(r=P),ru(t)?jn(t,On(n,1,ru,true),P,r):[]}),li=cr(function(t){var n=l(t,wr);return n.length&&n[0]===t[0]?Cn(n):[]}),si=cr(function(t){var n=Me(t),r=l(t,wr);return n===Me(r)?n=P:r.pop(),r.length&&r[0]===t[0]?Cn(r,ie(n,2)):[]}),hi=cr(function(t){var n=Me(t),r=l(t,wr);return n===Me(r)?n=P:r.pop(),r.length&&r[0]===t[0]?Cn(r,P,n):[]; }function Su(n,t,r){return n=null==n?F:It(n,t),n===F?r:n}function Iu(n,t){return null!=n&&be(n,t,Lt)}function Ru(n){return au(n)?Gn(n):Ht(n)}function zu(n){if(au(n))n=Gn(n,true);else if(vu(n)){var t,r=Se(n),e=[];for(t in n)("constructor"!=t||!r&&ui.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in Ju(n))t.push(r);n=t}return n}function Wu(n,t){return null==n?{}:ur(n,Rt(n,zu,ho),ve(t))}function Bu(n){return null==n?[]:I(n,Ru(n))}function Lu(n){return Mf(Ou(n).toLowerCase())}function Uu(n){return(n=Ou(n))&&n.replace(mn,rt).replace(Rn,"");
}),pi=cr(Ce),_i=cr(function(t,n){n=On(n,1);var r=t?t.length:0,e=_n(t,n);return or(t,l(n,function(t){return ge(t,r)?+t:t}).sort(Er)),e}),vi=cr(function(t){return dr(On(t,1,ru,true))}),gi=cr(function(t){var n=Me(t);return ru(n)&&(n=P),dr(On(t,1,ru,true),ie(n,2))}),di=cr(function(t){var n=Me(t);return ru(n)&&(n=P),dr(On(t,1,ru,true),P,n)}),yi=cr(function(t,n){return ru(t)?jn(t,n):[]}),bi=cr(function(t){return xr(f(t,ru))}),xi=cr(function(t){var n=Me(t);return ru(n)&&(n=P),xr(f(t,ru),ie(n,2))}),ji=cr(function(t){ }function Cu(n,t,r){return n=Ou(n),t=r?F:t,t===F?Ln.test(n)?n.match(Wn)||[]:n.match(_n)||[]:n.match(t)||[]}function Du(n){return function(){return n}}function Mu(n){return n}function Tu(n){return Gt(typeof n=="function"?n:dt(n,true))}function $u(n,t,r){var e=Ru(t),i=St(t,e);null!=r||vu(t)&&(i.length||!e.length)||(r=t,t=n,n=this,i=St(t,Ru(t)));var o=!(vu(r)&&"chain"in r&&!r.chain),f=hu(n);return u(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);
var n=Me(t);return ru(n)&&(n=P),xr(f(t,ru),P,n)}),wi=cr(ze),mi=cr(function(t){var n=t.length,n=1<n?t[n-1]:P,n=typeof n=="function"?(t.pop(),n):P;return Ue(t,n)}),Ai=cr(function(t){function n(n){return _n(n,t)}t=On(t,1);var r=t.length,e=r?t[0]:0,u=this.__wrapped__;return!(1<r||this.__actions__.length)&&u instanceof Pt&&ge(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:$e,args:[n],thisArg:P}),new Ft(u,this.__chain__).thru(function(t){return r&&!t.length&&t.push(P),t})):this.thru(n)}),Oi=Mr(function(t,n,r){ return(r.__actions__=Dr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,s([this.value()],arguments))})}),n}function Fu(){}function Nu(n){return Ee(n)?j(Ce(n)):ir(n)}function Pu(){return[]}function Zu(){return false}En=null==En?Zn:it.defaults(Zn.Object(),En,it.pick(Zn,Un));var qu=En.Array,Vu=En.Date,Ku=En.Error,Gu=En.Function,Hu=En.Math,Ju=En.Object,Yu=En.RegExp,Qu=En.String,Xu=En.TypeError,ni=qu.prototype,ti=Ju.prototype,ri=En["__core-js_shared__"],ei=Gu.prototype.toString,ui=ti.hasOwnProperty,ii=0,oi=function(){
Ju.call(t,r)?++t[r]:t[r]=1}),ki=Nr(Ie),Ei=Nr(We),Si=Mr(function(t,n,r){Ju.call(t,r)?t[r].push(n):t[r]=[n]}),Ri=cr(function(t,n,e){var u=-1,o=typeof n=="function",i=ye(n),f=nu(t)?Uu(t.length):[];return qo(t,function(t){var c=o?n:i&&null!=t?t[n]:P;f[++u]=c?r(c,t,e):zn(t,n,e)}),f}),Ii=Mr(function(t,n,r){t[r]=n}),Wi=Mr(function(t,n,r){t[r?0:1].push(n)},function(){return[[],[]]}),Bi=cr(function(t,n){if(null==t)return[];var r=n.length;return 1<r&&de(t,n[0],n[1])?n=[]:2<r&&de(n[0],n[1],n[2])&&(n=[n[0]]), var n=/[^.]+$/.exec(ri&&ri.keys&&ri.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),fi=ti.toString,ci=ei.call(Ju),ai=Zn._,li=Yu("^"+ei.call(ui).replace(on,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),si=Kn?En.Buffer:F,hi=En.Symbol,pi=En.Uint8Array,_i=si?si.f:F,vi=U(Ju.getPrototypeOf,Ju),gi=Ju.create,di=ti.propertyIsEnumerable,yi=ni.splice,bi=hi?hi.isConcatSpreadable:F,xi=hi?hi.iterator:F,ji=hi?hi.toStringTag:F,wi=function(){try{var n=ye(Ju,"defineProperty");
tr(t,On(n,1),[])}),Mi=cr(function(t,n,r){var e=1;if(r.length)var u=D(r,oe(Mi)),e=32|e;return ne(t,e,n,r,u)}),Ci=cr(function(t,n,r){var e=3;if(r.length)var u=D(r,oe(Ci)),e=32|e;return ne(n,e,t,r,u)}),Li=cr(function(t,n){return xn(t,1,n)}),zi=cr(function(t,n,r){return xn(t,du(n)||0,r)});He.Cache=Kt;var Ui=cr(function(t,n){n=1==n.length&&Pi(n[0])?l(n[0],S(ie())):l(On(n,1),S(ie()));var e=n.length;return cr(function(u){for(var o=-1,i=jo(u.length,e);++o<i;)u[o]=n[o].call(this,u[o]);return r(t,this,u)}); return n({},"",{}),n}catch(n){}}(),mi=En.clearTimeout!==Zn.clearTimeout&&En.clearTimeout,Ai=Vu&&Vu.now!==Zn.Date.now&&Vu.now,ki=En.setTimeout!==Zn.setTimeout&&En.setTimeout,Ei=Hu.ceil,Oi=Hu.floor,Si=Ju.getOwnPropertySymbols,Ii=si?si.isBuffer:F,Ri=En.isFinite,zi=ni.join,Wi=U(Ju.keys,Ju),Bi=Hu.max,Li=Hu.min,Ui=Vu.now,Ci=En.parseInt,Di=Hu.random,Mi=ni.reverse,Ti=ye(En,"DataView"),$i=ye(En,"Map"),Fi=ye(En,"Promise"),Ni=ye(En,"Set"),Pi=ye(En,"WeakMap"),Zi=ye(Ju,"create"),qi=Pi&&new Pi,Vi={},Ki=De(Ti),Gi=De($i),Hi=De(Fi),Ji=De(Ni),Yi=De(Pi),Qi=hi?hi.prototype:F,Xi=Qi?Qi.valueOf:F,no=Qi?Qi.toString:F,to=function(){
}),Di=cr(function(t,n){var r=D(n,oe(Di));return ne(t,32,P,n,r)}),$i=cr(function(t,n){var r=D(n,oe($i));return ne(t,64,P,n,r)}),Fi=cr(function(t,n){return ne(t,256,P,P,P,On(n,1))}),Ti=Hr(Wn),Ni=Hr(function(t,n){return t>=n}),Pi=Uu.isArray,Zi=Yt?S(Yt):Un,qi=vo||zu,Vi=Ht?S(Ht):Dn,Ki=Qt?S(Qt):Fn,Gi=Xt?S(Xt):Pn,Ji=tn?S(tn):Zn,Yi=nn?S(nn):qn,Hi=Hr(Gn),Qi=Hr(function(t,n){return t<=n}),Xi=Cr(function(t,n){if(Lo||xe(n)||nu(n))Wr(n,wu(n),t);else for(var r in n)Ju.call(n,r)&&ln(t,r,n[r])}),tf=Cr(function(t,n){ function n(){}return function(t){return vu(t)?gi?gi(t):(n.prototype=t,t=new n,n.prototype=F,t):{}}}();On.templateSettings={escape:Q,evaluate:X,interpolate:nn,variable:"",imports:{_:On}},On.prototype=Sn.prototype,On.prototype.constructor=On,zn.prototype=to(Sn.prototype),zn.prototype.constructor=zn,Mn.prototype=to(Sn.prototype),Mn.prototype.constructor=Mn,Tn.prototype.clear=function(){this.__data__=Zi?Zi(null):{},this.size=0},Tn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n],
if(Lo||xe(n)||nu(n))Wr(n,mu(n),t);else for(var r in n)ln(t,r,n[r])}),nf=Cr(function(t,n,r,e){Wr(n,mu(n),t,e)}),rf=Cr(function(t,n,r,e){Wr(n,wu(n),t,e)}),ef=cr(function(t,n){return _n(t,On(n,1))}),uf=cr(function(t){return t.push(P,cn),r(nf,P,t)}),of=cr(function(t){return t.push(P,we),r(sf,P,t)}),ff=qr(function(t,n,r){t[n]=r},Ru(Iu)),cf=qr(function(t,n,r){Ju.call(t,n)?t[n].push(r):t[n]=[r]},ie),af=cr(zn),lf=Cr(function(t,n,r){Qn(t,n,r)}),sf=Cr(function(t,n,r,e){Qn(t,n,r,e)}),hf=cr(function(t,n){return null==t?{}:(n=l(On(n,1),Ae), this.size-=n?1:0,n},Tn.prototype.get=function(n){var t=this.__data__;return Zi?(n=t[n],"__lodash_hash_undefined__"===n?F:n):ui.call(t,n)?t[n]:F},Tn.prototype.has=function(n){var t=this.__data__;return Zi?t[n]!==F:ui.call(t,n)},Tn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Zi&&t===F?"__lodash_hash_undefined__":t,this},Nn.prototype.clear=function(){this.__data__=[],this.size=0},Nn.prototype.delete=function(n){var t=this.__data__;return n=st(t,n),!(0>n)&&(n==t.length-1?t.pop():yi.call(t,n,1),
nr(t,jn(In(t,mu,ri),n)))}),pf=cr(function(t,n){return null==t?{}:nr(t,l(On(n,1),Ae))}),_f=te(wu),vf=te(mu),gf=$r(function(t,n,r){return n=n.toLowerCase(),t+(r?ku(n):n)}),df=$r(function(t,n,r){return t+(r?"-":"")+n.toLowerCase()}),yf=$r(function(t,n,r){return t+(r?" ":"")+n.toLowerCase()}),bf=Dr("toLowerCase"),xf=$r(function(t,n,r){return t+(r?"_":"")+n.toLowerCase()}),jf=$r(function(t,n,r){return t+(r?" ":"")+mf(n)}),wf=$r(function(t,n,r){return t+(r?" ":"")+n.toUpperCase()}),mf=Dr("toUpperCase"),Af=cr(function(t,n){ --this.size,true)},Nn.prototype.get=function(n){var t=this.__data__;return n=st(t,n),0>n?F:t[n][1]},Nn.prototype.has=function(n){return-1<st(this.__data__,n)},Nn.prototype.set=function(n,t){var r=this.__data__,e=st(r,n);return 0>e?(++this.size,r.push([n,t])):r[e][1]=t,this},Pn.prototype.clear=function(){this.size=0,this.__data__={hash:new Tn,map:new($i||Nn),string:new Tn}},Pn.prototype.delete=function(n){return n=ge(this,n).delete(n),this.size-=n?1:0,n},Pn.prototype.get=function(n){return ge(this,n).get(n);
try{return r(t,P,n)}catch(t){return eu(t)?t:new $u(t)}}),Of=cr(function(t,n){return u(On(n,1),function(n){n=Ae(n),t[n]=Mi(t[n],t)}),t}),kf=Pr(),Ef=Pr(true),Sf=cr(function(t,n){return function(r){return zn(r,t,n)}}),Rf=cr(function(t,n){return function(r){return zn(t,r,n)}}),If=Kr(l),Wf=Kr(i),Bf=Kr(_),Mf=Yr(),Cf=Yr(true),Lf=Vr(function(t,n){return t+n},0),zf=Xr("ceil"),Uf=Vr(function(t,n){return t/n},1),Df=Xr("floor"),$f=Vr(function(t,n){return t*n},1),Ff=Xr("round"),Tf=Vr(function(t,n){return t-n},0);return Rt.after=function(t,n){ },Pn.prototype.has=function(n){return ge(this,n).has(n)},Pn.prototype.set=function(n,t){var r=ge(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},qn.prototype.add=qn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},qn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.clear=function(){this.__data__=new Nn,this.size=0},Vn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Vn.prototype.get=function(n){
if(typeof n!="function")throw new Nu("Expected a function");return t=vu(t),function(){if(1>--t)return n.apply(this,arguments)}},Rt.ary=Ve,Rt.assign=Xi,Rt.assignIn=tf,Rt.assignInWith=nf,Rt.assignWith=rf,Rt.at=ef,Rt.before=Ke,Rt.bind=Mi,Rt.bindAll=Of,Rt.bindKey=Ci,Rt.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Pi(t)?t:[t]},Rt.chain=De,Rt.chunk=function(t,n,r){if(n=(r?de(t,n,r):n===P)?1:xo(vu(n),0),r=t?t.length:0,!r||1>n)return[];for(var e=0,u=0,o=Uu(so(r/n));e<r;)o[u++]=lr(t,e,e+=n); return this.__data__.get(n)},Vn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Nn){var e=r.__data__;if(!$i||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Pn(e)}return r.set(n,t),this.size=r.size,this};var ro=Nr(Et),eo=Nr(Ot,true),uo=Pr(),io=Pr(true),oo=qi?function(n,t){return qi.set(n,t),n}:Mu,fo=wi?function(n,t){return wi(n,"toString",{configurable:true,enumerable:false,value:Du(t),writable:true})}:Mu,co=mi||function(n){
return o},Rt.compact=function(t){for(var n=-1,r=t?t.length:0,e=0,u=[];++n<r;){var o=t[n];o&&(u[e++]=o)}return u},Rt.concat=function(){for(var t=arguments.length,n=Uu(t?t-1:0),r=arguments[0],e=t;e--;)n[e-1]=arguments[e];return t?s(Pi(r)?Ir(r):[r],On(n,1)):[]},Rt.cond=function(t){var n=t?t.length:0,e=ie();return t=n?l(t,function(t){if("function"!=typeof t[1])throw new Nu("Expected a function");return[e(t[0]),t[1]]}):[],cr(function(e){for(var u=-1;++u<n;){var o=t[u];if(r(o[0],this,e))return r(o[1],this,e); return Zn.clearTimeout(n)},ao=Ni&&1/D(new Ni([,-0]))[1]==N?function(n){return new Ni(n)}:Fu,lo=qi?function(n){return qi.get(n)}:Fu,so=Si?U(Si,Ju):Pu,ho=Si?function(n){for(var t=[];n;)s(t,so(n)),n=vi(n);return t}:Pu,po=zt;(Ti&&"[object DataView]"!=po(new Ti(new ArrayBuffer(1)))||$i&&"[object Map]"!=po(new $i)||Fi&&"[object Promise]"!=po(Fi.resolve())||Ni&&"[object Set]"!=po(new Ni)||Pi&&"[object WeakMap]"!=po(new Pi))&&(po=function(n){var t=zt(n);if(n=(n="[object Object]"==t?n.constructor:F)?De(n):"")switch(n){
}})},Rt.conforms=function(t){return dn(gn(t,true))},Rt.constant=Ru,Rt.countBy=Oi,Rt.create=function(t,n){var r=bn(t);return n?pn(r,n):r},Rt.curry=Ge,Rt.curryRight=Je,Rt.debounce=Ye,Rt.defaults=uf,Rt.defaultsDeep=of,Rt.defer=Li,Rt.delay=zi,Rt.difference=fi,Rt.differenceBy=ci,Rt.differenceWith=ai,Rt.drop=Se,Rt.dropRight=Re,Rt.dropRightWhile=function(t,n){return t&&t.length?yr(t,ie(n,3),true,true):[]},Rt.dropWhile=function(t,n){return t&&t.length?yr(t,ie(n,3),true):[]},Rt.fill=function(t,n,r,e){var u=t?t.length:0; case Ki:return"[object DataView]";case Gi:return"[object Map]";case Hi:return"[object Promise]";case Ji:return"[object Set]";case Yi:return"[object WeakMap]"}return t});var _o=ri?hu:Zu,vo=Le(oo),go=ki||function(n,t){return Zn.setTimeout(n,t)},yo=Le(fo),bo=function(n){n=ou(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){n=Ou(n);var t=[];return en.test(n)&&t.push(""),n.replace(un,function(n,r,e,u){t.push(e?u.replace(vn,"$1"):r||n)}),t}),xo=lr(function(n,t){return lu(n)?jt(n,kt(t,1,lu,true)):[];
if(!u)return[];for(r&&typeof r!="number"&&de(t,n,r)&&(r=0,e=u),u=t.length,r=vu(r),0>r&&(r=-r>u?0:u+r),e=e===P||e>u?u:vu(e),0>e&&(e+=u),e=r>e?0:gu(e);r<e;)t[r++]=n;return t},Rt.filter=function(t,n){return(Pi(t)?f:An)(t,ie(n,3))},Rt.flatMap=function(t,n){return On(Pe(t,n),1)},Rt.flatMapDeep=function(t,n){return On(Pe(t,n),Z)},Rt.flatMapDepth=function(t,n,r){return r=r===P?1:vu(r),On(Pe(t,n),r)},Rt.flatten=function(t){return t&&t.length?On(t,1):[]},Rt.flattenDeep=function(t){return t&&t.length?On(t,Z):[]; }),jo=lr(function(n,t){var r=Ze(t);return lu(r)&&(r=F),lu(n)?jt(n,kt(t,1,lu,true),ve(r,2)):[]}),wo=lr(function(n,t){var r=Ze(t);return lu(r)&&(r=F),lu(n)?jt(n,kt(t,1,lu,true),F,r):[]}),mo=lr(function(n){var t=l(n,Or);return t.length&&t[0]===n[0]?Ut(t):[]}),Ao=lr(function(n){var t=Ze(n),r=l(n,Or);return t===Ze(r)?t=F:r.pop(),r.length&&r[0]===n[0]?Ut(r,ve(t,2)):[]}),ko=lr(function(n){var t=Ze(n),r=l(n,Or);return(t=typeof t=="function"?t:F)&&r.pop(),r.length&&r[0]===n[0]?Ut(r,F,t):[]}),Eo=lr(qe),Oo=se(function(n,t){
},Rt.flattenDepth=function(t,n){return t&&t.length?(n=n===P?1:vu(n),On(t,n)):[]},Rt.flip=function(t){return ne(t,512)},Rt.flow=kf,Rt.flowRight=Ef,Rt.fromPairs=function(t){for(var n=-1,r=t?t.length:0,e={};++n<r;){var u=t[n];e[u[0]]=u[1]}return e},Rt.functions=function(t){return null==t?[]:Sn(t,wu(t))},Rt.functionsIn=function(t){return null==t?[]:Sn(t,mu(t))},Rt.groupBy=Si,Rt.initial=function(t){return Re(t,1)},Rt.intersection=li,Rt.intersectionBy=si,Rt.intersectionWith=hi,Rt.invert=ff,Rt.invertBy=cf, var r=null==n?0:n.length,e=vt(n,t);return fr(n,l(t,function(n){return Ae(n,r)?+n:n}).sort(Lr)),e}),So=lr(function(n){return wr(kt(n,1,lu,true))}),Io=lr(function(n){var t=Ze(n);return lu(t)&&(t=F),wr(kt(n,1,lu,true),ve(t,2))}),Ro=lr(function(n){var t=Ze(n),t=typeof t=="function"?t:F;return wr(kt(n,1,lu,true),F,t)}),zo=lr(function(n,t){return lu(n)?jt(n,t):[]}),Wo=lr(function(n){return kr(f(n,lu))}),Bo=lr(function(n){var t=Ze(n);return lu(t)&&(t=F),kr(f(n,lu),ve(t,2))}),Lo=lr(function(n){var t=Ze(n),t=typeof t=="function"?t:F;
Rt.invokeMap=Ri,Rt.iteratee=Wu,Rt.keyBy=Ii,Rt.keys=wu,Rt.keysIn=mu,Rt.map=Pe,Rt.mapKeys=function(t,n){var r={};return n=ie(n,3),kn(t,function(t,e,u){r[n(t,e,u)]=t}),r},Rt.mapValues=function(t,n){var r={};return n=ie(n,3),kn(t,function(t,e,u){r[e]=n(t,e,u)}),r},Rt.matches=function(t){return Yn(gn(t,true))},Rt.matchesProperty=function(t,n){return Hn(t,gn(n,true))},Rt.memoize=He,Rt.merge=lf,Rt.mergeWith=sf,Rt.method=Sf,Rt.methodOf=Rf,Rt.mixin=Bu,Rt.negate=Qe,Rt.nthArg=function(t){return t=vu(t),cr(function(n){ return kr(f(n,lu),F,t)}),Uo=lr(Ke),Co=lr(function(n){var t=n.length,t=1<t?n[t-1]:F,t=typeof t=="function"?(n.pop(),t):F;return Ge(n,t)}),Do=se(function(n){function t(t){return vt(t,n)}var r=n.length,e=r?n[0]:0,u=this.__wrapped__;return!(1<r||this.__actions__.length)&&u instanceof Mn&&Ae(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:Je,args:[t],thisArg:F}),new zn(u,this.__chain__).thru(function(n){return r&&!n.length&&n.push(F),n})):this.thru(t)}),Mo=$r(function(n,t,r){ui.call(n,r)?++n[r]:_t(n,r,1);
return Xn(n,t)})},Rt.omit=hf,Rt.omitBy=function(t,n){return Au(t,Qe(ie(n)))},Rt.once=function(t){return Ke(2,t)},Rt.orderBy=function(t,n,r,e){return null==t?[]:(Pi(n)||(n=null==n?[]:[n]),r=e?P:r,Pi(r)||(r=null==r?[]:[r]),tr(t,n,r))},Rt.over=If,Rt.overArgs=Ui,Rt.overEvery=Wf,Rt.overSome=Bf,Rt.partial=Di,Rt.partialRight=$i,Rt.partition=Wi,Rt.pick=pf,Rt.pickBy=Au,Rt.property=Cu,Rt.propertyOf=function(t){return function(n){return null==t?P:Rn(t,n)}},Rt.pull=pi,Rt.pullAll=Ce,Rt.pullAllBy=function(t,n,r){ }),To=Hr($e),$o=Hr(Fe),Fo=$r(function(n,t,r){ui.call(n,r)?n[r].push(t):_t(n,r,[t])}),No=lr(function(n,t,e){var u=-1,i=typeof t=="function",o=Ee(t),f=au(n)?qu(n.length):[];return ro(n,function(n){var c=i?t:o&&null!=n?n[t]:F;f[++u]=c?r(c,n,e):Dt(n,t,e)}),f}),Po=$r(function(n,t,r){_t(n,r,t)}),Zo=$r(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),qo=lr(function(n,t){if(null==n)return[];var r=t.length;return 1<r&&ke(n,t[0],t[1])?t=[]:2<r&&ke(t[0],t[1],t[2])&&(t=[t[0]]),rr(n,kt(t,1),[])}),Vo=Ai||function(){
return t&&t.length&&n&&n.length?ur(t,n,ie(r,2)):t},Rt.pullAllWith=function(t,n,r){return t&&t.length&&n&&n.length?ur(t,n,P,r):t},Rt.pullAt=_i,Rt.range=Mf,Rt.rangeRight=Cf,Rt.rearg=Fi,Rt.reject=function(t,n){return(Pi(t)?f:An)(t,Qe(ie(n,3)))},Rt.remove=function(t,n){var r=[];if(!t||!t.length)return r;var e=-1,u=[],o=t.length;for(n=ie(n,3);++e<o;){var i=t[e];n(i,e,t)&&(r.push(i),u.push(e))}return or(t,u),r},Rt.rest=function(t,n){if(typeof t!="function")throw new Nu("Expected a function");return n=n===P?n:vu(n), return Zn.Date.now()},Ko=lr(function(n,t,r){var e=1;if(r.length)var u=C(r,_e(Ko)),e=32|e;return ce(n,e,t,r,u)}),Go=lr(function(n,t,r){var e=3;if(r.length)var u=C(r,_e(Go)),e=32|e;return ce(t,e,n,r,u)}),Ho=lr(function(n,t){return xt(n,1,t)}),Jo=lr(function(n,t,r){return xt(n,ku(t)||0,r)});ou.Cache=Pn;var Yo=lr(function(n,t){t=1==t.length&&uf(t[0])?l(t[0],S(ve())):l(kt(t,1),S(ve()));var e=t.length;return lr(function(u){for(var i=-1,o=Li(u.length,e);++i<o;)u[i]=t[i].call(this,u[i]);return r(n,this,u);
cr(t,n)},Rt.reverse=Le,Rt.sampleSize=Ze,Rt.set=function(t,n,r){return null==t?t:ar(t,n,r)},Rt.setWith=function(t,n,r,e){return e=typeof e=="function"?e:P,null==t?t:ar(t,n,r,e)},Rt.shuffle=function(t){return Ze(t,4294967295)},Rt.slice=function(t,n,r){var e=t?t.length:0;return e?(r&&typeof r!="number"&&de(t,n,r)?(n=0,r=e):(n=null==n?0:vu(n),r=r===P?e:vu(r)),lr(t,n,r)):[]},Rt.sortBy=Bi,Rt.sortedUniq=function(t){return t&&t.length?_r(t):[]},Rt.sortedUniqBy=function(t,n){return t&&t.length?_r(t,ie(n,2)):[]; })}),Qo=lr(function(n,t){return ce(n,32,F,t,C(t,_e(Qo)))}),Xo=lr(function(n,t){return ce(n,64,F,t,C(t,_e(Xo)))}),nf=se(function(n,t){return ce(n,256,F,F,F,t)}),tf=ue(Wt),rf=ue(function(n,t){return n>=t}),ef=Mt(function(){return arguments}())?Mt:function(n){return gu(n)&&ui.call(n,"callee")&&!di.call(n,"callee")},uf=qu.isArray,of=Hn?S(Hn):Tt,ff=Ii||Zu,cf=Jn?S(Jn):$t,af=Yn?S(Yn):Nt,lf=Qn?S(Qn):qt,sf=Xn?S(Xn):Vt,hf=nt?S(nt):Kt,pf=ue(Jt),_f=ue(function(n,t){return n<=t}),vf=Fr(function(n,t){if(Se(t)||au(t))Mr(t,Ru(t),n);else for(var r in t)ui.call(t,r)&&lt(n,r,t[r]);
},Rt.split=function(t,n,r){return r&&typeof r!="number"&&de(t,n,r)&&(n=r=P),r=r===P?4294967295:r>>>0,r?(t=bu(t))&&(typeof n=="string"||null!=n&&!Gi(n))&&(n=gr(n),""==n&&Ct.test(t))?Ar(t.match(Bt),0,r):ko.call(t,n,r):[]},Rt.spread=function(t,n){if(typeof t!="function")throw new Nu("Expected a function");return n=n===P?0:xo(vu(n),0),cr(function(e){var u=e[n];return e=Ar(e,0,n),u&&s(e,u),r(t,this,e)})},Rt.tail=function(t){return Se(t,1)},Rt.take=function(t,n,r){return t&&t.length?(n=r||n===P?1:vu(n), }),gf=Fr(function(n,t){Mr(t,zu(t),n)}),df=Fr(function(n,t,r,e){Mr(t,zu(t),n,e)}),yf=Fr(function(n,t,r,e){Mr(t,Ru(t),n,e)}),bf=se(vt),xf=lr(function(n){return n.push(F,ct),r(df,F,n)}),jf=lr(function(n){return n.push(F,Re),r(Ef,F,n)}),wf=Qr(function(n,t,r){n[t]=r},Du(Mu)),mf=Qr(function(n,t,r){ui.call(n,t)?n[t].push(r):n[t]=[r]},ve),Af=lr(Dt),kf=Fr(function(n,t,r){nr(n,t,r)}),Ef=Fr(function(n,t,r,e){nr(n,t,r,e)}),Of=se(function(n,t){return null==n?{}:(t=l(t,Ce),er(n,jt(Rt(n,zu,ho),t)))}),Sf=se(function(n,t){
lr(t,0,0>n?0:n)):[]},Rt.takeRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===P?1:vu(n),n=e-n,lr(t,0>n?0:n,e)):[]},Rt.takeRightWhile=function(t,n){return t&&t.length?yr(t,ie(n,3),false,true):[]},Rt.takeWhile=function(t,n){return t&&t.length?yr(t,ie(n,3)):[]},Rt.tap=function(t,n){return n(t),t},Rt.throttle=function(t,n,r){var e=true,u=true;if(typeof t!="function")throw new Nu("Expected a function");return fu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),Ye(t,n,{leading:e,maxWait:n, return null==n?{}:er(n,l(t,Ce))}),If=fe(Ru),Rf=fe(zu),zf=Vr(function(n,t,r){return t=t.toLowerCase(),n+(r?Lu(t):t)}),Wf=Vr(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Bf=Vr(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Lf=qr("toLowerCase"),Uf=Vr(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Cf=Vr(function(n,t,r){return n+(r?" ":"")+Mf(t)}),Df=Vr(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Mf=qr("toUpperCase"),Tf=lr(function(n,t){try{return r(n,F,t)}catch(n){return su(n)?n:new Ku(n);
trailing:u})},Rt.thru=$e,Rt.toArray=pu,Rt.toPairs=_f,Rt.toPairsIn=vf,Rt.toPath=function(t){return Pi(t)?l(t,Ae):hu(t)?[t]:Ir(ii(t))},Rt.toPlainObject=yu,Rt.transform=function(t,n,r){var e=Pi(t)||Yi(t);if(n=ie(n,4),null==r)if(e||fu(t)){var o=t.constructor;r=e?Pi(t)?new o:[]:uu(o)?bn(ti(t)):{}}else r={};return(e?u:kn)(t,function(t,e,u){return n(r,t,e,u)}),r},Rt.unary=function(t){return Ve(t,1)},Rt.union=vi,Rt.unionBy=gi,Rt.unionWith=di,Rt.uniq=function(t){return t&&t.length?dr(t):[]},Rt.uniqBy=function(t,n){ }}),$f=se(function(n,t){return u(t,function(t){t=Ce(t),_t(n,t,Ko(n[t],n))}),n}),Ff=Jr(),Nf=Jr(true),Pf=lr(function(n,t){return function(r){return Dt(r,n,t)}}),Zf=lr(function(n,t){return function(r){return Dt(n,r,t)}}),qf=ne(l),Vf=ne(o),Kf=ne(_),Gf=ee(),Hf=ee(true),Jf=Xr(function(n,t){return n+t},0),Yf=oe("ceil"),Qf=Xr(function(n,t){return n/t},1),Xf=oe("floor"),nc=Xr(function(n,t){return n*t},1),tc=oe("round"),rc=Xr(function(n,t){return n-t},0);return On.after=function(n,t){if(typeof t!="function")throw new Xu("Expected a function");
return t&&t.length?dr(t,ie(n,2)):[]},Rt.uniqWith=function(t,n){return t&&t.length?dr(t,P,n):[]},Rt.unset=function(t,n){var r;if(null==t)r=true;else{r=t;var e=n,e=ye(e,r)?[e]:mr(e);r=me(r,e),e=Ae(Me(e)),r=!(null!=r&&Bn(r,e))||delete r[e]}return r},Rt.unzip=ze,Rt.unzipWith=Ue,Rt.update=function(t,n,r){return null==t?t:ar(t,n,(typeof r=="function"?r:Iu)(Rn(t,n)),void 0)},Rt.updateWith=function(t,n,r,e){return e=typeof e=="function"?e:P,null!=t&&(t=ar(t,n,(typeof r=="function"?r:Iu)(Rn(t,n)),e)),t},Rt.values=Ou, return n=mu(n),function(){if(1>--n)return t.apply(this,arguments)}},On.ary=tu,On.assign=vf,On.assignIn=gf,On.assignInWith=df,On.assignWith=yf,On.at=bf,On.before=ru,On.bind=Ko,On.bindAll=$f,On.bindKey=Go,On.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return uf(n)?n:[n]},On.chain=He,On.chunk=function(n,t,r){if(t=(r?ke(n,t,r):t===F)?1:Bi(mu(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=qu(Ei(r/t));e<r;)i[u++]=vr(n,e,e+=t);return i},On.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){
Rt.valuesIn=function(t){return null==t?[]:R(t,mu(t))},Rt.without=yi,Rt.words=Su,Rt.wrap=function(t,n){return n=null==n?Iu:n,Di(n,t)},Rt.xor=bi,Rt.xorBy=xi,Rt.xorWith=ji,Rt.zip=wi,Rt.zipObject=function(t,n){return jr(t||[],n||[],ln)},Rt.zipObjectDeep=function(t,n){return jr(t||[],n||[],ar)},Rt.zipWith=mi,Rt.entries=_f,Rt.entriesIn=vf,Rt.extend=tf,Rt.extendWith=nf,Bu(Rt,Rt),Rt.add=Lf,Rt.attempt=Af,Rt.camelCase=gf,Rt.capitalize=ku,Rt.ceil=zf,Rt.clamp=function(t,n,r){return r===P&&(r=n,n=P),r!==P&&(r=du(r), var i=n[t];i&&(u[e++]=i)}return u},On.concat=function(){var n=arguments.length;if(!n)return[];for(var t=qu(n-1),r=arguments[0];n--;)t[n-1]=arguments[n];return s(uf(r)?Dr(r):[r],kt(t,1))},On.cond=function(n){var t=null==n?0:n.length,e=ve();return n=t?l(n,function(n){if("function"!=typeof n[1])throw new Xu("Expected a function");return[e(n[0]),n[1]]}):[],lr(function(e){for(var u=-1;++u<t;){var i=n[u];if(r(i[0],this,e))return r(i[1],this,e)}})},On.conforms=function(n){return yt(dt(n,true))},On.constant=Du,
r=r===r?r:0),n!==P&&(n=du(n),n=n===n?n:0),vn(du(t),n,r)},Rt.clone=function(t){return gn(t,false,true)},Rt.cloneDeep=function(t){return gn(t,true,true)},Rt.cloneDeepWith=function(t,n){return gn(t,true,true,n)},Rt.cloneWith=function(t,n){return gn(t,false,true,n)},Rt.conformsTo=function(t,n){return null==n||yn(t,n,wu(n))},Rt.deburr=Eu,Rt.defaultTo=function(t,n){return null==t||t!==t?n:t},Rt.divide=Uf,Rt.endsWith=function(t,n,r){t=bu(t),n=gr(n);var e=t.length,e=r=r===P?e:vn(vu(r),0,e);return r-=n.length,0<=r&&t.slice(r,e)==n; On.countBy=Mo,On.create=function(n,t){var r=to(n);return null==t?r:pt(r,t)},On.curry=eu,On.curryRight=uu,On.debounce=iu,On.defaults=xf,On.defaultsDeep=jf,On.defer=Ho,On.delay=Jo,On.difference=xo,On.differenceBy=jo,On.differenceWith=wo,On.drop=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:mu(t),vr(n,0>t?0:t,e)):[]},On.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:mu(t),t=e-t,vr(n,0,0>t?0:t)):[]},On.dropRightWhile=function(n,t){return n&&n.length?mr(n,ve(t,3),true,true):[];
},Rt.eq=Xe,Rt.escape=function(t){return(t=bu(t))&&X.test(t)?t.replace(H,en):t},Rt.escapeRegExp=function(t){return(t=bu(t))&&ft.test(t)?t.replace(it,"\\$&"):t},Rt.every=function(t,n,r){var e=Pi(t)?i:wn;return r&&de(t,n,r)&&(n=P),e(t,ie(n,3))},Rt.find=ki,Rt.findIndex=Ie,Rt.findKey=function(t,n){return v(t,ie(n,3),kn)},Rt.findLast=Ei,Rt.findLastIndex=We,Rt.findLastKey=function(t,n){return v(t,ie(n,3),En)},Rt.floor=Df,Rt.forEach=Te,Rt.forEachRight=Ne,Rt.forIn=function(t,n){return null==t?t:Ko(t,ie(n,3),mu); },On.dropWhile=function(n,t){return n&&n.length?mr(n,ve(t,3),true):[]},On.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&ke(n,t,r)&&(r=0,e=u),u=n.length,r=mu(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:mu(e),0>e&&(e+=u),e=r>e?0:Au(e);r<e;)n[r++]=t;return n},On.filter=function(n,t){return(uf(n)?f:At)(n,ve(t,3))},On.flatMap=function(n,t){return kt(nu(n,t),1)},On.flatMapDeep=function(n,t){return kt(nu(n,t),N)},On.flatMapDepth=function(n,t,r){return r=r===F?1:mu(r),
},Rt.forInRight=function(t,n){return null==t?t:Go(t,ie(n,3),mu)},Rt.forOwn=function(t,n){return t&&kn(t,ie(n,3))},Rt.forOwnRight=function(t,n){return t&&En(t,ie(n,3))},Rt.get=xu,Rt.gt=Ti,Rt.gte=Ni,Rt.has=function(t,n){return null!=t&&le(t,n,Bn)},Rt.hasIn=ju,Rt.head=Be,Rt.identity=Iu,Rt.includes=function(t,n,r,e){return t=nu(t)?t:Ou(t),r=r&&!e?vu(r):0,e=t.length,0>r&&(r=xo(e+r,0)),su(t)?r<=e&&-1<t.indexOf(n,r):!!e&&-1<d(t,n,r)},Rt.indexOf=function(t,n,r){var e=t?t.length:0;return e?(r=null==r?0:vu(r), kt(nu(n,t),r)},On.flatten=Ne,On.flattenDeep=function(n){return(null==n?0:n.length)?kt(n,N):[]},On.flattenDepth=function(n,t){return null!=n&&n.length?(t=t===F?1:mu(t),kt(n,t)):[]},On.flip=function(n){return ce(n,512)},On.flow=Ff,On.flowRight=Nf,On.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e},On.functions=function(n){return null==n?[]:St(n,Ru(n))},On.functionsIn=function(n){return null==n?[]:St(n,zu(n))},On.groupBy=Fo,On.initial=function(n){
0>r&&(r=xo(e+r,0)),d(t,n,r)):-1},Rt.inRange=function(t,n,r){return n=du(n)||0,r===P?(r=n,n=0):r=du(r)||0,t=du(t),t>=jo(n,r)&&t<xo(n,r)},Rt.invoke=af,Rt.isArguments=tu,Rt.isArray=Pi,Rt.isArrayBuffer=Zi,Rt.isArrayLike=nu,Rt.isArrayLikeObject=ru,Rt.isBoolean=function(t){return true===t||false===t||cu(t)&&"[object Boolean]"==Qu.call(t)},Rt.isBuffer=qi,Rt.isDate=Vi,Rt.isElement=function(t){return!!t&&1===t.nodeType&&cu(t)&&!lu(t)},Rt.isEmpty=function(t){if(nu(t)&&(Pi(t)||su(t)||uu(t.splice)||tu(t)||qi(t)))return!t.length; return(null==n?0:n.length)?vr(n,0,-1):[]},On.intersection=mo,On.intersectionBy=Ao,On.intersectionWith=ko,On.invert=wf,On.invertBy=mf,On.invokeMap=No,On.iteratee=Tu,On.keyBy=Po,On.keys=Ru,On.keysIn=zu,On.map=nu,On.mapKeys=function(n,t){var r={};return t=ve(t,3),Et(n,function(n,e,u){_t(r,t(n,e,u),n)}),r},On.mapValues=function(n,t){var r={};return t=ve(t,3),Et(n,function(n,e,u){_t(r,e,t(n,e,u))}),r},On.matches=function(n){return Qt(dt(n,true))},On.matchesProperty=function(n,t){return Xt(n,dt(t,true))},On.memoize=ou,
if(cu(t)){var n=Et(t);if("[object Map]"==n||"[object Set]"==n)return!t.size}for(var r in t)if(Ju.call(t,r))return false;return!(Lo&&wu(t).length)},Rt.isEqual=function(t,n){return $n(t,n)},Rt.isEqualWith=function(t,n,r){var e=(r=typeof r=="function"?r:P)?r(t,n):P;return e===P?$n(t,n,r):!!e},Rt.isError=eu,Rt.isFinite=function(t){return typeof t=="number"&&go(t)},Rt.isFunction=uu,Rt.isInteger=ou,Rt.isLength=iu,Rt.isMap=Ki,Rt.isMatch=function(t,n){return t===n||Tn(t,n,ce(n))},Rt.isMatchWith=function(t,n,r){ On.merge=kf,On.mergeWith=Ef,On.method=Pf,On.methodOf=Zf,On.mixin=$u,On.negate=fu,On.nthArg=function(n){return n=mu(n),lr(function(t){return tr(t,n)})},On.omit=Of,On.omitBy=function(n,t){return Wu(n,fu(ve(t)))},On.once=function(n){return ru(2,n)},On.orderBy=function(n,t,r,e){return null==n?[]:(uf(t)||(t=null==t?[]:[t]),r=e?F:r,uf(r)||(r=null==r?[]:[r]),rr(n,t,r))},On.over=qf,On.overArgs=Yo,On.overEvery=Vf,On.overSome=Kf,On.partial=Qo,On.partialRight=Xo,On.partition=Zo,On.pick=Sf,On.pickBy=Wu,On.property=Nu,
return r=typeof r=="function"?r:P,Tn(t,n,ce(n),r)},Rt.isNaN=function(t){return au(t)&&t!=+t},Rt.isNative=function(t){if(ei(t))throw new $u("This method is not supported with core-js. Try https://github.com/es-shims.");return Nn(t)},Rt.isNil=function(t){return null==t},Rt.isNull=function(t){return null===t},Rt.isNumber=au,Rt.isObject=fu,Rt.isObjectLike=cu,Rt.isPlainObject=lu,Rt.isRegExp=Gi,Rt.isSafeInteger=function(t){return ou(t)&&-9007199254740991<=t&&9007199254740991>=t},Rt.isSet=Ji,Rt.isString=su, On.propertyOf=function(n){return function(t){return null==n?F:It(n,t)}},On.pull=Eo,On.pullAll=qe,On.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?or(n,t,ve(r,2)):n},On.pullAllWith=function(n,t,r){return n&&n.length&&t&&t.length?or(n,t,F,r):n},On.pullAt=Oo,On.range=Gf,On.rangeRight=Hf,On.rearg=nf,On.reject=function(n,t){return(uf(n)?f:At)(n,fu(ve(t,3)))},On.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=ve(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),
Rt.isSymbol=hu,Rt.isTypedArray=Yi,Rt.isUndefined=function(t){return t===P},Rt.isWeakMap=function(t){return cu(t)&&"[object WeakMap]"==Et(t)},Rt.isWeakSet=function(t){return cu(t)&&"[object WeakSet]"==Qu.call(t)},Rt.join=function(t,n){return t?yo.call(t,n):""},Rt.kebabCase=df,Rt.last=Me,Rt.lastIndexOf=function(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e;if(r!==P&&(u=vu(r),u=(0>u?xo(e+u,0):jo(u,e-1))+1),n!==n)return g(t,b,u-1,true);for(;u--;)if(t[u]===n)return u;return-1},Rt.lowerCase=yf,Rt.lowerFirst=bf, u.push(e))}return fr(n,u),r},On.rest=function(n,t){if(typeof n!="function")throw new Xu("Expected a function");return t=t===F?t:mu(t),lr(n,t)},On.reverse=Ve,On.sampleSize=function(n,t,r){return t=(r?ke(n,t,r):t===F)?1:mu(t),(uf(n)?ot:hr)(n,t)},On.set=function(n,t,r){return null==n?n:pr(n,t,r)},On.setWith=function(n,t,r,e){return e=typeof e=="function"?e:F,null==n?n:pr(n,t,r,e)},On.shuffle=function(n){return(uf(n)?ft:_r)(n)},On.slice=function(n,t,r){var e=null==n?0:n.length;return e?(r&&typeof r!="number"&&ke(n,t,r)?(t=0,
Rt.lt=Hi,Rt.lte=Qi,Rt.max=function(t){return t&&t.length?mn(t,Iu,Wn):P},Rt.maxBy=function(t,n){return t&&t.length?mn(t,ie(n,2),Wn):P},Rt.mean=function(t){return x(t,Iu)},Rt.meanBy=function(t,n){return x(t,ie(n,2))},Rt.min=function(t){return t&&t.length?mn(t,Iu,Gn):P},Rt.minBy=function(t,n){return t&&t.length?mn(t,ie(n,2),Gn):P},Rt.stubArray=Lu,Rt.stubFalse=zu,Rt.stubObject=function(){return{}},Rt.stubString=function(){return""},Rt.stubTrue=function(){return true},Rt.multiply=$f,Rt.nth=function(t,n){ r=e):(t=null==t?0:mu(t),r=r===F?e:mu(r)),vr(n,t,r)):[]},On.sortBy=qo,On.sortedUniq=function(n){return n&&n.length?br(n):[]},On.sortedUniqBy=function(n,t){return n&&n.length?br(n,ve(t,2)):[]},On.split=function(n,t,r){return r&&typeof r!="number"&&ke(n,t,r)&&(t=r=F),r=r===F?4294967295:r>>>0,r?(n=Ou(n))&&(typeof t=="string"||null!=t&&!lf(t))&&(t=jr(t),!t&&Bn.test(n))?Rr($(n),0,r):n.split(t,r):[]},On.spread=function(n,t){if(typeof n!="function")throw new Xu("Expected a function");return t=t===F?0:Bi(mu(t),0),
return t&&t.length?Xn(t,vu(n)):P},Rt.noConflict=function(){return qt._===this&&(qt._=Xu),this},Rt.noop=Mu,Rt.now=qe,Rt.pad=function(t,n,r){t=bu(t);var e=(n=vu(n))?T(t):0;return!n||e>=n?t:(n=(n-e)/2,Gr(ho(n),r)+t+Gr(so(n),r))},Rt.padEnd=function(t,n,r){t=bu(t);var e=(n=vu(n))?T(t):0;return n&&e<n?t+Gr(n-e,r):t},Rt.padStart=function(t,n,r){t=bu(t);var e=(n=vu(n))?T(t):0;return n&&e<n?Gr(n-e,r)+t:t},Rt.parseInt=function(t,n,r){return r||null==n?n=0:n&&(n=+n),t=bu(t).replace(ct,""),wo(t,n||(yt.test(t)?16:10)); lr(function(e){var u=e[t];return e=Rr(e,0,t),u&&s(e,u),r(n,this,e)})},On.tail=function(n){var t=null==n?0:n.length;return t?vr(n,1,t):[]},On.take=function(n,t,r){return n&&n.length?(t=r||t===F?1:mu(t),vr(n,0,0>t?0:t)):[]},On.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:mu(t),t=e-t,vr(n,0>t?0:t,e)):[]},On.takeRightWhile=function(n,t){return n&&n.length?mr(n,ve(t,3),false,true):[]},On.takeWhile=function(n,t){return n&&n.length?mr(n,ve(t,3)):[]},On.tap=function(n,t){return t(n),
},Rt.random=function(t,n,r){if(r&&typeof r!="boolean"&&de(t,n,r)&&(n=r=P),r===P&&(typeof n=="boolean"?(r=n,n=P):typeof t=="boolean"&&(r=t,t=P)),t===P&&n===P?(t=0,n=1):(t=du(t)||0,n===P?(n=t,t=0):n=du(n)||0),t>n){var e=t;t=n,n=e}return r||t%1||n%1?(r=mo(),jo(t+r*(n-t+Tt("1e-"+((r+"").length-1))),n)):ir(t,n)},Rt.reduce=function(t,n,r){var e=Pi(t)?h:m,u=3>arguments.length;return e(t,ie(n,4),r,u,qo)},Rt.reduceRight=function(t,n,r){var e=Pi(t)?p:m,u=3>arguments.length;return e(t,ie(n,4),r,u,Vo)},Rt.repeat=function(t,n,r){ n},On.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new Xu("Expected a function");return vu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),iu(n,t,{leading:e,maxWait:t,trailing:u})},On.thru=Je,On.toArray=ju,On.toPairs=If,On.toPairsIn=Rf,On.toPath=function(n){return uf(n)?l(n,Ce):xu(n)?[n]:Dr(bo(n))},On.toPlainObject=Eu,On.transform=function(n,t,r){var e=uf(n),i=e||ff(n)||hf(n);if(t=ve(t,4),null==r){var o=n&&n.constructor;r=i?e?new o:[]:vu(n)&&hu(o)?to(vi(n)):{};
return n=(r?de(t,n,r):n===P)?1:vu(n),fr(bu(t),n)},Rt.replace=function(){var t=arguments,n=bu(t[0]);return 3>t.length?n:Ao.call(n,t[1],t[2])},Rt.result=function(t,n,r){n=ye(n,t)?[n]:mr(n);var e=-1,u=n.length;for(u||(t=P,u=1);++e<u;){var o=null==t?P:t[Ae(n[e])];o===P&&(e=u,o=r),t=uu(o)?o.call(t):o}return t},Rt.round=Ff,Rt.runInContext=N,Rt.sample=function(t){t=nu(t)?t:Ou(t);var n=t.length;return 0<n?t[ir(0,n-1)]:P},Rt.size=function(t){if(null==t)return 0;if(nu(t)){var n=t.length;return n&&su(t)?T(t):n; }return(i?u:Et)(n,function(n,e,u){return t(r,n,e,u)}),r},On.unary=function(n){return tu(n,1)},On.union=So,On.unionBy=Io,On.unionWith=Ro,On.uniq=function(n){return n&&n.length?wr(n):[]},On.uniqBy=function(n,t){return n&&n.length?wr(n,ve(t,2)):[]},On.uniqWith=function(n,t){return t=typeof t=="function"?t:F,n&&n.length?wr(n,F,t):[]},On.unset=function(n,t){var r;if(null==n)r=true;else{r=n;var e=t,e=Ee(e,r)?[e]:Ir(e);r=We(r,e),e=Ce(Ze(e)),r=!(null!=r&&ui.call(r,e))||delete r[e]}return r},On.unzip=Ke,On.unzipWith=Ge,
}return cu(t)&&(n=Et(t),"[object Map]"==n||"[object Set]"==n)?t.size:wu(t).length},Rt.snakeCase=xf,Rt.some=function(t,n,r){var e=Pi(t)?_:sr;return r&&de(t,n,r)&&(n=P),e(t,ie(n,3))},Rt.sortedIndex=function(t,n){return hr(t,n)},Rt.sortedIndexBy=function(t,n,r){return pr(t,n,ie(r,2))},Rt.sortedIndexOf=function(t,n){var r=t?t.length:0;if(r){var e=hr(t,n);if(e<r&&Xe(t[e],n))return e}return-1},Rt.sortedLastIndex=function(t,n){return hr(t,n,true)},Rt.sortedLastIndexBy=function(t,n,r){return pr(t,n,ie(r,2),true); On.update=function(n,t,r){return null==n?n:pr(n,t,Sr(r)(It(n,t)),void 0)},On.updateWith=function(n,t,r,e){return e=typeof e=="function"?e:F,null!=n&&(n=pr(n,t,Sr(r)(It(n,t)),e)),n},On.values=Bu,On.valuesIn=function(n){return null==n?[]:I(n,zu(n))},On.without=zo,On.words=Cu,On.wrap=function(n,t){return Qo(Sr(t),n)},On.xor=Wo,On.xorBy=Bo,On.xorWith=Lo,On.zip=Uo,On.zipObject=function(n,t){return Er(n||[],t||[],lt)},On.zipObjectDeep=function(n,t){return Er(n||[],t||[],pr)},On.zipWith=Co,On.entries=If,
},Rt.sortedLastIndexOf=function(t,n){if(t&&t.length){var r=hr(t,n,true)-1;if(Xe(t[r],n))return r}return-1},Rt.startCase=jf,Rt.startsWith=function(t,n,r){return t=bu(t),r=vn(vu(r),0,t.length),n=gr(n),t.slice(r,r+n.length)==n},Rt.subtract=Tf,Rt.sum=function(t){return t&&t.length?O(t,Iu):0},Rt.sumBy=function(t,n){return t&&t.length?O(t,ie(n,2)):0},Rt.template=function(t,n,r){var e=Rt.templateSettings;r&&de(t,n,r)&&(n=P),t=bu(t),n=nf({},n,e,cn),r=nf({},n.imports,e.imports,cn);var u,o,i=wu(r),f=R(r,i),c=0; On.entriesIn=Rf,On.extend=gf,On.extendWith=df,$u(On,On),On.add=Jf,On.attempt=Tf,On.camelCase=zf,On.capitalize=Lu,On.ceil=Yf,On.clamp=function(n,t,r){return r===F&&(r=t,t=F),r!==F&&(r=ku(r),r=r===r?r:0),t!==F&&(t=ku(t),t=t===t?t:0),gt(ku(n),t,r)},On.clone=function(n){return dt(n,false,true)},On.cloneDeep=function(n){return dt(n,true,true)},On.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,true,true,t)},On.cloneWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,false,true,t)},On.conformsTo=function(n,t){
r=n.interpolate||Ot;var a="__p+='";r=Tu((n.escape||Ot).source+"|"+r.source+"|"+(r===rt?gt:Ot).source+"|"+(n.evaluate||Ot).source+"|$","g");var l="sourceURL"in n?"//# sourceURL="+n.sourceURL+"\n":"";if(t.replace(r,function(n,r,e,i,f,l){return e||(e=i),a+=t.slice(c,l).replace(kt,M),r&&(u=true,a+="'+__e("+r+")+'"),f&&(o=true,a+="';"+f+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+n.length,n}),a+="';",(n=n.variable)||(a="with(obj){"+a+"}"),a=(o?a.replace(K,""):a).replace(G,"$1").replace(J,"$1;"), return null==t||bt(n,t,Ru(t))},On.deburr=Uu,On.defaultTo=function(n,t){return null==n||n!==n?t:n},On.divide=Qf,On.endsWith=function(n,t,r){n=Ou(n),t=jr(t);var e=n.length,e=r=r===F?e:gt(mu(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},On.eq=cu,On.escape=function(n){return(n=Ou(n))&&Y.test(n)?n.replace(H,et):n},On.escapeRegExp=function(n){return(n=Ou(n))&&fn.test(n)?n.replace(on,"\\$&"):n},On.every=function(n,t,r){var e=uf(n)?o:wt;return r&&ke(n,t,r)&&(t=F),e(n,ve(t,3))},On.find=To,On.findIndex=$e,
a="function("+(n||"obj")+"){"+(n?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",n=Af(function(){return Function(i,l+"return "+a).apply(P,f)}),n.source=a,eu(n))throw n;return n},Rt.times=function(t,n){if(t=vu(t),1>t||9007199254740991<t)return[];var r=4294967295,e=jo(t,4294967295);for(n=ie(n),t-=4294967295,e=k(e,n);++r<t;)n(r);return e},Rt.toFinite=_u,Rt.toInteger=vu,Rt.toLength=gu,Rt.toLower=function(t){ On.findKey=function(n,t){return v(n,ve(t,3),Et)},On.findLast=$o,On.findLastIndex=Fe,On.findLastKey=function(n,t){return v(n,ve(t,3),Ot)},On.floor=Xf,On.forEach=Qe,On.forEachRight=Xe,On.forIn=function(n,t){return null==n?n:uo(n,ve(t,3),zu)},On.forInRight=function(n,t){return null==n?n:io(n,ve(t,3),zu)},On.forOwn=function(n,t){return n&&Et(n,ve(t,3))},On.forOwnRight=function(n,t){return n&&Ot(n,ve(t,3))},On.get=Su,On.gt=tf,On.gte=rf,On.has=function(n,t){return null!=n&&be(n,t,Bt)},On.hasIn=Iu,On.head=Pe,
return bu(t).toLowerCase()},Rt.toNumber=du,Rt.toSafeInteger=function(t){return vn(vu(t),-9007199254740991,9007199254740991)},Rt.toString=bu,Rt.toUpper=function(t){return bu(t).toUpperCase()},Rt.trim=function(t,n,r){return(t=bu(t))&&(r||n===P)?t.replace(ct,""):t&&(n=gr(n))?(t=t.match(Bt),r=n.match(Bt),n=W(t,r),r=B(t,r)+1,Ar(t,n,r).join("")):t},Rt.trimEnd=function(t,n,r){return(t=bu(t))&&(r||n===P)?t.replace(lt,""):t&&(n=gr(n))?(t=t.match(Bt),n=B(t,n.match(Bt))+1,Ar(t,0,n).join("")):t},Rt.trimStart=function(t,n,r){ On.identity=Mu,On.includes=function(n,t,r,e){return n=au(n)?n:Bu(n),r=r&&!e?mu(r):0,e=n.length,0>r&&(r=Bi(e+r,0)),bu(n)?r<=e&&-1<n.indexOf(t,r):!!e&&-1<d(n,t,r)},On.indexOf=function(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:mu(r),0>r&&(r=Bi(e+r,0)),d(n,t,r)):-1},On.inRange=function(n,t,r){return t=wu(t),r===F?(r=t,t=0):r=wu(r),n=ku(n),n>=Li(t,r)&&n<Bi(t,r)},On.invoke=Af,On.isArguments=ef,On.isArray=uf,On.isArrayBuffer=of,On.isArrayLike=au,On.isArrayLikeObject=lu,On.isBoolean=function(n){
return(t=bu(t))&&(r||n===P)?t.replace(at,""):t&&(n=gr(n))?(t=t.match(Bt),n=W(t,n.match(Bt)),Ar(t,n).join("")):t},Rt.truncate=function(t,n){var r=30,e="...";if(fu(n))var u="separator"in n?n.separator:u,r="length"in n?vu(n.length):r,e="omission"in n?gr(n.omission):e;t=bu(t);var o=t.length;if(Ct.test(t))var i=t.match(Bt),o=i.length;if(r>=o)return t;if(o=r-T(e),1>o)return e;if(r=i?Ar(i,0,o).join(""):t.slice(0,o),u===P)return r+e;if(i&&(o+=r.length-o),Gi(u)){if(t.slice(o).search(u)){var f=r;for(u.global||(u=Tu(u.source,bu(dt.exec(u))+"g")), return true===n||false===n||gu(n)&&"[object Boolean]"==zt(n)},On.isBuffer=ff,On.isDate=cf,On.isElement=function(n){return gu(n)&&1===n.nodeType&&!yu(n)},On.isEmpty=function(n){if(null==n)return true;if(au(n)&&(uf(n)||typeof n=="string"||typeof n.splice=="function"||ff(n)||hf(n)||ef(n)))return!n.length;var t=po(n);if("[object Map]"==t||"[object Set]"==t)return!n.size;if(Se(n))return!Ht(n).length;for(var r in n)if(ui.call(n,r))return false;return true},On.isEqual=function(n,t){return Ft(n,t)},On.isEqualWith=function(n,t,r){
u.lastIndex=0;i=u.exec(f);)var c=i.index;r=r.slice(0,c===P?o:c)}}else t.indexOf(gr(u),o)!=o&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},Rt.unescape=function(t){return(t=bu(t))&&Q.test(t)?t.replace(Y,un):t},Rt.uniqueId=function(t){var n=++Yu;return bu(t)+n},Rt.upperCase=wf,Rt.upperFirst=mf,Rt.each=Te,Rt.eachRight=Ne,Rt.first=Be,Bu(Rt,function(){var t={};return kn(Rt,function(n,r){Ju.call(Rt.prototype,r)||(t[r]=n)}),t}(),{chain:false}),Rt.VERSION="4.14.0",u("bind bindKey curry curryRight partial partialRight".split(" "),function(t){ var e=(r=typeof r=="function"?r:F)?r(n,t):F;return e===F?Ft(n,t,r):!!e},On.isError=su,On.isFinite=function(n){return typeof n=="number"&&Ri(n)},On.isFunction=hu,On.isInteger=pu,On.isLength=_u,On.isMap=af,On.isMatch=function(n,t){return n===t||Pt(n,t,de(t))},On.isMatchWith=function(n,t,r){return r=typeof r=="function"?r:F,Pt(n,t,de(t),r)},On.isNaN=function(n){return du(n)&&n!=+n},On.isNative=function(n){if(_o(n))throw new Ku("Unsupported core-js use. Try https://github.com/es-shims.");return Zt(n)},
Rt[t].placeholder=Rt}),u(["drop","take"],function(t,n){Pt.prototype[t]=function(r){var e=this.__filtered__;if(e&&!n)return new Pt(this);r=r===P?1:xo(vu(r),0);var u=this.clone();return e?u.__takeCount__=jo(r,u.__takeCount__):u.__views__.push({size:jo(r,4294967295),type:t+(0>u.__dir__?"Right":"")}),u},Pt.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),u(["filter","map","takeWhile"],function(t,n){var r=n+1,e=1==r||3==r;Pt.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({ On.isNil=function(n){return null==n},On.isNull=function(n){return null===n},On.isNumber=du,On.isObject=vu,On.isObjectLike=gu,On.isPlainObject=yu,On.isRegExp=lf,On.isSafeInteger=function(n){return pu(n)&&-9007199254740991<=n&&9007199254740991>=n},On.isSet=sf,On.isString=bu,On.isSymbol=xu,On.isTypedArray=hf,On.isUndefined=function(n){return n===F},On.isWeakMap=function(n){return gu(n)&&"[object WeakMap]"==po(n)},On.isWeakSet=function(n){return gu(n)&&"[object WeakSet]"==zt(n)},On.join=function(n,t){
iteratee:ie(t,3),type:r}),n.__filtered__=n.__filtered__||e,n}}),u(["head","last"],function(t,n){var r="take"+(n?"Right":"");Pt.prototype[t]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(t,n){var r="drop"+(n?"":"Right");Pt.prototype[t]=function(){return this.__filtered__?new Pt(this):this[r](1)}}),Pt.prototype.compact=function(){return this.filter(Iu)},Pt.prototype.find=function(t){return this.filter(t).head()},Pt.prototype.findLast=function(t){return this.reverse().find(t); return null==n?"":zi.call(n,t)},On.kebabCase=Wf,On.last=Ze,On.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==F&&(u=mu(r),u=0>u?Bi(e+u,0):Li(u,e-1)),t===t){for(r=u+1;r--&&n[r]!==t;);n=r}else n=g(n,b,u,true);return n},On.lowerCase=Bf,On.lowerFirst=Lf,On.lt=pf,On.lte=_f,On.max=function(n){return n&&n.length?mt(n,Mu,Wt):F},On.maxBy=function(n,t){return n&&n.length?mt(n,ve(t,2),Wt):F},On.mean=function(n){return x(n,Mu)},On.meanBy=function(n,t){return x(n,ve(t,2))},On.min=function(n){
},Pt.prototype.invokeMap=cr(function(t,n){return typeof t=="function"?new Pt(this):this.map(function(r){return zn(r,t,n)})}),Pt.prototype.reject=function(t){return this.filter(Qe(ie(t)))},Pt.prototype.slice=function(t,n){t=vu(t);var r=this;return r.__filtered__&&(0<t||0>n)?new Pt(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)),n!==P&&(n=vu(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},Pt.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Pt.prototype.toArray=function(){return this.take(4294967295); return n&&n.length?mt(n,Mu,Jt):F},On.minBy=function(n,t){return n&&n.length?mt(n,ve(t,2),Jt):F},On.stubArray=Pu,On.stubFalse=Zu,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return true},On.multiply=nc,On.nth=function(n,t){return n&&n.length?tr(n,mu(t)):F},On.noConflict=function(){return Zn._===this&&(Zn._=ai),this},On.noop=Fu,On.now=Vo,On.pad=function(n,t,r){n=Ou(n);var e=(t=mu(t))?T(n):0;return!t||e>=t?n:(t=(t-e)/2,te(Oi(t),r)+n+te(Ei(t),r))},On.padEnd=function(n,t,r){
},kn(Pt.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),e=/^(?:head|last)$/.test(n),u=Rt[e?"take"+("last"==n?"Right":""):n],o=e||/^find/.test(n);u&&(Rt.prototype[n]=function(){function n(t){return t=u.apply(Rt,s([t],f)),e&&h?t[0]:t}var i=this.__wrapped__,f=e?[1]:arguments,c=i instanceof Pt,a=f[0],l=c||Pi(i);l&&r&&typeof a=="function"&&1!=a.length&&(c=l=false);var h=this.__chain__,p=!!this.__actions__.length,a=o&&!h,c=c&&!p;return!o&&l?(i=c?i:new Pt(this),i=t.apply(i,f),i.__actions__.push({ n=Ou(n);var e=(t=mu(t))?T(n):0;return t&&e<t?n+te(t-e,r):n},On.padStart=function(n,t,r){n=Ou(n);var e=(t=mu(t))?T(n):0;return t&&e<t?te(t-e,r)+n:n},On.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),Ci(Ou(n).replace(an,""),t||0)},On.random=function(n,t,r){if(r&&typeof r!="boolean"&&ke(n,t,r)&&(t=r=F),r===F&&(typeof t=="boolean"?(r=t,t=F):typeof n=="boolean"&&(r=n,n=F)),n===F&&t===F?(n=0,t=1):(n=wu(n),t===F?(t=n,n=0):t=wu(t)),n>t){var e=n;n=t,t=e}return r||n%1||t%1?(r=Di(),Li(n+r*(t-n+$n("1e-"+((r+"").length-1))),t)):cr(n,t);
func:$e,args:[n],thisArg:P}),new Ft(i,h)):a&&c?t.apply(this,f):(i=this.thru(n),a?e?i.value()[0]:i.value():i)})}),u("pop push shift sort splice unshift".split(" "),function(t){var n=Pu[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);Rt.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){var u=this.value();return n.apply(Pi(u)?u:[],t)}return this[r](function(r){return n.apply(Pi(r)?r:[],t)})}}),kn(Pt.prototype,function(t,n){var r=Rt[n];if(r){var e=r.name+""; },On.reduce=function(n,t,r){var e=uf(n)?h:m,u=3>arguments.length;return e(n,ve(t,4),r,u,ro)},On.reduceRight=function(n,t,r){var e=uf(n)?p:m,u=3>arguments.length;return e(n,ve(t,4),r,u,eo)},On.repeat=function(n,t,r){return t=(r?ke(n,t,r):t===F)?1:mu(t),ar(Ou(n),t)},On.replace=function(){var n=arguments,t=Ou(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},On.result=function(n,t,r){t=Ee(t,n)?[t]:Ir(t);var e=-1,u=t.length;for(u||(n=F,u=1);++e<u;){var i=null==n?F:n[Ce(t[e])];i===F&&(e=u,i=r),n=hu(i)?i.call(n):i;
(zo[e]||(zo[e]=[])).push({name:n,func:r})}}),zo[Zr(P,2).name]=[{name:"wrapper",func:P}],Pt.prototype.clone=function(){var t=new Pt(this.__wrapped__);return t.__actions__=Ir(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ir(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ir(this.__views__),t},Pt.prototype.reverse=function(){if(this.__filtered__){var t=new Pt(this);t.__dir__=-1,t.__filtered__=true}else t=this.clone(),t.__dir__*=-1;return t; }return n},On.round=tc,On.runInContext=w,On.sample=function(n){return(uf(n)?tt:sr)(n)},On.size=function(n){if(null==n)return 0;if(au(n))return bu(n)?T(n):n.length;var t=po(n);return"[object Map]"==t||"[object Set]"==t?n.size:Ht(n).length},On.snakeCase=Uf,On.some=function(n,t,r){var e=uf(n)?_:gr;return r&&ke(n,t,r)&&(t=F),e(n,ve(t,3))},On.sortedIndex=function(n,t){return dr(n,t)},On.sortedIndexBy=function(n,t,r){return yr(n,t,ve(r,2))},On.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){
},Pt.prototype.value=function(){var t,n=this.__wrapped__.value(),r=this.__dir__,e=Pi(n),u=0>r,o=e?n.length:0;t=o;for(var i=this.__views__,f=0,c=-1,a=i.length;++c<a;){var l=i[c],s=l.size;switch(l.type){case"drop":f+=s;break;case"dropRight":t-=s;break;case"take":t=jo(t,f+s);break;case"takeRight":f=xo(f,t-s)}}if(t={start:f,end:t},i=t.start,f=t.end,t=f-i,u=u?f:i-1,i=this.__iteratees__,f=i.length,c=0,a=jo(t,this.__takeCount__),!e||200>o||o==t&&a==t)return br(n,this.__actions__);e=[];t:for(;t--&&c<a;){ var e=dr(n,t);if(e<r&&cu(n[e],t))return e}return-1},On.sortedLastIndex=function(n,t){return dr(n,t,true)},On.sortedLastIndexBy=function(n,t,r){return yr(n,t,ve(r,2),true)},On.sortedLastIndexOf=function(n,t){if(null==n?0:n.length){var r=dr(n,t,true)-1;if(cu(n[r],t))return r}return-1},On.startCase=Cf,On.startsWith=function(n,t,r){return n=Ou(n),r=gt(mu(r),0,n.length),t=jr(t),n.slice(r,r+t.length)==t},On.subtract=rc,On.sum=function(n){return n&&n.length?k(n,Mu):0},On.sumBy=function(n,t){return n&&n.length?k(n,ve(t,2)):0;
for(u+=r,o=-1,l=n[u];++o<f;){var h=i[o],s=h.type,h=(0,h.iteratee)(l);if(2==s)l=h;else if(!h){if(1==s)continue t;break t}}e[c++]=l}return e},Rt.prototype.at=Ai,Rt.prototype.chain=function(){return De(this)},Rt.prototype.commit=function(){return new Ft(this.value(),this.__chain__)},Rt.prototype.next=function(){this.__values__===P&&(this.__values__=pu(this.value()));var t=this.__index__>=this.__values__.length,n=t?P:this.__values__[this.__index__++];return{done:t,value:n}},Rt.prototype.plant=function(t){ },On.template=function(n,t,r){var e=On.templateSettings;r&&ke(n,t,r)&&(t=F),n=Ou(n),t=df({},t,e,ct),r=df({},t.imports,e.imports,ct);var u,i,o=Ru(r),f=I(r,o),c=0;r=t.interpolate||An;var a="__p+='";r=Yu((t.escape||An).source+"|"+r.source+"|"+(r===nn?gn:An).source+"|"+(t.evaluate||An).source+"|$","g");var l="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,o,f,l){return e||(e=o),a+=n.slice(c,l).replace(kn,B),r&&(u=true,a+="'+__e("+r+")+'"),f&&(i=true,a+="';"+f+";\n__p+='"),
for(var n,r=this;r instanceof $t;){var e=Ee(r);e.__index__=0,e.__values__=P,n?u.__wrapped__=e:n=e;var u=e,r=r.__wrapped__}return u.__wrapped__=t,n},Rt.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof Pt?(this.__actions__.length&&(t=new Pt(this)),t=t.reverse(),t.__actions__.push({func:$e,args:[Le],thisArg:P}),new Ft(t,this.__chain__)):this.thru(Le)},Rt.prototype.toJSON=Rt.prototype.valueOf=Rt.prototype.value=function(){return br(this.__wrapped__,this.__actions__)},Rt.prototype.first=Rt.prototype.head, e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+t.length,t}),a+="';",(t=t.variable)||(a="with(obj){"+a+"}"),a=(i?a.replace(q,""):a).replace(V,"$1").replace(K,"$1;"),a="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",t=Tf(function(){return Gu(o,l+"return "+a).apply(F,f)}),t.source=a,su(t))throw t;return t},On.times=function(n,t){if(n=mu(n),1>n||9007199254740991<n)return[];
io&&(Rt.prototype[io]=Fe),Rt}var P,Z=1/0,q=NaN,V=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],K=/\b__p\+='';/g,G=/\b(__p\+=)''\+/g,J=/(__e\(.*?\)|\b__t\))\+'';/g,Y=/&(?:amp|lt|gt|quot|#39|#96);/g,H=/[&<>"'`]/g,Q=RegExp(Y.source),X=RegExp(H.source),tt=/<%-([\s\S]+?)%>/g,nt=/<%([\s\S]+?)%>/g,rt=/<%=([\s\S]+?)%>/g,et=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ut=/^\w*$/,ot=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(\.|\[\])(?:\4|$))/g,it=/[\\^$.*+?()[\]{}|]/g,ft=RegExp(it.source),ct=/^\s+|\s+$/g,at=/^\s+/,lt=/\s+$/,st=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ht=/\{\n\/\* \[wrapped with (.+)\] \*/,pt=/,? & /,_t=/[a-zA-Z0-9]+/g,vt=/\\(\\)?/g,gt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dt=/\w*$/,yt=/^0x/i,bt=/^[-+]0x[0-9a-f]+$/i,xt=/^0b[01]+$/i,jt=/^\[object .+?Constructor\]$/,wt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,At=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Ot=/($^)/,kt=/['\n\r\u2028\u2029\\]/g,Et="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",St="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+Et,Rt="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",It=RegExp("['\u2019]","g"),Wt=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),Bt=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Rt+Et,"g"),Mt=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d+",St].join("|"),"g"),Ct=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),Lt=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,zt="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Ut={}; var r=4294967295,e=Li(n,4294967295);for(t=ve(t),n-=4294967295,e=E(e,t);++r<n;)t(r);return e},On.toFinite=wu,On.toInteger=mu,On.toLength=Au,On.toLower=function(n){return Ou(n).toLowerCase()},On.toNumber=ku,On.toSafeInteger=function(n){return gt(mu(n),-9007199254740991,9007199254740991)},On.toString=Ou,On.toUpper=function(n){return Ou(n).toUpperCase()},On.trim=function(n,t,r){return(n=Ou(n))&&(r||t===F)?n.replace(cn,""):n&&(t=jr(t))?(n=$(n),r=$(t),t=z(n,r),r=W(n,r)+1,Rr(n,t,r).join("")):n},On.trimEnd=function(n,t,r){
Ut["[object Float32Array]"]=Ut["[object Float64Array]"]=Ut["[object Int8Array]"]=Ut["[object Int16Array]"]=Ut["[object Int32Array]"]=Ut["[object Uint8Array]"]=Ut["[object Uint8ClampedArray]"]=Ut["[object Uint16Array]"]=Ut["[object Uint32Array]"]=true,Ut["[object Arguments]"]=Ut["[object Array]"]=Ut["[object ArrayBuffer]"]=Ut["[object Boolean]"]=Ut["[object DataView]"]=Ut["[object Date]"]=Ut["[object Error]"]=Ut["[object Function]"]=Ut["[object Map]"]=Ut["[object Number]"]=Ut["[object Object]"]=Ut["[object RegExp]"]=Ut["[object Set]"]=Ut["[object String]"]=Ut["[object WeakMap]"]=false; return(n=Ou(n))&&(r||t===F)?n.replace(ln,""):n&&(t=jr(t))?(n=$(n),t=W(n,$(t))+1,Rr(n,0,t).join("")):n},On.trimStart=function(n,t,r){return(n=Ou(n))&&(r||t===F)?n.replace(an,""):n&&(t=jr(t))?(n=$(n),t=z(n,$(t)),Rr(n,t).join("")):n},On.truncate=function(n,t){var r=30,e="...";if(vu(t))var u="separator"in t?t.separator:u,r="length"in t?mu(t.length):r,e="omission"in t?jr(t.omission):e;n=Ou(n);var i=n.length;if(Bn.test(n))var o=$(n),i=o.length;if(r>=i)return n;if(i=r-T(e),1>i)return e;if(r=o?Rr(o,0,i).join(""):n.slice(0,i),
var Dt={};Dt["[object Arguments]"]=Dt["[object Array]"]=Dt["[object ArrayBuffer]"]=Dt["[object DataView]"]=Dt["[object Boolean]"]=Dt["[object Date]"]=Dt["[object Float32Array]"]=Dt["[object Float64Array]"]=Dt["[object Int8Array]"]=Dt["[object Int16Array]"]=Dt["[object Int32Array]"]=Dt["[object Map]"]=Dt["[object Number]"]=Dt["[object Object]"]=Dt["[object RegExp]"]=Dt["[object Set]"]=Dt["[object String]"]=Dt["[object Symbol]"]=Dt["[object Uint8Array]"]=Dt["[object Uint8ClampedArray]"]=Dt["[object Uint16Array]"]=Dt["[object Uint32Array]"]=true, u===F)return r+e;if(o&&(i+=r.length-i),lf(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=Yu(u.source,Ou(dn.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c)}}else n.indexOf(jr(u),i)!=i&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},On.unescape=function(n){return(n=Ou(n))&&J.test(n)?n.replace(G,ut):n},On.uniqueId=function(n){var t=++ii;return Ou(n)+t},On.upperCase=Df,On.upperFirst=Mf,On.each=Qe,On.eachRight=Xe,On.first=Pe,$u(On,function(){var n={};return Et(On,function(t,r){
Dt["[object Error]"]=Dt["[object Function]"]=Dt["[object WeakMap]"]=false;var $t,Ft={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tt=parseFloat,Nt=parseInt,Pt=typeof global=="object"&&global&&global.Object===Object&&global,Zt=typeof self=="object"&&self&&self.Object===Object&&self,qt=Pt||Zt||Function("return this")(),Vt=Pt&&typeof exports=="object"&&exports,Kt=Vt&&typeof module=="object"&&module,Gt=Kt&&Kt.exports===Vt,Jt=Gt&&Pt.h;t:{try{$t=Jt&&Jt.f("util");break t}catch(t){} ui.call(On.prototype,r)||(n[r]=t)}),n}(),{chain:false}),On.VERSION="4.16.5",u("bind bindKey curry curryRight partial partialRight".split(" "),function(n){On[n].placeholder=On}),u(["drop","take"],function(n,t){Mn.prototype[n]=function(r){var e=this.__filtered__;if(e&&!t)return new Mn(this);r=r===F?1:Bi(mu(r),0);var u=this.clone();return e?u.__takeCount__=Li(r,u.__takeCount__):u.__views__.push({size:Li(r,4294967295),type:n+(0>u.__dir__?"Right":"")}),u},Mn.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse();
$t=void 0}var Yt=$t&&$t.isArrayBuffer,Ht=$t&&$t.isDate,Qt=$t&&$t.isMap,Xt=$t&&$t.isRegExp,tn=$t&&$t.isSet,nn=$t&&$t.isTypedArray,rn=w({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n", }}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Mn.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:ve(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");Mn.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Mn.prototype[n]=function(){return this.__filtered__?new Mn(this):this[r](1)}}),Mn.prototype.compact=function(){
"\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss"}),en=w({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"}),un=w({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"}),on=N();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(qt._=on, return this.filter(Mu)},Mn.prototype.find=function(n){return this.filter(n).head()},Mn.prototype.findLast=function(n){return this.reverse().find(n)},Mn.prototype.invokeMap=lr(function(n,t){return typeof n=="function"?new Mn(this):this.map(function(r){return Dt(r,n,t)})}),Mn.prototype.reject=function(n){return this.filter(fu(ve(n)))},Mn.prototype.slice=function(n,t){n=mu(n);var r=this;return r.__filtered__&&(0<n||0>t)?new Mn(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==F&&(t=mu(t),r=0>t?r.dropRight(-t):r.take(t-n)),
define(function(){return on})):Kt?((Kt.exports=on)._=on,Vt._=on):qt._=on}).call(this); r)},Mn.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Mn.prototype.toArray=function(){return this.take(4294967295)},Et(Mn.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=On[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(On.prototype[t]=function(){function t(n){return n=u.apply(On,s([n],f)),e&&h?n[0]:n}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Mn,a=f[0],l=c||uf(o);l&&r&&typeof a=="function"&&1!=a.length&&(c=l=false);
var h=this.__chain__,p=!!this.__actions__.length,a=i&&!h,c=c&&!p;return!i&&l?(o=c?o:new Mn(this),o=n.apply(o,f),o.__actions__.push({func:Je,args:[t],thisArg:F}),new zn(o,h)):a&&c?n.apply(this,f):(o=this.thru(t),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(n){var t=ni[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);On.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(uf(u)?u:[],n);
}return this[r](function(r){return t.apply(uf(r)?r:[],n)})}}),Et(Mn.prototype,function(n,t){var r=On[t];if(r){var e=r.name+"";(Vi[e]||(Vi[e]=[])).push({name:t,func:r})}}),Vi[Yr(F,2).name]=[{name:"wrapper",func:F}],Mn.prototype.clone=function(){var n=new Mn(this.__wrapped__);return n.__actions__=Dr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Dr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Dr(this.__views__),n},Mn.prototype.reverse=function(){
if(this.__filtered__){var n=new Mn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n},Mn.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=uf(t),u=0>r,i=e?t.length:0;n=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++c<a;){var l=o[c],s=l.size;switch(l.type){case"drop":f+=s;break;case"dropRight":n-=s;break;case"take":n=Li(n,f+s);break;case"takeRight":f=Bi(f,n-s)}}if(n={start:f,end:n},o=n.start,f=n.end,n=f-o,u=u?f:o-1,o=this.__iteratees__,f=o.length,
c=0,a=Li(n,this.__takeCount__),!e||200>i||i==n&&a==n)return Ar(t,this.__actions__);e=[];n:for(;n--&&c<a;){for(u+=r,i=-1,l=t[u];++i<f;){var h=o[i],s=h.type,h=(0,h.iteratee)(l);if(2==s)l=h;else if(!h){if(1==s)continue n;break n}}e[c++]=l}return e},On.prototype.at=Do,On.prototype.chain=function(){return He(this)},On.prototype.commit=function(){return new zn(this.value(),this.__chain__)},On.prototype.next=function(){this.__values__===F&&(this.__values__=ju(this.value()));var n=this.__index__>=this.__values__.length;
return{done:n,value:n?F:this.__values__[this.__index__++]}},On.prototype.plant=function(n){for(var t,r=this;r instanceof Sn;){var e=Te(r);e.__index__=0,e.__values__=F,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},On.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Mn?(this.__actions__.length&&(n=new Mn(this)),n=n.reverse(),n.__actions__.push({func:Je,args:[Ve],thisArg:F}),new zn(n,this.__chain__)):this.thru(Ve)},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){
return Ar(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,xi&&(On.prototype[xi]=Ye),On}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Zn._=it, define(function(){return it})):Vn?((Vn.exports=it)._=it,qn._=it):Zn._=it}).call(this);

19
dist/mapping.fp.js vendored
View File

@@ -129,10 +129,10 @@ return /******/ (function(modules) { // webpackBootstrap
'1': [ '1': [
'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',
'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',
'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',
'mergeAll', 'methodOf', 'mixin', 'over', 'overEvery', 'overSome', 'rest', 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',
'reverse', 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',
'trimStart', 'uniqueId', 'words', 'zipAll' 'uniqueId', 'words', 'zipAll'
], ],
'2': [ '2': [
'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',
@@ -164,9 +164,10 @@ return /******/ (function(modules) { // webpackBootstrap
'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',
'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',
'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',
'padCharsStart', 'pullAllBy', 'pullAllWith', 'reduce', 'reduceRight', 'replace', 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',
'set', 'slice', 'sortedIndexBy', 'sortedLastIndexBy', 'transform', 'unionBy', 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',
'unionWith', 'update', 'xorBy', 'xorWith', 'zipWith' 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',
'xorWith', 'zipWith'
], ],
'4': [ '4': [
'fill', 'setWith', 'updateWith' 'fill', 'setWith', 'updateWith'
@@ -245,6 +246,8 @@ return /******/ (function(modules) { // webpackBootstrap
'padCharsStart': [2, 1, 0], 'padCharsStart': [2, 1, 0],
'pullAllBy': [2, 1, 0], 'pullAllBy': [2, 1, 0],
'pullAllWith': [2, 1, 0], 'pullAllWith': [2, 1, 0],
'rangeStep': [1, 2, 0],
'rangeStepRight': [1, 2, 0],
'setWith': [3, 1, 2, 0], 'setWith': [3, 1, 2, 0],
'sortedIndexBy': [2, 1, 0], 'sortedIndexBy': [2, 1, 0],
'sortedLastIndexBy': [2, 1, 0], 'sortedLastIndexBy': [2, 1, 0],
@@ -366,6 +369,8 @@ return /******/ (function(modules) { // webpackBootstrap
'padCharsEnd': 'padEnd', 'padCharsEnd': 'padEnd',
'padCharsStart': 'padStart', 'padCharsStart': 'padStart',
'propertyOf': 'get', 'propertyOf': 'get',
'rangeStep': 'range',
'rangeStepRight': 'rangeRight',
'restFrom': 'rest', 'restFrom': 'rest',
'spreadFrom': 'spread', 'spreadFrom': 'spread',
'trimChars': 'trim', 'trimChars': 'trim',

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,4 @@
var mapping = require('./_mapping'), var mapping = require('./_mapping'),
mutateMap = mapping.mutate,
fallbackHolder = require('./placeholder'); fallbackHolder = require('./placeholder');
/** /**
@@ -143,6 +142,7 @@ function baseConvert(util, name, func, options) {
'keys': util.keys, 'keys': util.keys,
'rearg': util.rearg, 'rearg': util.rearg,
'spread': util.spread, 'spread': util.spread,
'toInteger': util.toInteger,
'toPath': util.toPath 'toPath': util.toPath
}; };
@@ -156,6 +156,7 @@ function baseConvert(util, name, func, options) {
keys = helpers.keys, keys = helpers.keys,
rearg = helpers.rearg, rearg = helpers.rearg,
spread = helpers.spread, spread = helpers.spread,
toInteger = helpers.toInteger,
toPath = helpers.toPath; toPath = helpers.toPath;
var aryMethodKeys = keys(mapping.aryMethod); var aryMethodKeys = keys(mapping.aryMethod);
@@ -209,10 +210,16 @@ function baseConvert(util, name, func, options) {
return func; return func;
}; };
}, },
'nthArg': function(nthArg) {
return function(n) {
var arity = n < 0 ? 1 : (toInteger(n) + 1);
return curry(nthArg(n), arity);
};
},
'rearg': function(rearg) { 'rearg': function(rearg) {
return function(func, indexes) { return function(func, indexes) {
var n = indexes ? indexes.length : 0; var arity = indexes ? indexes.length : 0;
return curry(rearg(func, indexes), n); return curry(rearg(func, indexes), arity);
}; };
}, },
'runInContext': function(runInContext) { 'runInContext': function(runInContext) {
@@ -343,13 +350,16 @@ function baseConvert(util, name, func, options) {
* @returns {Function} Returns the new converter function. * @returns {Function} Returns the new converter function.
*/ */
function createConverter(name, func) { function createConverter(name, func) {
var oldOptions = options; var realName = mapping.aliasToReal[name] || name,
methodName = mapping.remap[realName] || realName,
oldOptions = options;
return function(options) { return function(options) {
var newUtil = isLib ? pristine : helpers, var newUtil = isLib ? pristine : helpers,
newFunc = isLib ? pristine[name] : func, newFunc = isLib ? pristine[methodName] : func,
newOptions = assign(assign({}, oldOptions), options); newOptions = assign(assign({}, oldOptions), options);
return baseConvert(newUtil, name, newFunc, newOptions); return baseConvert(newUtil, realName, newFunc, newOptions);
}; };
} }
@@ -420,38 +430,37 @@ function baseConvert(util, name, func, options) {
* @returns {Function} Returns the converted function. * @returns {Function} Returns the converted function.
*/ */
function wrap(name, func) { function wrap(name, func) {
name = mapping.aliasToReal[name] || name;
var result, var result,
realName = mapping.aliasToReal[name] || name,
wrapped = func, wrapped = func,
wrapper = wrappers[name]; wrapper = wrappers[realName];
if (wrapper) { if (wrapper) {
wrapped = wrapper(func); wrapped = wrapper(func);
} }
else if (config.immutable) { else if (config.immutable) {
if (mutateMap.array[name]) { if (mapping.mutate.array[realName]) {
wrapped = wrapImmutable(func, cloneArray); wrapped = wrapImmutable(func, cloneArray);
} }
else if (mutateMap.object[name]) { else if (mapping.mutate.object[realName]) {
wrapped = wrapImmutable(func, createCloner(func)); wrapped = wrapImmutable(func, createCloner(func));
} }
else if (mutateMap.set[name]) { else if (mapping.mutate.set[realName]) {
wrapped = wrapImmutable(func, cloneByPath); wrapped = wrapImmutable(func, cloneByPath);
} }
} }
each(aryMethodKeys, function(aryKey) { each(aryMethodKeys, function(aryKey) {
each(mapping.aryMethod[aryKey], function(otherName) { each(mapping.aryMethod[aryKey], function(otherName) {
if (name == otherName) { if (realName == otherName) {
var spreadData = mapping.methodSpread[name], var spreadData = mapping.methodSpread[realName],
afterRearg = spreadData && spreadData.afterRearg; afterRearg = spreadData && spreadData.afterRearg;
result = afterRearg result = afterRearg
? castFixed(name, castRearg(name, wrapped, aryKey), aryKey) ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)
: castRearg(name, castFixed(name, wrapped, aryKey), aryKey); : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);
result = castCap(name, result); result = castCap(realName, result);
result = castCurry(name, result, aryKey); result = castCurry(realName, result, aryKey);
return false; return false;
} }
}); });
@@ -464,8 +473,8 @@ function baseConvert(util, name, func, options) {
return func.apply(this, arguments); return func.apply(this, arguments);
}; };
} }
result.convert = createConverter(name, func); result.convert = createConverter(realName, func);
if (mapping.placeholder[name]) { if (mapping.placeholder[realName]) {
setPlaceholder = true; setPlaceholder = true;
result.placeholder = func.placeholder = placeholder; result.placeholder = func.placeholder = placeholder;
} }

View File

@@ -12,7 +12,7 @@ function browserConvert(lodash, options) {
return baseConvert(lodash, lodash, options); return baseConvert(lodash, lodash, options);
} }
if (typeof _ == 'function') { if (typeof _ == 'function' && typeof _.runInContext == 'function') {
_ = browserConvert(_.runInContext()); _ = browserConvert(_.runInContext());
} }
module.exports = browserConvert; module.exports = browserConvert;

View File

@@ -73,10 +73,10 @@ exports.aryMethod = {
'1': [ '1': [
'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',
'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',
'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',
'mergeAll', 'methodOf', 'mixin', 'over', 'overEvery', 'overSome', 'rest', 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',
'reverse', 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',
'trimStart', 'uniqueId', 'words', 'zipAll' 'uniqueId', 'words', 'zipAll'
], ],
'2': [ '2': [
'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',
@@ -108,9 +108,10 @@ exports.aryMethod = {
'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',
'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',
'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',
'padCharsStart', 'pullAllBy', 'pullAllWith', 'reduce', 'reduceRight', 'replace', 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',
'set', 'slice', 'sortedIndexBy', 'sortedLastIndexBy', 'transform', 'unionBy', 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',
'unionWith', 'update', 'xorBy', 'xorWith', 'zipWith' 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',
'xorWith', 'zipWith'
], ],
'4': [ '4': [
'fill', 'setWith', 'updateWith' 'fill', 'setWith', 'updateWith'
@@ -189,6 +190,8 @@ exports.methodRearg = {
'padCharsStart': [2, 1, 0], 'padCharsStart': [2, 1, 0],
'pullAllBy': [2, 1, 0], 'pullAllBy': [2, 1, 0],
'pullAllWith': [2, 1, 0], 'pullAllWith': [2, 1, 0],
'rangeStep': [1, 2, 0],
'rangeStepRight': [1, 2, 0],
'setWith': [3, 1, 2, 0], 'setWith': [3, 1, 2, 0],
'sortedIndexBy': [2, 1, 0], 'sortedIndexBy': [2, 1, 0],
'sortedLastIndexBy': [2, 1, 0], 'sortedLastIndexBy': [2, 1, 0],
@@ -310,6 +313,8 @@ exports.remap = {
'padCharsEnd': 'padEnd', 'padCharsEnd': 'padEnd',
'padCharsStart': 'padStart', 'padCharsStart': 'padStart',
'propertyOf': 'get', 'propertyOf': 'get',
'rangeStep': 'range',
'rangeStepRight': 'rangeRight',
'restFrom': 'rest', 'restFrom': 'rest',
'spreadFrom': 'spread', 'spreadFrom': 'spread',
'trimChars': 'trim', 'trimChars': 'trim',

View File

@@ -1,11 +1,11 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
fs = require('fs-extra'), const fs = require('fs-extra');
glob = require('glob'), const glob = require('glob');
path = require('path'); const path = require('path');
var minify = require('../common/minify.js'); const minify = require('../common/minify.js');
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
@@ -30,8 +30,8 @@ function copy(srcPath, destPath) {
* @returns {Object} Returns the object of compiled templates. * @returns {Object} Returns the object of compiled templates.
*/ */
function globTemplate(pattern) { function globTemplate(pattern) {
return _.transform(glob.sync(pattern), function(result, filePath) { return _.transform(glob.sync(pattern), (result, filePath) => {
var key = path.basename(filePath, path.extname(filePath)); const key = path.basename(filePath, path.extname(filePath));
result[key] = _.template(fs.readFileSync(filePath, 'utf8')); result[key] = _.template(fs.readFileSync(filePath, 'utf8'));
}, {}); }, {});
} }
@@ -64,8 +64,8 @@ function write(destPath, data) {
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
module.exports = { module.exports = {
'copy': copy, copy,
'globTemplate': globTemplate, globTemplate,
'min': min, min,
'write': write write
}; };

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
var _mapping = require('../../fp/_mapping'), const _mapping = require('../../fp/_mapping');
util = require('./util'), const util = require('./util');
Hash = util.Hash; const Hash = util.Hash;
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
fs = require('fs-extra'), const fs = require('fs-extra');
uglify = require('uglify-js'); const uglify = require('uglify-js');
var uglifyOptions = require('./uglify.options'); const uglifyOptions = require('./uglify.options');
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
@@ -32,7 +32,7 @@ function minify(srcPath, destPath, callback, options) {
if (!destPath) { if (!destPath) {
destPath = srcPath.replace(/(?=\.js$)/, '.min'); destPath = srcPath.replace(/(?=\.js$)/, '.min');
} }
var output = uglify.minify(srcPath, _.defaults(options || {}, uglifyOptions)); const output = uglify.minify(srcPath, _.defaults(options || {}, uglifyOptions));
fs.writeFile(destPath, output.code, 'utf-8', callback); fs.writeFile(destPath, output.code, 'utf-8', callback);
} }

View File

@@ -8,6 +8,7 @@
*/ */
module.exports = { module.exports = {
'compress': { 'compress': {
'collapse_vars': true,
'negate_iife': false, 'negate_iife': false,
'pure_getters': true, 'pure_getters': true,
'unsafe': true, 'unsafe': true,

View File

@@ -1,6 +1,6 @@
'use strict'; 'use strict';
var _ = require('lodash'); const _ = require('lodash');
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
@@ -13,7 +13,7 @@ var _ = require('lodash');
* @returns {Object} Returns the new hash object. * @returns {Object} Returns the new hash object.
*/ */
function Hash(properties) { function Hash(properties) {
return _.transform(properties, function(result, value, key) { return _.transform(properties, (result, value, key) => {
result[key] = (_.isPlainObject(value) && !(value instanceof Hash)) result[key] = (_.isPlainObject(value) && !(value instanceof Hash))
? new Hash(value) ? new Hash(value)
: value; : value;
@@ -35,6 +35,6 @@ function pitch(error) {
} }
module.exports = { module.exports = {
'Hash': Hash, Hash,
'pitch': pitch pitch
}; };

View File

@@ -1,19 +1,19 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
async = require('async'), const async = require('async');
path = require('path'), const path = require('path');
webpack = require('webpack'); const webpack = require('webpack');
var file = require('../common/file'), const file = require('../common/file');
util = require('../common/util'); const util = require('../common/util');
var basePath = path.join(__dirname, '..', '..'), const basePath = path.join(__dirname, '..', '..');
distPath = path.join(basePath, 'dist'), const distPath = path.join(basePath, 'dist');
fpPath = path.join(basePath, 'fp'), const fpPath = path.join(basePath, 'fp');
filename = 'lodash.fp.js'; const filename = 'lodash.fp.js';
var fpConfig = { const fpConfig = {
'entry': path.join(fpPath, '_convertBrowser.js'), 'entry': path.join(fpPath, '_convertBrowser.js'),
'output': { 'output': {
'path': distPath, 'path': distPath,
@@ -27,7 +27,7 @@ var fpConfig = {
] ]
}; };
var mappingConfig = { const mappingConfig = {
'entry': path.join(fpPath, '_mapping.js'), 'entry': path.join(fpPath, '_mapping.js'),
'output': { 'output': {
'path': distPath, 'path': distPath,
@@ -42,6 +42,7 @@ var mappingConfig = {
/** /**
* Creates browser builds of the FP converter and mappings at the `target` path. * Creates browser builds of the FP converter and mappings at the `target` path.
* *
* @private
* @param {string} target The output directory path. * @param {string} target The output directory path.
*/ */
function build() { function build() {

View File

@@ -1,34 +1,35 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
fs = require('fs-extra'), const fs = require('fs-extra');
path = require('path'); const path = require('path');
var file = require('../common/file'), const file = require('../common/file');
mapping = require('../common/mapping'), const mapping = require('../common/mapping');
util = require('../common/util'); const util = require('../common/util');
var templatePath = path.join(__dirname, 'template/doc'), const templatePath = path.join(__dirname, 'template/doc');
template = file.globTemplate(path.join(templatePath, '*.jst')); const template = file.globTemplate(path.join(templatePath, '*.jst'));
var argNames = ['a', 'b', 'c', 'd']; const argNames = ['a', 'b', 'c', 'd'];
var templateData = { const templateData = {
'mapping': mapping, mapping,
'toArgOrder': toArgOrder, toArgOrder,
'toFuncList': toFuncList toFuncList
}; };
/** /**
* Converts arranged argument `indexes` into a named argument string * Converts arranged argument `indexes` into a named argument string
* representation of their order. * representation of their order.
* *
* @private
* @param {number[]} indexes The arranged argument indexes. * @param {number[]} indexes The arranged argument indexes.
* @returns {string} Returns the named argument string. * @returns {string} Returns the named argument string.
*/ */
function toArgOrder(indexes) { function toArgOrder(indexes) {
var reordered = []; const reordered = [];
_.each(indexes, function(newIndex, index) { _.each(indexes, (newIndex, index) => {
reordered[newIndex] = argNames[index]; reordered[newIndex] = argNames[index];
}); });
return '`(' + reordered.join(', ') + ')`'; return '`(' + reordered.join(', ') + ')`';
@@ -37,22 +38,20 @@ function toArgOrder(indexes) {
/** /**
* Converts `funcNames` into a chunked list string representation. * Converts `funcNames` into a chunked list string representation.
* *
* @private
* @param {string[]} funcNames The function names. * @param {string[]} funcNames The function names.
* @returns {string} Returns the function list string. * @returns {string} Returns the function list string.
*/ */
function toFuncList(funcNames) { function toFuncList(funcNames) {
var chunks = _.chunk(funcNames.slice().sort(), 5), let chunks = _.chunk(funcNames.slice().sort(), 5);
lastChunk = _.last(chunks), let lastChunk = _.last(chunks);
last = lastChunk ? lastChunk.pop() : undefined; const lastName = lastChunk ? lastChunk.pop() : undefined;
chunks = _.reject(chunks, _.isEmpty); chunks = _.reject(chunks, _.isEmpty);
lastChunk = _.last(chunks); lastChunk = _.last(chunks);
var result = '`' + _.map(chunks, function(chunk) { let result = '`' + _.map(chunks, chunk => chunk.join('`, `') + '`').join(',\n`');
return chunk.join('`, `') + '`'; if (lastName == null) {
}).join(',\n`');
if (last == null) {
return result; return result;
} }
if (_.size(chunks) > 1 || _.size(lastChunk) > 1) { if (_.size(chunks) > 1 || _.size(lastChunk) > 1) {
@@ -60,7 +59,7 @@ function toFuncList(funcNames) {
} }
result += ' &'; result += ' &';
result += _.size(lastChunk) < 5 ? ' ' : '\n'; result += _.size(lastChunk) < 5 ? ' ' : '\n';
return result + '`' + last + '`'; return result + '`' + lastName + '`';
} }
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
@@ -68,6 +67,7 @@ function toFuncList(funcNames) {
/** /**
* Creates the FP-Guide wiki at the `target` path. * Creates the FP-Guide wiki at the `target` path.
* *
* @private
* @param {string} target The output file path. * @param {string} target The output file path.
*/ */
function build(target) { function build(target) {

View File

@@ -1,25 +1,25 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
async = require('async'), const async = require('async');
glob = require('glob'), const glob = require('glob');
path = require('path'); const path = require('path');
var file = require('../common/file'), const file = require('../common/file');
mapping = require('../common/mapping'), const mapping = require('../common/mapping');
util = require('../common/util'); const util = require('../common/util');
var templatePath = path.join(__dirname, 'template/modules'), const templatePath = path.join(__dirname, 'template/modules');
template = file.globTemplate(path.join(templatePath, '*.jst')); const template = file.globTemplate(path.join(templatePath, '*.jst'));
var aryMethods = _.union( const aryMethods = _.union(
mapping.aryMethod[1], mapping.aryMethod[1],
mapping.aryMethod[2], mapping.aryMethod[2],
mapping.aryMethod[3], mapping.aryMethod[3],
mapping.aryMethod[4] mapping.aryMethod[4]
); );
var categories = [ const categories = [
'array', 'array',
'collection', 'collection',
'date', 'date',
@@ -33,7 +33,7 @@ var categories = [
'util' 'util'
]; ];
var ignored = [ const ignored = [
'_*.js', '_*.js',
'core.js', 'core.js',
'core.min.js', 'core.min.js',
@@ -46,6 +46,7 @@ var ignored = [
/** /**
* Checks if `name` is a method alias. * Checks if `name` is a method alias.
* *
* @private
* @param {string} name The name to check. * @param {string} name The name to check.
* @returns {boolean} Returns `true` if `name` is a method alias, else `false`. * @returns {boolean} Returns `true` if `name` is a method alias, else `false`.
*/ */
@@ -56,6 +57,7 @@ function isAlias(name) {
/** /**
* Checks if `name` is a category name. * Checks if `name` is a category name.
* *
* @private
* @param {string} name The name to check. * @param {string} name The name to check.
* @returns {boolean} Returns `true` if `name` is a category name, else `false`. * @returns {boolean} Returns `true` if `name` is a category name, else `false`.
*/ */
@@ -66,6 +68,7 @@ function isCategory(name) {
/** /**
* Checks if `name` belongs to a method that's passed thru and not wrapped. * Checks if `name` belongs to a method that's passed thru and not wrapped.
* *
* @private
* @param {string} name The name to check. * @param {string} name The name to check.
* @returns {boolean} Returns `true` if `name` is of a pass thru method, * @returns {boolean} Returns `true` if `name` is of a pass thru method,
* else `false`. * else `false`.
@@ -82,7 +85,7 @@ function isThru(name) {
* @returns {*} Returns the metadata for `func`. * @returns {*} Returns the metadata for `func`.
*/ */
function getTemplate(moduleName) { function getTemplate(moduleName) {
var data = { const data = {
'name': _.get(mapping.aliasToReal, moduleName, moduleName), 'name': _.get(mapping.aliasToReal, moduleName, moduleName),
'mapping': mapping 'mapping': mapping
}; };
@@ -104,33 +107,34 @@ function getTemplate(moduleName) {
/** /**
* Creates FP modules at the `target` path. * Creates FP modules at the `target` path.
* *
* @private
* @param {string} target The output directory path. * @param {string} target The output directory path.
*/ */
function build(target) { function build(target) {
target = path.resolve(target); target = path.resolve(target);
var fpPath = path.join(target, 'fp'); const fpPath = path.join(target, 'fp');
// Glob existing lodash module paths. // Glob existing lodash module paths.
var modulePaths = glob.sync(path.join(target, '*.js'), { const modulePaths = glob.sync(path.join(target, '*.js'), {
'nodir': true, 'nodir': true,
'ignore': ignored.map(function(filename) { 'ignore': ignored.map(filename => {
return path.join(target, filename); return path.join(target, filename);
}) })
}); });
// Add FP alias and remapped module paths. // Add FP alias and remapped module paths.
_.each([mapping.aliasToReal, mapping.remap], function(data) { _.each([mapping.aliasToReal, mapping.remap], data => {
_.forOwn(data, function(realName, alias) { _.forOwn(data, (realName, alias) => {
var modulePath = path.join(target, alias + '.js'); const modulePath = path.join(target, alias + '.js');
if (!_.includes(modulePaths, modulePath)) { if (!_.includes(modulePaths, modulePath)) {
modulePaths.push(modulePath); modulePaths.push(modulePath);
} }
}); });
}); });
var actions = modulePaths.map(function(modulePath) { const actions = modulePaths.map(modulePath => {
var moduleName = path.basename(modulePath, '.js'); const moduleName = path.basename(modulePath, '.js');
return file.write(path.join(fpPath, moduleName + '.js'), getTemplate(moduleName)); return file.write(path.join(fpPath, moduleName + '.js'), getTemplate(moduleName));
}); });

View File

@@ -9,20 +9,19 @@ to produce immutable auto-curried iteratee-first data-last methods.
In a browser: In a browser:
```html ```html
<script src='path/to/lodash.js'></script> <script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>
<script src='path/to/lodash.fp.js'></script>
<script> <script>
// Loading `lodash.fp.js` converts `_` to its fp variant. // Loading `lodash.fp.js` converts `_` to its fp variant.
_.defaults({ 'a': 2, 'b': 2 })({ 'a': 1 }); _.defaults({ 'a': 2, 'b': 2 })({ 'a': 1 });
// ➜ { 'a: 1, 'b': 2 } // ➜ { 'a': 1, 'b': 2 }
// Use `noConflict` to restore the pre-fp variant. // Use `noConflict` to restore the pre-fp variant.
var fp = _.noConflict(); var fp = _.noConflict();
_.defaults({ 'a': 1 }, { 'a': 2, 'b': 2 }); _.defaults({ 'a': 1 }, { 'a': 2, 'b': 2 });
// ➜ { 'a: 1, 'b': 2 } // ➜ { 'a': 1, 'b': 2 }
fp.defaults({ 'a': 2, 'b': 2 })({ 'a': 1 }); fp.defaults({ 'a': 2, 'b': 2 })({ 'a': 1 });
// ➜ { 'a: 1, 'b': 2 } // ➜ { 'a': 1, 'b': 2 }
</script> </script>
``` ```
@@ -124,15 +123,15 @@ A fixed arity of four has an argument order of:<br>
##### Exceptions to the rules ##### Exceptions to the rules
Methods that accept an array of arguments:<br> Methods that accept an array as their last or only argument:<br>
<%= toFuncList(_.keys(mapping.methodSpread)) %> <%= toFuncList(_.keys(mapping.methodSpread)) %>
Methods with unchanged argument orders:<br> Methods with unchanged argument orders:<br>
<%= toFuncList(_.keys(mapping.skipRearg)) %> <%= toFuncList(_.keys(mapping.skipRearg)) %>
Methods with custom argument orders:<br> Methods with custom argument orders:<br>
<%= _.map(_.keys(mapping.methodRearg), function(methodName) { <%= _.map(_.keys(mapping.methodRearg), methodName => {
var orders = mapping.methodRearg[methodName]; const orders = mapping.methodRearg[methodName];
return ' * `_.' + methodName + '` has an order of ' + toArgOrder(orders); return ' * `_.' + methodName + '` has an order of ' + toArgOrder(orders);
}).join('\n') %> }).join('\n') %>
@@ -148,8 +147,8 @@ Methods created to accommodate Lodashs variadic methods:<br>
#### Aliases #### Aliases
There are <%= _.size(mapping.aliasToReal) %> method aliases:<br> There are <%= _.size(mapping.aliasToReal) %> method aliases:<br>
<%= _.map(_.keys(mapping.aliasToReal).sort(), function(alias) { <%= _.map(_.keys(mapping.aliasToReal).sort(), alias => {
var realName = mapping.aliasToReal[alias]; const realName = mapping.aliasToReal[alias];
return ' * `_.' + alias + '` is an alias of `_.' + realName + '`'; return ' * `_.' + alias + '` is an alias of `_.' + realName + '`';
}).join('\n') %> }).join('\n') %>

View File

@@ -10,5 +10,6 @@ module.exports = {
'keys': require('../_baseKeys'), 'keys': require('../_baseKeys'),
'rearg': require('../rearg'), 'rearg': require('../rearg'),
'spread': require('../spread'), 'spread': require('../spread'),
'toInteger': require('../toInteger'),
'toPath': require('../toPath') 'toPath': require('../toPath')
}; };

View File

@@ -1,23 +1,24 @@
'use strict'; 'use strict';
var async = require('async'), const async = require('async');
path = require('path'); const path = require('path');
var file = require('../common/file'), const file = require('../common/file');
util = require('../common/util'); const util = require('../common/util');
var basePath = path.join(__dirname, '..', '..'), const basePath = path.join(__dirname, '..', '..');
distPath = path.join(basePath, 'dist'), const distPath = path.join(basePath, 'dist');
filename = 'lodash.js'; const filename = 'lodash.js';
var baseLodash = path.join(basePath, filename), const baseLodash = path.join(basePath, filename);
distLodash = path.join(distPath, filename); const distLodash = path.join(distPath, filename);
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
/** /**
* Creates browser builds of Lodash at the `target` path. * Creates browser builds of Lodash at the `target` path.
* *
* @private
* @param {string} target The output directory path. * @param {string} target The output directory path.
*/ */
function build() { function build() {

View File

@@ -1,43 +1,62 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
docdown = require('docdown'), const docdown = require('docdown');
fs = require('fs-extra'), const fs = require('fs-extra');
path = require('path'); const path = require('path');
var util = require('../common/util'); const util = require('../common/util');
var basePath = path.join(__dirname, '..', '..'), const basePath = path.join(__dirname, '..', '..');
docPath = path.join(basePath, 'doc'), const docPath = path.join(basePath, 'doc');
readmePath = path.join(docPath, 'README.md'); const readmePath = path.join(docPath, 'README.md');
var pkg = require('../../package.json'), const pkg = require('../../package.json');
version = pkg.version; const version = pkg.version;
var config = { const config = {
'base': { 'base': {
'entryLinks': [
'<% if (name == "templateSettings" || !/^(?:methods|properties|seq)$/i.test(category)) {' +
'print("[npm package](https://www.npmjs.com/package/lodash." + name.toLowerCase() + ")")' +
'} %>'
],
'path': path.join(basePath, 'lodash.js'), 'path': path.join(basePath, 'lodash.js'),
'sourceLink': '[source](${sourceHref})', 'title': `<a href="https://lodash.com/">lodash</a> <span>v${ version }</span>`,
'title': '<a href="https://lodash.com/">lodash</a> <span>v' + version + '</span>',
'toc': 'categories', 'toc': 'categories',
'url': 'https://github.com/lodash/lodash/blob/' + version + '/lodash.js' 'url': `https://github.com/lodash/lodash/blob/${ version }/lodash.js`
}, },
'github': { 'github': {
'hash': 'github' 'style': 'github',
'sublinks': [npmLink('&#x24C3;', 'See the npm package')]
}, },
'site': { 'site': {
'tocHref': '#docs' 'entryLink': '<a href="${entryHref}" class="fa fa-link"></a>',
'sourceLink': '[source](${sourceHref})',
'tocHref': '',
'tocLink': '',
'sublinks': [npmLink('npm package')]
} }
}; };
/**
* Composes a npm link from `text` and optional `title`.
*
* @private
* @param {string} text The link text.
* @param {string} [title] The link title.
* @returns {string} Returns the composed npm link.
*/
function npmLink(text, title) {
return (
'<% if (name == "templateSettings" || !/^(?:methods|properties|seq)$/i.test(category)) {' +
'print(' +
'"[' + text + '](https://www.npmjs.com/package/lodash." + name.toLowerCase() + ' +
'"' + (title == null ? '' : ' \\"' + title + '\\"') + ')"' +
');' +
'} %>'
);
}
/** /**
* Post-process `markdown` to make adjustments. * Post-process `markdown` to make adjustments.
* *
* @private
* @param {string} markdown The markdown to process. * @param {string} markdown The markdown to process.
* @returns {string} Returns the processed markdown. * @returns {string} Returns the processed markdown.
*/ */
@@ -51,11 +70,12 @@ function postprocess(markdown) {
/** /**
* Creates the documentation markdown formatted for 'github' or 'site'. * Creates the documentation markdown formatted for 'github' or 'site'.
* *
* @private
* @param {string} type The format type. * @param {string} type The format type.
*/ */
function build(type) { function build(type) {
var options = _.defaults({}, config.base, config[type]), const options = _.defaults({}, config.base, config[type]);
markdown = docdown(options); const markdown = docdown(options);
fs.writeFile(readmePath, postprocess(markdown), util.pitch); fs.writeFile(readmePath, postprocess(markdown), util.pitch);
} }

View File

@@ -1,16 +1,16 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
async = require('async'), const async = require('async');
path = require('path'); const path = require('path');
var file = require('../common/file'), const file = require('../common/file');
util = require('../common/util'); const util = require('../common/util');
var basePath = path.join(__dirname, '..', '..'), const basePath = path.join(__dirname, '..', '..');
distPath = path.join(basePath, 'dist'); const distPath = path.join(basePath, 'dist');
var filePairs = [ const filePairs = [
[path.join(distPath, 'lodash.core.js'), 'core.js'], [path.join(distPath, 'lodash.core.js'), 'core.js'],
[path.join(distPath, 'lodash.core.min.js'), 'core.min.js'], [path.join(distPath, 'lodash.core.min.js'), 'core.min.js'],
[path.join(distPath, 'lodash.min.js'), 'lodash.min.js'] [path.join(distPath, 'lodash.min.js'), 'lodash.min.js']
@@ -21,12 +21,12 @@ var filePairs = [
/** /**
* Creates supplementary Lodash modules at the `target` path. * Creates supplementary Lodash modules at the `target` path.
* *
* @private
* @param {string} target The output directory path. * @param {string} target The output directory path.
*/ */
function build(target) { function build(target) {
var actions = _.map(filePairs, function(pair) { const actions = _.map(filePairs, pair =>
return file.copy(pair[0], path.join(target, pair[1])); file.copy(pair[0], path.join(target, pair[1])));
});
async.series(actions, util.pitch); async.series(actions, util.pitch);
} }

View File

@@ -1,43 +1,200 @@
'use strict'; 'use strict';
var _ = require('lodash'), const _ = require('lodash');
fs = require('fs'), const fs = require('fs');
marky = require('marky-markdown'), const marky = require('marky-markdown');
path = require('path'), const path = require('path');
util = require('../common/util'); const util = require('../common/util');
var basePath = path.join(__dirname, '..', '..'), const basePath = path.join(__dirname, '..', '..');
docPath = path.join(basePath, 'doc'), const docPath = path.join(basePath, 'doc');
readmePath = path.join(docPath, 'README.md'); const readmePath = path.join(docPath, 'README.md');
function build(type) { const highlights = {
// Load markdown and uncomment docdown HTML hints. 'html': [
var markdown = fs 'string'
.readFileSync(readmePath, 'utf8') ],
.replace(/(<)!--\s*|\s*--(>)/g, '$1$2'); 'js': [
'comment',
'console',
'delimiter',
'method',
'modifier',
'name',
'numeric',
'string',
'support',
'type'
]
};
var $ = marky(markdown, { 'sanitize': false }), const exts = _.keys(highlights);
$header = $('h1').first().remove(),
version = _.trim($header.find('span').first().text()).slice(1);
// Remove docdown horizontal rules. /**
* Converts Lodash method references into documentation links.
*
* @private
* @param {Object} $ The Cheerio object.
*/
function autoLink($) {
$('.doc-container code').each(function() {
const $code = $(this);
const html = $code.html();
if (/^_\.\w+$/.test(html)) {
const id = html.split('.')[1];
$code.replaceWith(`<a href="#${ id }"><code>_.${ id }</code></a>`);
}
});
}
/**
* Removes horizontal rules from the document.
*
* @private
* @param {Object} $ The Cheerio object.
*/
function removeHorizontalRules($) {
$('hr').remove(); $('hr').remove();
}
// Remove table of contents (toc) links. /**
$('a[href="#docs"]').remove(); * Removes marky-markdown specific ids and class names.
*
// Remove marky-markdown additions. * @private
* @param {Object} $ The Cheerio object.
*/
function removeMarkyAttributes($) {
$('[id^="user-content-"]') $('[id^="user-content-"]')
.attr('class', null) .attr('class', null)
.attr('id', null); .attr('id', null);
$(':header > a[href]').each(function() { $(':header:not(h3) > a').each(function() {
var $a = $(this); const $a = $(this);
$a.replaceWith($a.html()); $a.replaceWith($a.html());
}); });
}
// Append YAML front matter. /**
var html = [ * Renames "_" id and anchor references to "lodash".
*
* @private
* @param {Object} $ The Cheerio object.
*/
function renameLodashId($) {
$('#_').attr('id', 'lodash');
$('[href="#_"]').attr('href', '#lodash');
}
/**
* Repairs broken marky-markdown headers.
* See https://github.com/npm/marky-markdown/issues/217 for more details.
*
* @private
* @param {Object} $ The Cheerio object.
*/
function repairMarkyHeaders($) {
$('p:empty + h3').prev().remove();
$('h3 ~ p:empty').each(function() {
const $p = $(this);
let node = this.prev;
while ((node = node.prev) && node.name != 'h3' && node.name != 'p') {
$p.prepend(node.next);
}
});
$('h3 code em').parent().each(function() {
const $code = $(this);
$code.html($code.html().replace(/<\/?em>/g, '_'));
});
}
/**
* Cleans up highlights blocks by removing extraneous class names and elements.
*
* @private
* @param {Object} $ The Cheerio object.
*/
function tidyHighlights($) {
$('.highlight').each(function() {
let $spans;
const $parent = $(this);
const classes = $parent.find('.source,.text').first().attr('class').split(' ');
const ext = _(classes).intersection(exts).last();
$parent.addClass(ext);
// Remove line indicators for single line snippets.
$parent.children('pre').each(function() {
const $divs = $(this).children('div');
if ($divs.length == 1) {
$divs.replaceWith($divs.html());
}
});
// Remove extraneous class names.
$parent.find('[class]').each(function() {
const $element = $(this);
const classes = $element.attr('class').split(' ');
const attr = _(classes).intersection(highlights[ext]).join(' ');
$element.attr('class', attr || null);
});
// Collapse nested comment highlights.
$parent.find(`[class~="comment"]`).each(function() {
const $element = $(this);
$element.text($element.text().trim());
});
// Collapse nested string highlights.
$parent.find(`[class~="string"]`).each(function() {
const $element = $(this);
$element.text($element.text());
});
// Collapse nested spans.
while (($spans = $parent.find('span:not([class])')).length) {
$spans.each(function() {
let $span = $(this);
while ($span[0] && $span[0].name == 'span' && !$span.attr('class')) {
const $parent = $span.parent();
$span.replaceWith($span.html());
$span = $parent;
}
});
}
});
}
/*----------------------------------------------------------------------------*/
/**
* Creates the documentation HTML.
*
* @private
*/
function build() {
const markdown = fs
// Load markdown.
.readFileSync(readmePath, 'utf8')
// Uncomment docdown HTML hints.
.replace(/(<)!--\s*|\s*--(>)/g, '$1$2');
const $ = marky(markdown, { 'sanitize': false });
const $header = $('h1').first().remove();
const version = $header.find('span').first().text().trim().slice(1);
// Auto-link Lodash method references.
autoLink($);
// Rename "_" id references to "lodash".
renameLodashId($);
// Remove docdown horizontal rules.
removeHorizontalRules($);
// Remove marky-markdown attribute additions.
removeMarkyAttributes($);
// Repair marky-markdown wrapping around headers.
repairMarkyHeaders($);
// Cleanup highlights.
tidyHighlights($);
const html = [
// Append YAML front matter.
'---', '---',
'id: docs', 'id: docs',
'layout: docs', 'layout: docs',
@@ -45,7 +202,11 @@ function build(type) {
'version: ' + (version || null), 'version: ' + (version || null),
'---', '---',
'', '',
_.trim($.html()), // Wrap in raw tags to avoid Liquid template tag processing.
'{% raw %}',
$.html().trim(),
'{% endraw %}',
''
].join('\n'); ].join('\n');
fs.writeFile(path.join(docPath, version + '.html'), html, util.pitch); fs.writeFile(path.join(docPath, version + '.html'), html, util.pitch);

1964
lodash.js

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,10 @@
{ {
"name": "lodash", "name": "lodash",
"version": "4.14.0", "version": "4.16.5",
"license": "MIT", "license": "MIT",
"private": true, "private": true,
"main": "lodash.js", "main": "lodash.js",
"engines": { "node": ">=4.0.0" },
"scripts": { "scripts": {
"build": "npm run build:main && npm run build:fp", "build": "npm run build:main && npm run build:fp",
"build:fp": "node lib/fp/build-dist.js", "build:fp": "node lib/fp/build-dist.js",
@@ -13,8 +14,7 @@
"doc": "node lib/main/build-doc github && npm run test:doc", "doc": "node lib/main/build-doc github && npm run test:doc",
"doc:fp": "node lib/fp/build-doc", "doc:fp": "node lib/fp/build-doc",
"doc:site": "node lib/main/build-doc site", "doc:site": "node lib/main/build-doc site",
"doc:sitehtml": "optional-dev-dependency marky-markdown@^7.0.2 && npm run doc:site && node lib/main/build-site", "doc:sitehtml": "optional-dev-dependency marky-markdown@^8.1.0 && npm run doc:site && node lib/main/build-site",
"prepublish": "npm run build",
"pretest": "npm run build", "pretest": "npm run build",
"style": "npm run style:main && npm run style:fp && npm run style:perf && npm run style:test", "style": "npm run style:main && npm run style:fp && npm run style:perf && npm run style:test",
"style:fp": "jscs fp/*.js lib/**/*.js", "style:fp": "jscs fp/*.js lib/**/*.js",
@@ -22,36 +22,42 @@
"style:perf": "jscs perf/*.js perf/**/*.js", "style:perf": "jscs perf/*.js perf/**/*.js",
"style:test": "jscs test/*.js test/**/*.js", "style:test": "jscs test/*.js test/**/*.js",
"test": "npm run test:main && npm run test:fp", "test": "npm run test:main && npm run test:fp",
"test:doc": "markdown-doctest", "test:doc": "markdown-doctest doc/*.md",
"test:fp": "node test/test-fp", "test:fp": "node test/test-fp",
"test:main": "node test/test", "test:main": "node test/test",
"validate": "npm run style && npm run test" "validate": "npm run style && npm run test"
}, },
"devDependencies": { "devDependencies": {
"async": "^2.0.1", "async": "^2.1.2",
"benchmark": "^2.1.1", "benchmark": "^2.1.2",
"chalk": "^1.1.3", "chalk": "^1.1.3",
"codecov.io": "~0.1.6", "codecov.io": "~0.1.6",
"coveralls": "^2.11.11", "coveralls": "^2.11.14",
"curl-amd": "~0.8.12", "curl-amd": "~0.8.12",
"docdown": "~0.6.1", "docdown": "~0.7.1",
"dojo": "^1.11.2", "dojo": "^1.11.2",
"ecstatic": "^1.4.1", "ecstatic": "^2.1.0",
"fs-extra": "~0.30.0", "fs-extra": "~0.30.0",
"glob": "^7.0.5", "glob": "^7.1.1",
"istanbul": "0.4.4", "istanbul": "0.4.5",
"jquery": "^3.1.0", "jquery": "^3.1.1",
"jscs": "^3.0.7", "jscs": "^3.0.7",
"lodash": "4.13.1", "lodash": "4.16.2",
"markdown-doctest": "^0.8.1", "lodash-doc-globals": "^0.1.1",
"optional-dev-dependency": "^1.3.0", "markdown-doctest": "^0.9.0",
"optional-dev-dependency": "^1.4.0",
"platform": "^1.3.1", "platform": "^1.3.1",
"qunit-extras": "^2.1.0", "qunit-extras": "^3.0.0",
"qunitjs": "^2.0.0", "qunitjs": "^2.0.1",
"request": "^2.74.0", "request": "^2.76.0",
"requirejs": "^2.2.0", "requirejs": "^2.3.2",
"sauce-tunnel": "^2.5.0", "sauce-tunnel": "^2.5.0",
"uglify-js": "2.7.0", "uglify-js": "2.7.4",
"webpack": "^1.13.1" "webpack": "^1.13.3"
},
"greenkeeper": {
"ignore": [
"lodash"
]
} }
} }

View File

@@ -39,7 +39,7 @@
span1.innerHTML = span1.innerHTML =
'<label for="perf-build">Build: </label>' + '<label for="perf-build">Build: </label>' +
'<select id="perf-build">' + '<select id="perf-build">' +
'<option value="lodash">lodash</option>' + '<option value="lodash">lodash (production)</option>' +
'</select>'; '</select>';
var span2 = document.createElement('span'); var span2 = document.createElement('span');

View File

@@ -14,4 +14,4 @@ addEventListener('message', function(e) {
} }
postMessage(_.VERSION); postMessage(_.VERSION);
} }
}, false); });

View File

@@ -40,36 +40,38 @@
var lodash = _.noConflict(); var lodash = _.noConflict();
return function(_) { return function(_) {
lodash.defaultsDeep(_, { 'templateSettings': lodash.templateSettings }); lodash(_)
lodash.mixin(_, lodash.pick(lodash, lodash.difference([ .defaultsDeep({ 'templateSettings': lodash.templateSettings })
'countBy', .mixin(lodash.pick(lodash, lodash.difference([
'debounce', 'countBy',
'difference', 'debounce',
'find', 'difference',
'findIndex', 'find',
'findLastIndex', 'findIndex',
'groupBy', 'findLastIndex',
'includes', 'groupBy',
'invert', 'includes',
'invokeMap', 'invert',
'keyBy', 'invokeMap',
'omit', 'keyBy',
'partition', 'omit',
'reduceRight', 'partition',
'reject', 'reduceRight',
'sample', 'reject',
'without' 'sample',
], lodash.functions(_)))); 'without'
], lodash.functions(_))))
.value();
lodash.forOwn(keyMap, function(realName, otherName) { lodash.forOwn(keyMap, function(realName, otherName) {
_[otherName] = lodash[realName]; _[otherName] = lodash[realName];
_.prototype[otherName] = lodash.prototype[realName]; _.prototype[otherName] = lodash.prototype[realName];
}); });
lodash.forOwn(aliasToReal, function(realName, alias) { lodash.forOwn(aliasToReal, function(realName, alias) {
_[alias] = _[realName]; _[alias] = _[realName];
_.prototype[alias] = _.prototype[realName]; _.prototype[alias] = _.prototype[realName];
}); });
return _;
}; };
}()); }());
@@ -147,7 +149,7 @@
QUnit.config.autostart = false; QUnit.config.autostart = false;
require(getConfig(), ['underscore'], function(lodash) { require(getConfig(), ['underscore'], function(lodash) {
mixinPrereqs(lodash); _ = mixinPrereqs(lodash);
require(getConfig(), ['backbone'], function() { require(getConfig(), ['backbone'], function() {
require(getConfig(), [ require(getConfig(), [
'test/setup/dom-setup', 'test/setup/dom-setup',
@@ -159,9 +161,7 @@
'test/router', 'test/router',
'test/view', 'test/view',
'test/sync' 'test/sync'
], function() { ], QUnit.start);
QUnit.start();
});
}); });
}); });
}()); }());

View File

@@ -83,17 +83,7 @@
// Set bad shims. // Set bad shims.
setProperty(Object, '_create', Object.create); setProperty(Object, '_create', Object.create);
setProperty(Object, 'create', (function() { setProperty(Object, 'create', undefined);
function object() {}
return function(prototype) {
if (prototype === Object(prototype)) {
object.prototype = prototype;
var result = new object;
object.prototype = undefined;
}
return result || {};
};
}()));
setProperty(Object, '_getOwnPropertySymbols', Object.getOwnPropertySymbols); setProperty(Object, '_getOwnPropertySymbols', Object.getOwnPropertySymbols);
setProperty(Object, 'getOwnPropertySymbols', undefined); setProperty(Object, 'getOwnPropertySymbols', undefined);

View File

@@ -4,11 +4,6 @@
/** Environment shortcut. */ /** Environment shortcut. */
var env = process.env; var env = process.env;
if (env.TRAVIS_SECURE_ENV_VARS == 'false') {
console.log('Skipping Sauce Labs jobs; secure environment variables are unavailable');
process.exit(0);
}
/** Load Node.js modules. */ /** Load Node.js modules. */
var EventEmitter = require('events').EventEmitter, var EventEmitter = require('events').EventEmitter,
http = require('http'), http = require('http'),
@@ -104,15 +99,14 @@ var browserNameMap = {
/** List of platforms to load the runner on. */ /** List of platforms to load the runner on. */
var platforms = [ var platforms = [
['Linux', 'android', '5.1'], ['Linux', 'android', '5.1'],
['Windows 10', 'chrome', '51'], ['Windows 10', 'chrome', '54'],
['Windows 10', 'chrome', '50'], ['Windows 10', 'chrome', '53'],
['Windows 10', 'firefox', '47'], ['Windows 10', 'firefox', '49'],
['Windows 10', 'firefox', '46'], ['Windows 10', 'firefox', '48'],
['Windows 10', 'microsoftedge', '13'], ['Windows 10', 'microsoftedge', '14'],
['Windows 10', 'internet explorer', '11'], ['Windows 10', 'internet explorer', '11'],
['Windows 8', 'internet explorer', '10'], ['Windows 8', 'internet explorer', '10'],
['Windows 7', 'internet explorer', '9'], ['Windows 7', 'internet explorer', '9'],
// ['OS X 10.10', 'ipad', '9.1'],
['OS X 10.11', 'safari', '9'], ['OS X 10.11', 'safari', '9'],
['OS X 10.10', 'safari', '8'] ['OS X 10.10', 'safari', '8']
]; ];

View File

@@ -273,6 +273,25 @@
assert.strictEqual(fp.isArray(array), true); assert.strictEqual(fp.isArray(array), true);
assert.strictEqual(isArray()(array), true); assert.strictEqual(isArray()(array), true);
}); });
QUnit.test('should convert method aliases', function(assert) {
assert.expect(1);
var all = fp.all.convert({ 'rearg': false }),
actual = all([0])(_.identity);
assert.strictEqual(actual, false);
});
QUnit.test('should convert remapped methods', function(assert) {
assert.expect(1);
var extendAll = fp.extendAll.convert({ 'immutable': false }),
object = {};
extendAll([object, { 'a': 1 }, { 'b': 2 }]);
assert.deepEqual(object, { 'a': 1, 'b': 2 });
});
}()); }());
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
@@ -371,7 +390,7 @@
'method', 'methodOf', 'rest', 'runInContext' 'method', 'methodOf', 'rest', 'runInContext'
]; ];
var exceptions = funcMethods.concat('mixin', 'template'), var exceptions = funcMethods.concat('mixin', 'nthArg', 'template'),
expected = _.map(mapping.aryMethod[1], _.constant(true)); expected = _.map(mapping.aryMethod[1], _.constant(true));
var actual = _.map(mapping.aryMethod[1], function(methodName) { var actual = _.map(mapping.aryMethod[1], function(methodName) {
@@ -629,7 +648,7 @@
_.forOwn(mapping.placeholder, function(truthy, methodName) { _.forOwn(mapping.placeholder, function(truthy, methodName) {
var func = fp[methodName]; var func = fp[methodName];
QUnit.test('`_.' + methodName + '` should have a `placeholder` property', function(assert) { QUnit.test('fp.' + methodName + '` should have a `placeholder` property', function(assert) {
assert.expect(2); assert.expect(2);
assert.ok(_.isObject(func.placeholder)); assert.ok(_.isObject(func.placeholder));
@@ -833,7 +852,7 @@
_.each(['curry', 'curryRight'], function(methodName) { _.each(['curry', 'curryRight'], function(methodName) {
var func = fp[methodName]; var func = fp[methodName];
QUnit.test('`_.' + methodName + '` should only accept a `func` param', function(assert) { QUnit.test('fp.' + methodName + '` should only accept a `func` param', function(assert) {
assert.expect(1); assert.expect(1);
assert.raises(function() { func(1, _.noop); }, TypeError); assert.raises(function() { func(1, _.noop); }, TypeError);
@@ -847,7 +866,7 @@
_.each(['curryN', 'curryRightN'], function(methodName) { _.each(['curryN', 'curryRightN'], function(methodName) {
var func = fp[methodName]; var func = fp[methodName];
QUnit.test('`_.' + methodName + '` should accept an `arity` param', function(assert) { QUnit.test('fp.' + methodName + '` should accept an `arity` param', function(assert) {
assert.expect(1); assert.expect(1);
var actual = func(1)(function(a, b) { return [a, b]; })('a'); var actual = func(1)(function(a, b) { return [a, b]; })('a');
@@ -984,7 +1003,7 @@
_.each(['findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom'], function(methodName) { _.each(['findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom'], function(methodName) {
var func = fp[methodName]; var func = fp[methodName];
QUnit.test('`_.' + methodName + '` should provide the correct `predicate` arguments', function(assert) { QUnit.test('fp.' + methodName + '` should provide the correct `predicate` arguments', function(assert) {
assert.expect(1); assert.expect(1);
var args; var args;
@@ -1043,7 +1062,7 @@
var func = fp[methodName], var func = fp[methodName],
resolve = methodName == 'findIndexFrom' ? fp.eq : _.identity; resolve = methodName == 'findIndexFrom' ? fp.eq : _.identity;
QUnit.test('`_.' + methodName + '` should have an argument order of `value`, `fromIndex`, then `array`', function(assert) { QUnit.test('fp.' + methodName + '` should have an argument order of `value`, `fromIndex`, then `array`', function(assert) {
assert.expect(2); assert.expect(2);
var array = [1, 2, 3, 1, 2, 3]; var array = [1, 2, 3, 1, 2, 3];
@@ -1061,7 +1080,7 @@
var func = fp[methodName], var func = fp[methodName],
resolve = methodName == 'findLastIndexFrom' ? fp.eq : _.identity; resolve = methodName == 'findLastIndexFrom' ? fp.eq : _.identity;
QUnit.test('`_.' + methodName + '` should have an argument order of `value`, `fromIndex`, then `array`', function(assert) { QUnit.test('fp.' + methodName + '` should have an argument order of `value`, `fromIndex`, then `array`', function(assert) {
assert.expect(2); assert.expect(2);
var array = [1, 2, 3, 1, 2, 3]; var array = [1, 2, 3, 1, 2, 3];
@@ -1309,7 +1328,7 @@
var args, var args,
iteration = 0, iteration = 0,
objects = [{ 'a': 1 }, { 'a': 2 }], objects = [{ 'a': 1 }, { 'a': 2 }],
stack = { '__data__': { '__data__': [objects, objects.slice().reverse()] } }, stack = { '__data__': { '__data__': [objects, objects.slice().reverse()], 'size': 2 }, 'size': 2 },
expected = [1, 2, 'a', objects[0], objects[1], stack]; expected = [1, 2, 'a', objects[0], objects[1], stack];
fp.isEqualWith(function() { fp.isEqualWith(function() {
@@ -1335,7 +1354,7 @@
var args, var args,
objects = [{ 'a': 1 }, { 'a': 2 }], objects = [{ 'a': 1 }, { 'a': 2 }],
stack = { '__data__': { '__data__': [] } }, stack = { '__data__': { '__data__': [], 'size': 0 }, 'size': 0 },
expected = [2, 1, 'a', objects[1], objects[0], stack]; expected = [2, 1, 'a', objects[1], objects[0], stack];
fp.isMatchWith(function() { fp.isMatchWith(function() {
@@ -1444,7 +1463,7 @@
assert.expect(1); assert.expect(1);
var args, var args,
stack = { '__data__': { '__data__': [] } }, stack = { '__data__': { '__data__': [], 'size': 0 }, 'size': 0 },
expected = [[1, 2], [3], 'a', { 'a': [1, 2] }, { 'a': [3] }, stack]; expected = [[1, 2], [3], 'a', { 'a': [1, 2] }, { 'a': [3] }, stack];
fp.mergeWith(function() { fp.mergeWith(function() {
@@ -1477,7 +1496,7 @@
assert.expect(1); assert.expect(1);
var args, var args,
stack = { '__data__': { '__data__': [] } }, stack = { '__data__': { '__data__': [], 'size': 0 }, 'size': 0 },
expected = [[1, 2], [3], 'a', { 'a': [1, 2] }, { 'a': [3] }, stack]; expected = [[1, 2], [3], 'a', { 'a': [1, 2] }, { 'a': [3] }, stack];
fp.mergeAllWith(function() { fp.mergeAllWith(function() {
@@ -1588,6 +1607,22 @@
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
QUnit.module('fp.nthArg');
(function() {
QUnit.test('should return a curried function', function(assert) {
assert.expect(2);
var func = fp.nthArg(1);
assert.strictEqual(func(1)(2), 2);
func = fp.nthArg(-1);
assert.strictEqual(func(1), 1);
});
}());
/*--------------------------------------------------------------------------*/
QUnit.module('fp.over'); QUnit.module('fp.over');
(function() { (function() {
@@ -1630,7 +1665,7 @@
isPad = methodName == 'padChars', isPad = methodName == 'padChars',
isStart = methodName == 'padCharsStart'; isStart = methodName == 'padCharsStart';
QUnit.test('`_.' + methodName + '` should truncate pad characters to fit the pad length', function(assert) { QUnit.test('fp.' + methodName + '` should truncate pad characters to fit the pad length', function(assert) {
assert.expect(1); assert.expect(1);
if (isPad) { if (isPad) {
@@ -1649,7 +1684,7 @@
var func = fp[methodName], var func = fp[methodName],
isPartial = methodName == 'partial'; isPartial = methodName == 'partial';
QUnit.test('`_.' + methodName + '` should accept an `args` param', function(assert) { QUnit.test('fp.' + methodName + '` should accept an `args` param', function(assert) {
assert.expect(1); assert.expect(1);
var expected = isPartial ? [1, 2, 3] : [0, 1, 2]; var expected = isPartial ? [1, 2, 3] : [0, 1, 2];
@@ -1661,7 +1696,7 @@
assert.deepEqual(actual, expected); assert.deepEqual(actual, expected);
}); });
QUnit.test('`_.' + methodName + '` should convert by name', function(assert) { QUnit.test('fp.' + methodName + '` should convert by name', function(assert) {
assert.expect(2); assert.expect(2);
var expected = isPartial ? [1, 2, 3] : [0, 1, 2], var expected = isPartial ? [1, 2, 3] : [0, 1, 2],
@@ -1767,15 +1802,33 @@
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
QUnit.module('fp.range'); QUnit.module('range methods');
(function() { _.each(['range', 'rangeRight'], function(methodName) {
QUnit.test('should have an argument order of `start` then `end`', function(assert) { var func = fp[methodName],
isRange = methodName == 'range';
QUnit.test('fp.' + methodName + '` should have an argument order of `start` then `end`', function(assert) {
assert.expect(1); assert.expect(1);
assert.deepEqual(fp.range(1)(4), [1, 2, 3]); assert.deepEqual(func(1)(4), isRange ? [1, 2, 3] : [3, 2, 1]);
}); });
}()); });
/*--------------------------------------------------------------------------*/
QUnit.module('rangeStep methods');
_.each(['rangeStep', 'rangeStepRight'], function(methodName) {
var func = fp[methodName],
isRange = methodName == 'rangeStep';
QUnit.test('fp.' + methodName + '` should have an argument order of `step`, `start`, then `end`', function(assert) {
assert.expect(1);
assert.deepEqual(func(2)(1)(4), isRange ? [1, 3] : [3, 1]);
});
});
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
@@ -1793,7 +1846,7 @@
assert.deepEqual(rearged('c', 'a', 'b'), ['a', 'b', 'c']); assert.deepEqual(rearged('c', 'a', 'b'), ['a', 'b', 'c']);
}); });
QUnit.test('should curry the rearged function', function(assert) { QUnit.test('should return a curried function', function(assert) {
assert.expect(1); assert.expect(1);
var rearged = fp.rearg([1, 2, 0], fn); var rearged = fp.rearg([1, 2, 0], fn);
@@ -1809,7 +1862,7 @@
var func = fp[methodName], var func = fp[methodName],
isReduce = methodName == 'reduce'; isReduce = methodName == 'reduce';
QUnit.test('`_.' + methodName + '` should provide the correct `iteratee` arguments when iterating an array', function(assert) { QUnit.test('`fp.' + methodName + '` should provide the correct `iteratee` arguments when iterating an array', function(assert) {
assert.expect(1); assert.expect(1);
var args; var args;
@@ -1821,7 +1874,7 @@
assert.deepEqual(args, isReduce ? [0, 1] : [0, 3]); assert.deepEqual(args, isReduce ? [0, 1] : [0, 3]);
}); });
QUnit.test('`_.' + methodName + '` should provide the correct `iteratee` arguments when iterating an object', function(assert) { QUnit.test('`fp.' + methodName + '` should provide the correct `iteratee` arguments when iterating an object', function(assert) {
assert.expect(1); assert.expect(1);
var args, var args,
@@ -1983,7 +2036,7 @@
} }
parts = parts.join(' and '); parts = parts.join(' and ');
QUnit.test('`_.' + methodName + '` should remove ' + parts + ' `chars`', function(assert) { QUnit.test('`fp.' + methodName + '` should remove ' + parts + ' `chars`', function(assert) {
assert.expect(1); assert.expect(1);
var string = '-_-a-b-c-_-', var string = '-_-a-b-c-_-',

File diff suppressed because it is too large Load Diff

View File

@@ -222,10 +222,7 @@
'throttle repeatedly with results': true, 'throttle repeatedly with results': true,
'more throttle does not trigger leading call when leading is set to false': true, 'more throttle does not trigger leading call when leading is set to false': true,
'throttle does not trigger trailing call when trailing is set to false': true, 'throttle does not trigger trailing call when trailing is set to false': true,
'before': [ 'before': true,
'stores a memo to the last value',
'provides context'
],
'bind': [ 'bind': [
'Died on test #2' 'Died on test #2'
], ],
@@ -300,6 +297,12 @@
] ]
}, },
'Utility': { 'Utility': {
'_.escape & unescape': [
'` is escaped',
'` can be unescaped',
'can escape multiple occurances of `',
'multiple occurrences of ` can be unescaped'
],
'now': [ 'now': [
'Produces the correct time in milliseconds' 'Produces the correct time in milliseconds'
], ],
@@ -346,18 +349,20 @@
var lodash = _.noConflict(); var lodash = _.noConflict();
return function(_) { return function(_) {
lodash.defaultsDeep(_, { 'templateSettings': lodash.templateSettings }); lodash(_)
lodash.mixin(_, lodash.pick(lodash, lodash.difference(lodash.functions(lodash), lodash.functions(_)))); .defaultsDeep({ 'templateSettings': lodash.templateSettings })
.mixin(lodash.pick(lodash, lodash.difference(lodash.functions(lodash), lodash.functions(_))))
.value();
lodash.forOwn(keyMap, function(realName, otherName) { lodash.forOwn(keyMap, function(realName, otherName) {
_[otherName] = lodash[realName]; _[otherName] = lodash[realName];
_.prototype[otherName] = lodash.prototype[realName]; _.prototype[otherName] = lodash.prototype[realName];
}); });
lodash.forOwn(aliasToReal, function(realName, alias) { lodash.forOwn(aliasToReal, function(realName, alias) {
_[alias] = _[realName]; _[alias] = _[realName];
_.prototype[alias] = _.prototype[realName]; _.prototype[alias] = _.prototype[realName];
}); });
return _;
}; };
}()); }());
@@ -439,9 +444,12 @@
} }
QUnit.config.autostart = false; QUnit.config.autostart = false;
QUnit.config.excused.Functions.iteratee = true;
QUnit.config.excused.Utility.noConflict = true;
QUnit.config.excused.Utility['noConflict (node vm)'] = true;
require(getConfig(), [moduleId], function(lodash) { require(getConfig(), [moduleId], function(lodash) {
mixinPrereqs(lodash); _ = mixinPrereqs(lodash);
require(getConfig(), [ require(getConfig(), [
'test/collections', 'test/collections',
'test/arrays', 'test/arrays',
@@ -450,9 +458,7 @@
'test/cross-document', 'test/cross-document',
'test/utility', 'test/utility',
'test/chaining' 'test/chaining'
], function() { ], QUnit.start);
QUnit.start();
});
}); });
}()); }());
</script> </script>

3207
yarn.lock Normal file

File diff suppressed because it is too large Load Diff